diff options
author | Colin Watson <cjwatson@debian.org> | 2016-12-20 00:22:52 +0000 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2016-12-20 00:22:52 +0000 |
commit | 971a7653746a6972b907dfe0ce139c06e4a6f482 (patch) | |
tree | 70fb964265d57ae4967be55b75dbb2a122e9b969 | |
parent | a8ed8d256b2e2c05b0c15565a7938028c5192277 (diff) | |
parent | 4a354fc231174901f2629437c2a6e924a2dd6772 (diff) |
Import openssh_7.4p1.orig.tar.gz
200 files changed, 13229 insertions, 31743 deletions
diff --git a/.skipped-commit-ids b/.skipped-commit-ids index 02088ce56..ee8241fb3 100644 --- a/.skipped-commit-ids +++ b/.skipped-commit-ids | |||
@@ -9,3 +9,5 @@ edbfde98c40007b7752a4ac106095e060c25c1ef Regen moduli | |||
9 | 180d84674be1344e45a63990d60349988187c1ae Update moduli | 9 | 180d84674be1344e45a63990d60349988187c1ae Update moduli |
10 | f6ae971186ba68d066cd102e57d5b0b2c211a5ee systrace is dead. | 10 | f6ae971186ba68d066cd102e57d5b0b2c211a5ee systrace is dead. |
11 | 96c5054e3e1f170c6276902d5bc65bb3b87a2603 remove DEBUGLIBS from Makefile | 11 | 96c5054e3e1f170c6276902d5bc65bb3b87a2603 remove DEBUGLIBS from Makefile |
12 | 6da9a37f74aef9f9cc639004345ad893cad582d8 Update moduli file | ||
13 | 77bcb50e47b68c7209c7f0a5a020d73761e5143b unset REGRESS_FAIL_EARLY | ||
@@ -100,6 +100,3 @@ Zack Weinberg <zack@wolery.cumb.org> - GNOME askpass enhancement | |||
100 | Apologies to anyone I have missed. | 100 | Apologies to anyone I have missed. |
101 | 101 | ||
102 | Damien Miller <djm@mindrot.org> | 102 | Damien Miller <djm@mindrot.org> |
103 | |||
104 | $Id: CREDITS,v 1.81 2006/08/30 17:24:41 djm Exp $ | ||
105 | |||
@@ -1,3 +1,1865 @@ | |||
1 | commit 4a354fc231174901f2629437c2a6e924a2dd6772 | ||
2 | Author: Damien Miller <djm@mindrot.org> | ||
3 | Date: Mon Dec 19 15:59:26 2016 +1100 | ||
4 | |||
5 | crank version numbers for release | ||
6 | |||
7 | commit 5f8d0bb8413d4d909cc7aa3c616fb0538224c3c9 | ||
8 | Author: djm@openbsd.org <djm@openbsd.org> | ||
9 | Date: Mon Dec 19 04:55:51 2016 +0000 | ||
10 | |||
11 | upstream commit | ||
12 | |||
13 | openssh-7.4 | ||
14 | |||
15 | Upstream-ID: 1ee404adba6bbe10ae9277cbae3a94abe2867b79 | ||
16 | |||
17 | commit 3a8213ea0ed843523e34e55ab9c852332bab4c7b | ||
18 | Author: djm@openbsd.org <djm@openbsd.org> | ||
19 | Date: Mon Dec 19 04:55:18 2016 +0000 | ||
20 | |||
21 | upstream commit | ||
22 | |||
23 | remove testcase that depends on exact output and | ||
24 | behaviour of snprintf(..., "%s", NULL) | ||
25 | |||
26 | Upstream-Regress-ID: cab4288531766bd9593cb556613b91a2eeefb56f | ||
27 | |||
28 | commit eae735a82d759054f6ec7b4e887fb7a5692c66d7 | ||
29 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
30 | Date: Mon Dec 19 03:32:57 2016 +0000 | ||
31 | |||
32 | upstream commit | ||
33 | |||
34 | Use LOGNAME to get current user and fall back to whoami if | ||
35 | not set. Mainly to benefit -portable since some platforms don't have whoami. | ||
36 | |||
37 | Upstream-Regress-ID: e3a16b7836a3ae24dc8f8a4e43fdf8127a60bdfa | ||
38 | |||
39 | commit 0d2f88428487518eea60602bd593989013831dcf | ||
40 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
41 | Date: Fri Dec 16 03:51:19 2016 +0000 | ||
42 | |||
43 | upstream commit | ||
44 | |||
45 | Add regression test for AllowUsers and DenyUsers. Patch from | ||
46 | Zev Weiss <zev at bewilderbeest.net> | ||
47 | |||
48 | Upstream-Regress-ID: 8f1aac24d52728398871dac14ad26ea38b533fb9 | ||
49 | |||
50 | commit 3bc8180a008929f6fe98af4a56fb37d04444b417 | ||
51 | Author: Darren Tucker <dtucker@zip.com.au> | ||
52 | Date: Fri Dec 16 15:02:24 2016 +1100 | ||
53 | |||
54 | Add missing monitor.h include. | ||
55 | |||
56 | Fixes warning pointed out by Zev Weiss <zev at bewilderbeest.net> | ||
57 | |||
58 | commit 410681f9015d76cc7b137dd90dac897f673244a0 | ||
59 | Author: djm@openbsd.org <djm@openbsd.org> | ||
60 | Date: Fri Dec 16 02:48:55 2016 +0000 | ||
61 | |||
62 | upstream commit | ||
63 | |||
64 | revert to rev1.2; the new bits in this test depend on changes | ||
65 | to ssh that aren't yet committed | ||
66 | |||
67 | Upstream-Regress-ID: 828ffc2c7afcf65d50ff2cf3dfc47a073ad39123 | ||
68 | |||
69 | commit 2f2ffa4fbe4b671bbffa0611f15ba44cff64d58e | ||
70 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
71 | Date: Fri Dec 16 01:06:27 2016 +0000 | ||
72 | |||
73 | upstream commit | ||
74 | |||
75 | Move the "stop sshd" code into its own helper function. | ||
76 | Patch from Zev Weiss <zev at bewilderbeest.net>, ok djm@ | ||
77 | |||
78 | Upstream-Regress-ID: a113dea77df5bd97fb4633ea31f3d72dbe356329 | ||
79 | |||
80 | commit e15e7152331e3976b35475fd4e9c72897ad0f074 | ||
81 | Author: djm@openbsd.org <djm@openbsd.org> | ||
82 | Date: Fri Dec 16 01:01:07 2016 +0000 | ||
83 | |||
84 | upstream commit | ||
85 | |||
86 | regression test for certificates along with private key | ||
87 | with no public half. bz#2617, mostly from Adam Eijdenberg | ||
88 | |||
89 | Upstream-Regress-ID: 2e74dc2c726f4dc839609b3ce045466b69f01115 | ||
90 | |||
91 | commit 9a70ec085faf6e55db311cd1a329f1a35ad2a500 | ||
92 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
93 | Date: Thu Dec 15 23:50:37 2016 +0000 | ||
94 | |||
95 | upstream commit | ||
96 | |||
97 | Use $SUDO to read pidfile in case root's umask is | ||
98 | restricted. From portable. | ||
99 | |||
100 | Upstream-Regress-ID: f6b1c7ffbc5a0dfb7d430adb2883344899174a98 | ||
101 | |||
102 | commit fe06b68f824f8f55670442fb31f2c03526dd326c | ||
103 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
104 | Date: Thu Dec 15 21:29:05 2016 +0000 | ||
105 | |||
106 | upstream commit | ||
107 | |||
108 | Add missing braces in DenyUsers code. Patch from zev at | ||
109 | bewilderbeest.net, ok deraadt@ | ||
110 | |||
111 | Upstream-ID: d747ace338dcf943b077925f90f85f789714b54e | ||
112 | |||
113 | commit dcc7d74242a574fd5c4afbb4224795b1644321e7 | ||
114 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
115 | Date: Thu Dec 15 21:20:41 2016 +0000 | ||
116 | |||
117 | upstream commit | ||
118 | |||
119 | Fix text in error message. Patch from zev at | ||
120 | bewilderbeest.net. | ||
121 | |||
122 | Upstream-ID: deb0486e175e7282f98f9a15035d76c55c84f7f6 | ||
123 | |||
124 | commit b737e4d7433577403a31cff6614f6a1b0b5e22f4 | ||
125 | Author: djm@openbsd.org <djm@openbsd.org> | ||
126 | Date: Wed Dec 14 00:36:34 2016 +0000 | ||
127 | |||
128 | upstream commit | ||
129 | |||
130 | disable Unix-domain socket forwarding when privsep is | ||
131 | disabled | ||
132 | |||
133 | Upstream-ID: ab61516ae0faadad407857808517efa900a0d6d0 | ||
134 | |||
135 | commit 08a1e7014d65c5b59416a0e138c1f73f417496eb | ||
136 | Author: djm@openbsd.org <djm@openbsd.org> | ||
137 | Date: Fri Dec 9 03:04:29 2016 +0000 | ||
138 | |||
139 | upstream commit | ||
140 | |||
141 | log connections dropped in excess of MaxStartups at | ||
142 | verbose LogLevel; bz#2613 based on diff from Tomas Kuthan; ok dtucker@ | ||
143 | |||
144 | Upstream-ID: 703ae690dbf9b56620a6018f8a3b2389ce76d92b | ||
145 | |||
146 | commit 10e290ec00964b2bf70faab15a10a5574bb80527 | ||
147 | Author: Darren Tucker <dtucker@zip.com.au> | ||
148 | Date: Tue Dec 13 13:51:32 2016 +1100 | ||
149 | |||
150 | Get default of TEST_SSH_UTF8 from environment. | ||
151 | |||
152 | commit b9b8ba3f9ed92c6220b58d70d1e6d8aa3eea1104 | ||
153 | Author: Darren Tucker <dtucker@zip.com.au> | ||
154 | Date: Tue Dec 13 12:56:40 2016 +1100 | ||
155 | |||
156 | Remove commented-out includes. | ||
157 | |||
158 | These commented-out includes have "Still needed?" comments. Since | ||
159 | they've been commented out for ~13 years I assert that they're not. | ||
160 | |||
161 | commit 25275f1c9d5f01a0877d39444e8f90521a598ea0 | ||
162 | Author: Darren Tucker <dtucker@zip.com.au> | ||
163 | Date: Tue Dec 13 12:54:23 2016 +1100 | ||
164 | |||
165 | Add prototype for strcasestr in compat library. | ||
166 | |||
167 | commit afec07732aa2985142f3e0b9a01eb6391f523dec | ||
168 | Author: Darren Tucker <dtucker@zip.com.au> | ||
169 | Date: Tue Dec 13 10:23:03 2016 +1100 | ||
170 | |||
171 | Add strcasestr to compat library. | ||
172 | |||
173 | Fixes build on (at least) Solaris 10. | ||
174 | |||
175 | commit dda78a03af32e7994f132d923c2046e98b7c56c8 | ||
176 | Author: Damien Miller <djm@mindrot.org> | ||
177 | Date: Mon Dec 12 13:57:10 2016 +1100 | ||
178 | |||
179 | Force Turkish locales back to C/POSIX; bz#2643 | ||
180 | |||
181 | Turkish locales are unique in their handling of the letters 'i' and | ||
182 | 'I' (yes, they are different letters) and OpenSSH isn't remotely | ||
183 | prepared to deal with that. For now, the best we can do is to force | ||
184 | OpenSSH to use the C/POSIX locale and try to preserve the UTF-8 | ||
185 | encoding if possible. | ||
186 | |||
187 | ok dtucker@ | ||
188 | |||
189 | commit c35995048f41239fc8895aadc3374c5f75180554 | ||
190 | Author: Darren Tucker <dtucker@zip.com.au> | ||
191 | Date: Fri Dec 9 12:52:02 2016 +1100 | ||
192 | |||
193 | exit is in stdlib.h not unistd.h (that's _exit). | ||
194 | |||
195 | commit d399a8b914aace62418c0cfa20341aa37a192f98 | ||
196 | Author: Darren Tucker <dtucker@zip.com.au> | ||
197 | Date: Fri Dec 9 12:33:25 2016 +1100 | ||
198 | |||
199 | Include <unistd.h> for exit in utf8 locale test. | ||
200 | |||
201 | commit 47b8c99ab3221188ad3926108dd9d36da3b528ec | ||
202 | Author: Darren Tucker <dtucker@zip.com.au> | ||
203 | Date: Thu Dec 8 15:48:34 2016 +1100 | ||
204 | |||
205 | Check for utf8 local support before testing it. | ||
206 | |||
207 | Check for utf8 local support and if not found, do not attempt to run the | ||
208 | utf8 tests. Suggested by djm@ | ||
209 | |||
210 | commit 4089fc1885b3a2822204effbb02b74e3da58240d | ||
211 | Author: Darren Tucker <dtucker@zip.com.au> | ||
212 | Date: Thu Dec 8 12:57:24 2016 +1100 | ||
213 | |||
214 | Use AC_PATH_TOOL for krb5-config. | ||
215 | |||
216 | This will use the host-prefixed version when cross compiling; patch from | ||
217 | david.michael at coreos.com. | ||
218 | |||
219 | commit b4867e0712c89b93be905220c82f0a15e6865d1e | ||
220 | Author: djm@openbsd.org <djm@openbsd.org> | ||
221 | Date: Tue Dec 6 07:48:01 2016 +0000 | ||
222 | |||
223 | upstream commit | ||
224 | |||
225 | make IdentityFile successfully load and use certificates that | ||
226 | have no corresponding bare public key. E.g. just a private id_rsa and | ||
227 | certificate id_rsa-cert.pub (and no id_rsa.pub). | ||
228 | |||
229 | bz#2617 ok dtucker@ | ||
230 | |||
231 | Upstream-ID: c1e9699b8c0e3b63cc4189e6972e3522b6292604 | ||
232 | |||
233 | commit c9792783a98881eb7ed295680013ca97a958f8ac | ||
234 | Author: Damien Miller <djm@mindrot.org> | ||
235 | Date: Fri Nov 25 14:04:21 2016 +1100 | ||
236 | |||
237 | Add a gnome-ssh-askpass3 target for GTK+3 version | ||
238 | |||
239 | Based on patch from Colin Watson via bz#2640 | ||
240 | |||
241 | commit 7be85ae02b9de0993ce0a1d1e978e11329f6e763 | ||
242 | Author: Damien Miller <djm@mindrot.org> | ||
243 | Date: Fri Nov 25 14:03:53 2016 +1100 | ||
244 | |||
245 | Make gnome-ssh-askpass2.c GTK+3-friendly | ||
246 | |||
247 | Patch from Colin Watson via bz#2640 | ||
248 | |||
249 | commit b9844a45c7f0162fd1b5465683879793d4cc4aaa | ||
250 | Author: djm@openbsd.org <djm@openbsd.org> | ||
251 | Date: Sun Dec 4 23:54:02 2016 +0000 | ||
252 | |||
253 | upstream commit | ||
254 | |||
255 | Fix public key authentication when multiple | ||
256 | authentication is in use. Instead of deleting and re-preparing the entire | ||
257 | keys list, just reset the 'used' flags; the keys list is already in a good | ||
258 | order (with already- tried keys at the back) | ||
259 | |||
260 | Analysis and patch from Vincent Brillault on bz#2642; ok dtucker@ | ||
261 | |||
262 | Upstream-ID: 7123f12dc2f3bcaae715853035a97923d7300176 | ||
263 | |||
264 | commit f2398eb774075c687b13af5bc22009eb08889abe | ||
265 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
266 | Date: Sun Dec 4 22:27:25 2016 +0000 | ||
267 | |||
268 | upstream commit | ||
269 | |||
270 | Unlink PidFile on SIGHUP and always recreate it when the | ||
271 | new sshd starts. Regression tests (and possibly other things) depend on the | ||
272 | pidfile being recreated after SIGHUP, and unlinking it means it won't contain | ||
273 | a stale pid if sshd fails to restart. ok djm@ markus@ | ||
274 | |||
275 | Upstream-ID: 132dd6dda0c77dd49d2f15b2573b5794f6160870 | ||
276 | |||
277 | commit 85aa2efeba51a96bf6834f9accf2935d96150296 | ||
278 | Author: djm@openbsd.org <djm@openbsd.org> | ||
279 | Date: Wed Nov 30 03:01:33 2016 +0000 | ||
280 | |||
281 | upstream commit | ||
282 | |||
283 | test new behaviour of cert force-command restriction vs. | ||
284 | authorized_key/ principals | ||
285 | |||
286 | Upstream-Regress-ID: 399efa7469d40c404c0b0a295064ce75d495387c | ||
287 | |||
288 | commit 5d333131cd8519d022389cfd3236280818dae1bc | ||
289 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
290 | Date: Wed Nov 30 06:54:26 2016 +0000 | ||
291 | |||
292 | upstream commit | ||
293 | |||
294 | tweak previous; while here fix up FILES and AUTHORS; | ||
295 | |||
296 | Upstream-ID: 93f6e54086145a75df8d8ec7d8689bdadbbac8fa | ||
297 | |||
298 | commit 786d5994da79151180cb14a6cf157ebbba61c0cc | ||
299 | Author: djm@openbsd.org <djm@openbsd.org> | ||
300 | Date: Wed Nov 30 03:07:37 2016 +0000 | ||
301 | |||
302 | upstream commit | ||
303 | |||
304 | add a whitelist of paths from which ssh-agent will load | ||
305 | (via ssh-pkcs11-helper) a PKCS#11 module; ok markus@ | ||
306 | |||
307 | Upstream-ID: fe79769469d9cd6d26fe0dc15751b83ef2a06e8f | ||
308 | |||
309 | commit 7844f357cdd90530eec81340847783f1f1da010b | ||
310 | Author: djm@openbsd.org <djm@openbsd.org> | ||
311 | Date: Wed Nov 30 03:00:05 2016 +0000 | ||
312 | |||
313 | upstream commit | ||
314 | |||
315 | Add a sshd_config DisableForwaring option that disables | ||
316 | X11, agent, TCP, tunnel and Unix domain socket forwarding, as well as | ||
317 | anything else we might implement in the future. | ||
318 | |||
319 | This, like the 'restrict' authorized_keys flag, is intended to be a | ||
320 | simple and future-proof way of restricting an account. Suggested as | ||
321 | a complement to 'restrict' by Jann Horn; ok markus@ | ||
322 | |||
323 | Upstream-ID: 203803f66e533a474086b38a59ceb4cf2410fcf7 | ||
324 | |||
325 | commit fd6dcef2030d23c43f986d26979f84619c10589d | ||
326 | Author: djm@openbsd.org <djm@openbsd.org> | ||
327 | Date: Wed Nov 30 02:57:40 2016 +0000 | ||
328 | |||
329 | upstream commit | ||
330 | |||
331 | When a forced-command appears in both a certificate and | ||
332 | an authorized keys/principals command= restriction, refuse to accept the | ||
333 | certificate unless they are identical. | ||
334 | |||
335 | The previous (documented) behaviour of having the certificate forced- | ||
336 | command override the other could be a bit confused and more error-prone. | ||
337 | |||
338 | Pointed out by Jann Horn of Project Zero; ok dtucker@ | ||
339 | |||
340 | Upstream-ID: 79d811b6eb6bbe1221bf146dde6928f92d2cd05f | ||
341 | |||
342 | commit 7fc4766ac78abae81ee75b22b7550720bfa28a33 | ||
343 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
344 | Date: Wed Nov 30 00:28:31 2016 +0000 | ||
345 | |||
346 | upstream commit | ||
347 | |||
348 | On startup, check to see if sshd is already daemonized | ||
349 | and if so, skip the call to daemon() and do not rewrite the PidFile. This | ||
350 | means that when sshd re-execs itself on SIGHUP the process ID will no longer | ||
351 | change. Should address bz#2641. ok djm@ markus@. | ||
352 | |||
353 | Upstream-ID: 5ea0355580056fb3b25c1fd6364307d9638a37b9 | ||
354 | |||
355 | commit c9f880c195c65f1dddcbc4ce9d6bfea7747debcc | ||
356 | Author: Damien Miller <djm@mindrot.org> | ||
357 | Date: Wed Nov 30 13:51:49 2016 +1100 | ||
358 | |||
359 | factor out common PRNG reseed before privdrop | ||
360 | |||
361 | Add a call to RAND_poll() to ensure than more than pid+time gets | ||
362 | stirred into child processes states. Prompted by analysis from Jann | ||
363 | Horn at Project Zero. ok dtucker@ | ||
364 | |||
365 | commit 79e4829ec81dead1b30999e1626eca589319a47f | ||
366 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
367 | Date: Fri Nov 25 03:02:01 2016 +0000 | ||
368 | |||
369 | upstream commit | ||
370 | |||
371 | Allow PuTTY interop tests to run unattended. bz#2639, | ||
372 | patch from cjwatson at debian.org. | ||
373 | |||
374 | Upstream-Regress-ID: 4345253558ac23b2082aebabccd48377433b6fe0 | ||
375 | |||
376 | commit 504c3a9a1bf090f6b27260fc3e8ea7d984d163dc | ||
377 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
378 | Date: Fri Nov 25 02:56:49 2016 +0000 | ||
379 | |||
380 | upstream commit | ||
381 | |||
382 | Reverse args to sshd-log-wrapper. Matches change in | ||
383 | portable, where it allows sshd do be optionally run under Valgrind. | ||
384 | |||
385 | Upstream-Regress-ID: b438d1c6726dc5caa2a45153e6103a0393faa906 | ||
386 | |||
387 | commit bd13017736ec2f8f9ca498fe109fb0035f322733 | ||
388 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
389 | Date: Fri Nov 25 02:49:18 2016 +0000 | ||
390 | |||
391 | upstream commit | ||
392 | |||
393 | Fix typo in trace message; from portable. | ||
394 | |||
395 | Upstream-Regress-ID: 4c4a2ba0d37faf5fd230a91b4c7edb5699fbd73a | ||
396 | |||
397 | commit 7da751d8b007c7f3e814fd5737c2351440d78b4c | ||
398 | Author: tb@openbsd.org <tb@openbsd.org> | ||
399 | Date: Tue Nov 1 13:43:27 2016 +0000 | ||
400 | |||
401 | upstream commit | ||
402 | |||
403 | Clean up MALLOC_OPTIONS. For the unittests, move | ||
404 | MALLOC_OPTIONS and TEST_ENV to unittets/Makefile.inc. | ||
405 | |||
406 | ok otto | ||
407 | |||
408 | Upstream-Regress-ID: 890d497e0a38eeddfebb11cc429098d76cf29f12 | ||
409 | |||
410 | commit 36f58e68221bced35e06d1cca8d97c48807a8b71 | ||
411 | Author: tb@openbsd.org <tb@openbsd.org> | ||
412 | Date: Mon Oct 31 23:45:08 2016 +0000 | ||
413 | |||
414 | upstream commit | ||
415 | |||
416 | Remove the obsolete A and P flags from MALLOC_OPTIONS. | ||
417 | |||
418 | ok dtucker | ||
419 | |||
420 | Upstream-Regress-ID: 6cc25024c8174a87e5734a0dc830194be216dd59 | ||
421 | |||
422 | commit b0899ee26a6630883c0f2350098b6a35e647f512 | ||
423 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
424 | Date: Tue Nov 29 03:54:50 2016 +0000 | ||
425 | |||
426 | upstream commit | ||
427 | |||
428 | Factor out code to disconnect from controlling terminal | ||
429 | into its own function. ok djm@ | ||
430 | |||
431 | Upstream-ID: 39fd9e8ebd7222615a837312face5cc7ae962885 | ||
432 | |||
433 | commit 54d022026aae4f53fa74cc636e4a032d9689b64d | ||
434 | Author: djm@openbsd.org <djm@openbsd.org> | ||
435 | Date: Fri Nov 25 23:24:45 2016 +0000 | ||
436 | |||
437 | upstream commit | ||
438 | |||
439 | use sshbuf_allocate() to pre-allocate the buffer used for | ||
440 | loading keys. This avoids implicit realloc inside the buffer code, which | ||
441 | might theoretically leave fragments of the key on the heap. This doesn't | ||
442 | appear to happen in practice for normal sized keys, but was observed for | ||
443 | novelty oversize ones. | ||
444 | |||
445 | Pointed out by Jann Horn of Project Zero; ok markus@ | ||
446 | |||
447 | Upstream-ID: d620e1d46a29fdea56aeadeda120879eddc60ab1 | ||
448 | |||
449 | commit a9c746088787549bb5b1ae3add7d06a1b6d93d5e | ||
450 | Author: djm@openbsd.org <djm@openbsd.org> | ||
451 | Date: Fri Nov 25 23:22:04 2016 +0000 | ||
452 | |||
453 | upstream commit | ||
454 | |||
455 | split allocation out of sshbuf_reserve() into a separate | ||
456 | sshbuf_allocate() function; ok markus@ | ||
457 | |||
458 | Upstream-ID: 11b8a2795afeeb1418d508a2c8095b3355577ec2 | ||
459 | |||
460 | commit f0ddedee460486fa0e32fefb2950548009e5026e | ||
461 | Author: markus@openbsd.org <markus@openbsd.org> | ||
462 | Date: Wed Nov 23 23:14:15 2016 +0000 | ||
463 | |||
464 | upstream commit | ||
465 | |||
466 | allow ClientAlive{Interval,CountMax} in Match; ok dtucker, | ||
467 | djm | ||
468 | |||
469 | Upstream-ID: 8beb4c1eadd588f1080b58932281983864979f55 | ||
470 | |||
471 | commit 1a6f9d2e2493d445cd9ee496e6e3c2a2f283f66a | ||
472 | Author: djm@openbsd.org <djm@openbsd.org> | ||
473 | Date: Tue Nov 8 22:04:34 2016 +0000 | ||
474 | |||
475 | upstream commit | ||
476 | |||
477 | unbreak DenyUsers; reported by henning@ | ||
478 | |||
479 | Upstream-ID: 1c67d4148f5e953c35acdb62e7c08ae8e33f7cb2 | ||
480 | |||
481 | commit 010359b32659f455fddd2bd85fd7cc4d7a3b994a | ||
482 | Author: djm@openbsd.org <djm@openbsd.org> | ||
483 | Date: Sun Nov 6 05:46:37 2016 +0000 | ||
484 | |||
485 | upstream commit | ||
486 | |||
487 | Validate address ranges for AllowUser/DenyUsers at | ||
488 | configuration load time and refuse to accept bad ones. It was previously | ||
489 | possible to specify invalid CIDR address ranges (e.g. djm@127.1.2.3/55) and | ||
490 | these would always match. | ||
491 | |||
492 | Thanks to Laurence Parry for a detailed bug report. ok markus (for | ||
493 | a previous diff version) | ||
494 | |||
495 | Upstream-ID: 9dfcdd9672b06e65233ea4434c38226680d40bfb | ||
496 | |||
497 | commit efb494e81d1317209256b38b49f4280897c61e69 | ||
498 | Author: djm@openbsd.org <djm@openbsd.org> | ||
499 | Date: Fri Oct 28 03:33:52 2016 +0000 | ||
500 | |||
501 | upstream commit | ||
502 | |||
503 | Improve pkcs11_add_provider() logging: demote some | ||
504 | excessively verbose error()s to debug()s, include PKCS#11 provider name and | ||
505 | slot in log messages where possible. bz#2610, based on patch from Jakub Jelen | ||
506 | |||
507 | Upstream-ID: 3223ef693cfcbff9079edfc7e89f55bf63e1973d | ||
508 | |||
509 | commit 5ee3fb5affd7646f141749483205ade5fc54adaf | ||
510 | Author: Darren Tucker <dtucker@zip.com.au> | ||
511 | Date: Tue Nov 1 08:12:33 2016 +1100 | ||
512 | |||
513 | Use ptrace(PT_DENY_ATTACH, ..) on OS X. | ||
514 | |||
515 | commit 315d2a4e674d0b7115574645cb51f968420ebb34 | ||
516 | Author: Damien Miller <djm@mindrot.org> | ||
517 | Date: Fri Oct 28 14:34:07 2016 +1100 | ||
518 | |||
519 | Unbreak AES-CTR ciphers on old (~0.9.8) OpenSSL | ||
520 | |||
521 | ok dtucker@ | ||
522 | |||
523 | commit a9ff3950b8e80ff971b4d44bbce96df27aed28af | ||
524 | Author: Darren Tucker <dtucker@zip.com.au> | ||
525 | Date: Fri Oct 28 14:26:58 2016 +1100 | ||
526 | |||
527 | Move OPENSSL_NO_RIPEMD160 to compat. | ||
528 | |||
529 | Move OPENSSL_NO_RIPEMD160 to compat and add ifdefs to mac.c around the | ||
530 | ripemd160 MACs. | ||
531 | |||
532 | commit bce58885160e5db2adda3054c3b81fe770f7285a | ||
533 | Author: Darren Tucker <dtucker@zip.com.au> | ||
534 | Date: Fri Oct 28 13:52:31 2016 +1100 | ||
535 | |||
536 | Check if RIPEMD160 is disabled in OpenSSL. | ||
537 | |||
538 | commit d924640d4c355d1b5eca1f4cc60146a9975dbbff | ||
539 | Author: Darren Tucker <dtucker@zip.com.au> | ||
540 | Date: Fri Oct 28 13:38:19 2016 +1100 | ||
541 | |||
542 | Skip ssh1 specfic ciphers. | ||
543 | |||
544 | cipher-3des1.c and cipher-bf1.c are specific to sshv1 so don't even try | ||
545 | to compile them when Protocol 1 is not enabled. | ||
546 | |||
547 | commit 79d078e7a49caef746516d9710ec369ba45feab6 | ||
548 | Author: jsg@openbsd.org <jsg@openbsd.org> | ||
549 | Date: Tue Oct 25 04:08:13 2016 +0000 | ||
550 | |||
551 | upstream commit | ||
552 | |||
553 | Fix logic in add_local_forward() that inverted a test | ||
554 | when code was refactored out into bind_permitted(). This broke ssh port | ||
555 | forwarding for non-priv ports as a non root user. | ||
556 | |||
557 | ok dtucker@ 'looks good' deraadt@ | ||
558 | |||
559 | Upstream-ID: ddb8156ca03cc99997de284ce7777536ff9570c9 | ||
560 | |||
561 | commit a903e315dee483e555c8a3a02c2946937f9b4e5d | ||
562 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
563 | Date: Mon Oct 24 01:09:17 2016 +0000 | ||
564 | |||
565 | upstream commit | ||
566 | |||
567 | Remove dead breaks, found via opencoverage.net. ok | ||
568 | deraadt@ | ||
569 | |||
570 | Upstream-ID: ad9cc655829d67fad219762810770787ba913069 | ||
571 | |||
572 | commit b4e96b4c9bea4182846e4942ba2048e6d708ee54 | ||
573 | Author: Darren Tucker <dtucker@zip.com.au> | ||
574 | Date: Wed Oct 26 08:43:25 2016 +1100 | ||
575 | |||
576 | Use !=NULL instead of >0 for getdefaultproj. | ||
577 | |||
578 | getdefaultproj() returns a pointer so test it for NULL inequality | ||
579 | instead of >0. Fixes compiler warning and is more correct. Patch from | ||
580 | David Binderman. | ||
581 | |||
582 | commit 1c4ef0b808d3d38232aeeb1cebb7e9a43def42c5 | ||
583 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
584 | Date: Sun Oct 23 22:04:05 2016 +0000 | ||
585 | |||
586 | upstream commit | ||
587 | |||
588 | Factor out "can bind to low ports" check into its own function. This will | ||
589 | make it easier for Portable to support platforms with permissions models | ||
590 | other than uid==0 (eg bz#2625). ok djm@, "doesn't offend me too much" | ||
591 | deraadt@. | ||
592 | |||
593 | Upstream-ID: 86213df4183e92b8f189a6d2dac858c994bfface | ||
594 | |||
595 | commit 0b9ee623d57e5de7e83e66fd61a7ba9a5be98894 | ||
596 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
597 | Date: Wed Oct 19 23:21:56 2016 +0000 | ||
598 | |||
599 | upstream commit | ||
600 | |||
601 | When tearing down ControlMaster connecctions, don't | ||
602 | pollute stderr when LogLevel=quiet. Patch from Tim Kuijsten via tech@. | ||
603 | |||
604 | Upstream-ID: d9b3a68b2a7c2f2fc7f74678e29a4618d55ceced | ||
605 | |||
606 | commit 09e6a7d8354224933febc08ddcbc2010f542284e | ||
607 | Author: Darren Tucker <dtucker@zip.com.au> | ||
608 | Date: Mon Oct 24 09:06:18 2016 +1100 | ||
609 | |||
610 | Wrap stdint.h include in ifdef. | ||
611 | |||
612 | commit 08d9e9516e587b25127545c029e5464b2e7f2919 | ||
613 | Author: Darren Tucker <dtucker@zip.com.au> | ||
614 | Date: Fri Oct 21 09:46:46 2016 +1100 | ||
615 | |||
616 | Fix formatting. | ||
617 | |||
618 | commit 461f50e7ab8751d3a55e9158c44c13031db7ba1d | ||
619 | Author: Darren Tucker <dtucker@zip.com.au> | ||
620 | Date: Fri Oct 21 06:55:58 2016 +1100 | ||
621 | |||
622 | Update links to https. | ||
623 | |||
624 | www.openssh.com now supports https and ftp.openbsd.org no longer | ||
625 | supports ftp. Make all links to these https. | ||
626 | |||
627 | commit dd4e7212a6141f37742de97795e79db51e4427ad | ||
628 | Author: Darren Tucker <dtucker@zip.com.au> | ||
629 | Date: Fri Oct 21 06:48:46 2016 +1100 | ||
630 | |||
631 | Update host key generation examples. | ||
632 | |||
633 | Remove ssh1 host key generation, add ssh-keygen -A | ||
634 | |||
635 | commit 6d49ae82634c67e9a4d4af882bee20b40bb8c639 | ||
636 | Author: Darren Tucker <dtucker@zip.com.au> | ||
637 | Date: Fri Oct 21 05:22:55 2016 +1100 | ||
638 | |||
639 | Update links. | ||
640 | |||
641 | Make links to openssh.com HTTPS now that it's supported, point release | ||
642 | notes link to the HTML release notes page, and update a couple of other | ||
643 | links and bits of text. | ||
644 | |||
645 | commit fe0d1ca6ace06376625084b004ee533f2c2ea9d6 | ||
646 | Author: Darren Tucker <dtucker@zip.com.au> | ||
647 | Date: Thu Oct 20 03:42:09 2016 +1100 | ||
648 | |||
649 | Remote channels .orig and .rej files. | ||
650 | |||
651 | These files were incorrectly added during an OpenBSD sync. | ||
652 | |||
653 | commit 246aa842a4ad368d8ce030495e657ef3a0e1f95c | ||
654 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
655 | Date: Tue Oct 18 17:32:54 2016 +0000 | ||
656 | |||
657 | upstream commit | ||
658 | |||
659 | Remove channel_input_port_forward_request(); the only caller | ||
660 | was the recently-removed SSH1 server code so it's now dead code. ok markus@ | ||
661 | |||
662 | Upstream-ID: 05453983230a1f439562535fec2818f63f297af9 | ||
663 | |||
664 | commit 2c6697c443d2c9c908260eed73eb9143223e3ec9 | ||
665 | Author: millert@openbsd.org <millert@openbsd.org> | ||
666 | Date: Tue Oct 18 12:41:22 2016 +0000 | ||
667 | |||
668 | upstream commit | ||
669 | |||
670 | Install a signal handler for tty-generated signals and | ||
671 | wait for the ssh child to suspend before suspending sftp. This lets ssh | ||
672 | restore the terminal mode as needed when it is suspended at the password | ||
673 | prompt. OK dtucker@ | ||
674 | |||
675 | Upstream-ID: a31c1f42aa3e2985dcc91e46e6a17bd22e372d69 | ||
676 | |||
677 | commit fd2a8f1033fa2316fff719fd5176968277560158 | ||
678 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
679 | Date: Sat Oct 15 19:56:25 2016 +0000 | ||
680 | |||
681 | upstream commit | ||
682 | |||
683 | various formatting fixes, specifically removing Dq; | ||
684 | |||
685 | Upstream-ID: 81e85df2b8e474f5f93d66e61d9a4419ce87347c | ||
686 | |||
687 | commit 8f866d8a57b9a2dc5dd04504e27f593b551618e3 | ||
688 | Author: Darren Tucker <dtucker@zip.com.au> | ||
689 | Date: Wed Oct 19 03:26:09 2016 +1100 | ||
690 | |||
691 | Import readpassphrase.c rev 1.26. | ||
692 | |||
693 | Author: miller@openbsd.org: | ||
694 | Avoid generate SIGTTOU when restoring the terminal mode. If we get | ||
695 | SIGTTOU it means the process is not in the foreground process group | ||
696 | which, in most cases, means that the shell has taken control of the tty. | ||
697 | Requiring the user the fg the process in this case doesn't make sense | ||
698 | and can result in both SIGTSTP and SIGTTOU being sent which can lead to | ||
699 | the process being suspended again immediately after being brought into | ||
700 | the foreground. | ||
701 | |||
702 | commit f901440cc844062c9bab0183d133f7ccc58ac3a5 | ||
703 | Author: Darren Tucker <dtucker@zip.com.au> | ||
704 | Date: Wed Oct 19 03:23:16 2016 +1100 | ||
705 | |||
706 | Import readpassphrase.c rev 1.25. | ||
707 | |||
708 | Wrap <readpassphrase.h> so internal calls go direct and | ||
709 | readpassphrase is weak. | ||
710 | |||
711 | (DEF_WEAK is a no-op in portable.) | ||
712 | |||
713 | commit 032147b69527e5448a511049b2d43dbcae582624 | ||
714 | Author: Darren Tucker <dtucker@zip.com.au> | ||
715 | Date: Sat Oct 15 05:51:12 2016 +1100 | ||
716 | |||
717 | Move DEF_WEAK into defines.h. | ||
718 | |||
719 | As well pull in more recent changes from OpenBSD these will start to | ||
720 | arrive so put it where the definition is shared. | ||
721 | |||
722 | commit e0259a82ddd950cfb109ddee86fcebbc09c6bd04 | ||
723 | Author: Darren Tucker <dtucker@zip.com.au> | ||
724 | Date: Sat Oct 15 04:34:46 2016 +1100 | ||
725 | |||
726 | Remove do_pam_set_tty which is dead code. | ||
727 | |||
728 | The callers of do_pam_set_tty were removed in 2008, so this is now dead | ||
729 | code. bz#2604, pointed out by jjelen at redhat.com. | ||
730 | |||
731 | commit ca04de83f210959ad2ed870a30ba1732c3ae00e3 | ||
732 | Author: Damien Miller <djm@mindrot.org> | ||
733 | Date: Thu Oct 13 18:53:43 2016 +1100 | ||
734 | |||
735 | unbreak principals-command test | ||
736 | |||
737 | Undo inconsistetly updated variable name. | ||
738 | |||
739 | commit 1723ec92eb485ce06b4cbf49712d21975d873909 | ||
740 | Author: djm@openbsd.org <djm@openbsd.org> | ||
741 | Date: Tue Oct 11 21:49:54 2016 +0000 | ||
742 | |||
743 | upstream commit | ||
744 | |||
745 | fix the KEX fuzzer - the previous method of obtaining the | ||
746 | packet contents was broken. This now uses the new per-packet input hook, so | ||
747 | it sees exact post-decrypt packets and doesn't have to pass packet integrity | ||
748 | checks. ok markus@ | ||
749 | |||
750 | Upstream-Regress-ID: 402fb6ffabd97de590e8e57b25788949dce8d2fd | ||
751 | |||
752 | commit 09f997893f109799cddbfce6d7e67f787045cbb2 | ||
753 | Author: natano@openbsd.org <natano@openbsd.org> | ||
754 | Date: Thu Oct 6 09:31:38 2016 +0000 | ||
755 | |||
756 | upstream commit | ||
757 | |||
758 | Move USER out of the way to unbreak the BUILDUSER | ||
759 | mechanism. ok tb | ||
760 | |||
761 | Upstream-Regress-ID: 74ab9687417dd071d62316eaadd20ddad1d5af3c | ||
762 | |||
763 | commit 3049a012c482a7016f674db168f23fd524edce27 | ||
764 | Author: bluhm@openbsd.org <bluhm@openbsd.org> | ||
765 | Date: Fri Sep 30 11:55:20 2016 +0000 | ||
766 | |||
767 | upstream commit | ||
768 | |||
769 | In ssh tests set REGRESS_FAIL_EARLY with ?= so that the | ||
770 | environment can change it. OK djm@ | ||
771 | |||
772 | Upstream-Regress-ID: 77bcb50e47b68c7209c7f0a5a020d73761e5143b | ||
773 | |||
774 | commit 39af7b444db28c1cb01b7ea468a4f574a44f375b | ||
775 | Author: djm@openbsd.org <djm@openbsd.org> | ||
776 | Date: Tue Oct 11 21:47:45 2016 +0000 | ||
777 | |||
778 | upstream commit | ||
779 | |||
780 | Add a per-packet input hook that is called with the | ||
781 | decrypted packet contents. This will be used for fuzzing; ok markus@ | ||
782 | |||
783 | Upstream-ID: a3221cee6b1725dd4ae1dd2c13841b4784cb75dc | ||
784 | |||
785 | commit ec165c392ca54317dbe3064a8c200de6531e89ad | ||
786 | Author: markus@openbsd.org <markus@openbsd.org> | ||
787 | Date: Mon Oct 10 19:28:48 2016 +0000 | ||
788 | |||
789 | upstream commit | ||
790 | |||
791 | Unregister the KEXINIT handler after message has been | ||
792 | received. Otherwise an unauthenticated peer can repeat the KEXINIT and cause | ||
793 | allocation of up to 128MB -- until the connection is closed. Reported by | ||
794 | shilei-c at 360.cn | ||
795 | |||
796 | Upstream-ID: 43649ae12a27ef94290db16d1a98294588b75c05 | ||
797 | |||
798 | commit 29d40319392e6e19deeca9d45468aa1119846e50 | ||
799 | Author: Darren Tucker <dtucker@zip.com.au> | ||
800 | Date: Thu Oct 13 04:07:20 2016 +1100 | ||
801 | |||
802 | Import rev 1.24 from OpenBSD. | ||
803 | |||
804 | revision 1.24 | ||
805 | date: 2013/11/24 23:51:29; author: deraadt; state: Exp; lines: +4 -4; | ||
806 | most obvious unsigned char casts for ctype | ||
807 | ok jca krw ingo | ||
808 | |||
809 | commit 12069e56221de207ed666c2449dedb431a2a7ca2 | ||
810 | Author: Darren Tucker <dtucker@zip.com.au> | ||
811 | Date: Thu Oct 13 04:04:44 2016 +1100 | ||
812 | |||
813 | Import rev 1.23 from OpenBSD. Fixes bz#2619. | ||
814 | |||
815 | revision 1.23 | ||
816 | date: 2010/05/14 13:30:34; author: millert; state: Exp; lines: +41 -39; | ||
817 | Defer installing signal handlers until echo is disabled so that we | ||
818 | get suspended normally when not the foreground process. Fix potential | ||
819 | infinite loop when restoring terminal settings if process is in the | ||
820 | background when restore occurs. OK miod@ | ||
821 | |||
822 | commit 7508d83eff89af069760b4cc587305588a64e415 | ||
823 | Author: Darren Tucker <dtucker@zip.com.au> | ||
824 | Date: Thu Oct 13 03:53:51 2016 +1100 | ||
825 | |||
826 | If we don't have TCSASOFT, define it to zero. | ||
827 | |||
828 | This makes it a no-op when we use it below, which allows us to re-sync | ||
829 | those lines with the upstream and make future updates easier. | ||
830 | |||
831 | commit aae4dbd4c058d3b1fe1eb5c4e6ddf35827271377 | ||
832 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
833 | Date: Fri Oct 7 14:41:52 2016 +0000 | ||
834 | |||
835 | upstream commit | ||
836 | |||
837 | tidy up the formatting in this file. more specifically, | ||
838 | replace .Dq, which looks appalling, with .Cm, where appropriate; | ||
839 | |||
840 | Upstream-ID: ff8e90aa0343d9bb56f40a535e148607973cc738 | ||
841 | |||
842 | commit a571dbcc7b7b25371174569b13df5159bc4c6c7a | ||
843 | Author: djm@openbsd.org <djm@openbsd.org> | ||
844 | Date: Tue Oct 4 21:34:40 2016 +0000 | ||
845 | |||
846 | upstream commit | ||
847 | |||
848 | add a comment about implicitly-expected checks to | ||
849 | sshkey_ec_validate_public() | ||
850 | |||
851 | Upstream-ID: 74a7f71c28f7c13a50f89fc78e7863b9cd61713f | ||
852 | |||
853 | commit 2f78a2a698f4222f8e05cad57ac6e0c3d1faff00 | ||
854 | Author: djm@openbsd.org <djm@openbsd.org> | ||
855 | Date: Fri Sep 30 20:24:46 2016 +0000 | ||
856 | |||
857 | upstream commit | ||
858 | |||
859 | fix some -Wpointer-sign warnings in the new mux proxy; ok | ||
860 | markus@ | ||
861 | |||
862 | Upstream-ID: b1ba7b3769fbc6b7f526792a215b0197f5e55dfd | ||
863 | |||
864 | commit ca71c36645fc26fcd739a8cfdc702cec85607761 | ||
865 | Author: bluhm@openbsd.org <bluhm@openbsd.org> | ||
866 | Date: Wed Sep 28 20:09:52 2016 +0000 | ||
867 | |||
868 | upstream commit | ||
869 | |||
870 | Add a makefile rule to create the ssh library when | ||
871 | regress needs it. This allows to run the ssh regression tests without doing | ||
872 | a "make build" before. Discussed with dtucker@ and djm@; OK djm@ | ||
873 | |||
874 | Upstream-Regress-ID: ce489bd53afcd471225a125b4b94565d4717c025 | ||
875 | |||
876 | commit ce44c970f913d2a047903dba8670554ac42fc479 | ||
877 | Author: bluhm@openbsd.org <bluhm@openbsd.org> | ||
878 | Date: Mon Sep 26 21:34:38 2016 +0000 | ||
879 | |||
880 | upstream commit | ||
881 | |||
882 | Allow to run ssh regression tests as root. If the user | ||
883 | is already root, the test should not expect that SUDO is set. If ssh needs | ||
884 | another user, use sudo or doas to switch from root if necessary. OK dtucker@ | ||
885 | |||
886 | Upstream-Regress-ID: b464e55185ac4303529e3e6927db41683aaeace2 | ||
887 | |||
888 | commit 8d0578478586e283e751ca51e7b0690631da139a | ||
889 | Author: markus@openbsd.org <markus@openbsd.org> | ||
890 | Date: Fri Sep 30 09:19:13 2016 +0000 | ||
891 | |||
892 | upstream commit | ||
893 | |||
894 | ssh proxy mux mode (-O proxy; idea from Simon Tatham): - mux | ||
895 | client speaks the ssh-packet protocol directly over unix-domain socket. - mux | ||
896 | server acts as a proxy, translates channel IDs and relays to the server. - no | ||
897 | filedescriptor passing necessary. - combined with unix-domain forwarding it's | ||
898 | even possible to run mux client and server on different machines. feedback | ||
899 | & ok djm@ | ||
900 | |||
901 | Upstream-ID: 666a2fb79f58e5c50e246265fb2b9251e505c25b | ||
902 | |||
903 | commit b7689155f3f5c4999846c07a852b1c7a43b09cec | ||
904 | Author: djm@openbsd.org <djm@openbsd.org> | ||
905 | Date: Wed Sep 28 21:44:52 2016 +0000 | ||
906 | |||
907 | upstream commit | ||
908 | |||
909 | put back some pre-auth zlib bits that I shouldn't have | ||
910 | removed - they are still used by the client. Spotted by naddy@ | ||
911 | |||
912 | Upstream-ID: 80919468056031037d56a1f5b261c164a6f90dc2 | ||
913 | |||
914 | commit 4577adead6a7d600c8e764619d99477a08192c8f | ||
915 | Author: djm@openbsd.org <djm@openbsd.org> | ||
916 | Date: Wed Sep 28 20:32:42 2016 +0000 | ||
917 | |||
918 | upstream commit | ||
919 | |||
920 | restore pre-auth compression support in the client -- the | ||
921 | previous commit was intended to remove it from the server only. | ||
922 | |||
923 | remove a few server-side pre-auth compression bits that escaped | ||
924 | |||
925 | adjust wording of Compression directive in sshd_config(5) | ||
926 | |||
927 | pointed out by naddy@ ok markus@ | ||
928 | |||
929 | Upstream-ID: d23696ed72a228dacd4839dd9f2dec424ba2016b | ||
930 | |||
931 | commit 80d1c963b4dc84ffd11d09617b39c4bffda08956 | ||
932 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
933 | Date: Wed Sep 28 17:59:22 2016 +0000 | ||
934 | |||
935 | upstream commit | ||
936 | |||
937 | use a separate TOKENS section, as we've done for | ||
938 | sshd_config(5); help/ok djm | ||
939 | |||
940 | Upstream-ID: 640e32b5e4838e4363738cdec955084b3579481d | ||
941 | |||
942 | commit 1cfd5c06efb121e58e8b6671548fda77ef4b4455 | ||
943 | Author: Damien Miller <djm@mindrot.org> | ||
944 | Date: Thu Sep 29 03:19:23 2016 +1000 | ||
945 | |||
946 | Remove portability support for mmap | ||
947 | |||
948 | We no longer need to wrap/replace mmap for portability now that | ||
949 | pre-auth compression has been removed from OpenSSH. | ||
950 | |||
951 | commit 0082fba4efdd492f765ed4c53f0d0fbd3bdbdf7f | ||
952 | Author: djm@openbsd.org <djm@openbsd.org> | ||
953 | Date: Wed Sep 28 16:33:06 2016 +0000 | ||
954 | |||
955 | upstream commit | ||
956 | |||
957 | Remove support for pre-authentication compression. Doing | ||
958 | compression early in the protocol probably seemed reasonable in the 1990s, | ||
959 | but today it's clearly a bad idea in terms of both cryptography (cf. multiple | ||
960 | compression oracle attacks in TLS) and attack surface. | ||
961 | |||
962 | Moreover, to support it across privilege-separation zlib needed | ||
963 | the assistance of a complex shared-memory manager that made the | ||
964 | required attack surface considerably larger. | ||
965 | |||
966 | Prompted by Guido Vranken pointing out a compiler-elided security | ||
967 | check in the shared memory manager found by Stack | ||
968 | (http://css.csail.mit.edu/stack/); ok deraadt@ markus@ | ||
969 | |||
970 | NB. pre-auth authentication has been disabled by default in sshd | ||
971 | for >10 years. | ||
972 | |||
973 | Upstream-ID: 32af9771788d45a0779693b41d06ec199d849caf | ||
974 | |||
975 | commit 27c3a9c2aede2184856b5de1e6eca414bb751c38 | ||
976 | Author: djm@openbsd.org <djm@openbsd.org> | ||
977 | Date: Mon Sep 26 21:16:11 2016 +0000 | ||
978 | |||
979 | upstream commit | ||
980 | |||
981 | Avoid a theoretical signed integer overflow should | ||
982 | BN_num_bytes() ever violate its manpage and return a negative value. Improve | ||
983 | order of tests to avoid confusing increasingly pedantic compilers. | ||
984 | |||
985 | Reported by Guido Vranken from stack (css.csail.mit.edu/stack) | ||
986 | unstable optimisation analyser output. ok deraadt@ | ||
987 | |||
988 | Upstream-ID: f8508c830c86d8f36c113985e52bf8eedae23505 | ||
989 | |||
990 | commit 8663e51c80c6aa3d750c6d3bcff6ee05091922be | ||
991 | Author: Damien Miller <djm@mindrot.org> | ||
992 | Date: Wed Sep 28 07:40:33 2016 +1000 | ||
993 | |||
994 | fix mdoc2man.awk formatting for top-level lists | ||
995 | |||
996 | Reported by Glenn Golden | ||
997 | Diagnosis and fix from Ingo Schwarze | ||
998 | |||
999 | commit b97739dc21570209ed9d4e7beee0c669ed23b097 | ||
1000 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1001 | Date: Thu Sep 22 21:15:41 2016 +0000 | ||
1002 | |||
1003 | upstream commit | ||
1004 | |||
1005 | missing bit from previous commit | ||
1006 | |||
1007 | Upstream-ID: 438d5ed6338b28b46e822eb13eee448aca31df37 | ||
1008 | |||
1009 | commit de6a175a99d22444e10d19ad3fffef39bc3ee3bb | ||
1010 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
1011 | Date: Thu Sep 22 19:19:01 2016 +0000 | ||
1012 | |||
1013 | upstream commit | ||
1014 | |||
1015 | organise the token stuff into a separate section; ok | ||
1016 | markus for an earlier version of the diff ok/tweaks djm | ||
1017 | |||
1018 | Upstream-ID: 81a6daa506a4a5af985fce7cf9e59699156527c8 | ||
1019 | |||
1020 | commit 16277fc45ffc95e4ffc3d45971ff8320b974de2b | ||
1021 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1022 | Date: Thu Sep 22 17:55:13 2016 +0000 | ||
1023 | |||
1024 | upstream commit | ||
1025 | |||
1026 | mention curve25519-sha256 KEX | ||
1027 | |||
1028 | Upstream-ID: 33ae1f433ce4795ffa6203761fbdf86e0d7ffbaf | ||
1029 | |||
1030 | commit 0493766d5676c7ca358824ea8d3c90f6047953df | ||
1031 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1032 | Date: Thu Sep 22 17:52:53 2016 +0000 | ||
1033 | |||
1034 | upstream commit | ||
1035 | |||
1036 | support plain curve25519-sha256 KEX algorithm now that it | ||
1037 | is approaching standardisation (same algorithm is currently supported as | ||
1038 | curve25519-sha256@libssh.org) | ||
1039 | |||
1040 | Upstream-ID: 5e2b6db2e72667048cf426da43c0ee3fc777baa2 | ||
1041 | |||
1042 | commit f31c654b30a6f02ce0b8ea8ab81791b675489628 | ||
1043 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1044 | Date: Thu Sep 22 02:29:57 2016 +0000 | ||
1045 | |||
1046 | upstream commit | ||
1047 | |||
1048 | If ssh receives a PACKET_DISCONNECT during userauth it | ||
1049 | will cause ssh_dispatch_run(DISPATCH_BLOCK, ...) to return without the | ||
1050 | session being authenticated. Check for this and exit if necessary. ok djm@ | ||
1051 | |||
1052 | Upstream-ID: b3afe126c0839d2eae6cddd41ff2ba317eda0903 | ||
1053 | |||
1054 | commit 1622649b7a829fc8dc313042a43a974f0f3e8a99 | ||
1055 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1056 | Date: Wed Sep 21 19:53:12 2016 +0000 | ||
1057 | |||
1058 | upstream commit | ||
1059 | |||
1060 | correctly return errors from kex_send_ext_info(). Fix from | ||
1061 | Sami Farin via https://github.com/openssh/openssh-portable/pull/50 | ||
1062 | |||
1063 | Upstream-ID: c85999af28aaecbf92cfa2283381df81e839b42c | ||
1064 | |||
1065 | commit f83a0cfe16c7a73627b46a9a94e40087d60f32fb | ||
1066 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1067 | Date: Wed Sep 21 17:44:20 2016 +0000 | ||
1068 | |||
1069 | upstream commit | ||
1070 | |||
1071 | cast uint64_t for printf | ||
1072 | |||
1073 | Upstream-ID: 76d23e89419ccbd2320f92792a6d878211666ac1 | ||
1074 | |||
1075 | commit 5f63ab474f58834feca4f35c498be03b7dd38a16 | ||
1076 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1077 | Date: Wed Sep 21 17:03:54 2016 +0000 | ||
1078 | |||
1079 | upstream commit | ||
1080 | |||
1081 | disable tests for affirmative negated match after backout of | ||
1082 | match change | ||
1083 | |||
1084 | Upstream-Regress-ID: acebb8e5042f03d66d86a50405c46c4de0badcfd | ||
1085 | |||
1086 | commit a5ad3a9db5a48f350f257a67b62fafd719ecb7e0 | ||
1087 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1088 | Date: Wed Sep 21 16:55:42 2016 +0000 | ||
1089 | |||
1090 | upstream commit | ||
1091 | |||
1092 | Revert two recent changes to negated address matching. The | ||
1093 | new behaviour offers unintuitive surprises. We'll find a better way to deal | ||
1094 | with single negated matches. | ||
1095 | |||
1096 | match.c 1.31: | ||
1097 | > fix matching for pattern lists that contain a single negated match, | ||
1098 | > e.g. "Host !example" | ||
1099 | > | ||
1100 | > report and patch from Robin Becker. bz#1918 ok dtucker@ | ||
1101 | |||
1102 | addrmatch.c 1.11: | ||
1103 | > fix negated address matching where the address list consists of a | ||
1104 | > single negated match, e.g. "Match addr !192.20.0.1" | ||
1105 | > | ||
1106 | > Report and patch from Jakub Jelen. bz#2397 ok dtucker@ | ||
1107 | |||
1108 | Upstream-ID: ec96c770f0f5b9a54e5e72fda25387545e9c80c6 | ||
1109 | |||
1110 | commit 119b7a2ca0ef2bf3f81897ae10301b8ca8cba844 | ||
1111 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1112 | Date: Wed Sep 21 01:35:12 2016 +0000 | ||
1113 | |||
1114 | upstream commit | ||
1115 | |||
1116 | test all the AuthorizedPrincipalsCommand % expansions | ||
1117 | |||
1118 | Upstream-Regress-ID: 0a79a84dfaa59f958e46b474c3db780b454d30e3 | ||
1119 | |||
1120 | commit bfa9d969ab6235d4938ce069d4db7e5825c56a19 | ||
1121 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1122 | Date: Wed Sep 21 01:34:45 2016 +0000 | ||
1123 | |||
1124 | upstream commit | ||
1125 | |||
1126 | add a way for principals command to get see key ID and serial | ||
1127 | too | ||
1128 | |||
1129 | Upstream-ID: 0d30978bdcf7e8eaeee4eea1b030eb2eb1823fcb | ||
1130 | |||
1131 | commit 920585b826af1c639e4ed78b2eba01fd2337b127 | ||
1132 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1133 | Date: Fri Sep 16 06:09:31 2016 +0000 | ||
1134 | |||
1135 | upstream commit | ||
1136 | |||
1137 | add a note on kexfuzz' limitations | ||
1138 | |||
1139 | Upstream-Regress-ID: 03804d4a0dbc5163e1a285a4c8cc0a76a4e864ec | ||
1140 | |||
1141 | commit 0445ff184080b196e12321998b4ce80b0f33f8d1 | ||
1142 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1143 | Date: Fri Sep 16 01:01:41 2016 +0000 | ||
1144 | |||
1145 | upstream commit | ||
1146 | |||
1147 | fix for newer modp DH groups | ||
1148 | (diffie-hellman-group14-sha256 etc) | ||
1149 | |||
1150 | Upstream-Regress-ID: fe942c669959462b507516ae1634fde0725f1c68 | ||
1151 | |||
1152 | commit 28652bca29046f62c7045e933e6b931de1d16737 | ||
1153 | Author: markus@openbsd.org <markus@openbsd.org> | ||
1154 | Date: Mon Sep 19 19:02:19 2016 +0000 | ||
1155 | |||
1156 | upstream commit | ||
1157 | |||
1158 | move inbound NEWKEYS handling to kex layer; otherwise | ||
1159 | early NEWKEYS causes NULL deref; found by Robert Swiecki/honggfuzz; fixed | ||
1160 | with & ok djm@ | ||
1161 | |||
1162 | Upstream-ID: 9a68b882892e9f51dc7bfa9f5a423858af358b2f | ||
1163 | |||
1164 | commit 492710894acfcc2f173d14d1d45bd2e688df605d | ||
1165 | Author: natano@openbsd.org <natano@openbsd.org> | ||
1166 | Date: Mon Sep 19 07:52:42 2016 +0000 | ||
1167 | |||
1168 | upstream commit | ||
1169 | |||
1170 | Replace two more arc4random() loops with | ||
1171 | arc4random_buf(). | ||
1172 | |||
1173 | tweaks and ok dtucker | ||
1174 | ok deraadt | ||
1175 | |||
1176 | Upstream-ID: 738d3229130ccc7eac975c190276ca6fcf0208e4 | ||
1177 | |||
1178 | commit 1036356324fecc13099ac6e986b549f6219327d7 | ||
1179 | Author: tedu@openbsd.org <tedu@openbsd.org> | ||
1180 | Date: Sat Sep 17 18:00:27 2016 +0000 | ||
1181 | |||
1182 | upstream commit | ||
1183 | |||
1184 | replace two arc4random loops with arc4random_buf ok | ||
1185 | deraadt natano | ||
1186 | |||
1187 | Upstream-ID: e18ede972d1737df54b49f011fa4f3917a403f48 | ||
1188 | |||
1189 | commit 00df97ff68a49a756d4b977cd02283690f5dfa34 | ||
1190 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1191 | Date: Wed Sep 14 20:11:26 2016 +0000 | ||
1192 | |||
1193 | upstream commit | ||
1194 | |||
1195 | take fingerprint of correct key for | ||
1196 | AuthorizedPrincipalsCommand | ||
1197 | |||
1198 | Upstream-ID: 553581a549cd6a3e73ce9f57559a325cc2cb1f38 | ||
1199 | |||
1200 | commit e7907c1cb938b96dd33d27c2fea72c4e08c6b2f6 | ||
1201 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1202 | Date: Wed Sep 14 05:42:25 2016 +0000 | ||
1203 | |||
1204 | upstream commit | ||
1205 | |||
1206 | add %-escapes to AuthorizedPrincipalsCommand to match those | ||
1207 | supported for AuthorizedKeysCommand (key, key type, fingerprint, etc) and a | ||
1208 | few more to provide access to the certificate's CA key; 'looks ok' dtucker@ | ||
1209 | |||
1210 | Upstream-ID: 6b00fd446dbebe67f4e4e146d2e492d650ae04eb | ||
1211 | |||
1212 | commit 2b939c272a81c4d0c47badeedbcb2ba7c128ccda | ||
1213 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1214 | Date: Wed Sep 14 00:45:31 2016 +0000 | ||
1215 | |||
1216 | upstream commit | ||
1217 | |||
1218 | Improve test coverage of ssh-keygen -T a bit. | ||
1219 | |||
1220 | Upstream-Regress-ID: 8851668c721bcc2b400600cfc5a87644cc024e72 | ||
1221 | |||
1222 | commit 44d82fc83be6c5ccd70881c2dac1a73e5050398b | ||
1223 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1224 | Date: Mon Sep 12 02:25:46 2016 +0000 | ||
1225 | |||
1226 | upstream commit | ||
1227 | |||
1228 | Add testcase for ssh-keygen -j, -J and -K options for | ||
1229 | moduli screening. Does not currently test generation as that is extremely | ||
1230 | slow. | ||
1231 | |||
1232 | Upstream-Regress-ID: 9de6ce801377ed3ce0a63a1413f1cd5fd3c2d062 | ||
1233 | |||
1234 | commit 44e5f756d286bc3a1a5272ea484ee276ba3ac5c2 | ||
1235 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1236 | Date: Tue Aug 23 08:17:04 2016 +0000 | ||
1237 | |||
1238 | upstream commit | ||
1239 | |||
1240 | add tests for addr_match_list() | ||
1241 | |||
1242 | Upstream-Regress-ID: fae2d1fef84687ece584738a924c7bf969616c8e | ||
1243 | |||
1244 | commit 445e218878035b59c704c18406e8aeaff4c8aa25 | ||
1245 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1246 | Date: Mon Sep 12 23:39:34 2016 +0000 | ||
1247 | |||
1248 | upstream commit | ||
1249 | |||
1250 | handle certs in rsa_hash_alg_from_ident(), saving an | ||
1251 | unnecessary special case elsewhere. | ||
1252 | |||
1253 | Upstream-ID: 901cb081c59d6d2698b57901c427f3f6dc7397d4 | ||
1254 | |||
1255 | commit 130f5df4fa37cace8c079dccb690e5cafbf00751 | ||
1256 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1257 | Date: Mon Sep 12 23:31:27 2016 +0000 | ||
1258 | |||
1259 | upstream commit | ||
1260 | |||
1261 | list all supported signature algorithms in the | ||
1262 | server-sig-algs Reported by mb AT smartftp.com in bz#2547 and (independantly) | ||
1263 | Ron Frederick; ok markus@ | ||
1264 | |||
1265 | Upstream-ID: ddf702d721f54646b11ef2cee6d916666cb685cd | ||
1266 | |||
1267 | commit 8f750ccfc07acb8aa98be5a5dd935033a6468cfd | ||
1268 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1269 | Date: Mon Sep 12 14:43:58 2016 +1000 | ||
1270 | |||
1271 | Remove no-op brackets to resync with upstream. | ||
1272 | |||
1273 | commit 7050896e7395866278c19c2ff080c26152619d1d | ||
1274 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1275 | Date: Mon Sep 12 13:57:28 2016 +1000 | ||
1276 | |||
1277 | Resync ssh-keygen -W error message with upstream. | ||
1278 | |||
1279 | commit 43cceff82cc20413cce58ba3375e19684e62cec4 | ||
1280 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1281 | Date: Mon Sep 12 13:55:37 2016 +1000 | ||
1282 | |||
1283 | Move ssh-keygen -W handling code to match upstream | ||
1284 | |||
1285 | commit af48d541360b1d7737b35740a4b1ca34e1652cd9 | ||
1286 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1287 | Date: Mon Sep 12 13:52:17 2016 +1000 | ||
1288 | |||
1289 | Move ssh-keygen -T handling code to match upstream. | ||
1290 | |||
1291 | commit d8c3cfbb018825c6c86547165ddaf11924901c49 | ||
1292 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1293 | Date: Mon Sep 12 13:30:50 2016 +1000 | ||
1294 | |||
1295 | Move -M handling code to match upstream. | ||
1296 | |||
1297 | commit 7b63cf6dbbfa841c003de57d1061acbf2ff22364 | ||
1298 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1299 | Date: Mon Sep 12 03:29:16 2016 +0000 | ||
1300 | |||
1301 | upstream commit | ||
1302 | |||
1303 | Spaces->tabs. | ||
1304 | |||
1305 | Upstream-ID: f4829dfc3f36318273f6082b379ac562eead70b7 | ||
1306 | |||
1307 | commit 11e5e644536821ceb3bb4dd8487fbf0588522887 | ||
1308 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1309 | Date: Mon Sep 12 03:25:20 2016 +0000 | ||
1310 | |||
1311 | upstream commit | ||
1312 | |||
1313 | Style whitespace fix. Also happens to remove a no-op | ||
1314 | diff with portable. | ||
1315 | |||
1316 | Upstream-ID: 45d90f9a62ad56340913a433a9453eb30ceb8bf3 | ||
1317 | |||
1318 | commit 9136ec134c97a8aff2917760c03134f52945ff3c | ||
1319 | Author: deraadt@openbsd.org <deraadt@openbsd.org> | ||
1320 | Date: Mon Sep 12 01:22:38 2016 +0000 | ||
1321 | |||
1322 | upstream commit | ||
1323 | |||
1324 | Add MAXIMUM(), MINIMUM(), and ROUNDUP() to misc.h, then | ||
1325 | use those definitions rather than pulling <sys/param.h> and unknown namespace | ||
1326 | pollution. ok djm markus dtucker | ||
1327 | |||
1328 | Upstream-ID: 712cafa816c9f012a61628b66b9fbd5687223fb8 | ||
1329 | |||
1330 | commit f219fc8f03caca7ac82a38ed74bbd6432a1195e7 | ||
1331 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
1332 | Date: Wed Sep 7 18:39:24 2016 +0000 | ||
1333 | |||
1334 | upstream commit | ||
1335 | |||
1336 | sort; from matthew martin | ||
1337 | |||
1338 | Upstream-ID: 73cec7f7ecc82d37a4adffad7745e4684de67ce7 | ||
1339 | |||
1340 | commit 06ce56b05def9460aecc7cdb40e861a346214793 | ||
1341 | Author: markus@openbsd.org <markus@openbsd.org> | ||
1342 | Date: Tue Sep 6 09:22:56 2016 +0000 | ||
1343 | |||
1344 | upstream commit | ||
1345 | |||
1346 | ssh_set_newkeys: print correct block counters on | ||
1347 | rekeying; ok djm@ | ||
1348 | |||
1349 | Upstream-ID: 32bb7a9cb9919ff5bab28d50ecef3a2b2045dd1e | ||
1350 | |||
1351 | commit e5e8d9114ac6837a038f4952994ca95a97fafe8d | ||
1352 | Author: markus@openbsd.org <markus@openbsd.org> | ||
1353 | Date: Tue Sep 6 09:14:05 2016 +0000 | ||
1354 | |||
1355 | upstream commit | ||
1356 | |||
1357 | update ext_info_c every time we receive a kexinit msg; | ||
1358 | fixes sending of ext_info if privsep is disabled; report Aris Adamantiadis & | ||
1359 | Mancha; ok djm@ | ||
1360 | |||
1361 | Upstream-ID: 2ceaa1076e19dbd3542254b4fb8e42d608f28856 | ||
1362 | |||
1363 | commit da95318dbedbaa1335323dba370975c2f251afd8 | ||
1364 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1365 | Date: Mon Sep 5 14:02:42 2016 +0000 | ||
1366 | |||
1367 | upstream commit | ||
1368 | |||
1369 | remove 3des-cbc from the client's default proposal; | ||
1370 | 64-bit block ciphers are not safe in 2016 and we don't want to wait until | ||
1371 | attacks like sweet32 are extended to SSH. | ||
1372 | |||
1373 | As 3des-cbc was the only mandatory cipher in the SSH RFCs, this may | ||
1374 | cause problems connecting to older devices using the defaults, but | ||
1375 | it's highly likely that such devices already need explicit | ||
1376 | configuration for KEX and hostkeys anyway. | ||
1377 | |||
1378 | ok deraadt, markus, dtucker | ||
1379 | |||
1380 | Upstream-ID: a505dfe65c6733af0f751b64cbc4bb7e0761bc2f | ||
1381 | |||
1382 | commit b33ad6d997d36edfea65e243cd12ccd01f413549 | ||
1383 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1384 | Date: Mon Sep 5 13:57:31 2016 +0000 | ||
1385 | |||
1386 | upstream commit | ||
1387 | |||
1388 | enforce expected request flow for GSSAPI calls; thanks to | ||
1389 | Jakub Jelen for testing; ok markus@ | ||
1390 | |||
1391 | Upstream-ID: d4bc0e70e1be403735d3d9d7e176309b1fd626b9 | ||
1392 | |||
1393 | commit 0bb2980260fb24e5e0b51adac471395781b66261 | ||
1394 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1395 | Date: Mon Sep 12 11:07:00 2016 +1000 | ||
1396 | |||
1397 | Restore ssh-keygen's -J and -j option handling. | ||
1398 | |||
1399 | These were incorrectly removed in the 1d9a2e28 sync commit. | ||
1400 | |||
1401 | commit 775f8a23f2353f5869003c57a213d14b28e0736e | ||
1402 | Author: Damien Miller <djm@mindrot.org> | ||
1403 | Date: Wed Aug 31 10:48:07 2016 +1000 | ||
1404 | |||
1405 | tighten PAM monitor calls | ||
1406 | |||
1407 | only allow kbd-interactive ones when that authentication method is | ||
1408 | enabled. Prompted by Solar Designer | ||
1409 | |||
1410 | commit 7fd0ea8a1db4bcfb3d8cd9df149e5d571ebea1f4 | ||
1411 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1412 | Date: Tue Aug 30 07:50:21 2016 +0000 | ||
1413 | |||
1414 | upstream commit | ||
1415 | |||
1416 | restrict monitor auth calls to be allowed only when their | ||
1417 | respective authentication methods are enabled in the configuration. | ||
1418 | |||
1419 | prompted by Solar Designer; ok markus dtucker | ||
1420 | |||
1421 | Upstream-ID: 6eb3f89332b3546d41d6dbf5a8e6ff920142b553 | ||
1422 | |||
1423 | commit b38b95f5bcc52278feb839afda2987933f68ff96 | ||
1424 | Author: Damien Miller <djm@mindrot.org> | ||
1425 | Date: Mon Aug 29 11:47:07 2016 +1000 | ||
1426 | |||
1427 | Tighten monitor state-machine flow for PAM calls | ||
1428 | |||
1429 | (attack surface reduction) | ||
1430 | |||
1431 | commit dc664d1bd0fc91b24406a3e9575b81c285b8342b | ||
1432 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1433 | Date: Sun Aug 28 22:28:12 2016 +0000 | ||
1434 | |||
1435 | upstream commit | ||
1436 | |||
1437 | fix uninitialised optlen in getsockopt() call; harmless | ||
1438 | on Unix/BSD but potentially crashy on Cygwin. Reported by James Slepicka ok | ||
1439 | deraadt@ | ||
1440 | |||
1441 | Upstream-ID: 1987ccee508ba5b18f016c85100d7ac3f70ff965 | ||
1442 | |||
1443 | commit 5bcc1e2769f7d6927d41daf0719a9446ceab8dd7 | ||
1444 | Author: guenther@openbsd.org <guenther@openbsd.org> | ||
1445 | Date: Sat Aug 27 04:05:12 2016 +0000 | ||
1446 | |||
1447 | upstream commit | ||
1448 | |||
1449 | Pull in <sys/time.h> for struct timeval | ||
1450 | |||
1451 | ok deraadt@ | ||
1452 | |||
1453 | Upstream-ID: ae34525485a173bccd61ac8eefeb91c57e3b7df6 | ||
1454 | |||
1455 | commit fa4a4c96b19127dc2fd4e92f20d99c0c7f34b538 | ||
1456 | Author: guenther@openbsd.org <guenther@openbsd.org> | ||
1457 | Date: Sat Aug 27 04:04:56 2016 +0000 | ||
1458 | |||
1459 | upstream commit | ||
1460 | |||
1461 | Pull in <stdlib.h> for NULL | ||
1462 | |||
1463 | ok deraadt@ | ||
1464 | |||
1465 | Upstream-ID: 7baa6a0f1e049bb3682522b4b95a26c866bfc043 | ||
1466 | |||
1467 | commit ae363d74ccc1451185c0c8bd4631e28c67c7fd36 | ||
1468 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1469 | Date: Thu Aug 25 23:57:54 2016 +0000 | ||
1470 | |||
1471 | upstream commit | ||
1472 | |||
1473 | add a sIgnore opcode that silently ignores options and | ||
1474 | use it to suppress noisy deprecation warnings for the Protocol directive. | ||
1475 | |||
1476 | req henning, ok markus | ||
1477 | |||
1478 | Upstream-ID: 9fe040aca3d6ff393f6f7e60045cdd821dc4cbe0 | ||
1479 | |||
1480 | commit a94c60306643ae904add6e8ed219e4be3494255c | ||
1481 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1482 | Date: Thu Aug 25 23:56:51 2016 +0000 | ||
1483 | |||
1484 | upstream commit | ||
1485 | |||
1486 | remove superfluous NOTREACHED comment | ||
1487 | |||
1488 | Upstream-ID: a7485c1f1be618e8c9e38fd9be46c13b2d03b90c | ||
1489 | |||
1490 | commit fc041c47144ce28cf71353124a8a5d183cd6a251 | ||
1491 | Author: otto@openbsd.org <otto@openbsd.org> | ||
1492 | Date: Tue Aug 23 16:21:45 2016 +0000 | ||
1493 | |||
1494 | upstream commit | ||
1495 | |||
1496 | fix previous, a condition was modified incorrectly; ok | ||
1497 | markus@ deraadt@ | ||
1498 | |||
1499 | Upstream-ID: c443e339768e7ed396dff3bb55f693e7d3641453 | ||
1500 | |||
1501 | commit 23555eb13a9b0550371a16dcf8beaab7a5806a64 | ||
1502 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1503 | Date: Tue Aug 23 08:17:42 2016 +0000 | ||
1504 | |||
1505 | upstream commit | ||
1506 | |||
1507 | downgrade an error() to a debug2() to match similar cases | ||
1508 | in addr_match_list() | ||
1509 | |||
1510 | Upstream-ID: 07c3d53e357214153d9d08f234411e0d1a3d6f5c | ||
1511 | |||
1512 | commit a39627134f6d90e7009eeb14e9582ecbc7a99192 | ||
1513 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1514 | Date: Tue Aug 23 06:36:23 2016 +0000 | ||
1515 | |||
1516 | upstream commit | ||
1517 | |||
1518 | remove Protocol directive from client/server configs that | ||
1519 | causes spammy deprecation warnings | ||
1520 | |||
1521 | hardcode SSH_PROTOCOLS=2, since that's all we support on the server | ||
1522 | now (the client still may support both, so it could get confused) | ||
1523 | |||
1524 | Upstream-Regress-ID: c16662c631af51633f9fd06aca552a70535de181 | ||
1525 | |||
1526 | commit 6ee4f1c01ee31e65245881d49d4bccf014956066 | ||
1527 | Author: Damien Miller <djm@mindrot.org> | ||
1528 | Date: Tue Aug 23 16:33:48 2016 +1000 | ||
1529 | |||
1530 | hook match and utf8 unittests up to Makefile | ||
1531 | |||
1532 | commit 114efe2bc0dd2842d997940a833f115e6fc04854 | ||
1533 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1534 | Date: Fri Aug 19 06:44:13 2016 +0000 | ||
1535 | |||
1536 | upstream commit | ||
1537 | |||
1538 | add tests for matching functions | ||
1539 | |||
1540 | Upstream-Regress-ID: 0869d4f5c5d627c583c6a929d69c17d5dd65882c | ||
1541 | |||
1542 | commit 857568d2ac81c14bcfd625b27536c1e28c992b3c | ||
1543 | Author: Damien Miller <djm@mindrot.org> | ||
1544 | Date: Tue Aug 23 14:32:37 2016 +1000 | ||
1545 | |||
1546 | removing UseLogin bits from configure.ac | ||
1547 | |||
1548 | commit cc182d01cef8ca35a1d25ea9bf4e2ff72e588208 | ||
1549 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1550 | Date: Tue Aug 23 03:24:10 2016 +0000 | ||
1551 | |||
1552 | upstream commit | ||
1553 | |||
1554 | fix negated address matching where the address list | ||
1555 | consists of a single negated match, e.g. "Match addr !192.20.0.1" | ||
1556 | |||
1557 | Report and patch from Jakub Jelen. bz#2397 ok dtucker@ | ||
1558 | |||
1559 | Upstream-ID: 01dcac3f3e6ca47518cf293e31c73597a4bb40d8 | ||
1560 | |||
1561 | commit 4067ec8a4c64ccf16250c35ff577b4422767da64 | ||
1562 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1563 | Date: Tue Aug 23 03:22:49 2016 +0000 | ||
1564 | |||
1565 | upstream commit | ||
1566 | |||
1567 | fix matching for pattern lists that contain a single | ||
1568 | negated match, e.g. "Host !example" | ||
1569 | |||
1570 | report and patch from Robin Becker. bz#1918 ok dtucker@ | ||
1571 | |||
1572 | Upstream-ID: 05a0cb323ea4bc20e98db099b42c067bfb9ea1ea | ||
1573 | |||
1574 | commit 83b581862a1dbb06fc859959f829dde2654aef3c | ||
1575 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1576 | Date: Fri Aug 19 03:18:06 2016 +0000 | ||
1577 | |||
1578 | upstream commit | ||
1579 | |||
1580 | remove UseLogin option and support for having /bin/login | ||
1581 | manage login sessions; ok deraadt markus dtucker | ||
1582 | |||
1583 | Upstream-ID: bea7213fbf158efab7e602d9d844fba4837d2712 | ||
1584 | |||
1585 | commit ffe6549c2f7a999cc5264b873a60322e91862581 | ||
1586 | Author: naddy@openbsd.org <naddy@openbsd.org> | ||
1587 | Date: Mon Aug 15 12:32:04 2016 +0000 | ||
1588 | |||
1589 | upstream commit | ||
1590 | |||
1591 | Catch up with the SSH1 code removal and delete all | ||
1592 | mention of protocol 1 particularities, key files and formats, command line | ||
1593 | options, and configuration keywords from the server documentation and | ||
1594 | examples. ok jmc@ | ||
1595 | |||
1596 | Upstream-ID: 850328854675b4b6a0d4a90f0b4a9dd9ca4e905f | ||
1597 | |||
1598 | commit c38ea634893a1975dbbec798fb968c9488013f4a | ||
1599 | Author: naddy@openbsd.org <naddy@openbsd.org> | ||
1600 | Date: Mon Aug 15 12:27:56 2016 +0000 | ||
1601 | |||
1602 | upstream commit | ||
1603 | |||
1604 | Remove more SSH1 server code: * Drop sshd's -k option. * | ||
1605 | Retire configuration keywords that only apply to protocol 1, as well as the | ||
1606 | "protocol" keyword. * Remove some related vestiges of protocol 1 support. | ||
1607 | |||
1608 | ok markus@ | ||
1609 | |||
1610 | Upstream-ID: 9402f82886de917779db12f8ee3f03d4decc244d | ||
1611 | |||
1612 | commit 33ba55d9e358c07f069e579bfab80eccaaad52cb | ||
1613 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1614 | Date: Wed Aug 17 16:26:04 2016 +1000 | ||
1615 | |||
1616 | Only check for prctl once. | ||
1617 | |||
1618 | commit 976ba8a8fd66a969bf658280c1e5adf694cc2fc6 | ||
1619 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1620 | Date: Wed Aug 17 15:33:10 2016 +1000 | ||
1621 | |||
1622 | Fix typo. | ||
1623 | |||
1624 | commit 9abf84c25ff4448891edcde60533a6e7b2870de1 | ||
1625 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1626 | Date: Wed Aug 17 14:25:43 2016 +1000 | ||
1627 | |||
1628 | Correct LDFLAGS for clang example. | ||
1629 | |||
1630 | --with-ldflags isn't used until after the -ftrapv test, so mention | ||
1631 | LDFLAGS instead for now. | ||
1632 | |||
1633 | commit 1e8013a17ff11e3c6bd0012fb1fc8d5f1330eb21 | ||
1634 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1635 | Date: Wed Aug 17 14:08:42 2016 +1000 | ||
1636 | |||
1637 | Remove obsolete CVS $Id from source files. | ||
1638 | |||
1639 | Since -portable switched to git the CVS $Id tags are no longer being | ||
1640 | updated and are becoming increasingly misleading. Remove them. | ||
1641 | |||
1642 | commit adab758242121181700e48b4f6c60d6b660411fe | ||
1643 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1644 | Date: Wed Aug 17 13:40:58 2016 +1000 | ||
1645 | |||
1646 | Remove now-obsolete CVS $Id tags from text files. | ||
1647 | |||
1648 | Since -portable switched to git, the CVS $Id tags are no longer being | ||
1649 | updated and are becoming increasingly misleading. Remove them. | ||
1650 | |||
1651 | commit 560c0068541315002ec4c1c00a560bbd30f2d671 | ||
1652 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1653 | Date: Wed Aug 17 13:38:30 2016 +1000 | ||
1654 | |||
1655 | Add a section for compiler specifics. | ||
1656 | |||
1657 | Add a section for compiler specifics and document the runtime requirements | ||
1658 | for clang's integer sanitization. | ||
1659 | |||
1660 | commit a8fc0f42e1eda2fa3393d1ea5e61322d5e07a9cd | ||
1661 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1662 | Date: Wed Aug 17 13:35:43 2016 +1000 | ||
1663 | |||
1664 | Test multiplying two long long ints. | ||
1665 | |||
1666 | When using clang with -ftrapv or -sanitize=integer the tests would pass | ||
1667 | but linking would fail with "undefined reference to __mulodi4". | ||
1668 | Explicitly test for this before enabling -trapv. | ||
1669 | |||
1670 | commit a1cc637e7e11778eb727559634a6ef1c19c619f6 | ||
1671 | Author: Damien Miller <djm@mindrot.org> | ||
1672 | Date: Tue Aug 16 14:47:34 2016 +1000 | ||
1673 | |||
1674 | add a --with-login-program configure argument | ||
1675 | |||
1676 | Saves messing around with LOGIN_PROGRAM env var, which come | ||
1677 | packaging environments make hard to do during configure phase. | ||
1678 | |||
1679 | commit 8bd81e1596ab1bab355146cb65e82fb96ade3b23 | ||
1680 | Author: Damien Miller <djm@mindrot.org> | ||
1681 | Date: Tue Aug 16 13:30:56 2016 +1000 | ||
1682 | |||
1683 | add --with-pam-service to specify PAM service name | ||
1684 | |||
1685 | Saves messing around with CFLAGS to do it. | ||
1686 | |||
1687 | commit 74433a19bb6f4cef607680fa4d1d7d81ca3826aa | ||
1688 | Author: Damien Miller <djm@mindrot.org> | ||
1689 | Date: Tue Aug 16 13:28:23 2016 +1000 | ||
1690 | |||
1691 | fix false positives when compiled with msan | ||
1692 | |||
1693 | Our explicit_bzero successfully confused clang -fsanitize-memory | ||
1694 | in to thinking that memset is never called to initialise memory. | ||
1695 | Ensure that it is called in a way that the compiler recognises. | ||
1696 | |||
1697 | commit 6cb6dcffe1a2204ba9006de20f73255c268fcb6b | ||
1698 | Author: markus@openbsd.org <markus@openbsd.org> | ||
1699 | Date: Sat Aug 13 17:47:40 2016 +0000 | ||
1700 | |||
1701 | upstream commit | ||
1702 | |||
1703 | remove ssh1 server code; ok djm@ | ||
1704 | |||
1705 | Upstream-ID: c24c0c32c49b91740d5a94ae914fb1898ea5f534 | ||
1706 | |||
1707 | commit 42d47adc5ad1187f22c726cbc52e71d6b1767ca2 | ||
1708 | Author: jca@openbsd.org <jca@openbsd.org> | ||
1709 | Date: Fri Aug 12 19:19:04 2016 +0000 | ||
1710 | |||
1711 | upstream commit | ||
1712 | |||
1713 | Use 2001:db8::/32, the official IPv6 subnet for | ||
1714 | configuration examples. | ||
1715 | |||
1716 | This makes the IPv6 example consistent with IPv4, and removes a dubious | ||
1717 | mention of a 6bone subnet. | ||
1718 | |||
1719 | ok sthen@ millert@ | ||
1720 | |||
1721 | Upstream-ID: b027f3d0e0073419a132fd1bf002e8089b233634 | ||
1722 | |||
1723 | commit b61f53c0c3b43c28e013d3b3696d64d1c0204821 | ||
1724 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1725 | Date: Thu Aug 11 01:42:11 2016 +0000 | ||
1726 | |||
1727 | upstream commit | ||
1728 | |||
1729 | Update moduli file. | ||
1730 | |||
1731 | Upstream-ID: 6da9a37f74aef9f9cc639004345ad893cad582d8 | ||
1732 | |||
1733 | commit f217d9bd42d306f69f56335231036b44502d8191 | ||
1734 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1735 | Date: Thu Aug 11 11:42:48 2016 +1000 | ||
1736 | |||
1737 | Import updated moduli. | ||
1738 | |||
1739 | commit 67dca60fbb4923b7a11c1645b90a5ca57c03d8be | ||
1740 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1741 | Date: Mon Aug 8 22:40:57 2016 +0000 | ||
1742 | |||
1743 | upstream commit | ||
1744 | |||
1745 | Improve error message for overlong ControlPath. ok markus@ | ||
1746 | djm@ | ||
1747 | |||
1748 | Upstream-ID: aed374e2e88dd3eb41390003e5303d0089861eb5 | ||
1749 | |||
1750 | commit 4706c1d8c15cd5565b59512853c2da9bd4ca26c9 | ||
1751 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1752 | Date: Wed Aug 3 05:41:57 2016 +0000 | ||
1753 | |||
1754 | upstream commit | ||
1755 | |||
1756 | small refactor of cipher.c: make ciphercontext opaque to | ||
1757 | callers feedback and ok markus@ | ||
1758 | |||
1759 | Upstream-ID: 094849f8be68c3bdad2c0f3dee551ecf7be87f6f | ||
1760 | |||
1761 | commit e600348a7afd6325cc5cd783cb424065cbc20434 | ||
1762 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1763 | Date: Wed Aug 3 04:23:55 2016 +0000 | ||
1764 | |||
1765 | upstream commit | ||
1766 | |||
1767 | Fix bug introduced in rev 1.467 which causes | ||
1768 | "buffer_get_bignum_ret: incomplete message" errors when built with WITH_SSH1 | ||
1769 | and run such that no Protocol 1 ephemeral host key is generated (eg "Protocol | ||
1770 | 2", no SSH1 host key supplied). Reported by rainer.laatsch at t-online.de, | ||
1771 | ok deraadt@ | ||
1772 | |||
1773 | Upstream-ID: aa6b132da5c325523aed7989cc5a320497c919dc | ||
1774 | |||
1775 | commit d7e7348e72f9b203189e3fffb75605afecba4fda | ||
1776 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1777 | Date: Wed Jul 27 23:18:12 2016 +0000 | ||
1778 | |||
1779 | upstream commit | ||
1780 | |||
1781 | better bounds check on iovcnt (we only ever use fixed, | ||
1782 | positive values) | ||
1783 | |||
1784 | Upstream-ID: 9baa6eb5cd6e30c9dc7398e5fe853721a3a5bdee | ||
1785 | |||
1786 | commit 5faa52d295f764562ed6dd75c4a4ce9134ae71e3 | ||
1787 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1788 | Date: Tue Aug 2 15:22:40 2016 +1000 | ||
1789 | |||
1790 | Use tabs consistently inside "case $host". | ||
1791 | |||
1792 | commit 20e5e8ba9c5d868d897896190542213a60fffbd2 | ||
1793 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1794 | Date: Tue Aug 2 12:16:34 2016 +1000 | ||
1795 | |||
1796 | Explicitly test for broken strnvis. | ||
1797 | |||
1798 | NetBSD added an strnvis and unfortunately made it incompatible with the | ||
1799 | existing one in OpenBSD and Linux's libbsd (the former having existed | ||
1800 | for over ten years). Despite this incompatibility being reported during | ||
1801 | development (see http://gnats.netbsd.org/44977) they still shipped it. | ||
1802 | Even more unfortunately FreeBSD and later MacOS picked up this incompatible | ||
1803 | implementation. Try to detect this mess, and assume the only safe option | ||
1804 | if we're cross compiling. | ||
1805 | |||
1806 | OpenBSD 2.9 (2001): strnvis(char *dst, const char *src, size_t dlen, int flag); | ||
1807 | NetBSD 6.0 (2012): strnvis(char *dst, size_t dlen, const char *src, int flag); | ||
1808 | |||
1809 | ok djm@ | ||
1810 | |||
1811 | commit b0b48beab1b74100b61ecbadb9140c9ab4c2ea8c | ||
1812 | Author: Damien Miller <djm@mindrot.org> | ||
1813 | Date: Tue Aug 2 11:06:23 2016 +1000 | ||
1814 | |||
1815 | update recommended autoconf version | ||
1816 | |||
1817 | commit 23902e31dfd18c6d7bb41ccd73de3b5358a377da | ||
1818 | Author: Damien Miller <djm@mindrot.org> | ||
1819 | Date: Tue Aug 2 10:48:04 2016 +1000 | ||
1820 | |||
1821 | update config.guess and config.sub to current | ||
1822 | |||
1823 | upstream commit 562f3512b3911ba0c77a7f68214881d1f241f46e | ||
1824 | |||
1825 | commit dd1031b78b83083615b68d7163c44f4408635be2 | ||
1826 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1827 | Date: Tue Aug 2 10:01:52 2016 +1000 | ||
1828 | |||
1829 | Replace spaces with tabs. | ||
1830 | |||
1831 | Mechanically replace spaces with tabs in compat files not synced with | ||
1832 | OpenBSD. | ||
1833 | |||
1834 | commit c20dccb5614c5714f4155dda01bcdebf97cfae7e | ||
1835 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1836 | Date: Tue Aug 2 09:44:25 2016 +1000 | ||
1837 | |||
1838 | Strip trailing whitespace. | ||
1839 | |||
1840 | Mechanically strip trailing whitespace on files not synced with OpenBSD | ||
1841 | (or in the case of bsd-snprint.c, rsync). | ||
1842 | |||
1843 | commit 30f9bd1c0963c23bfba8468dfd26aa17609ba42f | ||
1844 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1845 | Date: Tue Aug 2 09:06:27 2016 +1000 | ||
1846 | |||
1847 | Repair $OpenBSD markers. | ||
1848 | |||
1849 | commit 9715d4ad4b53877ec23dc8681dd7a405de9419a6 | ||
1850 | Author: Darren Tucker <dtucker@zip.com.au> | ||
1851 | Date: Tue Aug 2 09:02:42 2016 +1000 | ||
1852 | |||
1853 | Repair $OpenBSD marker. | ||
1854 | |||
1855 | commit cf3e0be7f5828a5e5f6c296a607d20be2f07d60c | ||
1856 | Author: Tim Rice <tim@multitalents.net> | ||
1857 | Date: Mon Aug 1 14:31:52 2016 -0700 | ||
1858 | |||
1859 | modified: configure.ac opensshd.init.in | ||
1860 | Skip generating missing RSA1 key on startup unless ssh1 support is enabled. | ||
1861 | Spotted by Jean-Pierre Radley | ||
1862 | |||
1 | commit 99522ba7ec6963a05c04a156bf20e3ba3605987c | 1863 | commit 99522ba7ec6963a05c04a156bf20e3ba3605987c |
2 | Author: Damien Miller <djm@mindrot.org> | 1864 | Author: Damien Miller <djm@mindrot.org> |
3 | Date: Thu Jul 28 08:54:27 2016 +1000 | 1865 | Date: Thu Jul 28 08:54:27 2016 +1000 |
@@ -8402,801 +10264,3 @@ Date: Thu Dec 18 23:58:04 2014 +0000 | |||
8402 | 10264 | ||
8403 | don't count partial authentication success as a failure | 10265 | don't count partial authentication success as a failure |
8404 | against MaxAuthTries; ok deraadt@ | 10266 | against MaxAuthTries; ok deraadt@ |
8405 | |||
8406 | commit c7219f4f54d64d6dde66dbcf7a2699daa782d2a1 | ||
8407 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8408 | Date: Fri Dec 12 00:02:17 2014 +0000 | ||
8409 | |||
8410 | upstream commit | ||
8411 | |||
8412 | revert chunk I didn't mean to commit yet; via jmc@ | ||
8413 | |||
8414 | commit 7de5991aa3997e2981440f39c1ea01273a0a2c7b | ||
8415 | Author: Damien Miller <djm@mindrot.org> | ||
8416 | Date: Thu Dec 18 11:44:06 2014 +1100 | ||
8417 | |||
8418 | upstream libc change | ||
8419 | |||
8420 | revision 1.2 | ||
8421 | date: 2014/12/08 03:45:00; author: bcook; state: Exp; lines: +2 -2; commitid: 7zWEBgJJOCZ2hvTV; | ||
8422 | avoid left shift overflow in reallocarray. | ||
8423 | |||
8424 | Some 64-bit platforms (e.g. Windows 64) have a 32-bit long. So, shifting | ||
8425 | 1UL 32-bits to the left causes an overflow. This replaces the constant 1UL with | ||
8426 | (size_t)1 so that we get the correct constant size for the platform. | ||
8427 | |||
8428 | discussed with tedu@ & deraadt@ | ||
8429 | |||
8430 | commit 2048f85a5e6da8bc6e0532efe02ecfd4e63c978c | ||
8431 | Author: Damien Miller <djm@mindrot.org> | ||
8432 | Date: Thu Dec 18 10:15:49 2014 +1100 | ||
8433 | |||
8434 | include CFLAGS in gnome askpass targets | ||
8435 | |||
8436 | from Fedora | ||
8437 | |||
8438 | commit 48b68ce19ca42fa488960028048dec023f7899bb | ||
8439 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8440 | Date: Thu Dec 11 08:20:09 2014 +0000 | ||
8441 | |||
8442 | upstream commit | ||
8443 | |||
8444 | explicitly include sys/param.h in files that use the | ||
8445 | howmany() macro; from portable | ||
8446 | |||
8447 | commit d663bea30a294d440fef4398e5cd816317bd4518 | ||
8448 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8449 | Date: Thu Dec 11 05:25:06 2014 +0000 | ||
8450 | |||
8451 | upstream commit | ||
8452 | |||
8453 | mention AuthorizedKeysCommandUser must be set for | ||
8454 | AuthorizedKeysCommand to be run; bz#2287 | ||
8455 | |||
8456 | commit 17bf3d81e00f2abb414a4fd271118cf4913f049f | ||
8457 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8458 | Date: Thu Dec 11 05:13:28 2014 +0000 | ||
8459 | |||
8460 | upstream commit | ||
8461 | |||
8462 | show in debug output which hostkeys are being tried when | ||
8463 | attempting hostbased auth; patch from Iain Morgan | ||
8464 | |||
8465 | commit da0277e3717eadf5b15e03379fc29db133487e94 | ||
8466 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8467 | Date: Thu Dec 11 04:16:14 2014 +0000 | ||
8468 | |||
8469 | upstream commit | ||
8470 | |||
8471 | Make manual reflect reality: sftp-server's -d option | ||
8472 | accepts a "%d" option, not a "%h" one. | ||
8473 | |||
8474 | bz#2316; reported by Kirk Wolf | ||
8475 | |||
8476 | commit 4cf87f4b81fa9380bce5fcff7b0f8382ae3ad996 | ||
8477 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8478 | Date: Wed Dec 10 01:24:09 2014 +0000 | ||
8479 | |||
8480 | upstream commit | ||
8481 | |||
8482 | better error value for invalid signature length | ||
8483 | |||
8484 | commit 4bfad14ca56f8ae04f418997816b4ba84e2cfc3c | ||
8485 | Author: Darren Tucker <dtucker@zip.com.au> | ||
8486 | Date: Wed Dec 10 02:12:51 2014 +1100 | ||
8487 | |||
8488 | Resync more with OpenBSD's rijndael.c, in particular "#if 0"-ing out some | ||
8489 | unused code. Should fix compile error reported by plautrba at redhat. | ||
8490 | |||
8491 | commit 642652d280499691c8212ec6b79724b50008ce09 | ||
8492 | Author: Darren Tucker <dtucker@zip.com.au> | ||
8493 | Date: Wed Dec 10 01:32:23 2014 +1100 | ||
8494 | |||
8495 | Add reallocarray to compat library | ||
8496 | |||
8497 | commit 3dfd8d93dfcc69261f5af99df56f3ff598581979 | ||
8498 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8499 | Date: Thu Dec 4 22:31:50 2014 +0000 | ||
8500 | |||
8501 | upstream commit | ||
8502 | |||
8503 | add tests for new client RevokedHostKeys option; refactor | ||
8504 | to make it a bit more readable | ||
8505 | |||
8506 | commit a31046cad1aed16a0b55171192faa6d02665ccec | ||
8507 | Author: krw@openbsd.org <krw@openbsd.org> | ||
8508 | Date: Wed Nov 19 13:35:37 2014 +0000 | ||
8509 | |||
8510 | upstream commit | ||
8511 | |||
8512 | Nuke yet more obvious #include duplications. | ||
8513 | |||
8514 | ok deraadt@ | ||
8515 | |||
8516 | commit a7c762e5b2c1093542c0bc1df25ccec0b4cf479f | ||
8517 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8518 | Date: Thu Dec 4 20:47:36 2014 +0000 | ||
8519 | |||
8520 | upstream commit | ||
8521 | |||
8522 | key_in_file() wrapper is no longer used | ||
8523 | |||
8524 | commit 5e39a49930d885aac9c76af3129332b6e772cd75 | ||
8525 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8526 | Date: Thu Dec 4 02:24:32 2014 +0000 | ||
8527 | |||
8528 | upstream commit | ||
8529 | |||
8530 | add RevokedHostKeys option for the client | ||
8531 | |||
8532 | Allow textfile or KRL-based revocation of hostkeys. | ||
8533 | |||
8534 | commit 74de254bb92c684cf53461da97f52d5ba34ded80 | ||
8535 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8536 | Date: Thu Dec 4 01:49:59 2014 +0000 | ||
8537 | |||
8538 | upstream commit | ||
8539 | |||
8540 | convert KRL code to new buffer API | ||
8541 | |||
8542 | ok markus@ | ||
8543 | |||
8544 | commit db995f2eed5fc432598626fa3e30654503bf7151 | ||
8545 | Author: millert@openbsd.org <millert@openbsd.org> | ||
8546 | Date: Wed Nov 26 18:34:51 2014 +0000 | ||
8547 | |||
8548 | upstream commit | ||
8549 | |||
8550 | Prefer setvbuf() to setlinebuf() for portability; ok | ||
8551 | deraadt@ | ||
8552 | |||
8553 | commit 72bba3d179ced8b425272efe6956a309202a91f3 | ||
8554 | Author: jsg@openbsd.org <jsg@openbsd.org> | ||
8555 | Date: Mon Nov 24 03:39:22 2014 +0000 | ||
8556 | |||
8557 | upstream commit | ||
8558 | |||
8559 | Fix crashes in the handling of the sshd config file found | ||
8560 | with the afl fuzzer. | ||
8561 | |||
8562 | ok deraadt@ djm@ | ||
8563 | |||
8564 | commit 867f49c666adcfe92bf539d9c37c1accdea08bf6 | ||
8565 | Author: Damien Miller <djm@mindrot.org> | ||
8566 | Date: Wed Nov 26 13:22:41 2014 +1100 | ||
8567 | |||
8568 | Avoid Cygwin ssh-host-config reading /etc/group | ||
8569 | |||
8570 | Patch from Corinna Vinschen | ||
8571 | |||
8572 | commit 8b66f36291a721b1ba7c44f24a07fdf39235593e | ||
8573 | Author: Damien Miller <djm@mindrot.org> | ||
8574 | Date: Wed Nov 26 13:20:35 2014 +1100 | ||
8575 | |||
8576 | allow custom service name for sshd on Cygwin | ||
8577 | |||
8578 | Permits the use of multiple sshd running with different service names. | ||
8579 | |||
8580 | Patch by Florian Friesdorf via Corinna Vinschen | ||
8581 | |||
8582 | commit 08c0eebf55d70a9ae1964399e609288ae3186a0c | ||
8583 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
8584 | Date: Sat Nov 22 19:21:03 2014 +0000 | ||
8585 | |||
8586 | upstream commit | ||
8587 | |||
8588 | restore word zapped in previous, and remove some useless | ||
8589 | "No" macros; | ||
8590 | |||
8591 | commit a1418a0033fba43f061513e992e1cbcc3343e563 | ||
8592 | Author: deraadt@openbsd.org <deraadt@openbsd.org> | ||
8593 | Date: Sat Nov 22 18:15:41 2014 +0000 | ||
8594 | |||
8595 | upstream commit | ||
8596 | |||
8597 | /dev/random has created the same effect as /dev/arandom | ||
8598 | (and /dev/urandom) for quite some time. Mop up the last few, by using | ||
8599 | /dev/random where we actually want it, or not even mentioning arandom where | ||
8600 | it is irrelevant. | ||
8601 | |||
8602 | commit b6de5ac9ed421362f479d1ad4fa433d2e25dad5b | ||
8603 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8604 | Date: Fri Nov 21 01:00:38 2014 +0000 | ||
8605 | |||
8606 | upstream commit | ||
8607 | |||
8608 | fix NULL pointer dereference crash on invalid timestamp | ||
8609 | |||
8610 | found using Michal Zalewski's afl fuzzer | ||
8611 | |||
8612 | commit a1f8110cd5ed818d59b3a2964fab7de76e92c18e | ||
8613 | Author: mikeb@openbsd.org <mikeb@openbsd.org> | ||
8614 | Date: Tue Nov 18 22:38:48 2014 +0000 | ||
8615 | |||
8616 | upstream commit | ||
8617 | |||
8618 | Sync AES code to the one shipped in OpenSSL/LibreSSL. | ||
8619 | |||
8620 | This includes a commit made by Andy Polyakov <appro at openssl ! org> | ||
8621 | to the OpenSSL source tree on Wed, 28 Jun 2006 with the following | ||
8622 | message: "Mitigate cache-collision timing attack on last round." | ||
8623 | |||
8624 | OK naddy, miod, djm | ||
8625 | |||
8626 | commit 335c83d5f35d8620e16b8aa26592d4f836e09ad2 | ||
8627 | Author: krw@openbsd.org <krw@openbsd.org> | ||
8628 | Date: Tue Nov 18 20:54:28 2014 +0000 | ||
8629 | |||
8630 | upstream commit | ||
8631 | |||
8632 | Nuke more obvious #include duplications. | ||
8633 | |||
8634 | ok deraadt@ millert@ tedu@ | ||
8635 | |||
8636 | commit 51b64e44121194ae4bf153dee391228dada2abcb | ||
8637 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8638 | Date: Mon Nov 17 00:21:40 2014 +0000 | ||
8639 | |||
8640 | upstream commit | ||
8641 | |||
8642 | fix KRL generation when multiple CAs are in use | ||
8643 | |||
8644 | We would generate an invalid KRL when revoking certs by serial | ||
8645 | number for multiple CA keys due to a section being written out | ||
8646 | twice. | ||
8647 | |||
8648 | Also extend the regress test to catch this case by having it | ||
8649 | produce a multi-CA KRL. | ||
8650 | |||
8651 | Reported by peter AT pean.org | ||
8652 | |||
8653 | commit d2d51003a623e21fb2b25567c4878d915e90aa2a | ||
8654 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8655 | Date: Tue Nov 18 01:02:25 2014 +0000 | ||
8656 | |||
8657 | upstream commit | ||
8658 | |||
8659 | fix NULL pointer dereference crash in key loading | ||
8660 | |||
8661 | found by Michal Zalewski's AFL fuzzer | ||
8662 | |||
8663 | commit 9f9fad0191028edc43d100d0ded39419b6895fdf | ||
8664 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8665 | Date: Mon Nov 17 00:21:40 2014 +0000 | ||
8666 | |||
8667 | upstream commit | ||
8668 | |||
8669 | fix KRL generation when multiple CAs are in use | ||
8670 | |||
8671 | We would generate an invalid KRL when revoking certs by serial | ||
8672 | number for multiple CA keys due to a section being written out | ||
8673 | twice. | ||
8674 | |||
8675 | Also extend the regress test to catch this case by having it | ||
8676 | produce a multi-CA KRL. | ||
8677 | |||
8678 | Reported by peter AT pean.org | ||
8679 | |||
8680 | commit da8af83d3f7ec00099963e455010e0ed1d7d0140 | ||
8681 | Author: bentley@openbsd.org <bentley@openbsd.org> | ||
8682 | Date: Sat Nov 15 14:41:03 2014 +0000 | ||
8683 | |||
8684 | upstream commit | ||
8685 | |||
8686 | Reduce instances of `` '' in manuals. | ||
8687 | |||
8688 | troff displays these as typographic quotes, but nroff implementations | ||
8689 | almost always print them literally, which rarely has the intended effect | ||
8690 | with modern fonts, even in stock xterm. | ||
8691 | |||
8692 | These uses of `` '' can be replaced either with more semantic alternatives | ||
8693 | or with Dq, which prints typographic quotes in a UTF-8 locale (but will | ||
8694 | automatically fall back to `` '' in an ASCII locale). | ||
8695 | |||
8696 | improvements and ok schwarze@ | ||
8697 | |||
8698 | commit fc302561369483bb755b17f671f70fb894aec01d | ||
8699 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8700 | Date: Mon Nov 10 22:25:49 2014 +0000 | ||
8701 | |||
8702 | upstream commit | ||
8703 | |||
8704 | mux-related manual tweaks | ||
8705 | |||
8706 | mention ControlPersist=0 is the same as ControlPersist=yes | ||
8707 | |||
8708 | recommend that ControlPath sockets be placed in a og-w directory | ||
8709 | |||
8710 | commit 0e4cff5f35ed11102fe3783779960ef07e0cd381 | ||
8711 | Author: Damien Miller <djm@google.com> | ||
8712 | Date: Wed Nov 5 11:01:31 2014 +1100 | ||
8713 | |||
8714 | Prepare scripts for next Cygwin release | ||
8715 | |||
8716 | Makes the Cygwin-specific ssh-user-config script independent of the | ||
8717 | existence of /etc/passwd. The next Cygwin release will allow to | ||
8718 | generate passwd and group entries from the Windows account DBs, so the | ||
8719 | scripts have to adapt. | ||
8720 | |||
8721 | from Corinna Vinschen | ||
8722 | |||
8723 | commit 7d0ba5336651731949762eb8877ce9e3b52df436 | ||
8724 | Author: Damien Miller <djm@mindrot.org> | ||
8725 | Date: Thu Oct 30 10:45:41 2014 +1100 | ||
8726 | |||
8727 | include version number in OpenSSL-too-old error | ||
8728 | |||
8729 | commit 3bcb92e04d9207e9f78d82f7918c6d3422054ce9 | ||
8730 | Author: lteo@openbsd.org <lteo@openbsd.org> | ||
8731 | Date: Fri Oct 24 02:01:20 2014 +0000 | ||
8732 | |||
8733 | upstream commit | ||
8734 | |||
8735 | Remove unnecessary include: netinet/in_systm.h is not needed | ||
8736 | by these programs. | ||
8737 | |||
8738 | NB. skipped for portable | ||
8739 | |||
8740 | ok deraadt@ millert@ | ||
8741 | |||
8742 | commit 6fdcaeb99532e28a69f1a1599fbd540bb15b70a0 | ||
8743 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8744 | Date: Mon Oct 20 03:43:01 2014 +0000 | ||
8745 | |||
8746 | upstream commit | ||
8747 | |||
8748 | whitespace | ||
8749 | |||
8750 | commit 165bc8786299e261706ed60342985f9de93a7461 | ||
8751 | Author: daniel@openbsd.org <daniel@openbsd.org> | ||
8752 | Date: Tue Oct 14 03:09:59 2014 +0000 | ||
8753 | |||
8754 | upstream commit | ||
8755 | |||
8756 | plug a memory leak; from Maxime Villard. | ||
8757 | |||
8758 | ok djm@ | ||
8759 | |||
8760 | commit b1ba15f3885947c245c2dbfaad0a04ba050abea0 | ||
8761 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
8762 | Date: Thu Oct 9 06:21:31 2014 +0000 | ||
8763 | |||
8764 | upstream commit | ||
8765 | |||
8766 | tweak previous; | ||
8767 | |||
8768 | commit 259a02ebdf74ad90b41d116ecf70aa823fa4c6e7 | ||
8769 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8770 | Date: Mon Oct 13 00:38:35 2014 +0000 | ||
8771 | |||
8772 | upstream commit | ||
8773 | |||
8774 | whitespace | ||
8775 | |||
8776 | commit 957fbceb0f3166e41b76fdb54075ab3b9cc84cba | ||
8777 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8778 | Date: Wed Oct 8 22:20:25 2014 +0000 | ||
8779 | |||
8780 | upstream commit | ||
8781 | |||
8782 | Tweak config reparsing with host canonicalisation | ||
8783 | |||
8784 | Make the second pass through the config files always run when | ||
8785 | hostname canonicalisation is enabled. | ||
8786 | |||
8787 | Add a "Match canonical" criteria that allows ssh_config Match | ||
8788 | blocks to trigger only in the second config pass. | ||
8789 | |||
8790 | Add a -G option to ssh that causes it to parse its configuration | ||
8791 | and dump the result to stdout, similar to "sshd -T" | ||
8792 | |||
8793 | Allow ssh_config Port options set in the second config parse | ||
8794 | phase to be applied (they were being ignored). | ||
8795 | |||
8796 | bz#2267 bz#2286; ok markus | ||
8797 | |||
8798 | commit 5c0dafd38bf66feeeb45fa0741a5baf5ad8039ba | ||
8799 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8800 | Date: Wed Oct 8 22:15:27 2014 +0000 | ||
8801 | |||
8802 | upstream commit | ||
8803 | |||
8804 | another -Wpointer-sign from clang | ||
8805 | |||
8806 | commit bb005dc815ebda9af3ae4b39ca101c4da918f835 | ||
8807 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8808 | Date: Wed Oct 8 22:15:06 2014 +0000 | ||
8809 | |||
8810 | upstream commit | ||
8811 | |||
8812 | fix a few -Wpointer-sign warnings from clang | ||
8813 | |||
8814 | commit 3cc1fbb4fb0e804bfb873fd363cea91b27fc8188 | ||
8815 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8816 | Date: Wed Oct 8 21:45:48 2014 +0000 | ||
8817 | |||
8818 | upstream commit | ||
8819 | |||
8820 | parse cert sections using nested buffers to reduce | ||
8821 | copies; ok markus | ||
8822 | |||
8823 | commit 4a45922aebf99164e2fc83d34fe55b11ae1866ef | ||
8824 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8825 | Date: Mon Oct 6 00:47:15 2014 +0000 | ||
8826 | |||
8827 | upstream commit | ||
8828 | |||
8829 | correct options in usage(); from mancha1 AT zoho.com | ||
8830 | |||
8831 | commit 48dffd5bebae6fed0556dc5c36cece0370690618 | ||
8832 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8833 | Date: Tue Sep 9 09:45:36 2014 +0000 | ||
8834 | |||
8835 | upstream commit | ||
8836 | |||
8837 | mention permissions on tun(4) devices in PermitTunnel | ||
8838 | documentation; bz#2273 | ||
8839 | |||
8840 | commit a5883d4eccb94b16c355987f58f86a7dee17a0c2 | ||
8841 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8842 | Date: Wed Sep 3 18:55:07 2014 +0000 | ||
8843 | |||
8844 | upstream commit | ||
8845 | |||
8846 | tighten permissions on pty when the "tty" group does | ||
8847 | not exist; pointed out by Corinna Vinschen; ok markus | ||
8848 | |||
8849 | commit 180bcb406b58bf30723c01a6b010e48ee626dda8 | ||
8850 | Author: sobrado@openbsd.org <sobrado@openbsd.org> | ||
8851 | Date: Sat Aug 30 16:32:25 2014 +0000 | ||
8852 | |||
8853 | upstream commit | ||
8854 | |||
8855 | typo. | ||
8856 | |||
8857 | commit f70b22bcdd52f6bf127047b3584371e6e5d45627 | ||
8858 | Author: sobrado@openbsd.org <sobrado@openbsd.org> | ||
8859 | Date: Sat Aug 30 15:33:50 2014 +0000 | ||
8860 | |||
8861 | upstream commit | ||
8862 | |||
8863 | improve capitalization for the Ed25519 public-key | ||
8864 | signature system. | ||
8865 | |||
8866 | ok djm@ | ||
8867 | |||
8868 | commit 7df8818409c752cf3f0c3f8044fe9aebed8647bd | ||
8869 | Author: doug@openbsd.org <doug@openbsd.org> | ||
8870 | Date: Thu Aug 21 01:08:52 2014 +0000 | ||
8871 | |||
8872 | upstream commit | ||
8873 | |||
8874 | Free resources on error in mkstemp and fdopen | ||
8875 | |||
8876 | ok djm@ | ||
8877 | |||
8878 | commit 40ba4c9733aaed08304714faeb61529f18da144b | ||
8879 | Author: deraadt@openbsd.org <deraadt@openbsd.org> | ||
8880 | Date: Wed Aug 20 01:28:55 2014 +0000 | ||
8881 | |||
8882 | upstream commit | ||
8883 | |||
8884 | djm how did you make a typo like that... | ||
8885 | |||
8886 | commit 57d378ec9278ba417a726f615daad67d157de666 | ||
8887 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8888 | Date: Tue Aug 19 23:58:28 2014 +0000 | ||
8889 | |||
8890 | upstream commit | ||
8891 | |||
8892 | When dumping the server configuration (sshd -T), print | ||
8893 | correct KEX, MAC and cipher defaults. Spotted by Iain Morgan | ||
8894 | |||
8895 | commit 7ff880ede5195d0b17e7f1e3b6cfbc4cb6f85240 | ||
8896 | Author: djm@openbsd.org <djm@openbsd.org> | ||
8897 | Date: Tue Aug 19 23:57:18 2014 +0000 | ||
8898 | |||
8899 | upstream commit | ||
8900 | |||
8901 | ~-expand lcd paths | ||
8902 | |||
8903 | commit 4460a7ad0c78d4cd67c467f6e9f4254d0404ed59 | ||
8904 | Author: Damien Miller <djm@mindrot.org> | ||
8905 | Date: Sun Oct 12 12:35:48 2014 +1100 | ||
8906 | |||
8907 | remove duplicated KEX_DH1 entry | ||
8908 | |||
8909 | commit c9b8426a616138d0d762176c94f51aff3faad5ff | ||
8910 | Author: Damien Miller <djm@mindrot.org> | ||
8911 | Date: Thu Oct 9 10:34:06 2014 +1100 | ||
8912 | |||
8913 | remove ChangeLog file | ||
8914 | |||
8915 | Commit logs will be generated from git at release time. | ||
8916 | |||
8917 | commit 81d18ff7c93a04affbf3903e0963859763219aed | ||
8918 | Author: Damien Miller <djm@google.com> | ||
8919 | Date: Tue Oct 7 21:24:25 2014 +1100 | ||
8920 | |||
8921 | delete contrib/caldera directory | ||
8922 | |||
8923 | commit 0ec9e87d3638206456968202f05bb5123670607a | ||
8924 | Author: Damien Miller <djm@google.com> | ||
8925 | Date: Tue Oct 7 19:57:27 2014 +1100 | ||
8926 | |||
8927 | test commit | ||
8928 | |||
8929 | commit 8fb65a44568701b779f3d77326bceae63412d28d | ||
8930 | Author: Damien Miller <djm@mindrot.org> | ||
8931 | Date: Tue Oct 7 09:21:49 2014 +1100 | ||
8932 | |||
8933 | - (djm) Release OpenSSH-6.7 | ||
8934 | |||
8935 | commit e8c9f2602c46f6781df5e52e6cd8413dab4602a3 | ||
8936 | Author: Damien Miller <djm@mindrot.org> | ||
8937 | Date: Fri Oct 3 09:24:56 2014 +1000 | ||
8938 | |||
8939 | - (djm) [sshd_config.5] typo; from Iain Morgan | ||
8940 | |||
8941 | commit 703b98a26706f5083801d11059486d77491342ae | ||
8942 | Author: Damien Miller <djm@mindrot.org> | ||
8943 | Date: Wed Oct 1 09:43:07 2014 +1000 | ||
8944 | |||
8945 | - (djm) [openbsd-compat/Makefile.in openbsd-compat/kludge-fd_set.c] | ||
8946 | [openbsd-compat/openbsd-compat.h] Kludge around bad glibc | ||
8947 | _FORTIFY_SOURCE check that doesn't grok heap-allocated fd_sets; | ||
8948 | ok dtucker@ | ||
8949 | |||
8950 | commit 0fa0ed061bbfedb0daa705e220748154a84c3413 | ||
8951 | Author: Damien Miller <djm@mindrot.org> | ||
8952 | Date: Wed Sep 10 08:15:34 2014 +1000 | ||
8953 | |||
8954 | - (djm) [sandbox-seccomp-filter.c] Allow mremap and exit for DietLibc; | ||
8955 | patch from Felix von Leitner; ok dtucker | ||
8956 | |||
8957 | commit ad7d23d461c3b7e1dcb15db13aee5f4b94dc1a95 | ||
8958 | Author: Darren Tucker <dtucker@zip.com.au> | ||
8959 | Date: Tue Sep 9 12:23:10 2014 +1000 | ||
8960 | |||
8961 | 20140908 | ||
8962 | - (dtucker) [INSTALL] Update info about egd. ok djm@ | ||
8963 | |||
8964 | commit 2a8699f37cc2515e3bc60e0c677ba060f4d48191 | ||
8965 | Author: Damien Miller <djm@mindrot.org> | ||
8966 | Date: Thu Sep 4 03:46:05 2014 +1000 | ||
8967 | |||
8968 | - (djm) [openbsd-compat/arc4random.c] Zero seed after keying PRNG | ||
8969 | |||
8970 | commit 44988defb1f5e3afe576d86000365e1f07a1b494 | ||
8971 | Author: Damien Miller <djm@mindrot.org> | ||
8972 | Date: Wed Sep 3 05:35:32 2014 +1000 | ||
8973 | |||
8974 | - (djm) [contrib/cygwin/ssh-host-config] Fix old code leading to | ||
8975 | permissions/ACLs; from Corinna Vinschen | ||
8976 | |||
8977 | commit 23f269562b7537b2f6f5014e50a25e5dcc55a837 | ||
8978 | Author: Damien Miller <djm@mindrot.org> | ||
8979 | Date: Wed Sep 3 05:33:25 2014 +1000 | ||
8980 | |||
8981 | - (djm) [defines.h sshbuf.c] Move __predict_true|false to defines.h and | ||
8982 | conditionalise to avoid duplicate definition. | ||
8983 | |||
8984 | commit 41c8de2c0031cf59e7cf0c06b5bcfbf4852c1fda | ||
8985 | Author: Damien Miller <djm@mindrot.org> | ||
8986 | Date: Sat Aug 30 16:23:06 2014 +1000 | ||
8987 | |||
8988 | - (djm) [Makefile.in] Make TEST_SHELL a variable; "good idea" tim@ | ||
8989 | |||
8990 | commit d7c81e216a7bd9eed6e239c970d9261bb1651947 | ||
8991 | Author: Damien Miller <djm@mindrot.org> | ||
8992 | Date: Sat Aug 30 04:18:28 2014 +1000 | ||
8993 | |||
8994 | - (djm) [openbsd-compat/openssl-compat.h] add include guard | ||
8995 | |||
8996 | commit 4687802dda57365b984b897fc3c8e2867ea09b22 | ||
8997 | Author: Damien Miller <djm@mindrot.org> | ||
8998 | Date: Sat Aug 30 03:29:19 2014 +1000 | ||
8999 | |||
9000 | - (djm) [misc.c] Missing newline between functions | ||
9001 | |||
9002 | commit 51c77e29220dee87c53be2dc47092934acab26fe | ||
9003 | Author: Damien Miller <djm@mindrot.org> | ||
9004 | Date: Sat Aug 30 02:30:30 2014 +1000 | ||
9005 | |||
9006 | - (djm) [openbsd-compat/openssl-compat.h] add | ||
9007 | OPENSSL_[RD]SA_MAX_MODULUS_BITS defines for OpenSSL that lacks them | ||
9008 | |||
9009 | commit 3d673d103bad35afaec6e7ef73e5277216ce33a3 | ||
9010 | Author: Damien Miller <djm@mindrot.org> | ||
9011 | Date: Wed Aug 27 06:32:01 2014 +1000 | ||
9012 | |||
9013 | - (djm) [openbsd-compat/explicit_bzero.c] implement explicit_bzero() | ||
9014 | using memset_s() where possible; improve fallback to indirect bzero | ||
9015 | via a volatile pointer to give it more of a chance to avoid being | ||
9016 | optimised away. | ||
9017 | |||
9018 | commit 146218ac11a1eb0dcade6f793d7acdef163b5ddc | ||
9019 | Author: Damien Miller <djm@mindrot.org> | ||
9020 | Date: Wed Aug 27 04:11:55 2014 +1000 | ||
9021 | |||
9022 | - (djm) [monitor.c sshd.c] SIGXFSZ needs to be ignored in postauth | ||
9023 | monitor, not preauth; bz#2263 | ||
9024 | |||
9025 | commit 1b215c098b3b37e38aa4e4c91bb908eee41183b1 | ||
9026 | Author: Damien Miller <djm@mindrot.org> | ||
9027 | Date: Wed Aug 27 04:04:40 2014 +1000 | ||
9028 | |||
9029 | - (djm) [regress/unittests/sshbuf/test_sshbuf_getput_crypto.c] | ||
9030 | [regress/unittests/sshbuf/test_sshbuf_getput_fuzz.c] | ||
9031 | [regress/unittests/sshkey/common.c] | ||
9032 | [regress/unittests/sshkey/test_file.c] | ||
9033 | [regress/unittests/sshkey/test_fuzz.c] | ||
9034 | [regress/unittests/sshkey/test_sshkey.c] Don't include openssl/ec.h | ||
9035 | on !ECC OpenSSL systems | ||
9036 | |||
9037 | commit ad013944af0a19e3f612089d0099bb397cf6502d | ||
9038 | Author: Damien Miller <djm@mindrot.org> | ||
9039 | Date: Tue Aug 26 09:27:28 2014 +1000 | ||
9040 | |||
9041 | - (djm) [INSTALL] Recommend libcrypto be built -fPIC, mention LibreSSL, | ||
9042 | update OpenSSL version requirement. | ||
9043 | |||
9044 | commit ed126de8ee04c66640a0ea2697c4aaf36801f100 | ||
9045 | Author: Damien Miller <djm@mindrot.org> | ||
9046 | Date: Tue Aug 26 08:37:47 2014 +1000 | ||
9047 | |||
9048 | - (djm) [bufec.c] Skip this file on !ECC OpenSSL | ||
9049 | |||
9050 | commit 9c1dede005746864a4fdb36a7cdf6c51296ca909 | ||
9051 | Author: Damien Miller <djm@mindrot.org> | ||
9052 | Date: Sun Aug 24 03:01:06 2014 +1000 | ||
9053 | |||
9054 | - (djm) [sftp-server.c] Some systems (e.g. Irix) have prctl() but not | ||
9055 | PR_SET_DUMPABLE, so adjust ifdef; reported by Tom Christensen | ||
9056 | |||
9057 | commit d244a5816fd1312a33404b436e4dd83594f1119e | ||
9058 | Author: Damien Miller <djm@mindrot.org> | ||
9059 | Date: Sat Aug 23 17:06:49 2014 +1000 | ||
9060 | |||
9061 | - (djm) [configure.ac] We now require a working vsnprintf everywhere (not | ||
9062 | just for systems that lack asprintf); check for it always and extend | ||
9063 | test to catch more brokenness. Fixes builds on Solaris <= 9 | ||
9064 | |||
9065 | commit 4cec036362a358e398e6a2e6d19d8e5780558634 | ||
9066 | Author: Damien Miller <djm@mindrot.org> | ||
9067 | Date: Sat Aug 23 03:11:09 2014 +1000 | ||
9068 | |||
9069 | - (djm) [sshd.c] Ignore SIGXFSZ in preauth monitor child; can explode on | ||
9070 | lastlog writing on platforms with high UIDs; bz#2263 | ||
9071 | |||
9072 | commit 394a60f2598d28b670d934b93942a3370b779b39 | ||
9073 | Author: Damien Miller <djm@mindrot.org> | ||
9074 | Date: Fri Aug 22 18:06:20 2014 +1000 | ||
9075 | |||
9076 | - (djm) [configure.ac] double braces to appease autoconf | ||
9077 | |||
9078 | commit 4d69aeabd6e60afcdc7cca177ca751708ab79a9d | ||
9079 | Author: Damien Miller <djm@mindrot.org> | ||
9080 | Date: Fri Aug 22 17:48:27 2014 +1000 | ||
9081 | |||
9082 | - (djm) [openbsd-compat/bsd-snprintf.c] Fix compilation failure (prototype/ | ||
9083 | definition mismatch) and warning for broken/missing snprintf case. | ||
9084 | |||
9085 | commit 0c11f1ac369d2c0aeb0ab0458a7cd04c72fe5e9e | ||
9086 | Author: Damien Miller <djm@mindrot.org> | ||
9087 | Date: Fri Aug 22 17:36:56 2014 +1000 | ||
9088 | |||
9089 | - (djm) [sshbuf-getput-crypto.c] Fix compilation when OpenSSL lacks ECC | ||
9090 | |||
9091 | commit 6d62784b8973340b251fea6b04890f471adf28db | ||
9092 | Author: Damien Miller <djm@mindrot.org> | ||
9093 | Date: Fri Aug 22 17:36:19 2014 +1000 | ||
9094 | |||
9095 | - (djm) [configure.ac] include leading zero characters in OpenSSL version | ||
9096 | number; fixes test for unsupported versions | ||
9097 | |||
9098 | commit 4f1ff1ed782117f5d5204d4e91156ed5da07cbb7 | ||
9099 | Author: Damien Miller <djm@mindrot.org> | ||
9100 | Date: Thu Aug 21 15:54:50 2014 +1000 | ||
9101 | |||
9102 | - (djm) [regress/unittests/test_helper/test_helper.c] Fix for systems that | ||
9103 | don't set __progname. Diagnosed by Tom Christensen. | ||
9104 | |||
9105 | commit 005a64da0f457410045ef0bfa93c863c2450447d | ||
9106 | Author: Damien Miller <djm@mindrot.org> | ||
9107 | Date: Thu Aug 21 10:48:41 2014 +1000 | ||
9108 | |||
9109 | - (djm) [key.h] Fix ifdefs for no-ECC OpenSSL | ||
9110 | |||
9111 | commit aa6598ebb3343c7380e918388e10e8ca5852b613 | ||
9112 | Author: Damien Miller <djm@mindrot.org> | ||
9113 | Date: Thu Aug 21 10:47:54 2014 +1000 | ||
9114 | |||
9115 | - (djm) [Makefile.in] fix reference to libtest_helper.a in sshkey test too. | ||
9116 | |||
9117 | commit 54703e3cf63f0c80d4157e5ad7dbc2b363ee2c56 | ||
9118 | Author: Damien Miller <djm@mindrot.org> | ||
9119 | Date: Wed Aug 20 11:10:51 2014 +1000 | ||
9120 | |||
9121 | - (djm) [contrib/cygwin/README] Correct build instructions; from Corinna | ||
9122 | |||
9123 | commit f0935698f0461f24d8d1f1107b476ee5fd4db1cb | ||
9124 | Author: Damien Miller <djm@mindrot.org> | ||
9125 | Date: Wed Aug 20 11:06:50 2014 +1000 | ||
9126 | |||
9127 | - (djm) [sshkey.h] Fix compilation when OpenSSL lacks ECC | ||
9128 | |||
9129 | commit c5089ecaec3b2c02f014f4e67518390702a4ba14 | ||
9130 | Author: Damien Miller <djm@mindrot.org> | ||
9131 | Date: Wed Aug 20 11:06:20 2014 +1000 | ||
9132 | |||
9133 | - (djm) [Makefile.in] refer to libtest_helper.a by explicit path rather than | ||
9134 | -L/-l; fixes linking problems on some platforms | ||
9135 | |||
9136 | commit 2195847e503a382f83ee969b0a8bd3dfe0e55c18 | ||
9137 | Author: Damien Miller <djm@mindrot.org> | ||
9138 | Date: Wed Aug 20 11:05:03 2014 +1000 | ||
9139 | |||
9140 | - (djm) [configure.ac] Check OpenSSL version is supported at configure time; | ||
9141 | suggested by Kevin Brott | ||
9142 | |||
9143 | commit a75aca1bbc989aa9f8b1b08489d37855f3d24d1a | ||
9144 | Author: Damien Miller <djm@mindrot.org> | ||
9145 | Date: Tue Aug 19 11:36:07 2014 +1000 | ||
9146 | |||
9147 | - (djm) [INSTALL contrib/caldera/openssh.spec contrib/cygwin/README] | ||
9148 | [contrib/redhat/openssh.spec contrib/suse/openssh.spec] Remove mentions | ||
9149 | of TCP wrappers. | ||
9150 | |||
9151 | commit 3f022b5a9477abceeb1bbeab04b055f3cc7ca8f6 | ||
9152 | Author: Damien Miller <djm@mindrot.org> | ||
9153 | Date: Tue Aug 19 11:32:34 2014 +1000 | ||
9154 | |||
9155 | - (djm) [ssh-dss.c] Include openssl/dsa.h for DSA_SIG | ||
9156 | |||
9157 | commit 88137902632aceb923990e98cf5dc923bb3ef2f5 | ||
9158 | Author: Damien Miller <djm@mindrot.org> | ||
9159 | Date: Tue Aug 19 11:28:11 2014 +1000 | ||
9160 | |||
9161 | - (djm) [sshbuf.h] Fix compilation on systems without OPENSSL_HAS_ECC. | ||
9162 | |||
9163 | commit 2f3d1e7fb2eabd3cfbfd8d0f7bdd2f9a1888690b | ||
9164 | Author: Damien Miller <djm@mindrot.org> | ||
9165 | Date: Tue Aug 19 11:14:36 2014 +1000 | ||
9166 | |||
9167 | - (djm) [myproposal.h] Make curve25519 KEX dependent on | ||
9168 | HAVE_EVP_SHA256 instead of OPENSSL_HAS_ECC. | ||
9169 | |||
9170 | commit d4e7d59d01a6c7f59e8c1f94a83c086e9a33d8aa | ||
9171 | Author: Damien Miller <djm@mindrot.org> | ||
9172 | Date: Tue Aug 19 11:14:17 2014 +1000 | ||
9173 | |||
9174 | - (djm) [serverloop.c] Fix syntax error on Cygwin; from Corinna Vinschen | ||
9175 | |||
9176 | commit 9eaeea2cf2b6af5f166cfa9ad3c7a90711a147a9 | ||
9177 | Author: Damien Miller <djm@mindrot.org> | ||
9178 | Date: Sun Aug 10 11:35:05 2014 +1000 | ||
9179 | |||
9180 | - (djm) [README contrib/caldera/openssh.spec] | ||
9181 | [contrib/redhat/openssh.spec contrib/suse/openssh.spec] Update versions | ||
9182 | |||
9183 | commit f8988fbef0c9801d19fa2f8f4f041690412bec37 | ||
9184 | Author: Damien Miller <djm@mindrot.org> | ||
9185 | Date: Fri Aug 1 13:31:52 2014 +1000 | ||
9186 | |||
9187 | - (djm) [regress/multiplex.sh] Use -d (detach stdin) flag to disassociate | ||
9188 | nc from stdin, it's more portable | ||
9189 | |||
9190 | commit 5b3879fd4b7a4e3d43bab8f40addda39bc1169d0 | ||
9191 | Author: Damien Miller <djm@mindrot.org> | ||
9192 | Date: Fri Aug 1 12:28:31 2014 +1000 | ||
9193 | |||
9194 | - (djm) [regress/multiplex.sh] Instruct nc not to quit as soon as stdin | ||
9195 | is closed; avoid regress failures when stdin is /dev/null | ||
9196 | |||
9197 | commit a9c46746d266f8a1b092a72b2150682d1af8ebfc | ||
9198 | Author: Damien Miller <djm@mindrot.org> | ||
9199 | Date: Fri Aug 1 12:26:49 2014 +1000 | ||
9200 | |||
9201 | - (djm) [regress/multiplex.sh] Skip test for non-OpenBSD netcat. We need | ||
9202 | a better solution, but this will have to do for now. | ||
@@ -1,10 +1,15 @@ | |||
1 | 1. Prerequisites | ||
2 | ---------------- | 1 | ---------------- |
3 | 2 | ||
3 | A C compiler. Any C89 or better compiler should work. Where supported, | ||
4 | configure will attempt to enable the compiler's run-time integrity checking | ||
5 | options. Some notes about specific compilers: | ||
6 | - clang: -ftrapv and -sanitize=integer require the compiler-rt runtime | ||
7 | (CC=clang LDFLAGS=--rtlib=compiler-rt ./configure) | ||
8 | |||
4 | You will need working installations of Zlib and libcrypto (LibreSSL / | 9 | You will need working installations of Zlib and libcrypto (LibreSSL / |
5 | OpenSSL) | 10 | OpenSSL) |
6 | 11 | ||
7 | Zlib 1.1.4 or 1.2.1.2 or greater (ealier 1.2.x versions have problems): | 12 | Zlib 1.1.4 or 1.2.1.2 or greater (earlier 1.2.x versions have problems): |
8 | http://www.gzip.org/zlib/ | 13 | http://www.gzip.org/zlib/ |
9 | 14 | ||
10 | libcrypto (LibreSSL or OpenSSL >= 0.9.8f < 1.1.0) | 15 | libcrypto (LibreSSL or OpenSSL >= 0.9.8f < 1.1.0) |
@@ -85,7 +90,7 @@ http://nlnetlabs.nl/projects/ldns/ | |||
85 | Autoconf: | 90 | Autoconf: |
86 | 91 | ||
87 | If you modify configure.ac or configure doesn't exist (eg if you checked | 92 | If you modify configure.ac or configure doesn't exist (eg if you checked |
88 | the code out of CVS yourself) then you will need autoconf-2.68 to rebuild | 93 | the code out of CVS yourself) then you will need autoconf-2.69 to rebuild |
89 | the automatically generated files by running "autoreconf". Earlier | 94 | the automatically generated files by running "autoreconf". Earlier |
90 | versions may also work but this is not guaranteed. | 95 | versions may also work but this is not guaranteed. |
91 | 96 | ||
@@ -224,9 +229,13 @@ review it to ensure that it matches your security requirements. | |||
224 | To generate a host key, run "make host-key". Alternately you can do so | 229 | To generate a host key, run "make host-key". Alternately you can do so |
225 | manually using the following commands: | 230 | manually using the following commands: |
226 | 231 | ||
227 | ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N "" | 232 | ssh-keygen -t [type] -f /etc/ssh/ssh_host_key -N "" |
228 | ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" | 233 | |
229 | ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N "" | 234 | for each of the types you wish to generate (rsa, dsa or ecdsaa) or |
235 | |||
236 | ssh-keygen -A | ||
237 | |||
238 | to generate keys for all supported types. | ||
230 | 239 | ||
231 | Replacing /etc/ssh with the correct path to the configuration directory. | 240 | Replacing /etc/ssh with the correct path to the configuration directory. |
232 | (${prefix}/etc or whatever you specified with --sysconfdir during | 241 | (${prefix}/etc or whatever you specified with --sysconfdir during |
@@ -257,7 +266,4 @@ summary data may be published. | |||
257 | 266 | ||
258 | If you experience problems compiling, installing or running OpenSSH. | 267 | If you experience problems compiling, installing or running OpenSSH. |
259 | Please refer to the "reporting bugs" section of the webpage at | 268 | Please refer to the "reporting bugs" section of the webpage at |
260 | http://www.openssh.com/ | 269 | https://www.openssh.com/ |
261 | |||
262 | |||
263 | $Id: INSTALL,v 1.91 2014/09/09 02:23:11 dtucker Exp $ | ||
diff --git a/Makefile.in b/Makefile.in index 12991cd9f..e10f3742a 100644 --- a/Makefile.in +++ b/Makefile.in | |||
@@ -97,14 +97,14 @@ LIBSSH_OBJS=${LIBOPENSSH_OBJS} \ | |||
97 | SSHOBJS= ssh.o readconf.o clientloop.o sshtty.o \ | 97 | SSHOBJS= ssh.o readconf.o clientloop.o sshtty.o \ |
98 | sshconnect.o sshconnect1.o sshconnect2.o mux.o | 98 | sshconnect.o sshconnect1.o sshconnect2.o mux.o |
99 | 99 | ||
100 | SSHDOBJS=sshd.o auth-rhosts.o auth-passwd.o auth-rsa.o auth-rh-rsa.o \ | 100 | SSHDOBJS=sshd.o auth-rhosts.o auth-passwd.o \ |
101 | audit.o audit-bsm.o audit-linux.o platform.o \ | 101 | audit.o audit-bsm.o audit-linux.o platform.o \ |
102 | sshpty.o sshlogin.o servconf.o serverloop.o \ | 102 | sshpty.o sshlogin.o servconf.o serverloop.o \ |
103 | auth.o auth1.o auth2.o auth-options.o session.o \ | 103 | auth.o auth2.o auth-options.o session.o \ |
104 | auth-chall.o auth2-chall.o groupaccess.o \ | 104 | auth2-chall.o groupaccess.o \ |
105 | auth-skey.o auth-bsdauth.o auth2-hostbased.o auth2-kbdint.o \ | 105 | auth-skey.o auth-bsdauth.o auth2-hostbased.o auth2-kbdint.o \ |
106 | auth2-none.o auth2-passwd.o auth2-pubkey.o \ | 106 | auth2-none.o auth2-passwd.o auth2-pubkey.o \ |
107 | monitor_mm.o monitor.o monitor_wrap.o auth-krb5.o \ | 107 | monitor.o monitor_wrap.o auth-krb5.o \ |
108 | auth2-gss.o gss-serv.o gss-serv-krb5.o \ | 108 | auth2-gss.o gss-serv.o gss-serv-krb5.o \ |
109 | loginrec.o auth-pam.o auth-shadow.o auth-sia.o md5crypt.o \ | 109 | loginrec.o auth-pam.o auth-shadow.o auth-sia.o md5crypt.o \ |
110 | sftp-server.o sftp-common.o \ | 110 | sftp-server.o sftp-common.o \ |
@@ -240,6 +240,10 @@ clean: regressclean | |||
240 | rm -f regress/unittests/hostkeys/test_hostkeys | 240 | rm -f regress/unittests/hostkeys/test_hostkeys |
241 | rm -f regress/unittests/kex/*.o | 241 | rm -f regress/unittests/kex/*.o |
242 | rm -f regress/unittests/kex/test_kex | 242 | rm -f regress/unittests/kex/test_kex |
243 | rm -f regress/unittests/match/*.o | ||
244 | rm -f regress/unittests/match/test_match | ||
245 | rm -f regress/unittests/utf8/*.o | ||
246 | rm -f regress/unittests/utf8/test_utf8 | ||
243 | rm -f regress/misc/kexfuzz/*.o | 247 | rm -f regress/misc/kexfuzz/*.o |
244 | rm -f regress/misc/kexfuzz/kexfuzz | 248 | rm -f regress/misc/kexfuzz/kexfuzz |
245 | (cd openbsd-compat && $(MAKE) clean) | 249 | (cd openbsd-compat && $(MAKE) clean) |
@@ -262,6 +266,10 @@ distclean: regressclean | |||
262 | rm -f regress/unittests/hostkeys/test_hostkeys | 266 | rm -f regress/unittests/hostkeys/test_hostkeys |
263 | rm -f regress/unittests/kex/*.o | 267 | rm -f regress/unittests/kex/*.o |
264 | rm -f regress/unittests/kex/test_kex | 268 | rm -f regress/unittests/kex/test_kex |
269 | rm -f regress/unittests/match/*.o | ||
270 | rm -f regress/unittests/match/test_match | ||
271 | rm -f regress/unittests/utf8/*.o | ||
272 | rm -f regress/unittests/utf8/test_utf8 | ||
265 | rm -f regress/unittests/misc/kexfuzz | 273 | rm -f regress/unittests/misc/kexfuzz |
266 | (cd openbsd-compat && $(MAKE) distclean) | 274 | (cd openbsd-compat && $(MAKE) distclean) |
267 | if test -d pkg ; then \ | 275 | if test -d pkg ; then \ |
@@ -422,6 +430,10 @@ regress-prep: | |||
422 | mkdir -p `pwd`/regress/unittests/hostkeys | 430 | mkdir -p `pwd`/regress/unittests/hostkeys |
423 | [ -d `pwd`/regress/unittests/kex ] || \ | 431 | [ -d `pwd`/regress/unittests/kex ] || \ |
424 | mkdir -p `pwd`/regress/unittests/kex | 432 | mkdir -p `pwd`/regress/unittests/kex |
433 | [ -d `pwd`/regress/unittests/match ] || \ | ||
434 | mkdir -p `pwd`/regress/unittests/match | ||
435 | [ -d `pwd`/regress/unittests/utf8 ] || \ | ||
436 | mkdir -p `pwd`/regress/unittests/utf8 | ||
425 | [ -d `pwd`/regress/misc/kexfuzz ] || \ | 437 | [ -d `pwd`/regress/misc/kexfuzz ] || \ |
426 | mkdir -p `pwd`/regress/misc/kexfuzz | 438 | mkdir -p `pwd`/regress/misc/kexfuzz |
427 | [ -f `pwd`/regress/Makefile ] || \ | 439 | [ -f `pwd`/regress/Makefile ] || \ |
@@ -512,6 +524,26 @@ regress/unittests/hostkeys/test_hostkeys$(EXEEXT): \ | |||
512 | regress/unittests/test_helper/libtest_helper.a \ | 524 | regress/unittests/test_helper/libtest_helper.a \ |
513 | -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS) | 525 | -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS) |
514 | 526 | ||
527 | UNITTESTS_TEST_MATCH_OBJS=\ | ||
528 | regress/unittests/match/tests.o | ||
529 | |||
530 | regress/unittests/match/test_match$(EXEEXT): \ | ||
531 | ${UNITTESTS_TEST_MATCH_OBJS} \ | ||
532 | regress/unittests/test_helper/libtest_helper.a libssh.a | ||
533 | $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_MATCH_OBJS) \ | ||
534 | regress/unittests/test_helper/libtest_helper.a \ | ||
535 | -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS) | ||
536 | |||
537 | UNITTESTS_TEST_UTF8_OBJS=\ | ||
538 | regress/unittests/utf8/tests.o | ||
539 | |||
540 | regress/unittests/utf8/test_utf8$(EXEEXT): \ | ||
541 | ${UNITTESTS_TEST_UTF8_OBJS} \ | ||
542 | regress/unittests/test_helper/libtest_helper.a libssh.a | ||
543 | $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_UTF8_OBJS) \ | ||
544 | regress/unittests/test_helper/libtest_helper.a \ | ||
545 | -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS) | ||
546 | |||
515 | MISC_KEX_FUZZ_OBJS=\ | 547 | MISC_KEX_FUZZ_OBJS=\ |
516 | regress/misc/kexfuzz/kexfuzz.o | 548 | regress/misc/kexfuzz/kexfuzz.o |
517 | 549 | ||
@@ -528,6 +560,8 @@ regress-binaries: regress/modpipe$(EXEEXT) \ | |||
528 | regress/unittests/bitmap/test_bitmap$(EXEEXT) \ | 560 | regress/unittests/bitmap/test_bitmap$(EXEEXT) \ |
529 | regress/unittests/hostkeys/test_hostkeys$(EXEEXT) \ | 561 | regress/unittests/hostkeys/test_hostkeys$(EXEEXT) \ |
530 | regress/unittests/kex/test_kex$(EXEEXT) \ | 562 | regress/unittests/kex/test_kex$(EXEEXT) \ |
563 | regress/unittests/match/test_match$(EXEEXT) \ | ||
564 | regress/unittests/utf8/test_utf8$(EXEEXT) \ | ||
531 | regress/misc/kexfuzz/kexfuzz$(EXEEXT) | 565 | regress/misc/kexfuzz/kexfuzz$(EXEEXT) |
532 | 566 | ||
533 | tests interop-tests t-exec: regress-prep regress-binaries $(TARGETS) | 567 | tests interop-tests t-exec: regress-prep regress-binaries $(TARGETS) |
@@ -546,6 +580,7 @@ tests interop-tests t-exec: regress-prep regress-binaries $(TARGETS) | |||
546 | TEST_SSH_PUTTYGEN="puttygen"; \ | 580 | TEST_SSH_PUTTYGEN="puttygen"; \ |
547 | TEST_SSH_CONCH="conch"; \ | 581 | TEST_SSH_CONCH="conch"; \ |
548 | TEST_SSH_IPV6="@TEST_SSH_IPV6@" ; \ | 582 | TEST_SSH_IPV6="@TEST_SSH_IPV6@" ; \ |
583 | TEST_SSH_UTF8="@TEST_SSH_UTF8@" ; \ | ||
549 | TEST_SSH_ECC="@TEST_SSH_ECC@" ; \ | 584 | TEST_SSH_ECC="@TEST_SSH_ECC@" ; \ |
550 | cd $(srcdir)/regress || exit $$?; \ | 585 | cd $(srcdir)/regress || exit $$?; \ |
551 | $(MAKE) \ | 586 | $(MAKE) \ |
@@ -570,6 +605,7 @@ tests interop-tests t-exec: regress-prep regress-binaries $(TARGETS) | |||
570 | TEST_SSH_PUTTYGEN="$${TEST_SSH_PUTTYGEN}" \ | 605 | TEST_SSH_PUTTYGEN="$${TEST_SSH_PUTTYGEN}" \ |
571 | TEST_SSH_CONCH="$${TEST_SSH_CONCH}" \ | 606 | TEST_SSH_CONCH="$${TEST_SSH_CONCH}" \ |
572 | TEST_SSH_IPV6="$${TEST_SSH_IPV6}" \ | 607 | TEST_SSH_IPV6="$${TEST_SSH_IPV6}" \ |
608 | TEST_SSH_UTF8="$${TEST_SSH_UTF8}" \ | ||
573 | TEST_SSH_ECC="$${TEST_SSH_ECC}" \ | 609 | TEST_SSH_ECC="$${TEST_SSH_ECC}" \ |
574 | TEST_SHELL="${TEST_SHELL}" \ | 610 | TEST_SHELL="${TEST_SHELL}" \ |
575 | EXEEXT="$(EXEEXT)" \ | 611 | EXEEXT="$(EXEEXT)" \ |
@@ -4,7 +4,7 @@ protocol. | |||
4 | Note that OpenSSH's sftp and sftp-server implement revision 3 of the SSH | 4 | Note that OpenSSH's sftp and sftp-server implement revision 3 of the SSH |
5 | filexfer protocol described in: | 5 | filexfer protocol described in: |
6 | 6 | ||
7 | http://www.openssh.com/txt/draft-ietf-secsh-filexfer-02.txt | 7 | https://www.openssh.com/txt/draft-ietf-secsh-filexfer-02.txt |
8 | 8 | ||
9 | Newer versions of the draft will not be supported, though some features | 9 | Newer versions of the draft will not be supported, though some features |
10 | are individually implemented as extensions described below. | 10 | are individually implemented as extensions described below. |
@@ -20,7 +20,7 @@ This is a new transport-layer MAC method using the UMAC algorithm | |||
20 | (rfc4418). This method is identical to the "umac-64" method documented | 20 | (rfc4418). This method is identical to the "umac-64" method documented |
21 | in: | 21 | in: |
22 | 22 | ||
23 | http://www.openssh.com/txt/draft-miller-secsh-umac-01.txt | 23 | https://www.openssh.com/txt/draft-miller-secsh-umac-01.txt |
24 | 24 | ||
25 | 1.2. transport: Protocol 2 compression algorithm "zlib@openssh.com" | 25 | 1.2. transport: Protocol 2 compression algorithm "zlib@openssh.com" |
26 | 26 | ||
@@ -31,7 +31,7 @@ avoids exposing compression code to attacks from unauthenticated users. | |||
31 | 31 | ||
32 | The method is documented in: | 32 | The method is documented in: |
33 | 33 | ||
34 | http://www.openssh.com/txt/draft-miller-secsh-compression-delayed-00.txt | 34 | https://www.openssh.com/txt/draft-miller-secsh-compression-delayed-00.txt |
35 | 35 | ||
36 | 1.3. transport: New public key algorithms "ssh-rsa-cert-v00@openssh.com", | 36 | 1.3. transport: New public key algorithms "ssh-rsa-cert-v00@openssh.com", |
37 | "ssh-dsa-cert-v00@openssh.com", | 37 | "ssh-dsa-cert-v00@openssh.com", |
@@ -1,10 +1,10 @@ | |||
1 | See http://www.openssh.com/txt/release-7.3p1 for the release notes. | 1 | See https://www.openssh.com/releasenotes.html#7.4p1 for the release notes. |
2 | 2 | ||
3 | Please read http://www.openssh.com/report.html for bug reporting | 3 | Please read https://www.openssh.com/report.html for bug reporting |
4 | instructions and note that we do not use Github for bug reporting or | 4 | instructions and note that we do not use Github for bug reporting or |
5 | patch/pull-request management. | 5 | patch/pull-request management. |
6 | 6 | ||
7 | - A Japanese translation of this document and of the OpenSSH FAQ is | 7 | - A Japanese translation of this document and of the release notes is |
8 | - available at http://www.unixuser.org/~haruyama/security/openssh/index.html | 8 | - available at http://www.unixuser.org/~haruyama/security/openssh/index.html |
9 | - Thanks to HARUYAMA Seigo <haruyama@unixuser.org> | 9 | - Thanks to HARUYAMA Seigo <haruyama@unixuser.org> |
10 | 10 | ||
@@ -16,7 +16,7 @@ implementation with all patent-encumbered algorithms removed (to | |||
16 | external libraries), all known security bugs fixed, new features | 16 | external libraries), all known security bugs fixed, new features |
17 | reintroduced and many other clean-ups. OpenSSH has been created by | 17 | reintroduced and many other clean-ups. OpenSSH has been created by |
18 | Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt, | 18 | Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt, |
19 | and Dug Song. It has a homepage at http://www.openssh.com/ | 19 | and Dug Song. It has a homepage at https://www.openssh.com/ |
20 | 20 | ||
21 | This port consists of the re-introduction of autoconf support, PAM | 21 | This port consists of the re-introduction of autoconf support, PAM |
22 | support, EGD[1]/PRNGD[2] support and replacements for OpenBSD library | 22 | support, EGD[1]/PRNGD[2] support and replacements for OpenBSD library |
@@ -33,17 +33,15 @@ all logins, not just when using password authentication. | |||
33 | OpenSSH depends on Zlib[3], OpenSSL[4] and optionally PAM[5]. | 33 | OpenSSH depends on Zlib[3], OpenSSL[4] and optionally PAM[5]. |
34 | 34 | ||
35 | There is now several mailing lists for this port of OpenSSH. Please | 35 | There is now several mailing lists for this port of OpenSSH. Please |
36 | refer to http://www.openssh.com/list.html for details on how to join. | 36 | refer to https://www.openssh.com/list.html for details on how to join. |
37 | 37 | ||
38 | Please send bug reports and patches to the mailing list | 38 | Please send bug reports and patches to the mailing list |
39 | openssh-unix-dev@mindrot.org. The list is open to posting by | 39 | openssh-unix-dev@mindrot.org. The list is open to posting by unsubscribed |
40 | unsubscribed users.Code contribution are welcomed, but please follow the | 40 | users. Code contribution are welcomed, but please follow the OpenBSD |
41 | OpenBSD style guidelines[6]. | 41 | style guidelines[6]. |
42 | 42 | ||
43 | Please refer to the INSTALL document for information on how to install | 43 | Please refer to the INSTALL document for information on how to install |
44 | OpenSSH on your system. There are a number of differences between this | 44 | OpenSSH on your system. |
45 | port of OpenSSH and F-Secure SSH 1.x, please refer to the OpenSSH FAQ[7] | ||
46 | for details and general tips. | ||
47 | 45 | ||
48 | Damien Miller <djm@mindrot.org> | 46 | Damien Miller <djm@mindrot.org> |
49 | 47 | ||
@@ -55,15 +53,12 @@ implementation released by Tatu Ylonen. | |||
55 | 53 | ||
56 | References - | 54 | References - |
57 | 55 | ||
58 | [0] http://www.openssh.com/faq.html | 56 | [0] https://www.openssh.com/ |
59 | [1] http://www.lothar.com/tech/crypto/ | 57 | [1] http://www.lothar.com/tech/crypto/ |
60 | [2] http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html | 58 | [2] http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html |
61 | [3] http://www.gzip.org/zlib/ | 59 | [3] http://www.gzip.org/zlib/ |
62 | [4] http://www.openssl.org/ | 60 | [4] http://www.openssl.org/ |
63 | [5] http://www.openpam.org | 61 | [5] http://www.openpam.org |
64 | http://www.kernel.org/pub/linux/libs/pam/ | 62 | http://www.kernel.org/pub/linux/libs/pam/ |
65 | (PAM also is standard on Solaris and HP-UX 11) | 63 | (PAM also is standard on Solaris and HP-UX 11) |
66 | [6] http://www.openbsd.org/cgi-bin/man.cgi?query=style&sektion=9 | 64 | [6] http://man.openbsd.org/style.9 |
67 | [7] http://www.openssh.com/faq.html | ||
68 | |||
69 | $Id: README,v 1.87 2014/08/10 01:35:06 djm Exp $ | ||
diff --git a/README.platform b/README.platform index 8d75c16c1..c7be95fb6 100644 --- a/README.platform +++ b/README.platform | |||
@@ -94,6 +94,3 @@ added to sshd's session stack which will prevent users from starting shell | |||
94 | sessions. Alternatively, pam_nologin can be added to either the auth or | 94 | sessions. Alternatively, pam_nologin can be added to either the auth or |
95 | account stacks which will prevent authentication entirely, but will still | 95 | account stacks which will prevent authentication entirely, but will still |
96 | return the output from pam_nologin to the client. | 96 | return the output from pam_nologin to the client. |
97 | |||
98 | |||
99 | $Id: README.platform,v 1.10 2009/08/28 23:14:48 dtucker Exp $ | ||
diff --git a/README.privsep b/README.privsep index f565e72da..2120544c7 100644 --- a/README.privsep +++ b/README.privsep | |||
@@ -8,10 +8,6 @@ More information is available at: | |||
8 | Privilege separation is now enabled by default; see the | 8 | Privilege separation is now enabled by default; see the |
9 | UsePrivilegeSeparation option in sshd_config(5). | 9 | UsePrivilegeSeparation option in sshd_config(5). |
10 | 10 | ||
11 | On systems which lack mmap or anonymous (MAP_ANON) memory mapping, | ||
12 | compression must be disabled in order for privilege separation to | ||
13 | function. | ||
14 | |||
15 | When privsep is enabled, during the pre-authentication phase sshd will | 11 | When privsep is enabled, during the pre-authentication phase sshd will |
16 | chroot(2) to "/var/empty" and change its privileges to the "sshd" user | 12 | chroot(2) to "/var/empty" and change its privileges to the "sshd" user |
17 | and its primary group. sshd is a pseudo-account that should not be | 13 | and its primary group. sshd is a pseudo-account that should not be |
@@ -35,9 +31,6 @@ privsep user and chroot directory: | |||
35 | --with-privsep-path=xxx Path for privilege separation chroot | 31 | --with-privsep-path=xxx Path for privilege separation chroot |
36 | --with-privsep-user=user Specify non-privileged user for privilege separation | 32 | --with-privsep-user=user Specify non-privileged user for privilege separation |
37 | 33 | ||
38 | Privsep requires operating system support for file descriptor passing. | ||
39 | Compression will be disabled on systems without a working mmap MAP_ANON. | ||
40 | |||
41 | PAM-enabled OpenSSH is known to function with privsep on AIX, FreeBSD, | 34 | PAM-enabled OpenSSH is known to function with privsep on AIX, FreeBSD, |
42 | HP-UX (including Trusted Mode), Linux, NetBSD and Solaris. | 35 | HP-UX (including Trusted Mode), Linux, NetBSD and Solaris. |
43 | 36 | ||
@@ -59,5 +52,3 @@ Given the following process listing (from HP-UX): | |||
59 | process 1005 is the sshd process listening for new connections. | 52 | process 1005 is the sshd process listening for new connections. |
60 | process 6917 is the privileged monitor process, 6919 is the user owned | 53 | process 6917 is the privileged monitor process, 6919 is the user owned |
61 | sshd process and 6921 is the shell process. | 54 | sshd process and 6921 is the shell process. |
62 | |||
63 | $Id: README.privsep,v 1.16 2005/06/04 23:21:41 djm Exp $ | ||
@@ -69,10 +69,6 @@ Packaging: | |||
69 | (gilbert.r.loomis@saic.com) | 69 | (gilbert.r.loomis@saic.com) |
70 | 70 | ||
71 | PrivSep Issues: | 71 | PrivSep Issues: |
72 | - mmap() issues. | ||
73 | + /dev/zero solution (Solaris) | ||
74 | + No/broken MAP_ANON (Irix) | ||
75 | + broken /dev/zero parse (Linux) | ||
76 | - PAM | 72 | - PAM |
77 | + See above PAM notes | 73 | + See above PAM notes |
78 | - AIX | 74 | - AIX |
@@ -82,5 +78,3 @@ PrivSep Issues: | |||
82 | + SIA is broken | 78 | + SIA is broken |
83 | - Cygwin | 79 | - Cygwin |
84 | + Privsep for Pre-auth only (no fd passing) | 80 | + Privsep for Pre-auth only (no fd passing) |
85 | |||
86 | $Id: TODO,v 1.58 2004/12/06 11:40:11 dtucker Exp $ | ||
diff --git a/aclocal.m4 b/aclocal.m4 index 1640683e1..ac6b6684a 100644 --- a/aclocal.m4 +++ b/aclocal.m4 | |||
@@ -1,5 +1,3 @@ | |||
1 | dnl $Id: aclocal.m4,v 1.13 2014/01/22 10:30:12 djm Exp $ | ||
2 | dnl | ||
3 | dnl OpenSSH-specific autoconf macros | 1 | dnl OpenSSH-specific autoconf macros |
4 | dnl | 2 | dnl |
5 | 3 | ||
@@ -59,7 +57,8 @@ int main(int argc, char **argv) { | |||
59 | float l = i * 2.1; | 57 | float l = i * 2.1; |
60 | double m = l / 0.5; | 58 | double m = l / 0.5; |
61 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 59 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
62 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 60 | long long int p = n * o; |
61 | printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p); | ||
63 | exit(0); | 62 | exit(0); |
64 | } | 63 | } |
65 | ]])], | 64 | ]])], |
@@ -96,7 +95,8 @@ int main(int argc, char **argv) { | |||
96 | float l = i * 2.1; | 95 | float l = i * 2.1; |
97 | double m = l / 0.5; | 96 | double m = l / 0.5; |
98 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 97 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
99 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 98 | long long p = n * o; |
99 | printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p); | ||
100 | exit(0); | 100 | exit(0); |
101 | } | 101 | } |
102 | ]])], | 102 | ]])], |
diff --git a/addrmatch.c b/addrmatch.c index 70b050e05..8658e105a 100644 --- a/addrmatch.c +++ b/addrmatch.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: addrmatch.c,v 1.10 2015/07/08 19:04:21 markus Exp $ */ | 1 | /* $OpenBSD: addrmatch.c,v 1.13 2016/09/21 16:55:42 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2004-2008 Damien Miller <djm@mindrot.org> | 4 | * Copyright (c) 2004-2008 Damien Miller <djm@mindrot.org> |
@@ -398,8 +398,8 @@ addr_match_list(const char *addr, const char *_list) | |||
398 | /* Prefer CIDR address matching */ | 398 | /* Prefer CIDR address matching */ |
399 | r = addr_pton_cidr(cp, &match_addr, &masklen); | 399 | r = addr_pton_cidr(cp, &match_addr, &masklen); |
400 | if (r == -2) { | 400 | if (r == -2) { |
401 | error("Inconsistent mask length for " | 401 | debug2("%s: inconsistent mask length for " |
402 | "network \"%.100s\"", cp); | 402 | "match network \"%.100s\"", __func__, cp); |
403 | ret = -2; | 403 | ret = -2; |
404 | break; | 404 | break; |
405 | } else if (r == 0) { | 405 | } else if (r == 0) { |
diff --git a/atomicio.c b/atomicio.c index b1ec234f5..f854a06f5 100644 --- a/atomicio.c +++ b/atomicio.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: atomicio.c,v 1.27 2015/01/16 06:40:12 deraadt Exp $ */ | 1 | /* $OpenBSD: atomicio.c,v 1.28 2016/07/27 23:18:12 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2006 Damien Miller. All rights reserved. | 3 | * Copyright (c) 2006 Damien Miller. All rights reserved. |
4 | * Copyright (c) 2005 Anil Madhavapeddy. All rights reserved. | 4 | * Copyright (c) 2005 Anil Madhavapeddy. All rights reserved. |
@@ -107,12 +107,12 @@ atomiciov6(ssize_t (*f) (int, const struct iovec *, int), int fd, | |||
107 | struct iovec iov_array[IOV_MAX], *iov = iov_array; | 107 | struct iovec iov_array[IOV_MAX], *iov = iov_array; |
108 | struct pollfd pfd; | 108 | struct pollfd pfd; |
109 | 109 | ||
110 | if (iovcnt > IOV_MAX) { | 110 | if (iovcnt < 0 || iovcnt > IOV_MAX) { |
111 | errno = EINVAL; | 111 | errno = EINVAL; |
112 | return 0; | 112 | return 0; |
113 | } | 113 | } |
114 | /* Make a copy of the iov array because we may modify it below */ | 114 | /* Make a copy of the iov array because we may modify it below */ |
115 | memcpy(iov, _iov, iovcnt * sizeof(*_iov)); | 115 | memcpy(iov, _iov, (size_t)iovcnt * sizeof(*_iov)); |
116 | 116 | ||
117 | #ifndef BROKEN_READV_COMPARISON | 117 | #ifndef BROKEN_READV_COMPARISON |
118 | pfd.fd = fd; | 118 | pfd.fd = fd; |
diff --git a/audit-bsm.c b/audit-bsm.c index 613559140..f8e0bea89 100644 --- a/audit-bsm.c +++ b/audit-bsm.c | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: audit-bsm.c,v 1.8 2012/02/23 23:40:43 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * TODO | 2 | * TODO |
5 | * | 3 | * |
diff --git a/audit-linux.c b/audit-linux.c index d3524f7e1..136ed76bb 100644 --- a/audit-linux.c +++ b/audit-linux.c | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: audit-linux.c,v 1.1 2011/01/17 10:15:30 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright 2010 Red Hat, Inc. All rights reserved. | 2 | * Copyright 2010 Red Hat, Inc. All rights reserved. |
5 | * Use is subject to license terms. | 3 | * Use is subject to license terms. |
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: audit.c,v 1.6 2011/01/17 10:15:30 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2004, 2005 Darren Tucker. All rights reserved. | 2 | * Copyright (c) 2004, 2005 Darren Tucker. All rights reserved. |
5 | * | 3 | * |
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: audit.h,v 1.4 2011/01/17 10:15:30 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2004, 2005 Darren Tucker. All rights reserved. | 2 | * Copyright (c) 2004, 2005 Darren Tucker. All rights reserved. |
5 | * | 3 | * |
diff --git a/auth-chall.c b/auth-chall.c deleted file mode 100644 index 60c9f14ca..000000000 --- a/auth-chall.c +++ /dev/null | |||
@@ -1,125 +0,0 @@ | |||
1 | /* $OpenBSD: auth-chall.c,v 1.14 2014/06/24 01:13:21 djm Exp $ */ | ||
2 | /* | ||
3 | * Copyright (c) 2001 Markus Friedl. All rights reserved. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions | ||
7 | * are met: | ||
8 | * 1. Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * 2. Redistributions in binary form must reproduce the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer in the | ||
12 | * documentation and/or other materials provided with the distribution. | ||
13 | * | ||
14 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | ||
15 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
16 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
17 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
18 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
19 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
20 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
21 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
22 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
23 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
24 | */ | ||
25 | |||
26 | #include "includes.h" | ||
27 | |||
28 | #include <sys/types.h> | ||
29 | #include <stdarg.h> | ||
30 | #include <stdlib.h> | ||
31 | #include <stdio.h> | ||
32 | |||
33 | #include "xmalloc.h" | ||
34 | #include "key.h" | ||
35 | #include "hostfile.h" | ||
36 | #include "auth.h" | ||
37 | #include "log.h" | ||
38 | #include "misc.h" | ||
39 | #include "servconf.h" | ||
40 | |||
41 | /* limited protocol v1 interface to kbd-interactive authentication */ | ||
42 | |||
43 | extern KbdintDevice *devices[]; | ||
44 | static KbdintDevice *device; | ||
45 | extern ServerOptions options; | ||
46 | |||
47 | char * | ||
48 | get_challenge(Authctxt *authctxt) | ||
49 | { | ||
50 | char *challenge, *name, *info, **prompts; | ||
51 | u_int i, numprompts; | ||
52 | u_int *echo_on; | ||
53 | |||
54 | #ifdef USE_PAM | ||
55 | if (!options.use_pam) | ||
56 | remove_kbdint_device("pam"); | ||
57 | #endif | ||
58 | |||
59 | device = devices[0]; /* we always use the 1st device for protocol 1 */ | ||
60 | if (device == NULL) | ||
61 | return NULL; | ||
62 | if ((authctxt->kbdintctxt = device->init_ctx(authctxt)) == NULL) | ||
63 | return NULL; | ||
64 | if (device->query(authctxt->kbdintctxt, &name, &info, | ||
65 | &numprompts, &prompts, &echo_on)) { | ||
66 | device->free_ctx(authctxt->kbdintctxt); | ||
67 | authctxt->kbdintctxt = NULL; | ||
68 | return NULL; | ||
69 | } | ||
70 | if (numprompts < 1) | ||
71 | fatal("get_challenge: numprompts < 1"); | ||
72 | challenge = xstrdup(prompts[0]); | ||
73 | for (i = 0; i < numprompts; i++) | ||
74 | free(prompts[i]); | ||
75 | free(prompts); | ||
76 | free(name); | ||
77 | free(echo_on); | ||
78 | free(info); | ||
79 | |||
80 | return (challenge); | ||
81 | } | ||
82 | int | ||
83 | verify_response(Authctxt *authctxt, const char *response) | ||
84 | { | ||
85 | char *resp[1], *name, *info, **prompts; | ||
86 | u_int i, numprompts, *echo_on; | ||
87 | int authenticated = 0; | ||
88 | |||
89 | if (device == NULL) | ||
90 | return 0; | ||
91 | if (authctxt->kbdintctxt == NULL) | ||
92 | return 0; | ||
93 | resp[0] = (char *)response; | ||
94 | switch (device->respond(authctxt->kbdintctxt, 1, resp)) { | ||
95 | case 0: /* Success */ | ||
96 | authenticated = 1; | ||
97 | break; | ||
98 | case 1: /* Postponed - retry with empty query for PAM */ | ||
99 | if ((device->query(authctxt->kbdintctxt, &name, &info, | ||
100 | &numprompts, &prompts, &echo_on)) != 0) | ||
101 | break; | ||
102 | if (numprompts == 0 && | ||
103 | device->respond(authctxt->kbdintctxt, 0, resp) == 0) | ||
104 | authenticated = 1; | ||
105 | |||
106 | for (i = 0; i < numprompts; i++) | ||
107 | free(prompts[i]); | ||
108 | free(prompts); | ||
109 | free(name); | ||
110 | free(echo_on); | ||
111 | free(info); | ||
112 | break; | ||
113 | } | ||
114 | device->free_ctx(authctxt->kbdintctxt); | ||
115 | authctxt->kbdintctxt = NULL; | ||
116 | return authenticated; | ||
117 | } | ||
118 | void | ||
119 | abandon_challenge_response(Authctxt *authctxt) | ||
120 | { | ||
121 | if (authctxt->kbdintctxt != NULL) { | ||
122 | device->free_ctx(authctxt->kbdintctxt); | ||
123 | authctxt->kbdintctxt = NULL; | ||
124 | } | ||
125 | } | ||
diff --git a/auth-options.c b/auth-options.c index b399b91e3..57b49f7fd 100644 --- a/auth-options.c +++ b/auth-options.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: auth-options.c,v 1.71 2016/03/07 19:02:43 djm Exp $ */ | 1 | /* $OpenBSD: auth-options.c,v 1.72 2016/11/30 02:57:40 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -601,7 +601,7 @@ parse_option_list(struct sshbuf *oblob, struct passwd *pw, | |||
601 | * options so this must be called after auth_parse_options(). | 601 | * options so this must be called after auth_parse_options(). |
602 | */ | 602 | */ |
603 | int | 603 | int |
604 | auth_cert_options(struct sshkey *k, struct passwd *pw) | 604 | auth_cert_options(struct sshkey *k, struct passwd *pw, const char **reason) |
605 | { | 605 | { |
606 | int cert_no_port_forwarding_flag = 1; | 606 | int cert_no_port_forwarding_flag = 1; |
607 | int cert_no_agent_forwarding_flag = 1; | 607 | int cert_no_agent_forwarding_flag = 1; |
@@ -611,6 +611,8 @@ auth_cert_options(struct sshkey *k, struct passwd *pw) | |||
611 | char *cert_forced_command = NULL; | 611 | char *cert_forced_command = NULL; |
612 | int cert_source_address_done = 0; | 612 | int cert_source_address_done = 0; |
613 | 613 | ||
614 | *reason = "invalid certificate options"; | ||
615 | |||
614 | /* Separate options and extensions for v01 certs */ | 616 | /* Separate options and extensions for v01 certs */ |
615 | if (parse_option_list(k->cert->critical, pw, | 617 | if (parse_option_list(k->cert->critical, pw, |
616 | OPTIONS_CRITICAL, 1, NULL, NULL, NULL, NULL, NULL, | 618 | OPTIONS_CRITICAL, 1, NULL, NULL, NULL, NULL, NULL, |
@@ -632,11 +634,24 @@ auth_cert_options(struct sshkey *k, struct passwd *pw) | |||
632 | no_x11_forwarding_flag |= cert_no_x11_forwarding_flag; | 634 | no_x11_forwarding_flag |= cert_no_x11_forwarding_flag; |
633 | no_pty_flag |= cert_no_pty_flag; | 635 | no_pty_flag |= cert_no_pty_flag; |
634 | no_user_rc |= cert_no_user_rc; | 636 | no_user_rc |= cert_no_user_rc; |
635 | /* CA-specified forced command supersedes key option */ | 637 | /* |
636 | if (cert_forced_command != NULL) { | 638 | * Only permit both CA and key option forced-command if they match. |
637 | free(forced_command); | 639 | * Otherwise refuse the certificate. |
640 | */ | ||
641 | if (cert_forced_command != NULL && forced_command != NULL) { | ||
642 | if (strcmp(forced_command, cert_forced_command) == 0) { | ||
643 | free(forced_command); | ||
644 | forced_command = cert_forced_command; | ||
645 | } else { | ||
646 | *reason = "certificate and key options forced command " | ||
647 | "do not match"; | ||
648 | free(cert_forced_command); | ||
649 | return -1; | ||
650 | } | ||
651 | } else if (cert_forced_command != NULL) | ||
638 | forced_command = cert_forced_command; | 652 | forced_command = cert_forced_command; |
639 | } | 653 | /* success */ |
654 | *reason = NULL; | ||
640 | return 0; | 655 | return 0; |
641 | } | 656 | } |
642 | 657 | ||
diff --git a/auth-options.h b/auth-options.h index 34852e5c0..52cbb42aa 100644 --- a/auth-options.h +++ b/auth-options.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: auth-options.h,v 1.21 2015/01/14 10:30:34 markus Exp $ */ | 1 | /* $OpenBSD: auth-options.h,v 1.22 2016/11/30 02:57:40 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -35,6 +35,6 @@ extern char *authorized_principals; | |||
35 | 35 | ||
36 | int auth_parse_options(struct passwd *, char *, char *, u_long); | 36 | int auth_parse_options(struct passwd *, char *, char *, u_long); |
37 | void auth_clear_options(void); | 37 | void auth_clear_options(void); |
38 | int auth_cert_options(struct sshkey *, struct passwd *); | 38 | int auth_cert_options(struct sshkey *, struct passwd *, const char **); |
39 | 39 | ||
40 | #endif | 40 | #endif |
diff --git a/auth-pam.c b/auth-pam.c index 348fe370a..7d8b2926b 100644 --- a/auth-pam.c +++ b/auth-pam.c | |||
@@ -66,6 +66,11 @@ | |||
66 | #include <pam/pam_appl.h> | 66 | #include <pam/pam_appl.h> |
67 | #endif | 67 | #endif |
68 | 68 | ||
69 | #if !defined(SSHD_PAM_SERVICE) | ||
70 | extern char *__progname; | ||
71 | # define SSHD_PAM_SERVICE __progname | ||
72 | #endif | ||
73 | |||
69 | /* OpenGroup RFC86.0 and XSSO specify no "const" on arguments */ | 74 | /* OpenGroup RFC86.0 and XSSO specify no "const" on arguments */ |
70 | #ifdef PAM_SUN_CODEBASE | 75 | #ifdef PAM_SUN_CODEBASE |
71 | # define sshpam_const /* Solaris, HP-UX, SunOS */ | 76 | # define sshpam_const /* Solaris, HP-UX, SunOS */ |
@@ -615,7 +620,6 @@ sshpam_cleanup(void) | |||
615 | static int | 620 | static int |
616 | sshpam_init(Authctxt *authctxt) | 621 | sshpam_init(Authctxt *authctxt) |
617 | { | 622 | { |
618 | extern char *__progname; | ||
619 | const char *pam_rhost, *pam_user, *user = authctxt->user; | 623 | const char *pam_rhost, *pam_user, *user = authctxt->user; |
620 | const char **ptr_pam_user = &pam_user; | 624 | const char **ptr_pam_user = &pam_user; |
621 | struct ssh *ssh = active_state; /* XXX */ | 625 | struct ssh *ssh = active_state; /* XXX */ |
@@ -947,18 +951,6 @@ do_pam_account(void) | |||
947 | } | 951 | } |
948 | 952 | ||
949 | void | 953 | void |
950 | do_pam_set_tty(const char *tty) | ||
951 | { | ||
952 | if (tty != NULL) { | ||
953 | debug("PAM: setting PAM_TTY to \"%s\"", tty); | ||
954 | sshpam_err = pam_set_item(sshpam_handle, PAM_TTY, tty); | ||
955 | if (sshpam_err != PAM_SUCCESS) | ||
956 | fatal("PAM: failed to set PAM_TTY: %s", | ||
957 | pam_strerror(sshpam_handle, sshpam_err)); | ||
958 | } | ||
959 | } | ||
960 | |||
961 | void | ||
962 | do_pam_setcred(int init) | 954 | do_pam_setcred(int init) |
963 | { | 955 | { |
964 | sshpam_err = pam_set_item(sshpam_handle, PAM_CONV, | 956 | sshpam_err = pam_set_item(sshpam_handle, PAM_CONV, |
diff --git a/auth-pam.h b/auth-pam.h index 2e9a0c0a3..c47b442e4 100644 --- a/auth-pam.h +++ b/auth-pam.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: auth-pam.h,v 1.27 2004/09/11 12:17:26 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2000 Damien Miller. All rights reserved. | 2 | * Copyright (c) 2000 Damien Miller. All rights reserved. |
5 | * | 3 | * |
@@ -27,15 +25,10 @@ | |||
27 | #include "includes.h" | 25 | #include "includes.h" |
28 | #ifdef USE_PAM | 26 | #ifdef USE_PAM |
29 | 27 | ||
30 | #if !defined(SSHD_PAM_SERVICE) | ||
31 | # define SSHD_PAM_SERVICE __progname | ||
32 | #endif | ||
33 | |||
34 | void start_pam(Authctxt *); | 28 | void start_pam(Authctxt *); |
35 | void finish_pam(void); | 29 | void finish_pam(void); |
36 | u_int do_pam_account(void); | 30 | u_int do_pam_account(void); |
37 | void do_pam_session(void); | 31 | void do_pam_session(void); |
38 | void do_pam_set_tty(const char *); | ||
39 | void do_pam_setcred(int ); | 32 | void do_pam_setcred(int ); |
40 | void do_pam_chauthtok(void); | 33 | void do_pam_chauthtok(void); |
41 | int do_pam_putenv(char *, char *); | 34 | int do_pam_putenv(char *, char *); |
diff --git a/auth-rh-rsa.c b/auth-rh-rsa.c deleted file mode 100644 index 057335ba4..000000000 --- a/auth-rh-rsa.c +++ /dev/null | |||
@@ -1,109 +0,0 @@ | |||
1 | /* $OpenBSD: auth-rh-rsa.c,v 1.45 2016/03/07 19:02:43 djm Exp $ */ | ||
2 | /* | ||
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | ||
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | ||
5 | * All rights reserved | ||
6 | * Rhosts or /etc/hosts.equiv authentication combined with RSA host | ||
7 | * authentication. | ||
8 | * | ||
9 | * As far as I am concerned, the code I have written for this software | ||
10 | * can be used freely for any purpose. Any derived versions of this | ||
11 | * software must be clearly marked as such, and if the derived work is | ||
12 | * incompatible with the protocol description in the RFC file, it must be | ||
13 | * called by a name other than "ssh" or "Secure Shell". | ||
14 | */ | ||
15 | |||
16 | #include "includes.h" | ||
17 | |||
18 | #ifdef WITH_SSH1 | ||
19 | |||
20 | #include <sys/types.h> | ||
21 | |||
22 | #include <pwd.h> | ||
23 | #include <stdarg.h> | ||
24 | |||
25 | #include "packet.h" | ||
26 | #include "uidswap.h" | ||
27 | #include "log.h" | ||
28 | #include "buffer.h" | ||
29 | #include "misc.h" | ||
30 | #include "servconf.h" | ||
31 | #include "key.h" | ||
32 | #include "hostfile.h" | ||
33 | #include "pathnames.h" | ||
34 | #include "auth.h" | ||
35 | #include "canohost.h" | ||
36 | #ifdef GSSAPI | ||
37 | #include "ssh-gss.h" | ||
38 | #endif | ||
39 | #include "monitor_wrap.h" | ||
40 | |||
41 | /* import */ | ||
42 | extern ServerOptions options; | ||
43 | |||
44 | int | ||
45 | auth_rhosts_rsa_key_allowed(struct passwd *pw, const char *cuser, | ||
46 | const char *chost, Key *client_host_key) | ||
47 | { | ||
48 | HostStatus host_status; | ||
49 | |||
50 | if (auth_key_is_revoked(client_host_key)) | ||
51 | return 0; | ||
52 | |||
53 | /* Check if we would accept it using rhosts authentication. */ | ||
54 | if (!auth_rhosts(pw, cuser)) | ||
55 | return 0; | ||
56 | |||
57 | host_status = check_key_in_hostfiles(pw, client_host_key, | ||
58 | chost, _PATH_SSH_SYSTEM_HOSTFILE, | ||
59 | options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE); | ||
60 | |||
61 | return (host_status == HOST_OK); | ||
62 | } | ||
63 | |||
64 | /* | ||
65 | * Tries to authenticate the user using the .rhosts file and the host using | ||
66 | * its host key. Returns true if authentication succeeds. | ||
67 | */ | ||
68 | int | ||
69 | auth_rhosts_rsa(Authctxt *authctxt, char *cuser, Key *client_host_key) | ||
70 | { | ||
71 | struct ssh *ssh = active_state; /* XXX */ | ||
72 | const char *chost; | ||
73 | struct passwd *pw = authctxt->pw; | ||
74 | |||
75 | debug("Trying rhosts with RSA host authentication for client user %.100s", | ||
76 | cuser); | ||
77 | |||
78 | if (!authctxt->valid || client_host_key == NULL || | ||
79 | client_host_key->rsa == NULL) | ||
80 | return 0; | ||
81 | |||
82 | chost = auth_get_canonical_hostname(ssh, options.use_dns); | ||
83 | debug("Rhosts RSA authentication: canonical host %.900s", chost); | ||
84 | |||
85 | if (!PRIVSEP(auth_rhosts_rsa_key_allowed(pw, cuser, chost, client_host_key))) { | ||
86 | debug("Rhosts with RSA host authentication denied: unknown or invalid host key"); | ||
87 | packet_send_debug("Your host key cannot be verified: unknown or invalid host key."); | ||
88 | return 0; | ||
89 | } | ||
90 | /* A matching host key was found and is known. */ | ||
91 | |||
92 | /* Perform the challenge-response dialog with the client for the host key. */ | ||
93 | if (!auth_rsa_challenge_dialog(client_host_key)) { | ||
94 | logit("Client on %.800s failed to respond correctly to host authentication.", | ||
95 | chost); | ||
96 | return 0; | ||
97 | } | ||
98 | /* | ||
99 | * We have authenticated the user using .rhosts or /etc/hosts.equiv, | ||
100 | * and the host using RSA. We accept the authentication. | ||
101 | */ | ||
102 | |||
103 | verbose("Rhosts with RSA host authentication accepted for %.100s, %.100s on %.700s.", | ||
104 | pw->pw_name, cuser, chost); | ||
105 | packet_send_debug("Rhosts with RSA host authentication accepted."); | ||
106 | return 1; | ||
107 | } | ||
108 | |||
109 | #endif /* WITH_SSH1 */ | ||
diff --git a/auth-rhosts.c b/auth-rhosts.c index 0ef344712..ecf956f06 100644 --- a/auth-rhosts.c +++ b/auth-rhosts.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: auth-rhosts.c,v 1.47 2016/03/07 19:02:43 djm Exp $ */ | 1 | /* $OpenBSD: auth-rhosts.c,v 1.48 2016/08/13 17:47:41 markus Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -186,20 +186,8 @@ check_rhosts_file(const char *filename, const char *hostname, | |||
186 | * true if authentication succeeds. If ignore_rhosts is true, only | 186 | * true if authentication succeeds. If ignore_rhosts is true, only |
187 | * /etc/hosts.equiv will be considered (.rhosts and .shosts are ignored). | 187 | * /etc/hosts.equiv will be considered (.rhosts and .shosts are ignored). |
188 | */ | 188 | */ |
189 | |||
190 | int | 189 | int |
191 | auth_rhosts(struct passwd *pw, const char *client_user) | 190 | auth_rhosts2(struct passwd *pw, const char *client_user, const char *hostname, |
192 | { | ||
193 | struct ssh *ssh = active_state; /* XXX */ | ||
194 | const char *hostname, *ipaddr; | ||
195 | |||
196 | hostname = auth_get_canonical_hostname(ssh, options.use_dns); | ||
197 | ipaddr = ssh_remote_ipaddr(ssh); | ||
198 | return auth_rhosts2(pw, client_user, hostname, ipaddr); | ||
199 | } | ||
200 | |||
201 | static int | ||
202 | auth_rhosts2_raw(struct passwd *pw, const char *client_user, const char *hostname, | ||
203 | const char *ipaddr) | 191 | const char *ipaddr) |
204 | { | 192 | { |
205 | char buf[1024]; | 193 | char buf[1024]; |
@@ -334,10 +322,3 @@ auth_rhosts2_raw(struct passwd *pw, const char *client_user, const char *hostnam | |||
334 | restore_uid(); | 322 | restore_uid(); |
335 | return 0; | 323 | return 0; |
336 | } | 324 | } |
337 | |||
338 | int | ||
339 | auth_rhosts2(struct passwd *pw, const char *client_user, const char *hostname, | ||
340 | const char *ipaddr) | ||
341 | { | ||
342 | return auth_rhosts2_raw(pw, client_user, hostname, ipaddr); | ||
343 | } | ||
diff --git a/auth-rsa.c b/auth-rsa.c deleted file mode 100644 index cbd971be1..000000000 --- a/auth-rsa.c +++ /dev/null | |||
@@ -1,349 +0,0 @@ | |||
1 | /* $OpenBSD: auth-rsa.c,v 1.90 2015/01/28 22:36:00 djm Exp $ */ | ||
2 | /* | ||
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | ||
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | ||
5 | * All rights reserved | ||
6 | * RSA-based authentication. This code determines whether to admit a login | ||
7 | * based on RSA authentication. This file also contains functions to check | ||
8 | * validity of the host key. | ||
9 | * | ||
10 | * As far as I am concerned, the code I have written for this software | ||
11 | * can be used freely for any purpose. Any derived versions of this | ||
12 | * software must be clearly marked as such, and if the derived work is | ||
13 | * incompatible with the protocol description in the RFC file, it must be | ||
14 | * called by a name other than "ssh" or "Secure Shell". | ||
15 | */ | ||
16 | |||
17 | #include "includes.h" | ||
18 | |||
19 | #ifdef WITH_SSH1 | ||
20 | |||
21 | #include <sys/types.h> | ||
22 | #include <sys/stat.h> | ||
23 | |||
24 | #include <openssl/rsa.h> | ||
25 | |||
26 | #include <pwd.h> | ||
27 | #include <stdio.h> | ||
28 | #include <stdarg.h> | ||
29 | #include <string.h> | ||
30 | |||
31 | #include "xmalloc.h" | ||
32 | #include "rsa.h" | ||
33 | #include "packet.h" | ||
34 | #include "ssh1.h" | ||
35 | #include "uidswap.h" | ||
36 | #include "match.h" | ||
37 | #include "buffer.h" | ||
38 | #include "pathnames.h" | ||
39 | #include "log.h" | ||
40 | #include "misc.h" | ||
41 | #include "servconf.h" | ||
42 | #include "key.h" | ||
43 | #include "auth-options.h" | ||
44 | #include "hostfile.h" | ||
45 | #include "auth.h" | ||
46 | #ifdef GSSAPI | ||
47 | #include "ssh-gss.h" | ||
48 | #endif | ||
49 | #include "monitor_wrap.h" | ||
50 | #include "ssh.h" | ||
51 | |||
52 | #include "digest.h" | ||
53 | |||
54 | /* import */ | ||
55 | extern ServerOptions options; | ||
56 | |||
57 | /* | ||
58 | * Session identifier that is used to bind key exchange and authentication | ||
59 | * responses to a particular session. | ||
60 | */ | ||
61 | extern u_char session_id[16]; | ||
62 | |||
63 | /* | ||
64 | * The .ssh/authorized_keys file contains public keys, one per line, in the | ||
65 | * following format: | ||
66 | * options bits e n comment | ||
67 | * where bits, e and n are decimal numbers, | ||
68 | * and comment is any string of characters up to newline. The maximum | ||
69 | * length of a line is SSH_MAX_PUBKEY_BYTES characters. See sshd(8) for a | ||
70 | * description of the options. | ||
71 | */ | ||
72 | |||
73 | BIGNUM * | ||
74 | auth_rsa_generate_challenge(Key *key) | ||
75 | { | ||
76 | BIGNUM *challenge; | ||
77 | BN_CTX *ctx; | ||
78 | |||
79 | if ((challenge = BN_new()) == NULL) | ||
80 | fatal("auth_rsa_generate_challenge: BN_new() failed"); | ||
81 | /* Generate a random challenge. */ | ||
82 | if (BN_rand(challenge, 256, 0, 0) == 0) | ||
83 | fatal("auth_rsa_generate_challenge: BN_rand failed"); | ||
84 | if ((ctx = BN_CTX_new()) == NULL) | ||
85 | fatal("auth_rsa_generate_challenge: BN_CTX_new failed"); | ||
86 | if (BN_mod(challenge, challenge, key->rsa->n, ctx) == 0) | ||
87 | fatal("auth_rsa_generate_challenge: BN_mod failed"); | ||
88 | BN_CTX_free(ctx); | ||
89 | |||
90 | return challenge; | ||
91 | } | ||
92 | |||
93 | int | ||
94 | auth_rsa_verify_response(Key *key, BIGNUM *challenge, u_char response[16]) | ||
95 | { | ||
96 | u_char buf[32], mdbuf[16]; | ||
97 | struct ssh_digest_ctx *md; | ||
98 | int len; | ||
99 | |||
100 | /* don't allow short keys */ | ||
101 | if (BN_num_bits(key->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE) { | ||
102 | error("%s: RSA modulus too small: %d < minimum %d bits", | ||
103 | __func__, | ||
104 | BN_num_bits(key->rsa->n), SSH_RSA_MINIMUM_MODULUS_SIZE); | ||
105 | return (0); | ||
106 | } | ||
107 | |||
108 | /* The response is MD5 of decrypted challenge plus session id. */ | ||
109 | len = BN_num_bytes(challenge); | ||
110 | if (len <= 0 || len > 32) | ||
111 | fatal("%s: bad challenge length %d", __func__, len); | ||
112 | memset(buf, 0, 32); | ||
113 | BN_bn2bin(challenge, buf + 32 - len); | ||
114 | if ((md = ssh_digest_start(SSH_DIGEST_MD5)) == NULL || | ||
115 | ssh_digest_update(md, buf, 32) < 0 || | ||
116 | ssh_digest_update(md, session_id, 16) < 0 || | ||
117 | ssh_digest_final(md, mdbuf, sizeof(mdbuf)) < 0) | ||
118 | fatal("%s: md5 failed", __func__); | ||
119 | ssh_digest_free(md); | ||
120 | |||
121 | /* Verify that the response is the original challenge. */ | ||
122 | if (timingsafe_bcmp(response, mdbuf, 16) != 0) { | ||
123 | /* Wrong answer. */ | ||
124 | return (0); | ||
125 | } | ||
126 | /* Correct answer. */ | ||
127 | return (1); | ||
128 | } | ||
129 | |||
130 | /* | ||
131 | * Performs the RSA authentication challenge-response dialog with the client, | ||
132 | * and returns true (non-zero) if the client gave the correct answer to | ||
133 | * our challenge; returns zero if the client gives a wrong answer. | ||
134 | */ | ||
135 | |||
136 | int | ||
137 | auth_rsa_challenge_dialog(Key *key) | ||
138 | { | ||
139 | BIGNUM *challenge, *encrypted_challenge; | ||
140 | u_char response[16]; | ||
141 | int i, success; | ||
142 | |||
143 | if ((encrypted_challenge = BN_new()) == NULL) | ||
144 | fatal("auth_rsa_challenge_dialog: BN_new() failed"); | ||
145 | |||
146 | challenge = PRIVSEP(auth_rsa_generate_challenge(key)); | ||
147 | |||
148 | /* Encrypt the challenge with the public key. */ | ||
149 | if (rsa_public_encrypt(encrypted_challenge, challenge, key->rsa) != 0) | ||
150 | fatal("%s: rsa_public_encrypt failed", __func__); | ||
151 | |||
152 | /* Send the encrypted challenge to the client. */ | ||
153 | packet_start(SSH_SMSG_AUTH_RSA_CHALLENGE); | ||
154 | packet_put_bignum(encrypted_challenge); | ||
155 | packet_send(); | ||
156 | BN_clear_free(encrypted_challenge); | ||
157 | packet_write_wait(); | ||
158 | |||
159 | /* Wait for a response. */ | ||
160 | packet_read_expect(SSH_CMSG_AUTH_RSA_RESPONSE); | ||
161 | for (i = 0; i < 16; i++) | ||
162 | response[i] = (u_char)packet_get_char(); | ||
163 | packet_check_eom(); | ||
164 | |||
165 | success = PRIVSEP(auth_rsa_verify_response(key, challenge, response)); | ||
166 | BN_clear_free(challenge); | ||
167 | return (success); | ||
168 | } | ||
169 | |||
170 | static int | ||
171 | rsa_key_allowed_in_file(struct passwd *pw, char *file, | ||
172 | const BIGNUM *client_n, Key **rkey) | ||
173 | { | ||
174 | char *fp, line[SSH_MAX_PUBKEY_BYTES]; | ||
175 | int allowed = 0, bits; | ||
176 | FILE *f; | ||
177 | u_long linenum = 0; | ||
178 | Key *key; | ||
179 | |||
180 | debug("trying public RSA key file %s", file); | ||
181 | if ((f = auth_openkeyfile(file, pw, options.strict_modes)) == NULL) | ||
182 | return 0; | ||
183 | |||
184 | /* | ||
185 | * Go though the accepted keys, looking for the current key. If | ||
186 | * found, perform a challenge-response dialog to verify that the | ||
187 | * user really has the corresponding private key. | ||
188 | */ | ||
189 | key = key_new(KEY_RSA1); | ||
190 | while (read_keyfile_line(f, file, line, sizeof(line), &linenum) != -1) { | ||
191 | char *cp; | ||
192 | char *key_options; | ||
193 | int keybits; | ||
194 | |||
195 | /* Skip leading whitespace, empty and comment lines. */ | ||
196 | for (cp = line; *cp == ' ' || *cp == '\t'; cp++) | ||
197 | ; | ||
198 | if (!*cp || *cp == '\n' || *cp == '#') | ||
199 | continue; | ||
200 | |||
201 | /* | ||
202 | * Check if there are options for this key, and if so, | ||
203 | * save their starting address and skip the option part | ||
204 | * for now. If there are no options, set the starting | ||
205 | * address to NULL. | ||
206 | */ | ||
207 | if (*cp < '0' || *cp > '9') { | ||
208 | int quoted = 0; | ||
209 | key_options = cp; | ||
210 | for (; *cp && (quoted || (*cp != ' ' && *cp != '\t')); cp++) { | ||
211 | if (*cp == '\\' && cp[1] == '"') | ||
212 | cp++; /* Skip both */ | ||
213 | else if (*cp == '"') | ||
214 | quoted = !quoted; | ||
215 | } | ||
216 | } else | ||
217 | key_options = NULL; | ||
218 | |||
219 | /* Parse the key from the line. */ | ||
220 | if (hostfile_read_key(&cp, &bits, key) == 0) { | ||
221 | debug("%.100s, line %lu: non ssh1 key syntax", | ||
222 | file, linenum); | ||
223 | continue; | ||
224 | } | ||
225 | /* cp now points to the comment part. */ | ||
226 | |||
227 | /* | ||
228 | * Check if the we have found the desired key (identified | ||
229 | * by its modulus). | ||
230 | */ | ||
231 | if (BN_cmp(key->rsa->n, client_n) != 0) | ||
232 | continue; | ||
233 | |||
234 | /* check the real bits */ | ||
235 | keybits = BN_num_bits(key->rsa->n); | ||
236 | if (keybits < 0 || bits != keybits) | ||
237 | logit("Warning: %s, line %lu: keysize mismatch: " | ||
238 | "actual %d vs. announced %d.", | ||
239 | file, linenum, BN_num_bits(key->rsa->n), bits); | ||
240 | |||
241 | if ((fp = sshkey_fingerprint(key, options.fingerprint_hash, | ||
242 | SSH_FP_DEFAULT)) == NULL) | ||
243 | continue; | ||
244 | debug("matching key found: file %s, line %lu %s %s", | ||
245 | file, linenum, key_type(key), fp); | ||
246 | free(fp); | ||
247 | |||
248 | /* Never accept a revoked key */ | ||
249 | if (auth_key_is_revoked(key)) | ||
250 | break; | ||
251 | |||
252 | /* We have found the desired key. */ | ||
253 | /* | ||
254 | * If our options do not allow this key to be used, | ||
255 | * do not send challenge. | ||
256 | */ | ||
257 | if (!auth_parse_options(pw, key_options, file, linenum)) | ||
258 | continue; | ||
259 | if (key_is_cert_authority) | ||
260 | continue; | ||
261 | /* break out, this key is allowed */ | ||
262 | allowed = 1; | ||
263 | break; | ||
264 | } | ||
265 | |||
266 | /* Close the file. */ | ||
267 | fclose(f); | ||
268 | |||
269 | /* return key if allowed */ | ||
270 | if (allowed && rkey != NULL) | ||
271 | *rkey = key; | ||
272 | else | ||
273 | key_free(key); | ||
274 | |||
275 | return allowed; | ||
276 | } | ||
277 | |||
278 | /* | ||
279 | * check if there's user key matching client_n, | ||
280 | * return key if login is allowed, NULL otherwise | ||
281 | */ | ||
282 | |||
283 | int | ||
284 | auth_rsa_key_allowed(struct passwd *pw, BIGNUM *client_n, Key **rkey) | ||
285 | { | ||
286 | char *file; | ||
287 | u_int i, allowed = 0; | ||
288 | |||
289 | temporarily_use_uid(pw); | ||
290 | |||
291 | for (i = 0; !allowed && i < options.num_authkeys_files; i++) { | ||
292 | if (strcasecmp(options.authorized_keys_files[i], "none") == 0) | ||
293 | continue; | ||
294 | file = expand_authorized_keys( | ||
295 | options.authorized_keys_files[i], pw); | ||
296 | allowed = rsa_key_allowed_in_file(pw, file, client_n, rkey); | ||
297 | free(file); | ||
298 | } | ||
299 | |||
300 | restore_uid(); | ||
301 | |||
302 | return allowed; | ||
303 | } | ||
304 | |||
305 | /* | ||
306 | * Performs the RSA authentication dialog with the client. This returns | ||
307 | * 0 if the client could not be authenticated, and 1 if authentication was | ||
308 | * successful. This may exit if there is a serious protocol violation. | ||
309 | */ | ||
310 | int | ||
311 | auth_rsa(Authctxt *authctxt, BIGNUM *client_n) | ||
312 | { | ||
313 | Key *key; | ||
314 | struct passwd *pw = authctxt->pw; | ||
315 | |||
316 | /* no user given */ | ||
317 | if (!authctxt->valid) | ||
318 | return 0; | ||
319 | |||
320 | if (!PRIVSEP(auth_rsa_key_allowed(pw, client_n, &key))) { | ||
321 | auth_clear_options(); | ||
322 | return (0); | ||
323 | } | ||
324 | |||
325 | /* Perform the challenge-response dialog for this key. */ | ||
326 | if (!auth_rsa_challenge_dialog(key)) { | ||
327 | /* Wrong response. */ | ||
328 | verbose("Wrong response to RSA authentication challenge."); | ||
329 | packet_send_debug("Wrong response to RSA authentication challenge."); | ||
330 | /* | ||
331 | * Break out of the loop. Otherwise we might send | ||
332 | * another challenge and break the protocol. | ||
333 | */ | ||
334 | key_free(key); | ||
335 | return (0); | ||
336 | } | ||
337 | /* | ||
338 | * Correct response. The client has been successfully | ||
339 | * authenticated. Note that we have not yet processed the | ||
340 | * options; this will be reset if the options cause the | ||
341 | * authentication to be rejected. | ||
342 | */ | ||
343 | pubkey_auth_info(authctxt, key, NULL); | ||
344 | |||
345 | packet_send_debug("RSA authentication accepted."); | ||
346 | return (1); | ||
347 | } | ||
348 | |||
349 | #endif /* WITH_SSH1 */ | ||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: auth.c,v 1.115 2016/06/15 00:40:40 dtucker Exp $ */ | 1 | /* $OpenBSD: auth.c,v 1.119 2016/12/15 21:29:05 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -103,6 +103,7 @@ allowed_user(struct passwd * pw) | |||
103 | struct stat st; | 103 | struct stat st; |
104 | const char *hostname = NULL, *ipaddr = NULL, *passwd = NULL; | 104 | const char *hostname = NULL, *ipaddr = NULL, *passwd = NULL; |
105 | u_int i; | 105 | u_int i; |
106 | int r; | ||
106 | #ifdef USE_SHADOW | 107 | #ifdef USE_SHADOW |
107 | struct spwd *spw = NULL; | 108 | struct spwd *spw = NULL; |
108 | #endif | 109 | #endif |
@@ -191,21 +192,31 @@ allowed_user(struct passwd * pw) | |||
191 | 192 | ||
192 | /* Return false if user is listed in DenyUsers */ | 193 | /* Return false if user is listed in DenyUsers */ |
193 | if (options.num_deny_users > 0) { | 194 | if (options.num_deny_users > 0) { |
194 | for (i = 0; i < options.num_deny_users; i++) | 195 | for (i = 0; i < options.num_deny_users; i++) { |
195 | if (match_user(pw->pw_name, hostname, ipaddr, | 196 | r = match_user(pw->pw_name, hostname, ipaddr, |
196 | options.deny_users[i])) { | 197 | options.deny_users[i]); |
198 | if (r < 0) { | ||
199 | fatal("Invalid DenyUsers pattern \"%.100s\"", | ||
200 | options.deny_users[i]); | ||
201 | } else if (r != 0) { | ||
197 | logit("User %.100s from %.100s not allowed " | 202 | logit("User %.100s from %.100s not allowed " |
198 | "because listed in DenyUsers", | 203 | "because listed in DenyUsers", |
199 | pw->pw_name, hostname); | 204 | pw->pw_name, hostname); |
200 | return 0; | 205 | return 0; |
201 | } | 206 | } |
207 | } | ||
202 | } | 208 | } |
203 | /* Return false if AllowUsers isn't empty and user isn't listed there */ | 209 | /* Return false if AllowUsers isn't empty and user isn't listed there */ |
204 | if (options.num_allow_users > 0) { | 210 | if (options.num_allow_users > 0) { |
205 | for (i = 0; i < options.num_allow_users; i++) | 211 | for (i = 0; i < options.num_allow_users; i++) { |
206 | if (match_user(pw->pw_name, hostname, ipaddr, | 212 | r = match_user(pw->pw_name, hostname, ipaddr, |
207 | options.allow_users[i])) | 213 | options.allow_users[i]); |
214 | if (r < 0) { | ||
215 | fatal("Invalid AllowUsers pattern \"%.100s\"", | ||
216 | options.allow_users[i]); | ||
217 | } else if (r == 1) | ||
208 | break; | 218 | break; |
219 | } | ||
209 | /* i < options.num_allow_users iff we break for loop */ | 220 | /* i < options.num_allow_users iff we break for loop */ |
210 | if (i >= options.num_allow_users) { | 221 | if (i >= options.num_allow_users) { |
211 | logit("User %.100s from %.100s not allowed because " | 222 | logit("User %.100s from %.100s not allowed because " |
@@ -298,7 +309,7 @@ auth_log(Authctxt *authctxt, int authenticated, int partial, | |||
298 | else | 309 | else |
299 | authmsg = authenticated ? "Accepted" : "Failed"; | 310 | authmsg = authenticated ? "Accepted" : "Failed"; |
300 | 311 | ||
301 | authlog("%s %s%s%s for %s%.100s from %.200s port %d %s%s%s", | 312 | authlog("%s %s%s%s for %s%.100s from %.200s port %d ssh2%s%s", |
302 | authmsg, | 313 | authmsg, |
303 | method, | 314 | method, |
304 | submethod != NULL ? "/" : "", submethod == NULL ? "" : submethod, | 315 | submethod != NULL ? "/" : "", submethod == NULL ? "" : submethod, |
@@ -306,7 +317,6 @@ auth_log(Authctxt *authctxt, int authenticated, int partial, | |||
306 | authctxt->user, | 317 | authctxt->user, |
307 | ssh_remote_ipaddr(ssh), | 318 | ssh_remote_ipaddr(ssh), |
308 | ssh_remote_port(ssh), | 319 | ssh_remote_port(ssh), |
309 | compat20 ? "ssh2" : "ssh1", | ||
310 | authctxt->info != NULL ? ": " : "", | 320 | authctxt->info != NULL ? ": " : "", |
311 | authctxt->info != NULL ? authctxt->info : ""); | 321 | authctxt->info != NULL ? authctxt->info : ""); |
312 | free(authctxt->info); | 322 | free(authctxt->info); |
@@ -339,12 +349,11 @@ auth_maxtries_exceeded(Authctxt *authctxt) | |||
339 | struct ssh *ssh = active_state; /* XXX */ | 349 | struct ssh *ssh = active_state; /* XXX */ |
340 | 350 | ||
341 | error("maximum authentication attempts exceeded for " | 351 | error("maximum authentication attempts exceeded for " |
342 | "%s%.100s from %.200s port %d %s", | 352 | "%s%.100s from %.200s port %d ssh2", |
343 | authctxt->valid ? "" : "invalid user ", | 353 | authctxt->valid ? "" : "invalid user ", |
344 | authctxt->user, | 354 | authctxt->user, |
345 | ssh_remote_ipaddr(ssh), | 355 | ssh_remote_ipaddr(ssh), |
346 | ssh_remote_port(ssh), | 356 | ssh_remote_port(ssh)); |
347 | compat20 ? "ssh2" : "ssh1"); | ||
348 | packet_disconnect("Too many authentication failures"); | 357 | packet_disconnect("Too many authentication failures"); |
349 | /* NOTREACHED */ | 358 | /* NOTREACHED */ |
350 | } | 359 | } |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: auth.h,v 1.88 2016/05/04 14:04:40 markus Exp $ */ | 1 | /* $OpenBSD: auth.h,v 1.89 2016/08/13 17:47:41 markus Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 4 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
@@ -112,20 +112,11 @@ struct KbdintDevice | |||
112 | void (*free_ctx)(void *ctx); | 112 | void (*free_ctx)(void *ctx); |
113 | }; | 113 | }; |
114 | 114 | ||
115 | int auth_rhosts(struct passwd *, const char *); | ||
116 | int | 115 | int |
117 | auth_rhosts2(struct passwd *, const char *, const char *, const char *); | 116 | auth_rhosts2(struct passwd *, const char *, const char *, const char *); |
118 | 117 | ||
119 | int auth_rhosts_rsa(Authctxt *, char *, Key *); | ||
120 | int auth_password(Authctxt *, const char *); | 118 | int auth_password(Authctxt *, const char *); |
121 | int auth_rsa(Authctxt *, BIGNUM *); | 119 | |
122 | int auth_rsa_challenge_dialog(Key *); | ||
123 | BIGNUM *auth_rsa_generate_challenge(Key *); | ||
124 | int auth_rsa_verify_response(Key *, BIGNUM *, u_char[]); | ||
125 | int auth_rsa_key_allowed(struct passwd *, BIGNUM *, Key **); | ||
126 | |||
127 | int auth_rhosts_rsa_key_allowed(struct passwd *, const char *, | ||
128 | const char *, Key *); | ||
129 | int hostbased_key_allowed(struct passwd *, const char *, char *, Key *); | 120 | int hostbased_key_allowed(struct passwd *, const char *, char *, Key *); |
130 | int user_key_allowed(struct passwd *, Key *, int); | 121 | int user_key_allowed(struct passwd *, Key *, int); |
131 | void pubkey_auth_info(Authctxt *, const Key *, const char *, ...) | 122 | void pubkey_auth_info(Authctxt *, const Key *, const char *, ...) |
@@ -156,7 +147,6 @@ void remove_kbdint_device(const char *); | |||
156 | 147 | ||
157 | void disable_forwarding(void); | 148 | void disable_forwarding(void); |
158 | 149 | ||
159 | void do_authentication(Authctxt *); | ||
160 | void do_authentication2(Authctxt *); | 150 | void do_authentication2(Authctxt *); |
161 | 151 | ||
162 | void auth_info(Authctxt *authctxt, const char *, ...) | 152 | void auth_info(Authctxt *authctxt, const char *, ...) |
@@ -187,10 +177,6 @@ int skey_respond(void *, u_int, char **); | |||
187 | int allowed_user(struct passwd *); | 177 | int allowed_user(struct passwd *); |
188 | struct passwd * getpwnamallow(const char *user); | 178 | struct passwd * getpwnamallow(const char *user); |
189 | 179 | ||
190 | char *get_challenge(Authctxt *); | ||
191 | int verify_response(Authctxt *, const char *); | ||
192 | void abandon_challenge_response(Authctxt *); | ||
193 | |||
194 | char *expand_authorized_keys(const char *, struct passwd *pw); | 180 | char *expand_authorized_keys(const char *, struct passwd *pw); |
195 | char *authorized_principals_file(struct passwd *); | 181 | char *authorized_principals_file(struct passwd *); |
196 | 182 | ||
@@ -210,7 +196,6 @@ Key *get_hostkey_public_by_index(int, struct ssh *); | |||
210 | Key *get_hostkey_public_by_type(int, int, struct ssh *); | 196 | Key *get_hostkey_public_by_type(int, int, struct ssh *); |
211 | Key *get_hostkey_private_by_type(int, int, struct ssh *); | 197 | Key *get_hostkey_private_by_type(int, int, struct ssh *); |
212 | int get_hostkey_index(Key *, int, struct ssh *); | 198 | int get_hostkey_index(Key *, int, struct ssh *); |
213 | int ssh1_session_key(BIGNUM *); | ||
214 | int sshd_hostkey_sign(Key *, Key *, u_char **, size_t *, | 199 | int sshd_hostkey_sign(Key *, Key *, u_char **, size_t *, |
215 | const u_char *, size_t, const char *, u_int); | 200 | const u_char *, size_t, const char *, u_int); |
216 | 201 | ||
diff --git a/auth1.c b/auth1.c deleted file mode 100644 index 5073c49bb..000000000 --- a/auth1.c +++ /dev/null | |||
@@ -1,444 +0,0 @@ | |||
1 | /* $OpenBSD: auth1.c,v 1.82 2014/07/15 15:54:14 millert Exp $ */ | ||
2 | /* | ||
3 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | ||
4 | * All rights reserved | ||
5 | * | ||
6 | * As far as I am concerned, the code I have written for this software | ||
7 | * can be used freely for any purpose. Any derived versions of this | ||
8 | * software must be clearly marked as such, and if the derived work is | ||
9 | * incompatible with the protocol description in the RFC file, it must be | ||
10 | * called by a name other than "ssh" or "Secure Shell". | ||
11 | */ | ||
12 | |||
13 | #include "includes.h" | ||
14 | |||
15 | #ifdef WITH_SSH1 | ||
16 | |||
17 | #include <sys/types.h> | ||
18 | |||
19 | #include <stdarg.h> | ||
20 | #include <stdio.h> | ||
21 | #include <string.h> | ||
22 | #include <unistd.h> | ||
23 | #include <pwd.h> | ||
24 | |||
25 | #include "openbsd-compat/sys-queue.h" | ||
26 | #include "xmalloc.h" | ||
27 | #include "rsa.h" | ||
28 | #include "ssh1.h" | ||
29 | #include "packet.h" | ||
30 | #include "buffer.h" | ||
31 | #include "log.h" | ||
32 | #include "misc.h" | ||
33 | #include "servconf.h" | ||
34 | #include "compat.h" | ||
35 | #include "key.h" | ||
36 | #include "hostfile.h" | ||
37 | #include "auth.h" | ||
38 | #include "channels.h" | ||
39 | #include "session.h" | ||
40 | #include "uidswap.h" | ||
41 | #ifdef GSSAPI | ||
42 | #include "ssh-gss.h" | ||
43 | #endif | ||
44 | #include "monitor_wrap.h" | ||
45 | #include "buffer.h" | ||
46 | |||
47 | /* import */ | ||
48 | extern ServerOptions options; | ||
49 | extern Buffer loginmsg; | ||
50 | |||
51 | static int auth1_process_password(Authctxt *); | ||
52 | static int auth1_process_rsa(Authctxt *); | ||
53 | static int auth1_process_rhosts_rsa(Authctxt *); | ||
54 | static int auth1_process_tis_challenge(Authctxt *); | ||
55 | static int auth1_process_tis_response(Authctxt *); | ||
56 | |||
57 | static char *client_user = NULL; /* Used to fill in remote user for PAM */ | ||
58 | |||
59 | struct AuthMethod1 { | ||
60 | int type; | ||
61 | char *name; | ||
62 | int *enabled; | ||
63 | int (*method)(Authctxt *); | ||
64 | }; | ||
65 | |||
66 | const struct AuthMethod1 auth1_methods[] = { | ||
67 | { | ||
68 | SSH_CMSG_AUTH_PASSWORD, "password", | ||
69 | &options.password_authentication, auth1_process_password | ||
70 | }, | ||
71 | { | ||
72 | SSH_CMSG_AUTH_RSA, "rsa", | ||
73 | &options.rsa_authentication, auth1_process_rsa | ||
74 | }, | ||
75 | { | ||
76 | SSH_CMSG_AUTH_RHOSTS_RSA, "rhosts-rsa", | ||
77 | &options.rhosts_rsa_authentication, auth1_process_rhosts_rsa | ||
78 | }, | ||
79 | { | ||
80 | SSH_CMSG_AUTH_TIS, "challenge-response", | ||
81 | &options.challenge_response_authentication, | ||
82 | auth1_process_tis_challenge | ||
83 | }, | ||
84 | { | ||
85 | SSH_CMSG_AUTH_TIS_RESPONSE, "challenge-response", | ||
86 | &options.challenge_response_authentication, | ||
87 | auth1_process_tis_response | ||
88 | }, | ||
89 | { -1, NULL, NULL, NULL} | ||
90 | }; | ||
91 | |||
92 | static const struct AuthMethod1 | ||
93 | *lookup_authmethod1(int type) | ||
94 | { | ||
95 | int i; | ||
96 | |||
97 | for (i = 0; auth1_methods[i].name != NULL; i++) | ||
98 | if (auth1_methods[i].type == type) | ||
99 | return (&(auth1_methods[i])); | ||
100 | |||
101 | return (NULL); | ||
102 | } | ||
103 | |||
104 | static char * | ||
105 | get_authname(int type) | ||
106 | { | ||
107 | const struct AuthMethod1 *a; | ||
108 | static char buf[64]; | ||
109 | |||
110 | if ((a = lookup_authmethod1(type)) != NULL) | ||
111 | return (a->name); | ||
112 | snprintf(buf, sizeof(buf), "bad-auth-msg-%d", type); | ||
113 | return (buf); | ||
114 | } | ||
115 | |||
116 | /*ARGSUSED*/ | ||
117 | static int | ||
118 | auth1_process_password(Authctxt *authctxt) | ||
119 | { | ||
120 | int authenticated = 0; | ||
121 | char *password; | ||
122 | u_int dlen; | ||
123 | |||
124 | /* | ||
125 | * Read user password. It is in plain text, but was | ||
126 | * transmitted over the encrypted channel so it is | ||
127 | * not visible to an outside observer. | ||
128 | */ | ||
129 | password = packet_get_string(&dlen); | ||
130 | packet_check_eom(); | ||
131 | |||
132 | /* Try authentication with the password. */ | ||
133 | authenticated = PRIVSEP(auth_password(authctxt, password)); | ||
134 | |||
135 | explicit_bzero(password, dlen); | ||
136 | free(password); | ||
137 | |||
138 | return (authenticated); | ||
139 | } | ||
140 | |||
141 | /*ARGSUSED*/ | ||
142 | static int | ||
143 | auth1_process_rsa(Authctxt *authctxt) | ||
144 | { | ||
145 | int authenticated = 0; | ||
146 | BIGNUM *n; | ||
147 | |||
148 | /* RSA authentication requested. */ | ||
149 | if ((n = BN_new()) == NULL) | ||
150 | fatal("do_authloop: BN_new failed"); | ||
151 | packet_get_bignum(n); | ||
152 | packet_check_eom(); | ||
153 | authenticated = auth_rsa(authctxt, n); | ||
154 | BN_clear_free(n); | ||
155 | |||
156 | return (authenticated); | ||
157 | } | ||
158 | |||
159 | /*ARGSUSED*/ | ||
160 | static int | ||
161 | auth1_process_rhosts_rsa(Authctxt *authctxt) | ||
162 | { | ||
163 | int keybits, authenticated = 0; | ||
164 | u_int bits; | ||
165 | Key *client_host_key; | ||
166 | u_int ulen; | ||
167 | |||
168 | /* | ||
169 | * Get client user name. Note that we just have to | ||
170 | * trust the client; root on the client machine can | ||
171 | * claim to be any user. | ||
172 | */ | ||
173 | client_user = packet_get_cstring(&ulen); | ||
174 | |||
175 | /* Get the client host key. */ | ||
176 | client_host_key = key_new(KEY_RSA1); | ||
177 | bits = packet_get_int(); | ||
178 | packet_get_bignum(client_host_key->rsa->e); | ||
179 | packet_get_bignum(client_host_key->rsa->n); | ||
180 | |||
181 | keybits = BN_num_bits(client_host_key->rsa->n); | ||
182 | if (keybits < 0 || bits != (u_int)keybits) { | ||
183 | verbose("Warning: keysize mismatch for client_host_key: " | ||
184 | "actual %d, announced %d", | ||
185 | BN_num_bits(client_host_key->rsa->n), bits); | ||
186 | } | ||
187 | packet_check_eom(); | ||
188 | |||
189 | authenticated = auth_rhosts_rsa(authctxt, client_user, | ||
190 | client_host_key); | ||
191 | key_free(client_host_key); | ||
192 | |||
193 | auth_info(authctxt, "ruser %.100s", client_user); | ||
194 | |||
195 | return (authenticated); | ||
196 | } | ||
197 | |||
198 | /*ARGSUSED*/ | ||
199 | static int | ||
200 | auth1_process_tis_challenge(Authctxt *authctxt) | ||
201 | { | ||
202 | char *challenge; | ||
203 | |||
204 | if ((challenge = get_challenge(authctxt)) == NULL) | ||
205 | return (0); | ||
206 | |||
207 | debug("sending challenge '%s'", challenge); | ||
208 | packet_start(SSH_SMSG_AUTH_TIS_CHALLENGE); | ||
209 | packet_put_cstring(challenge); | ||
210 | free(challenge); | ||
211 | packet_send(); | ||
212 | packet_write_wait(); | ||
213 | |||
214 | return (-1); | ||
215 | } | ||
216 | |||
217 | /*ARGSUSED*/ | ||
218 | static int | ||
219 | auth1_process_tis_response(Authctxt *authctxt) | ||
220 | { | ||
221 | int authenticated = 0; | ||
222 | char *response; | ||
223 | u_int dlen; | ||
224 | |||
225 | response = packet_get_string(&dlen); | ||
226 | packet_check_eom(); | ||
227 | authenticated = verify_response(authctxt, response); | ||
228 | explicit_bzero(response, dlen); | ||
229 | free(response); | ||
230 | |||
231 | return (authenticated); | ||
232 | } | ||
233 | |||
234 | /* | ||
235 | * read packets, try to authenticate the user and | ||
236 | * return only if authentication is successful | ||
237 | */ | ||
238 | static void | ||
239 | do_authloop(Authctxt *authctxt) | ||
240 | { | ||
241 | int authenticated = 0; | ||
242 | int prev = 0, type = 0; | ||
243 | const struct AuthMethod1 *meth; | ||
244 | |||
245 | debug("Attempting authentication for %s%.100s.", | ||
246 | authctxt->valid ? "" : "invalid user ", authctxt->user); | ||
247 | |||
248 | /* If the user has no password, accept authentication immediately. */ | ||
249 | if (options.permit_empty_passwd && options.password_authentication && | ||
250 | #ifdef KRB5 | ||
251 | (!options.kerberos_authentication || options.kerberos_or_local_passwd) && | ||
252 | #endif | ||
253 | PRIVSEP(auth_password(authctxt, ""))) { | ||
254 | #ifdef USE_PAM | ||
255 | if (options.use_pam && (PRIVSEP(do_pam_account()))) | ||
256 | #endif | ||
257 | { | ||
258 | auth_log(authctxt, 1, 0, "without authentication", | ||
259 | NULL); | ||
260 | return; | ||
261 | } | ||
262 | } | ||
263 | |||
264 | /* Indicate that authentication is needed. */ | ||
265 | packet_start(SSH_SMSG_FAILURE); | ||
266 | packet_send(); | ||
267 | packet_write_wait(); | ||
268 | |||
269 | for (;;) { | ||
270 | /* default to fail */ | ||
271 | authenticated = 0; | ||
272 | |||
273 | |||
274 | /* Get a packet from the client. */ | ||
275 | prev = type; | ||
276 | type = packet_read(); | ||
277 | |||
278 | /* | ||
279 | * If we started challenge-response authentication but the | ||
280 | * next packet is not a response to our challenge, release | ||
281 | * the resources allocated by get_challenge() (which would | ||
282 | * normally have been released by verify_response() had we | ||
283 | * received such a response) | ||
284 | */ | ||
285 | if (prev == SSH_CMSG_AUTH_TIS && | ||
286 | type != SSH_CMSG_AUTH_TIS_RESPONSE) | ||
287 | abandon_challenge_response(authctxt); | ||
288 | |||
289 | if (authctxt->failures >= options.max_authtries) | ||
290 | goto skip; | ||
291 | if ((meth = lookup_authmethod1(type)) == NULL) { | ||
292 | logit("Unknown message during authentication: " | ||
293 | "type %d", type); | ||
294 | goto skip; | ||
295 | } | ||
296 | |||
297 | if (!*(meth->enabled)) { | ||
298 | verbose("%s authentication disabled.", meth->name); | ||
299 | goto skip; | ||
300 | } | ||
301 | |||
302 | authenticated = meth->method(authctxt); | ||
303 | if (authenticated == -1) | ||
304 | continue; /* "postponed" */ | ||
305 | |||
306 | #ifdef BSD_AUTH | ||
307 | if (authctxt->as) { | ||
308 | auth_close(authctxt->as); | ||
309 | authctxt->as = NULL; | ||
310 | } | ||
311 | #endif | ||
312 | if (!authctxt->valid && authenticated) | ||
313 | fatal("INTERNAL ERROR: authenticated invalid user %s", | ||
314 | authctxt->user); | ||
315 | |||
316 | #ifdef _UNICOS | ||
317 | if (authenticated && cray_access_denied(authctxt->user)) { | ||
318 | authenticated = 0; | ||
319 | fatal("Access denied for user %s.",authctxt->user); | ||
320 | } | ||
321 | #endif /* _UNICOS */ | ||
322 | |||
323 | #ifndef HAVE_CYGWIN | ||
324 | /* Special handling for root */ | ||
325 | if (authenticated && authctxt->pw->pw_uid == 0 && | ||
326 | !auth_root_allowed(meth->name)) { | ||
327 | authenticated = 0; | ||
328 | # ifdef SSH_AUDIT_EVENTS | ||
329 | PRIVSEP(audit_event(SSH_LOGIN_ROOT_DENIED)); | ||
330 | # endif | ||
331 | } | ||
332 | #endif | ||
333 | |||
334 | #ifdef USE_PAM | ||
335 | if (options.use_pam && authenticated && | ||
336 | !PRIVSEP(do_pam_account())) { | ||
337 | char *msg; | ||
338 | size_t len; | ||
339 | |||
340 | error("Access denied for user %s by PAM account " | ||
341 | "configuration", authctxt->user); | ||
342 | len = buffer_len(&loginmsg); | ||
343 | buffer_append(&loginmsg, "\0", 1); | ||
344 | msg = buffer_ptr(&loginmsg); | ||
345 | /* strip trailing newlines */ | ||
346 | if (len > 0) | ||
347 | while (len > 0 && msg[--len] == '\n') | ||
348 | msg[len] = '\0'; | ||
349 | else | ||
350 | msg = "Access denied."; | ||
351 | packet_disconnect("%s", msg); | ||
352 | } | ||
353 | #endif | ||
354 | |||
355 | skip: | ||
356 | /* Log before sending the reply */ | ||
357 | auth_log(authctxt, authenticated, 0, get_authname(type), NULL); | ||
358 | |||
359 | free(client_user); | ||
360 | client_user = NULL; | ||
361 | |||
362 | if (authenticated) | ||
363 | return; | ||
364 | |||
365 | if (++authctxt->failures >= options.max_authtries) { | ||
366 | #ifdef SSH_AUDIT_EVENTS | ||
367 | PRIVSEP(audit_event(SSH_LOGIN_EXCEED_MAXTRIES)); | ||
368 | #endif | ||
369 | auth_maxtries_exceeded(authctxt); | ||
370 | } | ||
371 | |||
372 | packet_start(SSH_SMSG_FAILURE); | ||
373 | packet_send(); | ||
374 | packet_write_wait(); | ||
375 | } | ||
376 | } | ||
377 | |||
378 | /* | ||
379 | * Performs authentication of an incoming connection. Session key has already | ||
380 | * been exchanged and encryption is enabled. | ||
381 | */ | ||
382 | void | ||
383 | do_authentication(Authctxt *authctxt) | ||
384 | { | ||
385 | u_int ulen; | ||
386 | char *user, *style = NULL; | ||
387 | |||
388 | /* Get the name of the user that we wish to log in as. */ | ||
389 | packet_read_expect(SSH_CMSG_USER); | ||
390 | |||
391 | /* Get the user name. */ | ||
392 | user = packet_get_cstring(&ulen); | ||
393 | packet_check_eom(); | ||
394 | |||
395 | if ((style = strchr(user, ':')) != NULL) | ||
396 | *style++ = '\0'; | ||
397 | |||
398 | authctxt->user = user; | ||
399 | authctxt->style = style; | ||
400 | |||
401 | /* Verify that the user is a valid user. */ | ||
402 | if ((authctxt->pw = PRIVSEP(getpwnamallow(user))) != NULL) | ||
403 | authctxt->valid = 1; | ||
404 | else { | ||
405 | debug("do_authentication: invalid user %s", user); | ||
406 | authctxt->pw = fakepw(); | ||
407 | } | ||
408 | |||
409 | /* Configuration may have changed as a result of Match */ | ||
410 | if (options.num_auth_methods != 0) | ||
411 | fatal("AuthenticationMethods is not supported with SSH " | ||
412 | "protocol 1"); | ||
413 | |||
414 | setproctitle("%s%s", authctxt->valid ? user : "unknown", | ||
415 | use_privsep ? " [net]" : ""); | ||
416 | |||
417 | #ifdef USE_PAM | ||
418 | if (options.use_pam) | ||
419 | PRIVSEP(start_pam(authctxt)); | ||
420 | #endif | ||
421 | |||
422 | /* | ||
423 | * If we are not running as root, the user must have the same uid as | ||
424 | * the server. | ||
425 | */ | ||
426 | #ifndef HAVE_CYGWIN | ||
427 | if (!use_privsep && getuid() != 0 && authctxt->pw && | ||
428 | authctxt->pw->pw_uid != getuid()) | ||
429 | packet_disconnect("Cannot change user when server not running as root."); | ||
430 | #endif | ||
431 | |||
432 | /* | ||
433 | * Loop until the user has been authenticated or the connection is | ||
434 | * closed, do_authloop() returns only if authentication is successful | ||
435 | */ | ||
436 | do_authloop(authctxt); | ||
437 | |||
438 | /* The user has been authenticated and accepted. */ | ||
439 | packet_start(SSH_SMSG_SUCCESS); | ||
440 | packet_send(); | ||
441 | packet_write_wait(); | ||
442 | } | ||
443 | |||
444 | #endif /* WITH_SSH1 */ | ||
diff --git a/auth2-pubkey.c b/auth2-pubkey.c index 41b34aed2..20f3309e1 100644 --- a/auth2-pubkey.c +++ b/auth2-pubkey.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: auth2-pubkey.c,v 1.55 2016/01/27 00:53:12 djm Exp $ */ | 1 | /* $OpenBSD: auth2-pubkey.c,v 1.60 2016/11/30 02:57:40 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -560,7 +560,7 @@ match_principals_option(const char *principal_list, struct sshkey_cert *cert) | |||
560 | 560 | ||
561 | static int | 561 | static int |
562 | process_principals(FILE *f, char *file, struct passwd *pw, | 562 | process_principals(FILE *f, char *file, struct passwd *pw, |
563 | struct sshkey_cert *cert) | 563 | const struct sshkey_cert *cert) |
564 | { | 564 | { |
565 | char line[SSH_MAX_PUBKEY_BYTES], *cp, *ep, *line_opts; | 565 | char line[SSH_MAX_PUBKEY_BYTES], *cp, *ep, *line_opts; |
566 | u_long linenum = 0; | 566 | u_long linenum = 0; |
@@ -629,14 +629,17 @@ match_principals_file(char *file, struct passwd *pw, struct sshkey_cert *cert) | |||
629 | * returns 1 if the principal is allowed or 0 otherwise. | 629 | * returns 1 if the principal is allowed or 0 otherwise. |
630 | */ | 630 | */ |
631 | static int | 631 | static int |
632 | match_principals_command(struct passwd *user_pw, struct sshkey_cert *cert) | 632 | match_principals_command(struct passwd *user_pw, const struct sshkey *key) |
633 | { | 633 | { |
634 | const struct sshkey_cert *cert = key->cert; | ||
634 | FILE *f = NULL; | 635 | FILE *f = NULL; |
635 | int ok, found_principal = 0; | 636 | int r, ok, found_principal = 0; |
636 | struct passwd *pw; | 637 | struct passwd *pw; |
637 | int i, ac = 0, uid_swapped = 0; | 638 | int i, ac = 0, uid_swapped = 0; |
638 | pid_t pid; | 639 | pid_t pid; |
639 | char *tmp, *username = NULL, *command = NULL, **av = NULL; | 640 | char *tmp, *username = NULL, *command = NULL, **av = NULL; |
641 | char *ca_fp = NULL, *key_fp = NULL, *catext = NULL, *keytext = NULL; | ||
642 | char serial_s[16]; | ||
640 | void (*osigchld)(int); | 643 | void (*osigchld)(int); |
641 | 644 | ||
642 | if (options.authorized_principals_command == NULL) | 645 | if (options.authorized_principals_command == NULL) |
@@ -674,10 +677,38 @@ match_principals_command(struct passwd *user_pw, struct sshkey_cert *cert) | |||
674 | command); | 677 | command); |
675 | goto out; | 678 | goto out; |
676 | } | 679 | } |
680 | if ((ca_fp = sshkey_fingerprint(cert->signature_key, | ||
681 | options.fingerprint_hash, SSH_FP_DEFAULT)) == NULL) { | ||
682 | error("%s: sshkey_fingerprint failed", __func__); | ||
683 | goto out; | ||
684 | } | ||
685 | if ((key_fp = sshkey_fingerprint(key, | ||
686 | options.fingerprint_hash, SSH_FP_DEFAULT)) == NULL) { | ||
687 | error("%s: sshkey_fingerprint failed", __func__); | ||
688 | goto out; | ||
689 | } | ||
690 | if ((r = sshkey_to_base64(cert->signature_key, &catext)) != 0) { | ||
691 | error("%s: sshkey_to_base64 failed: %s", __func__, ssh_err(r)); | ||
692 | goto out; | ||
693 | } | ||
694 | if ((r = sshkey_to_base64(key, &keytext)) != 0) { | ||
695 | error("%s: sshkey_to_base64 failed: %s", __func__, ssh_err(r)); | ||
696 | goto out; | ||
697 | } | ||
698 | snprintf(serial_s, sizeof(serial_s), "%llu", | ||
699 | (unsigned long long)cert->serial); | ||
677 | for (i = 1; i < ac; i++) { | 700 | for (i = 1; i < ac; i++) { |
678 | tmp = percent_expand(av[i], | 701 | tmp = percent_expand(av[i], |
679 | "u", user_pw->pw_name, | 702 | "u", user_pw->pw_name, |
680 | "h", user_pw->pw_dir, | 703 | "h", user_pw->pw_dir, |
704 | "t", sshkey_ssh_name(key), | ||
705 | "T", sshkey_ssh_name(cert->signature_key), | ||
706 | "f", key_fp, | ||
707 | "F", ca_fp, | ||
708 | "k", keytext, | ||
709 | "K", catext, | ||
710 | "i", cert->key_id, | ||
711 | "s", serial_s, | ||
681 | (char *)NULL); | 712 | (char *)NULL); |
682 | if (tmp == NULL) | 713 | if (tmp == NULL) |
683 | fatal("%s: percent_expand failed", __func__); | 714 | fatal("%s: percent_expand failed", __func__); |
@@ -712,6 +743,10 @@ match_principals_command(struct passwd *user_pw, struct sshkey_cert *cert) | |||
712 | restore_uid(); | 743 | restore_uid(); |
713 | free(command); | 744 | free(command); |
714 | free(username); | 745 | free(username); |
746 | free(ca_fp); | ||
747 | free(key_fp); | ||
748 | free(catext); | ||
749 | free(keytext); | ||
715 | return found_principal; | 750 | return found_principal; |
716 | } | 751 | } |
717 | /* | 752 | /* |
@@ -722,17 +757,17 @@ static int | |||
722 | check_authkeys_file(FILE *f, char *file, Key* key, struct passwd *pw) | 757 | check_authkeys_file(FILE *f, char *file, Key* key, struct passwd *pw) |
723 | { | 758 | { |
724 | char line[SSH_MAX_PUBKEY_BYTES]; | 759 | char line[SSH_MAX_PUBKEY_BYTES]; |
725 | const char *reason; | ||
726 | int found_key = 0; | 760 | int found_key = 0; |
727 | u_long linenum = 0; | 761 | u_long linenum = 0; |
728 | Key *found; | 762 | Key *found; |
729 | char *fp; | ||
730 | 763 | ||
731 | found_key = 0; | 764 | found_key = 0; |
732 | 765 | ||
733 | found = NULL; | 766 | found = NULL; |
734 | while (read_keyfile_line(f, file, line, sizeof(line), &linenum) != -1) { | 767 | while (read_keyfile_line(f, file, line, sizeof(line), &linenum) != -1) { |
735 | char *cp, *key_options = NULL; | 768 | char *cp, *key_options = NULL, *fp = NULL; |
769 | const char *reason = NULL; | ||
770 | |||
736 | if (found != NULL) | 771 | if (found != NULL) |
737 | key_free(found); | 772 | key_free(found); |
738 | found = key_new(key_is_cert(key) ? KEY_UNSPEC : key->type); | 773 | found = key_new(key_is_cert(key) ? KEY_UNSPEC : key->type); |
@@ -797,10 +832,8 @@ check_authkeys_file(FILE *f, char *file, Key* key, struct passwd *pw) | |||
797 | authorized_principals == NULL ? pw->pw_name : NULL, | 832 | authorized_principals == NULL ? pw->pw_name : NULL, |
798 | &reason) != 0) | 833 | &reason) != 0) |
799 | goto fail_reason; | 834 | goto fail_reason; |
800 | if (auth_cert_options(key, pw) != 0) { | 835 | if (auth_cert_options(key, pw, &reason) != 0) |
801 | free(fp); | 836 | goto fail_reason; |
802 | continue; | ||
803 | } | ||
804 | verbose("Accepted certificate ID \"%s\" (serial %llu) " | 837 | verbose("Accepted certificate ID \"%s\" (serial %llu) " |
805 | "signed by %s CA %s via %s", key->cert->key_id, | 838 | "signed by %s CA %s via %s", key->cert->key_id, |
806 | (unsigned long long)key->cert->serial, | 839 | (unsigned long long)key->cert->serial, |
@@ -863,7 +896,7 @@ user_cert_trusted_ca(struct passwd *pw, Key *key) | |||
863 | found_principal = 1; | 896 | found_principal = 1; |
864 | } | 897 | } |
865 | /* Try querying command if specified */ | 898 | /* Try querying command if specified */ |
866 | if (!found_principal && match_principals_command(pw, key->cert)) | 899 | if (!found_principal && match_principals_command(pw, key)) |
867 | found_principal = 1; | 900 | found_principal = 1; |
868 | /* If principals file or command is specified, then require a match */ | 901 | /* If principals file or command is specified, then require a match */ |
869 | use_authorized_principals = principals_file != NULL || | 902 | use_authorized_principals = principals_file != NULL || |
@@ -878,8 +911,8 @@ user_cert_trusted_ca(struct passwd *pw, Key *key) | |||
878 | if (key_cert_check_authority(key, 0, 1, | 911 | if (key_cert_check_authority(key, 0, 1, |
879 | use_authorized_principals ? NULL : pw->pw_name, &reason) != 0) | 912 | use_authorized_principals ? NULL : pw->pw_name, &reason) != 0) |
880 | goto fail_reason; | 913 | goto fail_reason; |
881 | if (auth_cert_options(key, pw) != 0) | 914 | if (auth_cert_options(key, pw, &reason) != 0) |
882 | goto out; | 915 | goto fail_reason; |
883 | 916 | ||
884 | verbose("Accepted certificate ID \"%s\" (serial %llu) signed by " | 917 | verbose("Accepted certificate ID \"%s\" (serial %llu) signed by " |
885 | "%s CA %s via %s", key->cert->key_id, | 918 | "%s CA %s via %s", key->cert->key_id, |
diff --git a/authfile.c b/authfile.c index f46b4e37f..7411b68f6 100644 --- a/authfile.c +++ b/authfile.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: authfile.c,v 1.121 2016/04/09 12:39:30 djm Exp $ */ | 1 | /* $OpenBSD: authfile.c,v 1.122 2016/11/25 23:24:45 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000, 2013 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000, 2013 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -100,13 +100,25 @@ sshkey_load_file(int fd, struct sshbuf *blob) | |||
100 | u_char buf[1024]; | 100 | u_char buf[1024]; |
101 | size_t len; | 101 | size_t len; |
102 | struct stat st; | 102 | struct stat st; |
103 | int r; | 103 | int r, dontmax = 0; |
104 | 104 | ||
105 | if (fstat(fd, &st) < 0) | 105 | if (fstat(fd, &st) < 0) |
106 | return SSH_ERR_SYSTEM_ERROR; | 106 | return SSH_ERR_SYSTEM_ERROR; |
107 | if ((st.st_mode & (S_IFSOCK|S_IFCHR|S_IFIFO)) == 0 && | 107 | if ((st.st_mode & (S_IFSOCK|S_IFCHR|S_IFIFO)) == 0 && |
108 | st.st_size > MAX_KEY_FILE_SIZE) | 108 | st.st_size > MAX_KEY_FILE_SIZE) |
109 | return SSH_ERR_INVALID_FORMAT; | 109 | return SSH_ERR_INVALID_FORMAT; |
110 | /* | ||
111 | * Pre-allocate the buffer used for the key contents and clamp its | ||
112 | * maximum size. This ensures that key contents are never leaked via | ||
113 | * implicit realloc() in the sshbuf code. | ||
114 | */ | ||
115 | if ((st.st_mode & S_IFREG) == 0 || st.st_size <= 0) { | ||
116 | st.st_size = 64*1024; /* 64k should be enough for anyone :) */ | ||
117 | dontmax = 1; | ||
118 | } | ||
119 | if ((r = sshbuf_allocate(blob, st.st_size)) != 0 || | ||
120 | (dontmax && (r = sshbuf_set_max_size(blob, st.st_size)) != 0)) | ||
121 | return r; | ||
110 | for (;;) { | 122 | for (;;) { |
111 | if ((len = atomicio(read, fd, buf, sizeof(buf))) == 0) { | 123 | if ((len = atomicio(read, fd, buf, sizeof(buf))) == 0) { |
112 | if (errno == EPIPE) | 124 | if (errno == EPIPE) |
diff --git a/buildpkg.sh.in b/buildpkg.sh.in index 4b842b3f7..4ccc5f8d1 100644 --- a/buildpkg.sh.in +++ b/buildpkg.sh.in | |||
@@ -247,7 +247,7 @@ cat > pkginfo << _EOF | |||
247 | PKG=$PKGNAME | 247 | PKG=$PKGNAME |
248 | NAME="OpenSSH Portable for ${UNAME_S}" | 248 | NAME="OpenSSH Portable for ${UNAME_S}" |
249 | DESC="Secure Shell remote access utility; replaces telnet and rlogin/rsh." | 249 | DESC="Secure Shell remote access utility; replaces telnet and rlogin/rsh." |
250 | VENDOR="OpenSSH Portable Team - http://www.openssh.com/portable.html" | 250 | VENDOR="OpenSSH Portable Team - https://www.openssh.com/portable.html" |
251 | ARCH=$ARCH | 251 | ARCH=$ARCH |
252 | VERSION=$VERSION$REV | 252 | VERSION=$VERSION$REV |
253 | CATEGORY="Security,application" | 253 | CATEGORY="Security,application" |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: chacha.h,v 1.3 2014/05/02 03:27:54 djm Exp $ */ | 1 | /* $OpenBSD: chacha.h,v 1.4 2016/08/27 04:04:56 guenther Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | chacha-merged.c version 20080118 | 4 | chacha-merged.c version 20080118 |
@@ -10,6 +10,7 @@ Public domain. | |||
10 | #define CHACHA_H | 10 | #define CHACHA_H |
11 | 11 | ||
12 | #include <sys/types.h> | 12 | #include <sys/types.h> |
13 | #include <stdlib.h> | ||
13 | 14 | ||
14 | struct chacha_ctx { | 15 | struct chacha_ctx { |
15 | u_int input[16]; | 16 | u_int input[16]; |
diff --git a/channels.c b/channels.c index 9f9e972f4..bef8ad6aa 100644 --- a/channels.c +++ b/channels.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: channels.c,v 1.351 2016/07/19 11:38:53 dtucker Exp $ */ | 1 | /* $OpenBSD: channels.c,v 1.356 2016/10/18 17:32:54 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -42,7 +42,6 @@ | |||
42 | #include "includes.h" | 42 | #include "includes.h" |
43 | 43 | ||
44 | #include <sys/types.h> | 44 | #include <sys/types.h> |
45 | #include <sys/param.h> /* MIN MAX */ | ||
46 | #include <sys/stat.h> | 45 | #include <sys/stat.h> |
47 | #include <sys/ioctl.h> | 46 | #include <sys/ioctl.h> |
48 | #include <sys/un.h> | 47 | #include <sys/un.h> |
@@ -72,6 +71,7 @@ | |||
72 | #include "ssh.h" | 71 | #include "ssh.h" |
73 | #include "ssh1.h" | 72 | #include "ssh1.h" |
74 | #include "ssh2.h" | 73 | #include "ssh2.h" |
74 | #include "ssherr.h" | ||
75 | #include "packet.h" | 75 | #include "packet.h" |
76 | #include "log.h" | 76 | #include "log.h" |
77 | #include "misc.h" | 77 | #include "misc.h" |
@@ -121,6 +121,7 @@ typedef struct { | |||
121 | char *listen_host; /* Remote side should listen address. */ | 121 | char *listen_host; /* Remote side should listen address. */ |
122 | char *listen_path; /* Remote side should listen path. */ | 122 | char *listen_path; /* Remote side should listen path. */ |
123 | int listen_port; /* Remote side should listen port. */ | 123 | int listen_port; /* Remote side should listen port. */ |
124 | Channel *downstream; /* Downstream mux*/ | ||
124 | } ForwardPermission; | 125 | } ForwardPermission; |
125 | 126 | ||
126 | /* List of all permitted host/port pairs to connect by the user. */ | 127 | /* List of all permitted host/port pairs to connect by the user. */ |
@@ -184,6 +185,7 @@ static int IPv4or6 = AF_UNSPEC; | |||
184 | 185 | ||
185 | /* helper */ | 186 | /* helper */ |
186 | static void port_open_helper(Channel *c, char *rtype); | 187 | static void port_open_helper(Channel *c, char *rtype); |
188 | static const char *channel_rfwd_bind_host(const char *listen_host); | ||
187 | 189 | ||
188 | /* non-blocking connect helpers */ | 190 | /* non-blocking connect helpers */ |
189 | static int connect_next(struct channel_connect *); | 191 | static int connect_next(struct channel_connect *); |
@@ -208,6 +210,20 @@ channel_by_id(int id) | |||
208 | return c; | 210 | return c; |
209 | } | 211 | } |
210 | 212 | ||
213 | Channel * | ||
214 | channel_by_remote_id(int remote_id) | ||
215 | { | ||
216 | Channel *c; | ||
217 | u_int i; | ||
218 | |||
219 | for (i = 0; i < channels_alloc; i++) { | ||
220 | c = channels[i]; | ||
221 | if (c != NULL && c->remote_id == remote_id) | ||
222 | return c; | ||
223 | } | ||
224 | return NULL; | ||
225 | } | ||
226 | |||
211 | /* | 227 | /* |
212 | * Returns the channel if it is allowed to receive protocol messages. | 228 | * Returns the channel if it is allowed to receive protocol messages. |
213 | * Private channels, like listening sockets, may not receive messages. | 229 | * Private channels, like listening sockets, may not receive messages. |
@@ -230,6 +246,7 @@ channel_lookup(int id) | |||
230 | case SSH_CHANNEL_INPUT_DRAINING: | 246 | case SSH_CHANNEL_INPUT_DRAINING: |
231 | case SSH_CHANNEL_OUTPUT_DRAINING: | 247 | case SSH_CHANNEL_OUTPUT_DRAINING: |
232 | case SSH_CHANNEL_ABANDONED: | 248 | case SSH_CHANNEL_ABANDONED: |
249 | case SSH_CHANNEL_MUX_PROXY: | ||
233 | return (c); | 250 | return (c); |
234 | } | 251 | } |
235 | logit("Non-public channel %d, type %d.", id, c->type); | 252 | logit("Non-public channel %d, type %d.", id, c->type); |
@@ -245,9 +262,9 @@ channel_register_fds(Channel *c, int rfd, int wfd, int efd, | |||
245 | int extusage, int nonblock, int is_tty) | 262 | int extusage, int nonblock, int is_tty) |
246 | { | 263 | { |
247 | /* Update the maximum file descriptor value. */ | 264 | /* Update the maximum file descriptor value. */ |
248 | channel_max_fd = MAX(channel_max_fd, rfd); | 265 | channel_max_fd = MAXIMUM(channel_max_fd, rfd); |
249 | channel_max_fd = MAX(channel_max_fd, wfd); | 266 | channel_max_fd = MAXIMUM(channel_max_fd, wfd); |
250 | channel_max_fd = MAX(channel_max_fd, efd); | 267 | channel_max_fd = MAXIMUM(channel_max_fd, efd); |
251 | 268 | ||
252 | if (rfd != -1) | 269 | if (rfd != -1) |
253 | fcntl(rfd, F_SETFD, FD_CLOEXEC); | 270 | fcntl(rfd, F_SETFD, FD_CLOEXEC); |
@@ -373,9 +390,9 @@ channel_find_maxfd(void) | |||
373 | for (i = 0; i < channels_alloc; i++) { | 390 | for (i = 0; i < channels_alloc; i++) { |
374 | c = channels[i]; | 391 | c = channels[i]; |
375 | if (c != NULL) { | 392 | if (c != NULL) { |
376 | max = MAX(max, c->rfd); | 393 | max = MAXIMUM(max, c->rfd); |
377 | max = MAX(max, c->wfd); | 394 | max = MAXIMUM(max, c->wfd); |
378 | max = MAX(max, c->efd); | 395 | max = MAXIMUM(max, c->efd); |
379 | } | 396 | } |
380 | } | 397 | } |
381 | return max; | 398 | return max; |
@@ -411,14 +428,56 @@ channel_free(Channel *c) | |||
411 | { | 428 | { |
412 | char *s; | 429 | char *s; |
413 | u_int i, n; | 430 | u_int i, n; |
431 | Channel *other; | ||
414 | struct channel_confirm *cc; | 432 | struct channel_confirm *cc; |
415 | 433 | ||
416 | for (n = 0, i = 0; i < channels_alloc; i++) | 434 | for (n = 0, i = 0; i < channels_alloc; i++) { |
417 | if (channels[i]) | 435 | if ((other = channels[i]) != NULL) { |
418 | n++; | 436 | n++; |
437 | |||
438 | /* detach from mux client and prepare for closing */ | ||
439 | if (c->type == SSH_CHANNEL_MUX_CLIENT && | ||
440 | other->type == SSH_CHANNEL_MUX_PROXY && | ||
441 | other->mux_ctx == c) { | ||
442 | other->mux_ctx = NULL; | ||
443 | other->type = SSH_CHANNEL_OPEN; | ||
444 | other->istate = CHAN_INPUT_CLOSED; | ||
445 | other->ostate = CHAN_OUTPUT_CLOSED; | ||
446 | } | ||
447 | } | ||
448 | } | ||
419 | debug("channel %d: free: %s, nchannels %u", c->self, | 449 | debug("channel %d: free: %s, nchannels %u", c->self, |
420 | c->remote_name ? c->remote_name : "???", n); | 450 | c->remote_name ? c->remote_name : "???", n); |
421 | 451 | ||
452 | /* XXX more MUX cleanup: remove remote forwardings */ | ||
453 | if (c->type == SSH_CHANNEL_MUX_CLIENT) { | ||
454 | for (i = 0; i < (u_int)num_permitted_opens; i++) { | ||
455 | if (permitted_opens[i].downstream != c) | ||
456 | continue; | ||
457 | /* cancel on the server, since mux client is gone */ | ||
458 | debug("channel %d: cleanup remote forward for %s:%u", | ||
459 | c->self, | ||
460 | permitted_opens[i].listen_host, | ||
461 | permitted_opens[i].listen_port); | ||
462 | packet_start(SSH2_MSG_GLOBAL_REQUEST); | ||
463 | packet_put_cstring("cancel-tcpip-forward"); | ||
464 | packet_put_char(0); | ||
465 | packet_put_cstring(channel_rfwd_bind_host( | ||
466 | permitted_opens[i].listen_host)); | ||
467 | packet_put_int(permitted_opens[i].listen_port); | ||
468 | packet_send(); | ||
469 | /* unregister */ | ||
470 | permitted_opens[i].listen_port = 0; | ||
471 | permitted_opens[i].port_to_connect = 0; | ||
472 | free(permitted_opens[i].host_to_connect); | ||
473 | permitted_opens[i].host_to_connect = NULL; | ||
474 | free(permitted_opens[i].listen_host); | ||
475 | permitted_opens[i].listen_host = NULL; | ||
476 | permitted_opens[i].listen_path = NULL; | ||
477 | permitted_opens[i].downstream = NULL; | ||
478 | } | ||
479 | } | ||
480 | |||
422 | s = channel_open_message(); | 481 | s = channel_open_message(); |
423 | debug3("channel %d: status: %s", c->self, s); | 482 | debug3("channel %d: status: %s", c->self, s); |
424 | free(s); | 483 | free(s); |
@@ -564,6 +623,7 @@ channel_still_open(void) | |||
564 | case SSH_CHANNEL_OPEN: | 623 | case SSH_CHANNEL_OPEN: |
565 | case SSH_CHANNEL_X11_OPEN: | 624 | case SSH_CHANNEL_X11_OPEN: |
566 | case SSH_CHANNEL_MUX_CLIENT: | 625 | case SSH_CHANNEL_MUX_CLIENT: |
626 | case SSH_CHANNEL_MUX_PROXY: | ||
567 | return 1; | 627 | return 1; |
568 | case SSH_CHANNEL_INPUT_DRAINING: | 628 | case SSH_CHANNEL_INPUT_DRAINING: |
569 | case SSH_CHANNEL_OUTPUT_DRAINING: | 629 | case SSH_CHANNEL_OUTPUT_DRAINING: |
@@ -597,6 +657,7 @@ channel_find_open(void) | |||
597 | case SSH_CHANNEL_RPORT_LISTENER: | 657 | case SSH_CHANNEL_RPORT_LISTENER: |
598 | case SSH_CHANNEL_MUX_LISTENER: | 658 | case SSH_CHANNEL_MUX_LISTENER: |
599 | case SSH_CHANNEL_MUX_CLIENT: | 659 | case SSH_CHANNEL_MUX_CLIENT: |
660 | case SSH_CHANNEL_MUX_PROXY: | ||
600 | case SSH_CHANNEL_OPENING: | 661 | case SSH_CHANNEL_OPENING: |
601 | case SSH_CHANNEL_CONNECTING: | 662 | case SSH_CHANNEL_CONNECTING: |
602 | case SSH_CHANNEL_ZOMBIE: | 663 | case SSH_CHANNEL_ZOMBIE: |
@@ -622,7 +683,6 @@ channel_find_open(void) | |||
622 | return -1; | 683 | return -1; |
623 | } | 684 | } |
624 | 685 | ||
625 | |||
626 | /* | 686 | /* |
627 | * Returns a message describing the currently open forwarded connections, | 687 | * Returns a message describing the currently open forwarded connections, |
628 | * suitable for sending to the client. The message contains crlf pairs for | 688 | * suitable for sending to the client. The message contains crlf pairs for |
@@ -651,7 +711,6 @@ channel_open_message(void) | |||
651 | case SSH_CHANNEL_AUTH_SOCKET: | 711 | case SSH_CHANNEL_AUTH_SOCKET: |
652 | case SSH_CHANNEL_ZOMBIE: | 712 | case SSH_CHANNEL_ZOMBIE: |
653 | case SSH_CHANNEL_ABANDONED: | 713 | case SSH_CHANNEL_ABANDONED: |
654 | case SSH_CHANNEL_MUX_CLIENT: | ||
655 | case SSH_CHANNEL_MUX_LISTENER: | 714 | case SSH_CHANNEL_MUX_LISTENER: |
656 | case SSH_CHANNEL_UNIX_LISTENER: | 715 | case SSH_CHANNEL_UNIX_LISTENER: |
657 | case SSH_CHANNEL_RUNIX_LISTENER: | 716 | case SSH_CHANNEL_RUNIX_LISTENER: |
@@ -664,6 +723,8 @@ channel_open_message(void) | |||
664 | case SSH_CHANNEL_X11_OPEN: | 723 | case SSH_CHANNEL_X11_OPEN: |
665 | case SSH_CHANNEL_INPUT_DRAINING: | 724 | case SSH_CHANNEL_INPUT_DRAINING: |
666 | case SSH_CHANNEL_OUTPUT_DRAINING: | 725 | case SSH_CHANNEL_OUTPUT_DRAINING: |
726 | case SSH_CHANNEL_MUX_PROXY: | ||
727 | case SSH_CHANNEL_MUX_CLIENT: | ||
667 | snprintf(buf, sizeof buf, | 728 | snprintf(buf, sizeof buf, |
668 | " #%d %.300s (t%d r%d i%u/%d o%u/%d fd %d/%d cc %d)\r\n", | 729 | " #%d %.300s (t%d r%d i%u/%d o%u/%d fd %d/%d cc %d)\r\n", |
669 | c->self, c->remote_name, | 730 | c->self, c->remote_name, |
@@ -1898,7 +1959,7 @@ read_mux(Channel *c, u_int need) | |||
1898 | 1959 | ||
1899 | if (buffer_len(&c->input) < need) { | 1960 | if (buffer_len(&c->input) < need) { |
1900 | rlen = need - buffer_len(&c->input); | 1961 | rlen = need - buffer_len(&c->input); |
1901 | len = read(c->rfd, buf, MIN(rlen, CHAN_RBUF)); | 1962 | len = read(c->rfd, buf, MINIMUM(rlen, CHAN_RBUF)); |
1902 | if (len < 0 && (errno == EINTR || errno == EAGAIN)) | 1963 | if (len < 0 && (errno == EINTR || errno == EAGAIN)) |
1903 | return buffer_len(&c->input); | 1964 | return buffer_len(&c->input); |
1904 | if (len <= 0) { | 1965 | if (len <= 0) { |
@@ -2201,7 +2262,7 @@ channel_prepare_select(fd_set **readsetp, fd_set **writesetp, int *maxfdp, | |||
2201 | { | 2262 | { |
2202 | u_int n, sz, nfdset; | 2263 | u_int n, sz, nfdset; |
2203 | 2264 | ||
2204 | n = MAX(*maxfdp, channel_max_fd); | 2265 | n = MAXIMUM(*maxfdp, channel_max_fd); |
2205 | 2266 | ||
2206 | nfdset = howmany(n+1, NFDBITS); | 2267 | nfdset = howmany(n+1, NFDBITS); |
2207 | /* Explicitly test here, because xrealloc isn't always called */ | 2268 | /* Explicitly test here, because xrealloc isn't always called */ |
@@ -2361,6 +2422,284 @@ channel_output_poll(void) | |||
2361 | } | 2422 | } |
2362 | } | 2423 | } |
2363 | 2424 | ||
2425 | /* -- mux proxy support */ | ||
2426 | |||
2427 | /* | ||
2428 | * When multiplexing channel messages for mux clients we have to deal | ||
2429 | * with downstream messages from the mux client and upstream messages | ||
2430 | * from the ssh server: | ||
2431 | * 1) Handling downstream messages is straightforward and happens | ||
2432 | * in channel_proxy_downstream(): | ||
2433 | * - We forward all messages (mostly) unmodified to the server. | ||
2434 | * - However, in order to route messages from upstream to the correct | ||
2435 | * downstream client, we have to replace the channel IDs used by the | ||
2436 | * mux clients with a unique channel ID because the mux clients might | ||
2437 | * use conflicting channel IDs. | ||
2438 | * - so we inspect and change both SSH2_MSG_CHANNEL_OPEN and | ||
2439 | * SSH2_MSG_CHANNEL_OPEN_CONFIRMATION messages, create a local | ||
2440 | * SSH_CHANNEL_MUX_PROXY channel and replace the mux clients ID | ||
2441 | * with the newly allocated channel ID. | ||
2442 | * 2) Upstream messages are received by matching SSH_CHANNEL_MUX_PROXY | ||
2443 | * channels and procesed by channel_proxy_upstream(). The local channel ID | ||
2444 | * is then translated back to the original mux client ID. | ||
2445 | * 3) In both cases we need to keep track of matching SSH2_MSG_CHANNEL_CLOSE | ||
2446 | * messages so we can clean up SSH_CHANNEL_MUX_PROXY channels. | ||
2447 | * 4) The SSH_CHANNEL_MUX_PROXY channels also need to closed when the | ||
2448 | * downstream mux client are removed. | ||
2449 | * 5) Handling SSH2_MSG_CHANNEL_OPEN messages from the upstream server | ||
2450 | * requires more work, because they are not addressed to a specific | ||
2451 | * channel. E.g. client_request_forwarded_tcpip() needs to figure | ||
2452 | * out whether the request is addressed to the local client or a | ||
2453 | * specific downstream client based on the listen-address/port. | ||
2454 | * 6) Agent and X11-Forwarding have a similar problem and are currenly | ||
2455 | * not supported as the matching session/channel cannot be identified | ||
2456 | * easily. | ||
2457 | */ | ||
2458 | |||
2459 | /* | ||
2460 | * receive packets from downstream mux clients: | ||
2461 | * channel callback fired on read from mux client, creates | ||
2462 | * SSH_CHANNEL_MUX_PROXY channels and translates channel IDs | ||
2463 | * on channel creation. | ||
2464 | */ | ||
2465 | int | ||
2466 | channel_proxy_downstream(Channel *downstream) | ||
2467 | { | ||
2468 | Channel *c = NULL; | ||
2469 | struct ssh *ssh = active_state; | ||
2470 | struct sshbuf *original = NULL, *modified = NULL; | ||
2471 | const u_char *cp; | ||
2472 | char *ctype = NULL, *listen_host = NULL; | ||
2473 | u_char type; | ||
2474 | size_t have; | ||
2475 | int ret = -1, r, idx; | ||
2476 | u_int id, remote_id, listen_port; | ||
2477 | |||
2478 | /* sshbuf_dump(&downstream->input, stderr); */ | ||
2479 | if ((r = sshbuf_get_string_direct(&downstream->input, &cp, &have)) | ||
2480 | != 0) { | ||
2481 | error("%s: malformed message: %s", __func__, ssh_err(r)); | ||
2482 | return -1; | ||
2483 | } | ||
2484 | if (have < 2) { | ||
2485 | error("%s: short message", __func__); | ||
2486 | return -1; | ||
2487 | } | ||
2488 | type = cp[1]; | ||
2489 | /* skip padlen + type */ | ||
2490 | cp += 2; | ||
2491 | have -= 2; | ||
2492 | if (ssh_packet_log_type(type)) | ||
2493 | debug3("%s: channel %u: down->up: type %u", __func__, | ||
2494 | downstream->self, type); | ||
2495 | |||
2496 | switch (type) { | ||
2497 | case SSH2_MSG_CHANNEL_OPEN: | ||
2498 | if ((original = sshbuf_from(cp, have)) == NULL || | ||
2499 | (modified = sshbuf_new()) == NULL) { | ||
2500 | error("%s: alloc", __func__); | ||
2501 | goto out; | ||
2502 | } | ||
2503 | if ((r = sshbuf_get_cstring(original, &ctype, NULL)) != 0 || | ||
2504 | (r = sshbuf_get_u32(original, &id)) != 0) { | ||
2505 | error("%s: parse error %s", __func__, ssh_err(r)); | ||
2506 | goto out; | ||
2507 | } | ||
2508 | c = channel_new("mux proxy", SSH_CHANNEL_MUX_PROXY, | ||
2509 | -1, -1, -1, 0, 0, 0, ctype, 1); | ||
2510 | c->mux_ctx = downstream; /* point to mux client */ | ||
2511 | c->mux_downstream_id = id; /* original downstream id */ | ||
2512 | if ((r = sshbuf_put_cstring(modified, ctype)) != 0 || | ||
2513 | (r = sshbuf_put_u32(modified, c->self)) != 0 || | ||
2514 | (r = sshbuf_putb(modified, original)) != 0) { | ||
2515 | error("%s: compose error %s", __func__, ssh_err(r)); | ||
2516 | channel_free(c); | ||
2517 | goto out; | ||
2518 | } | ||
2519 | break; | ||
2520 | case SSH2_MSG_CHANNEL_OPEN_CONFIRMATION: | ||
2521 | /* | ||
2522 | * Almost the same as SSH2_MSG_CHANNEL_OPEN, except then we | ||
2523 | * need to parse 'remote_id' instead of 'ctype'. | ||
2524 | */ | ||
2525 | if ((original = sshbuf_from(cp, have)) == NULL || | ||
2526 | (modified = sshbuf_new()) == NULL) { | ||
2527 | error("%s: alloc", __func__); | ||
2528 | goto out; | ||
2529 | } | ||
2530 | if ((r = sshbuf_get_u32(original, &remote_id)) != 0 || | ||
2531 | (r = sshbuf_get_u32(original, &id)) != 0) { | ||
2532 | error("%s: parse error %s", __func__, ssh_err(r)); | ||
2533 | goto out; | ||
2534 | } | ||
2535 | c = channel_new("mux proxy", SSH_CHANNEL_MUX_PROXY, | ||
2536 | -1, -1, -1, 0, 0, 0, "mux-down-connect", 1); | ||
2537 | c->mux_ctx = downstream; /* point to mux client */ | ||
2538 | c->mux_downstream_id = id; | ||
2539 | c->remote_id = remote_id; | ||
2540 | if ((r = sshbuf_put_u32(modified, remote_id)) != 0 || | ||
2541 | (r = sshbuf_put_u32(modified, c->self)) != 0 || | ||
2542 | (r = sshbuf_putb(modified, original)) != 0) { | ||
2543 | error("%s: compose error %s", __func__, ssh_err(r)); | ||
2544 | channel_free(c); | ||
2545 | goto out; | ||
2546 | } | ||
2547 | break; | ||
2548 | case SSH2_MSG_GLOBAL_REQUEST: | ||
2549 | if ((original = sshbuf_from(cp, have)) == NULL) { | ||
2550 | error("%s: alloc", __func__); | ||
2551 | goto out; | ||
2552 | } | ||
2553 | if ((r = sshbuf_get_cstring(original, &ctype, NULL)) != 0) { | ||
2554 | error("%s: parse error %s", __func__, ssh_err(r)); | ||
2555 | goto out; | ||
2556 | } | ||
2557 | if (strcmp(ctype, "tcpip-forward") != 0) { | ||
2558 | error("%s: unsupported request %s", __func__, ctype); | ||
2559 | goto out; | ||
2560 | } | ||
2561 | if ((r = sshbuf_get_u8(original, NULL)) != 0 || | ||
2562 | (r = sshbuf_get_cstring(original, &listen_host, NULL)) != 0 || | ||
2563 | (r = sshbuf_get_u32(original, &listen_port)) != 0) { | ||
2564 | error("%s: parse error %s", __func__, ssh_err(r)); | ||
2565 | goto out; | ||
2566 | } | ||
2567 | if (listen_port > 65535) { | ||
2568 | error("%s: tcpip-forward for %s: bad port %u", | ||
2569 | __func__, listen_host, listen_port); | ||
2570 | goto out; | ||
2571 | } | ||
2572 | /* Record that connection to this host/port is permitted. */ | ||
2573 | permitted_opens = xreallocarray(permitted_opens, | ||
2574 | num_permitted_opens + 1, sizeof(*permitted_opens)); | ||
2575 | idx = num_permitted_opens++; | ||
2576 | permitted_opens[idx].host_to_connect = xstrdup("<mux>"); | ||
2577 | permitted_opens[idx].port_to_connect = -1; | ||
2578 | permitted_opens[idx].listen_host = listen_host; | ||
2579 | permitted_opens[idx].listen_port = (int)listen_port; | ||
2580 | permitted_opens[idx].downstream = downstream; | ||
2581 | listen_host = NULL; | ||
2582 | break; | ||
2583 | case SSH2_MSG_CHANNEL_CLOSE: | ||
2584 | if (have < 4) | ||
2585 | break; | ||
2586 | remote_id = PEEK_U32(cp); | ||
2587 | if ((c = channel_by_remote_id(remote_id)) != NULL) { | ||
2588 | if (c->flags & CHAN_CLOSE_RCVD) | ||
2589 | channel_free(c); | ||
2590 | else | ||
2591 | c->flags |= CHAN_CLOSE_SENT; | ||
2592 | } | ||
2593 | break; | ||
2594 | } | ||
2595 | if (modified) { | ||
2596 | if ((r = sshpkt_start(ssh, type)) != 0 || | ||
2597 | (r = sshpkt_putb(ssh, modified)) != 0 || | ||
2598 | (r = sshpkt_send(ssh)) != 0) { | ||
2599 | error("%s: send %s", __func__, ssh_err(r)); | ||
2600 | goto out; | ||
2601 | } | ||
2602 | } else { | ||
2603 | if ((r = sshpkt_start(ssh, type)) != 0 || | ||
2604 | (r = sshpkt_put(ssh, cp, have)) != 0 || | ||
2605 | (r = sshpkt_send(ssh)) != 0) { | ||
2606 | error("%s: send %s", __func__, ssh_err(r)); | ||
2607 | goto out; | ||
2608 | } | ||
2609 | } | ||
2610 | ret = 0; | ||
2611 | out: | ||
2612 | free(ctype); | ||
2613 | free(listen_host); | ||
2614 | sshbuf_free(original); | ||
2615 | sshbuf_free(modified); | ||
2616 | return ret; | ||
2617 | } | ||
2618 | |||
2619 | /* | ||
2620 | * receive packets from upstream server and de-multiplex packets | ||
2621 | * to correct downstream: | ||
2622 | * implemented as a helper for channel input handlers, | ||
2623 | * replaces local (proxy) channel ID with downstream channel ID. | ||
2624 | */ | ||
2625 | int | ||
2626 | channel_proxy_upstream(Channel *c, int type, u_int32_t seq, void *ctxt) | ||
2627 | { | ||
2628 | struct ssh *ssh = active_state; | ||
2629 | struct sshbuf *b = NULL; | ||
2630 | Channel *downstream; | ||
2631 | const u_char *cp = NULL; | ||
2632 | size_t len; | ||
2633 | int r; | ||
2634 | |||
2635 | /* | ||
2636 | * When receiving packets from the peer we need to check whether we | ||
2637 | * need to forward the packets to the mux client. In this case we | ||
2638 | * restore the orignal channel id and keep track of CLOSE messages, | ||
2639 | * so we can cleanup the channel. | ||
2640 | */ | ||
2641 | if (c == NULL || c->type != SSH_CHANNEL_MUX_PROXY) | ||
2642 | return 0; | ||
2643 | if ((downstream = c->mux_ctx) == NULL) | ||
2644 | return 0; | ||
2645 | switch (type) { | ||
2646 | case SSH2_MSG_CHANNEL_CLOSE: | ||
2647 | case SSH2_MSG_CHANNEL_DATA: | ||
2648 | case SSH2_MSG_CHANNEL_EOF: | ||
2649 | case SSH2_MSG_CHANNEL_EXTENDED_DATA: | ||
2650 | case SSH2_MSG_CHANNEL_OPEN_CONFIRMATION: | ||
2651 | case SSH2_MSG_CHANNEL_OPEN_FAILURE: | ||
2652 | case SSH2_MSG_CHANNEL_WINDOW_ADJUST: | ||
2653 | case SSH2_MSG_CHANNEL_SUCCESS: | ||
2654 | case SSH2_MSG_CHANNEL_FAILURE: | ||
2655 | case SSH2_MSG_CHANNEL_REQUEST: | ||
2656 | break; | ||
2657 | default: | ||
2658 | debug2("%s: channel %u: unsupported type %u", __func__, | ||
2659 | c->self, type); | ||
2660 | return 0; | ||
2661 | } | ||
2662 | if ((b = sshbuf_new()) == NULL) { | ||
2663 | error("%s: alloc reply", __func__); | ||
2664 | goto out; | ||
2665 | } | ||
2666 | /* get remaining payload (after id) */ | ||
2667 | cp = sshpkt_ptr(ssh, &len); | ||
2668 | if (cp == NULL) { | ||
2669 | error("%s: no packet", __func__); | ||
2670 | goto out; | ||
2671 | } | ||
2672 | /* translate id and send to muxclient */ | ||
2673 | if ((r = sshbuf_put_u8(b, 0)) != 0 || /* padlen */ | ||
2674 | (r = sshbuf_put_u8(b, type)) != 0 || | ||
2675 | (r = sshbuf_put_u32(b, c->mux_downstream_id)) != 0 || | ||
2676 | (r = sshbuf_put(b, cp, len)) != 0 || | ||
2677 | (r = sshbuf_put_stringb(&downstream->output, b)) != 0) { | ||
2678 | error("%s: compose for muxclient %s", __func__, ssh_err(r)); | ||
2679 | goto out; | ||
2680 | } | ||
2681 | /* sshbuf_dump(b, stderr); */ | ||
2682 | if (ssh_packet_log_type(type)) | ||
2683 | debug3("%s: channel %u: up->down: type %u", __func__, c->self, | ||
2684 | type); | ||
2685 | out: | ||
2686 | /* update state */ | ||
2687 | switch (type) { | ||
2688 | case SSH2_MSG_CHANNEL_OPEN_CONFIRMATION: | ||
2689 | /* record remote_id for SSH2_MSG_CHANNEL_CLOSE */ | ||
2690 | if (cp && len > 4) | ||
2691 | c->remote_id = PEEK_U32(cp); | ||
2692 | break; | ||
2693 | case SSH2_MSG_CHANNEL_CLOSE: | ||
2694 | if (c->flags & CHAN_CLOSE_SENT) | ||
2695 | channel_free(c); | ||
2696 | else | ||
2697 | c->flags |= CHAN_CLOSE_RCVD; | ||
2698 | break; | ||
2699 | } | ||
2700 | sshbuf_free(b); | ||
2701 | return 1; | ||
2702 | } | ||
2364 | 2703 | ||
2365 | /* -- protocol input */ | 2704 | /* -- protocol input */ |
2366 | 2705 | ||
@@ -2378,6 +2717,8 @@ channel_input_data(int type, u_int32_t seq, void *ctxt) | |||
2378 | c = channel_lookup(id); | 2717 | c = channel_lookup(id); |
2379 | if (c == NULL) | 2718 | if (c == NULL) |
2380 | packet_disconnect("Received data for nonexistent channel %d.", id); | 2719 | packet_disconnect("Received data for nonexistent channel %d.", id); |
2720 | if (channel_proxy_upstream(c, type, seq, ctxt)) | ||
2721 | return 0; | ||
2381 | 2722 | ||
2382 | /* Ignore any data for non-open channels (might happen on close) */ | 2723 | /* Ignore any data for non-open channels (might happen on close) */ |
2383 | if (c->type != SSH_CHANNEL_OPEN && | 2724 | if (c->type != SSH_CHANNEL_OPEN && |
@@ -2440,6 +2781,8 @@ channel_input_extended_data(int type, u_int32_t seq, void *ctxt) | |||
2440 | 2781 | ||
2441 | if (c == NULL) | 2782 | if (c == NULL) |
2442 | packet_disconnect("Received extended_data for bad channel %d.", id); | 2783 | packet_disconnect("Received extended_data for bad channel %d.", id); |
2784 | if (channel_proxy_upstream(c, type, seq, ctxt)) | ||
2785 | return 0; | ||
2443 | if (c->type != SSH_CHANNEL_OPEN) { | 2786 | if (c->type != SSH_CHANNEL_OPEN) { |
2444 | logit("channel %d: ext data for non open", id); | 2787 | logit("channel %d: ext data for non open", id); |
2445 | return 0; | 2788 | return 0; |
@@ -2485,6 +2828,8 @@ channel_input_ieof(int type, u_int32_t seq, void *ctxt) | |||
2485 | c = channel_lookup(id); | 2828 | c = channel_lookup(id); |
2486 | if (c == NULL) | 2829 | if (c == NULL) |
2487 | packet_disconnect("Received ieof for nonexistent channel %d.", id); | 2830 | packet_disconnect("Received ieof for nonexistent channel %d.", id); |
2831 | if (channel_proxy_upstream(c, type, seq, ctxt)) | ||
2832 | return 0; | ||
2488 | chan_rcvd_ieof(c); | 2833 | chan_rcvd_ieof(c); |
2489 | 2834 | ||
2490 | /* XXX force input close */ | 2835 | /* XXX force input close */ |
@@ -2509,7 +2854,8 @@ channel_input_close(int type, u_int32_t seq, void *ctxt) | |||
2509 | c = channel_lookup(id); | 2854 | c = channel_lookup(id); |
2510 | if (c == NULL) | 2855 | if (c == NULL) |
2511 | packet_disconnect("Received close for nonexistent channel %d.", id); | 2856 | packet_disconnect("Received close for nonexistent channel %d.", id); |
2512 | 2857 | if (channel_proxy_upstream(c, type, seq, ctxt)) | |
2858 | return 0; | ||
2513 | /* | 2859 | /* |
2514 | * Send a confirmation that we have closed the channel and no more | 2860 | * Send a confirmation that we have closed the channel and no more |
2515 | * data is coming for it. | 2861 | * data is coming for it. |
@@ -2544,9 +2890,11 @@ channel_input_oclose(int type, u_int32_t seq, void *ctxt) | |||
2544 | int id = packet_get_int(); | 2890 | int id = packet_get_int(); |
2545 | Channel *c = channel_lookup(id); | 2891 | Channel *c = channel_lookup(id); |
2546 | 2892 | ||
2547 | packet_check_eom(); | ||
2548 | if (c == NULL) | 2893 | if (c == NULL) |
2549 | packet_disconnect("Received oclose for nonexistent channel %d.", id); | 2894 | packet_disconnect("Received oclose for nonexistent channel %d.", id); |
2895 | if (channel_proxy_upstream(c, type, seq, ctxt)) | ||
2896 | return 0; | ||
2897 | packet_check_eom(); | ||
2550 | chan_rcvd_oclose(c); | 2898 | chan_rcvd_oclose(c); |
2551 | return 0; | 2899 | return 0; |
2552 | } | 2900 | } |
@@ -2558,10 +2906,12 @@ channel_input_close_confirmation(int type, u_int32_t seq, void *ctxt) | |||
2558 | int id = packet_get_int(); | 2906 | int id = packet_get_int(); |
2559 | Channel *c = channel_lookup(id); | 2907 | Channel *c = channel_lookup(id); |
2560 | 2908 | ||
2561 | packet_check_eom(); | ||
2562 | if (c == NULL) | 2909 | if (c == NULL) |
2563 | packet_disconnect("Received close confirmation for " | 2910 | packet_disconnect("Received close confirmation for " |
2564 | "out-of-range channel %d.", id); | 2911 | "out-of-range channel %d.", id); |
2912 | if (channel_proxy_upstream(c, type, seq, ctxt)) | ||
2913 | return 0; | ||
2914 | packet_check_eom(); | ||
2565 | if (c->type != SSH_CHANNEL_CLOSED && c->type != SSH_CHANNEL_ABANDONED) | 2915 | if (c->type != SSH_CHANNEL_CLOSED && c->type != SSH_CHANNEL_ABANDONED) |
2566 | packet_disconnect("Received close confirmation for " | 2916 | packet_disconnect("Received close confirmation for " |
2567 | "non-closed channel %d (type %d).", id, c->type); | 2917 | "non-closed channel %d (type %d).", id, c->type); |
@@ -2579,7 +2929,12 @@ channel_input_open_confirmation(int type, u_int32_t seq, void *ctxt) | |||
2579 | id = packet_get_int(); | 2929 | id = packet_get_int(); |
2580 | c = channel_lookup(id); | 2930 | c = channel_lookup(id); |
2581 | 2931 | ||
2582 | if (c==NULL || c->type != SSH_CHANNEL_OPENING) | 2932 | if (c==NULL) |
2933 | packet_disconnect("Received open confirmation for " | ||
2934 | "unknown channel %d.", id); | ||
2935 | if (channel_proxy_upstream(c, type, seq, ctxt)) | ||
2936 | return 0; | ||
2937 | if (c->type != SSH_CHANNEL_OPENING) | ||
2583 | packet_disconnect("Received open confirmation for " | 2938 | packet_disconnect("Received open confirmation for " |
2584 | "non-opening channel %d.", id); | 2939 | "non-opening channel %d.", id); |
2585 | remote_id = packet_get_int(); | 2940 | remote_id = packet_get_int(); |
@@ -2629,7 +2984,12 @@ channel_input_open_failure(int type, u_int32_t seq, void *ctxt) | |||
2629 | id = packet_get_int(); | 2984 | id = packet_get_int(); |
2630 | c = channel_lookup(id); | 2985 | c = channel_lookup(id); |
2631 | 2986 | ||
2632 | if (c==NULL || c->type != SSH_CHANNEL_OPENING) | 2987 | if (c==NULL) |
2988 | packet_disconnect("Received open failure for " | ||
2989 | "unknown channel %d.", id); | ||
2990 | if (channel_proxy_upstream(c, type, seq, ctxt)) | ||
2991 | return 0; | ||
2992 | if (c->type != SSH_CHANNEL_OPENING) | ||
2633 | packet_disconnect("Received open failure for " | 2993 | packet_disconnect("Received open failure for " |
2634 | "non-opening channel %d.", id); | 2994 | "non-opening channel %d.", id); |
2635 | if (compat20) { | 2995 | if (compat20) { |
@@ -2673,6 +3033,8 @@ channel_input_window_adjust(int type, u_int32_t seq, void *ctxt) | |||
2673 | logit("Received window adjust for non-open channel %d.", id); | 3033 | logit("Received window adjust for non-open channel %d.", id); |
2674 | return 0; | 3034 | return 0; |
2675 | } | 3035 | } |
3036 | if (channel_proxy_upstream(c, type, seq, ctxt)) | ||
3037 | return 0; | ||
2676 | adjust = packet_get_int(); | 3038 | adjust = packet_get_int(); |
2677 | packet_check_eom(); | 3039 | packet_check_eom(); |
2678 | debug2("channel %d: rcvd adjust %u", id, adjust); | 3040 | debug2("channel %d: rcvd adjust %u", id, adjust); |
@@ -2727,14 +3089,15 @@ channel_input_status_confirm(int type, u_int32_t seq, void *ctxt) | |||
2727 | packet_set_alive_timeouts(0); | 3089 | packet_set_alive_timeouts(0); |
2728 | 3090 | ||
2729 | id = packet_get_int(); | 3091 | id = packet_get_int(); |
2730 | packet_check_eom(); | ||
2731 | |||
2732 | debug2("channel_input_status_confirm: type %d id %d", type, id); | 3092 | debug2("channel_input_status_confirm: type %d id %d", type, id); |
2733 | 3093 | ||
2734 | if ((c = channel_lookup(id)) == NULL) { | 3094 | if ((c = channel_lookup(id)) == NULL) { |
2735 | logit("channel_input_status_confirm: %d: unknown", id); | 3095 | logit("channel_input_status_confirm: %d: unknown", id); |
2736 | return 0; | 3096 | return 0; |
2737 | } | 3097 | } |
3098 | if (channel_proxy_upstream(c, type, seq, ctxt)) | ||
3099 | return 0; | ||
3100 | packet_check_eom(); | ||
2738 | if ((cc = TAILQ_FIRST(&c->status_confirms)) == NULL) | 3101 | if ((cc = TAILQ_FIRST(&c->status_confirms)) == NULL) |
2739 | return 0; | 3102 | return 0; |
2740 | cc->cb(type, c, cc->ctx); | 3103 | cc->cb(type, c, cc->ctx); |
@@ -3288,6 +3651,7 @@ channel_request_remote_forwarding(struct Forward *fwd) | |||
3288 | permitted_opens[idx].listen_path = NULL; | 3651 | permitted_opens[idx].listen_path = NULL; |
3289 | permitted_opens[idx].listen_port = fwd->listen_port; | 3652 | permitted_opens[idx].listen_port = fwd->listen_port; |
3290 | } | 3653 | } |
3654 | permitted_opens[idx].downstream = NULL; | ||
3291 | } | 3655 | } |
3292 | return (idx); | 3656 | return (idx); |
3293 | } | 3657 | } |
@@ -3383,6 +3747,7 @@ channel_request_rforward_cancel_tcpip(const char *host, u_short port) | |||
3383 | free(permitted_opens[i].listen_host); | 3747 | free(permitted_opens[i].listen_host); |
3384 | permitted_opens[i].listen_host = NULL; | 3748 | permitted_opens[i].listen_host = NULL; |
3385 | permitted_opens[i].listen_path = NULL; | 3749 | permitted_opens[i].listen_path = NULL; |
3750 | permitted_opens[i].downstream = NULL; | ||
3386 | 3751 | ||
3387 | return 0; | 3752 | return 0; |
3388 | } | 3753 | } |
@@ -3420,6 +3785,7 @@ channel_request_rforward_cancel_streamlocal(const char *path) | |||
3420 | permitted_opens[i].listen_host = NULL; | 3785 | permitted_opens[i].listen_host = NULL; |
3421 | free(permitted_opens[i].listen_path); | 3786 | free(permitted_opens[i].listen_path); |
3422 | permitted_opens[i].listen_path = NULL; | 3787 | permitted_opens[i].listen_path = NULL; |
3788 | permitted_opens[i].downstream = NULL; | ||
3423 | 3789 | ||
3424 | return 0; | 3790 | return 0; |
3425 | } | 3791 | } |
@@ -3440,45 +3806,6 @@ channel_request_rforward_cancel(struct Forward *fwd) | |||
3440 | } | 3806 | } |
3441 | 3807 | ||
3442 | /* | 3808 | /* |
3443 | * This is called after receiving CHANNEL_FORWARDING_REQUEST. This initates | ||
3444 | * listening for the port, and sends back a success reply (or disconnect | ||
3445 | * message if there was an error). | ||
3446 | */ | ||
3447 | int | ||
3448 | channel_input_port_forward_request(int is_root, struct ForwardOptions *fwd_opts) | ||
3449 | { | ||
3450 | int success = 0; | ||
3451 | struct Forward fwd; | ||
3452 | |||
3453 | /* Get arguments from the packet. */ | ||
3454 | memset(&fwd, 0, sizeof(fwd)); | ||
3455 | fwd.listen_port = packet_get_int(); | ||
3456 | fwd.connect_host = packet_get_string(NULL); | ||
3457 | fwd.connect_port = packet_get_int(); | ||
3458 | |||
3459 | #ifndef HAVE_CYGWIN | ||
3460 | /* | ||
3461 | * Check that an unprivileged user is not trying to forward a | ||
3462 | * privileged port. | ||
3463 | */ | ||
3464 | if (fwd.listen_port < IPPORT_RESERVED && !is_root) | ||
3465 | packet_disconnect( | ||
3466 | "Requested forwarding of port %d but user is not root.", | ||
3467 | fwd.listen_port); | ||
3468 | if (fwd.connect_port == 0) | ||
3469 | packet_disconnect("Dynamic forwarding denied."); | ||
3470 | #endif | ||
3471 | |||
3472 | /* Initiate forwarding */ | ||
3473 | success = channel_setup_local_fwd_listener(&fwd, fwd_opts); | ||
3474 | |||
3475 | /* Free the argument string. */ | ||
3476 | free(fwd.connect_host); | ||
3477 | |||
3478 | return (success ? 0 : -1); | ||
3479 | } | ||
3480 | |||
3481 | /* | ||
3482 | * Permits opening to any host/port if permitted_opens[] is empty. This is | 3809 | * Permits opening to any host/port if permitted_opens[] is empty. This is |
3483 | * usually called by the server, because the user could connect to any port | 3810 | * usually called by the server, because the user could connect to any port |
3484 | * anyway, and the server has no way to know but to trust the client anyway. | 3811 | * anyway, and the server has no way to know but to trust the client anyway. |
@@ -3502,6 +3829,7 @@ channel_add_permitted_opens(char *host, int port) | |||
3502 | permitted_opens[num_permitted_opens].listen_host = NULL; | 3829 | permitted_opens[num_permitted_opens].listen_host = NULL; |
3503 | permitted_opens[num_permitted_opens].listen_path = NULL; | 3830 | permitted_opens[num_permitted_opens].listen_path = NULL; |
3504 | permitted_opens[num_permitted_opens].listen_port = 0; | 3831 | permitted_opens[num_permitted_opens].listen_port = 0; |
3832 | permitted_opens[num_permitted_opens].downstream = NULL; | ||
3505 | num_permitted_opens++; | 3833 | num_permitted_opens++; |
3506 | 3834 | ||
3507 | all_opens_permitted = 0; | 3835 | all_opens_permitted = 0; |
@@ -3633,7 +3961,7 @@ connect_next(struct channel_connect *cctx) | |||
3633 | { | 3961 | { |
3634 | int sock, saved_errno; | 3962 | int sock, saved_errno; |
3635 | struct sockaddr_un *sunaddr; | 3963 | struct sockaddr_un *sunaddr; |
3636 | char ntop[NI_MAXHOST], strport[MAX(NI_MAXSERV,sizeof(sunaddr->sun_path))]; | 3964 | char ntop[NI_MAXHOST], strport[MAXIMUM(NI_MAXSERV,sizeof(sunaddr->sun_path))]; |
3637 | 3965 | ||
3638 | for (; cctx->ai; cctx->ai = cctx->ai->ai_next) { | 3966 | for (; cctx->ai; cctx->ai = cctx->ai->ai_next) { |
3639 | switch (cctx->ai->ai_family) { | 3967 | switch (cctx->ai->ai_family) { |
@@ -3764,6 +4092,10 @@ connect_to(const char *name, int port, char *ctype, char *rname) | |||
3764 | return c; | 4092 | return c; |
3765 | } | 4093 | } |
3766 | 4094 | ||
4095 | /* | ||
4096 | * returns either the newly connected channel or the downstream channel | ||
4097 | * that needs to deal with this connection. | ||
4098 | */ | ||
3767 | Channel * | 4099 | Channel * |
3768 | channel_connect_by_listen_address(const char *listen_host, | 4100 | channel_connect_by_listen_address(const char *listen_host, |
3769 | u_short listen_port, char *ctype, char *rname) | 4101 | u_short listen_port, char *ctype, char *rname) |
@@ -3773,6 +4105,8 @@ channel_connect_by_listen_address(const char *listen_host, | |||
3773 | for (i = 0; i < num_permitted_opens; i++) { | 4105 | for (i = 0; i < num_permitted_opens; i++) { |
3774 | if (open_listen_match_tcpip(&permitted_opens[i], listen_host, | 4106 | if (open_listen_match_tcpip(&permitted_opens[i], listen_host, |
3775 | listen_port, 1)) { | 4107 | listen_port, 1)) { |
4108 | if (permitted_opens[i].downstream) | ||
4109 | return permitted_opens[i].downstream; | ||
3776 | return connect_to( | 4110 | return connect_to( |
3777 | permitted_opens[i].host_to_connect, | 4111 | permitted_opens[i].host_to_connect, |
3778 | permitted_opens[i].port_to_connect, ctype, rname); | 4112 | permitted_opens[i].port_to_connect, ctype, rname); |
@@ -4216,7 +4550,6 @@ x11_request_forwarding_with_spoofing(int client_session_id, const char *disp, | |||
4216 | char *new_data; | 4550 | char *new_data; |
4217 | int screen_number; | 4551 | int screen_number; |
4218 | const char *cp; | 4552 | const char *cp; |
4219 | u_int32_t rnd = 0; | ||
4220 | 4553 | ||
4221 | if (x11_saved_display == NULL) | 4554 | if (x11_saved_display == NULL) |
4222 | x11_saved_display = xstrdup(disp); | 4555 | x11_saved_display = xstrdup(disp); |
@@ -4237,23 +4570,20 @@ x11_request_forwarding_with_spoofing(int client_session_id, const char *disp, | |||
4237 | if (x11_saved_proto == NULL) { | 4570 | if (x11_saved_proto == NULL) { |
4238 | /* Save protocol name. */ | 4571 | /* Save protocol name. */ |
4239 | x11_saved_proto = xstrdup(proto); | 4572 | x11_saved_proto = xstrdup(proto); |
4240 | /* | 4573 | |
4241 | * Extract real authentication data and generate fake data | 4574 | /* Extract real authentication data. */ |
4242 | * of the same length. | ||
4243 | */ | ||
4244 | x11_saved_data = xmalloc(data_len); | 4575 | x11_saved_data = xmalloc(data_len); |
4245 | x11_fake_data = xmalloc(data_len); | ||
4246 | for (i = 0; i < data_len; i++) { | 4576 | for (i = 0; i < data_len; i++) { |
4247 | if (sscanf(data + 2 * i, "%2x", &value) != 1) | 4577 | if (sscanf(data + 2 * i, "%2x", &value) != 1) |
4248 | fatal("x11_request_forwarding: bad " | 4578 | fatal("x11_request_forwarding: bad " |
4249 | "authentication data: %.100s", data); | 4579 | "authentication data: %.100s", data); |
4250 | if (i % 4 == 0) | ||
4251 | rnd = arc4random(); | ||
4252 | x11_saved_data[i] = value; | 4580 | x11_saved_data[i] = value; |
4253 | x11_fake_data[i] = rnd & 0xff; | ||
4254 | rnd >>= 8; | ||
4255 | } | 4581 | } |
4256 | x11_saved_data_len = data_len; | 4582 | x11_saved_data_len = data_len; |
4583 | |||
4584 | /* Generate fake data of the same length. */ | ||
4585 | x11_fake_data = xmalloc(data_len); | ||
4586 | arc4random_buf(x11_fake_data, data_len); | ||
4257 | x11_fake_data_len = data_len; | 4587 | x11_fake_data_len = data_len; |
4258 | } | 4588 | } |
4259 | 4589 | ||
diff --git a/channels.h b/channels.h index 9d76c9d2a..09c3c3655 100644 --- a/channels.h +++ b/channels.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: channels.h,v 1.118 2015/07/01 02:26:31 djm Exp $ */ | 1 | /* $OpenBSD: channels.h,v 1.120 2016/10/18 17:32:54 dtucker Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -58,7 +58,8 @@ | |||
58 | #define SSH_CHANNEL_ABANDONED 17 /* Abandoned session, eg mux */ | 58 | #define SSH_CHANNEL_ABANDONED 17 /* Abandoned session, eg mux */ |
59 | #define SSH_CHANNEL_UNIX_LISTENER 18 /* Listening on a domain socket. */ | 59 | #define SSH_CHANNEL_UNIX_LISTENER 18 /* Listening on a domain socket. */ |
60 | #define SSH_CHANNEL_RUNIX_LISTENER 19 /* Listening to a R-style domain socket. */ | 60 | #define SSH_CHANNEL_RUNIX_LISTENER 19 /* Listening to a R-style domain socket. */ |
61 | #define SSH_CHANNEL_MAX_TYPE 20 | 61 | #define SSH_CHANNEL_MUX_PROXY 20 /* proxy channel for mux-slave */ |
62 | #define SSH_CHANNEL_MAX_TYPE 21 | ||
62 | 63 | ||
63 | #define CHANNEL_CANCEL_PORT_STATIC -1 | 64 | #define CHANNEL_CANCEL_PORT_STATIC -1 |
64 | 65 | ||
@@ -162,6 +163,7 @@ struct Channel { | |||
162 | mux_callback_fn *mux_rcb; | 163 | mux_callback_fn *mux_rcb; |
163 | void *mux_ctx; | 164 | void *mux_ctx; |
164 | int mux_pause; | 165 | int mux_pause; |
166 | int mux_downstream_id; | ||
165 | }; | 167 | }; |
166 | 168 | ||
167 | #define CHAN_EXTENDED_IGNORE 0 | 169 | #define CHAN_EXTENDED_IGNORE 0 |
@@ -209,6 +211,7 @@ struct Channel { | |||
209 | /* channel management */ | 211 | /* channel management */ |
210 | 212 | ||
211 | Channel *channel_by_id(int); | 213 | Channel *channel_by_id(int); |
214 | Channel *channel_by_remote_id(int); | ||
212 | Channel *channel_lookup(int); | 215 | Channel *channel_lookup(int); |
213 | Channel *channel_new(char *, int, int, int, int, u_int, u_int, int, char *, int); | 216 | Channel *channel_new(char *, int, int, int, int, u_int, u_int, int, char *, int); |
214 | void channel_set_fds(int, int, int, int, int, int, int, u_int); | 217 | void channel_set_fds(int, int, int, int, int, int, int, u_int); |
@@ -228,6 +231,11 @@ void channel_cancel_cleanup(int); | |||
228 | int channel_close_fd(int *); | 231 | int channel_close_fd(int *); |
229 | void channel_send_window_changes(void); | 232 | void channel_send_window_changes(void); |
230 | 233 | ||
234 | /* mux proxy support */ | ||
235 | |||
236 | int channel_proxy_downstream(Channel *mc); | ||
237 | int channel_proxy_upstream(Channel *, int, u_int32_t, void *); | ||
238 | |||
231 | /* protocol handler */ | 239 | /* protocol handler */ |
232 | 240 | ||
233 | int channel_input_close(int, u_int32_t, void *); | 241 | int channel_input_close(int, u_int32_t, void *); |
@@ -267,7 +275,6 @@ void channel_update_permitted_opens(int, int); | |||
267 | void channel_clear_permitted_opens(void); | 275 | void channel_clear_permitted_opens(void); |
268 | void channel_clear_adm_permitted_opens(void); | 276 | void channel_clear_adm_permitted_opens(void); |
269 | void channel_print_adm_permitted_opens(void); | 277 | void channel_print_adm_permitted_opens(void); |
270 | int channel_input_port_forward_request(int, struct ForwardOptions *); | ||
271 | Channel *channel_connect_to_port(const char *, u_short, char *, char *); | 278 | Channel *channel_connect_to_port(const char *, u_short, char *, char *); |
272 | Channel *channel_connect_to_path(const char *, char *, char *); | 279 | Channel *channel_connect_to_path(const char *, char *, char *); |
273 | Channel *channel_connect_stdio_fwd(const char*, u_short, int, int); | 280 | Channel *channel_connect_stdio_fwd(const char*, u_short, int, int); |
diff --git a/cipher-3des1.c b/cipher-3des1.c index 6a0f1f37b..9fcc2785a 100644 --- a/cipher-3des1.c +++ b/cipher-3des1.c | |||
@@ -20,6 +20,8 @@ | |||
20 | 20 | ||
21 | #include "includes.h" | 21 | #include "includes.h" |
22 | 22 | ||
23 | #ifdef WITH_SSH1 | ||
24 | |||
23 | #include <sys/types.h> | 25 | #include <sys/types.h> |
24 | #include <string.h> | 26 | #include <string.h> |
25 | #include <openssl/evp.h> | 27 | #include <openssl/evp.h> |
@@ -153,3 +155,4 @@ evp_ssh1_3des(void) | |||
153 | ssh1_3des.flags = EVP_CIPH_CBC_MODE | EVP_CIPH_VARIABLE_LENGTH; | 155 | ssh1_3des.flags = EVP_CIPH_CBC_MODE | EVP_CIPH_VARIABLE_LENGTH; |
154 | return &ssh1_3des; | 156 | return &ssh1_3des; |
155 | } | 157 | } |
158 | #endif /* WITH_SSH1 */ | ||
diff --git a/cipher-bf1.c b/cipher-bf1.c index 7d51f5198..c205b077c 100644 --- a/cipher-bf1.c +++ b/cipher-bf1.c | |||
@@ -20,6 +20,7 @@ | |||
20 | 20 | ||
21 | #include "includes.h" | 21 | #include "includes.h" |
22 | 22 | ||
23 | #ifdef WITH_SSH1 | ||
23 | #if defined(WITH_OPENSSL) && !defined(OPENSSL_NO_BF) | 24 | #if defined(WITH_OPENSSL) && !defined(OPENSSL_NO_BF) |
24 | 25 | ||
25 | #include <sys/types.h> | 26 | #include <sys/types.h> |
@@ -101,3 +102,5 @@ evp_ssh1_bf(void) | |||
101 | return (&ssh1_bf); | 102 | return (&ssh1_bf); |
102 | } | 103 | } |
103 | #endif /* defined(WITH_OPENSSL) && !defined(OPENSSL_NO_BF) */ | 104 | #endif /* defined(WITH_OPENSSL) && !defined(OPENSSL_NO_BF) */ |
105 | |||
106 | #endif /* WITH_SSH1 */ | ||
diff --git a/cipher-chachapoly.c b/cipher-chachapoly.c index 7f31ff4ce..0899c5ad5 100644 --- a/cipher-chachapoly.c +++ b/cipher-chachapoly.c | |||
@@ -14,7 +14,7 @@ | |||
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* $OpenBSD: cipher-chachapoly.c,v 1.7 2015/01/14 10:24:42 markus Exp $ */ | 17 | /* $OpenBSD: cipher-chachapoly.c,v 1.8 2016/08/03 05:41:57 djm Exp $ */ |
18 | 18 | ||
19 | #include "includes.h" | 19 | #include "includes.h" |
20 | 20 | ||
@@ -28,7 +28,8 @@ | |||
28 | #include "ssherr.h" | 28 | #include "ssherr.h" |
29 | #include "cipher-chachapoly.h" | 29 | #include "cipher-chachapoly.h" |
30 | 30 | ||
31 | int chachapoly_init(struct chachapoly_ctx *ctx, | 31 | int |
32 | chachapoly_init(struct chachapoly_ctx *ctx, | ||
32 | const u_char *key, u_int keylen) | 33 | const u_char *key, u_int keylen) |
33 | { | 34 | { |
34 | if (keylen != (32 + 32)) /* 2 x 256 bit keys */ | 35 | if (keylen != (32 + 32)) /* 2 x 256 bit keys */ |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: cipher.c,v 1.101 2015/12/10 17:08:40 mmcc Exp $ */ | 1 | /* $OpenBSD: cipher.c,v 1.102 2016/08/03 05:41:57 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -57,6 +57,15 @@ extern const EVP_CIPHER *evp_ssh1_3des(void); | |||
57 | extern int ssh1_3des_iv(EVP_CIPHER_CTX *, int, u_char *, int); | 57 | extern int ssh1_3des_iv(EVP_CIPHER_CTX *, int, u_char *, int); |
58 | #endif | 58 | #endif |
59 | 59 | ||
60 | struct sshcipher_ctx { | ||
61 | int plaintext; | ||
62 | int encrypt; | ||
63 | EVP_CIPHER_CTX *evp; | ||
64 | struct chachapoly_ctx cp_ctx; /* XXX union with evp? */ | ||
65 | struct aesctr_ctx ac_ctx; /* XXX union with evp? */ | ||
66 | const struct sshcipher *cipher; | ||
67 | }; | ||
68 | |||
60 | struct sshcipher { | 69 | struct sshcipher { |
61 | char *name; | 70 | char *name; |
62 | int number; /* for ssh1 only */ | 71 | int number; /* for ssh1 only */ |
@@ -206,6 +215,18 @@ cipher_is_cbc(const struct sshcipher *c) | |||
206 | } | 215 | } |
207 | 216 | ||
208 | u_int | 217 | u_int |
218 | cipher_ctx_is_plaintext(struct sshcipher_ctx *cc) | ||
219 | { | ||
220 | return cc->plaintext; | ||
221 | } | ||
222 | |||
223 | u_int | ||
224 | cipher_ctx_get_number(struct sshcipher_ctx *cc) | ||
225 | { | ||
226 | return cc->cipher->number; | ||
227 | } | ||
228 | |||
229 | u_int | ||
209 | cipher_mask_ssh1(int client) | 230 | cipher_mask_ssh1(int client) |
210 | { | 231 | { |
211 | u_int mask = 0; | 232 | u_int mask = 0; |
@@ -297,65 +318,81 @@ cipher_warning_message(const struct sshcipher_ctx *cc) | |||
297 | } | 318 | } |
298 | 319 | ||
299 | int | 320 | int |
300 | cipher_init(struct sshcipher_ctx *cc, const struct sshcipher *cipher, | 321 | cipher_init(struct sshcipher_ctx **ccp, const struct sshcipher *cipher, |
301 | const u_char *key, u_int keylen, const u_char *iv, u_int ivlen, | 322 | const u_char *key, u_int keylen, const u_char *iv, u_int ivlen, |
302 | int do_encrypt) | 323 | int do_encrypt) |
303 | { | 324 | { |
304 | #ifdef WITH_OPENSSL | 325 | struct sshcipher_ctx *cc = NULL; |
305 | int ret = SSH_ERR_INTERNAL_ERROR; | 326 | int ret = SSH_ERR_INTERNAL_ERROR; |
327 | #ifdef WITH_OPENSSL | ||
306 | const EVP_CIPHER *type; | 328 | const EVP_CIPHER *type; |
307 | int klen; | 329 | int klen; |
308 | u_char *junk, *discard; | 330 | u_char *junk, *discard; |
331 | #endif | ||
332 | |||
333 | *ccp = NULL; | ||
334 | if ((cc = calloc(sizeof(*cc), 1)) == NULL) | ||
335 | return SSH_ERR_ALLOC_FAIL; | ||
309 | 336 | ||
310 | if (cipher->number == SSH_CIPHER_DES) { | 337 | if (cipher->number == SSH_CIPHER_DES) { |
311 | if (keylen > 8) | 338 | if (keylen > 8) |
312 | keylen = 8; | 339 | keylen = 8; |
313 | } | 340 | } |
314 | #endif | 341 | |
315 | cc->plaintext = (cipher->number == SSH_CIPHER_NONE); | 342 | cc->plaintext = (cipher->number == SSH_CIPHER_NONE); |
316 | cc->encrypt = do_encrypt; | 343 | cc->encrypt = do_encrypt; |
317 | 344 | ||
318 | if (keylen < cipher->key_len || | 345 | if (keylen < cipher->key_len || |
319 | (iv != NULL && ivlen < cipher_ivlen(cipher))) | 346 | (iv != NULL && ivlen < cipher_ivlen(cipher))) { |
320 | return SSH_ERR_INVALID_ARGUMENT; | 347 | ret = SSH_ERR_INVALID_ARGUMENT; |
348 | goto out; | ||
349 | } | ||
321 | 350 | ||
322 | cc->cipher = cipher; | 351 | cc->cipher = cipher; |
323 | if ((cc->cipher->flags & CFLAG_CHACHAPOLY) != 0) { | 352 | if ((cc->cipher->flags & CFLAG_CHACHAPOLY) != 0) { |
324 | return chachapoly_init(&cc->cp_ctx, key, keylen); | 353 | ret = chachapoly_init(&cc->cp_ctx, key, keylen); |
354 | goto out; | ||
325 | } | 355 | } |
326 | #ifndef WITH_OPENSSL | 356 | #ifndef WITH_OPENSSL |
327 | if ((cc->cipher->flags & CFLAG_AESCTR) != 0) { | 357 | if ((cc->cipher->flags & CFLAG_AESCTR) != 0) { |
328 | aesctr_keysetup(&cc->ac_ctx, key, 8 * keylen, 8 * ivlen); | 358 | aesctr_keysetup(&cc->ac_ctx, key, 8 * keylen, 8 * ivlen); |
329 | aesctr_ivsetup(&cc->ac_ctx, iv); | 359 | aesctr_ivsetup(&cc->ac_ctx, iv); |
330 | return 0; | 360 | ret = 0; |
361 | goto out; | ||
331 | } | 362 | } |
332 | if ((cc->cipher->flags & CFLAG_NONE) != 0) | 363 | if ((cc->cipher->flags & CFLAG_NONE) != 0) { |
333 | return 0; | 364 | ret = 0; |
334 | return SSH_ERR_INVALID_ARGUMENT; | 365 | goto out; |
335 | #else | 366 | } |
367 | ret = SSH_ERR_INVALID_ARGUMENT; | ||
368 | goto out; | ||
369 | #else /* WITH_OPENSSL */ | ||
336 | type = (*cipher->evptype)(); | 370 | type = (*cipher->evptype)(); |
337 | EVP_CIPHER_CTX_init(&cc->evp); | 371 | if ((cc->evp = EVP_CIPHER_CTX_new()) == NULL) { |
338 | if (EVP_CipherInit(&cc->evp, type, NULL, (u_char *)iv, | 372 | ret = SSH_ERR_ALLOC_FAIL; |
373 | goto out; | ||
374 | } | ||
375 | if (EVP_CipherInit(cc->evp, type, NULL, (u_char *)iv, | ||
339 | (do_encrypt == CIPHER_ENCRYPT)) == 0) { | 376 | (do_encrypt == CIPHER_ENCRYPT)) == 0) { |
340 | ret = SSH_ERR_LIBCRYPTO_ERROR; | 377 | ret = SSH_ERR_LIBCRYPTO_ERROR; |
341 | goto bad; | 378 | goto out; |
342 | } | 379 | } |
343 | if (cipher_authlen(cipher) && | 380 | if (cipher_authlen(cipher) && |
344 | !EVP_CIPHER_CTX_ctrl(&cc->evp, EVP_CTRL_GCM_SET_IV_FIXED, | 381 | !EVP_CIPHER_CTX_ctrl(cc->evp, EVP_CTRL_GCM_SET_IV_FIXED, |
345 | -1, (u_char *)iv)) { | 382 | -1, (u_char *)iv)) { |
346 | ret = SSH_ERR_LIBCRYPTO_ERROR; | 383 | ret = SSH_ERR_LIBCRYPTO_ERROR; |
347 | goto bad; | 384 | goto out; |
348 | } | 385 | } |
349 | klen = EVP_CIPHER_CTX_key_length(&cc->evp); | 386 | klen = EVP_CIPHER_CTX_key_length(cc->evp); |
350 | if (klen > 0 && keylen != (u_int)klen) { | 387 | if (klen > 0 && keylen != (u_int)klen) { |
351 | if (EVP_CIPHER_CTX_set_key_length(&cc->evp, keylen) == 0) { | 388 | if (EVP_CIPHER_CTX_set_key_length(cc->evp, keylen) == 0) { |
352 | ret = SSH_ERR_LIBCRYPTO_ERROR; | 389 | ret = SSH_ERR_LIBCRYPTO_ERROR; |
353 | goto bad; | 390 | goto out; |
354 | } | 391 | } |
355 | } | 392 | } |
356 | if (EVP_CipherInit(&cc->evp, NULL, (u_char *)key, NULL, -1) == 0) { | 393 | if (EVP_CipherInit(cc->evp, NULL, (u_char *)key, NULL, -1) == 0) { |
357 | ret = SSH_ERR_LIBCRYPTO_ERROR; | 394 | ret = SSH_ERR_LIBCRYPTO_ERROR; |
358 | goto bad; | 395 | goto out; |
359 | } | 396 | } |
360 | 397 | ||
361 | if (cipher->discard_len > 0) { | 398 | if (cipher->discard_len > 0) { |
@@ -363,21 +400,34 @@ cipher_init(struct sshcipher_ctx *cc, const struct sshcipher *cipher, | |||
363 | (discard = malloc(cipher->discard_len)) == NULL) { | 400 | (discard = malloc(cipher->discard_len)) == NULL) { |
364 | free(junk); | 401 | free(junk); |
365 | ret = SSH_ERR_ALLOC_FAIL; | 402 | ret = SSH_ERR_ALLOC_FAIL; |
366 | goto bad; | 403 | goto out; |
367 | } | 404 | } |
368 | ret = EVP_Cipher(&cc->evp, discard, junk, cipher->discard_len); | 405 | ret = EVP_Cipher(cc->evp, discard, junk, cipher->discard_len); |
369 | explicit_bzero(discard, cipher->discard_len); | 406 | explicit_bzero(discard, cipher->discard_len); |
370 | free(junk); | 407 | free(junk); |
371 | free(discard); | 408 | free(discard); |
372 | if (ret != 1) { | 409 | if (ret != 1) { |
373 | ret = SSH_ERR_LIBCRYPTO_ERROR; | 410 | ret = SSH_ERR_LIBCRYPTO_ERROR; |
374 | bad: | 411 | goto out; |
375 | EVP_CIPHER_CTX_cleanup(&cc->evp); | ||
376 | return ret; | ||
377 | } | 412 | } |
378 | } | 413 | } |
379 | #endif | 414 | ret = 0; |
380 | return 0; | 415 | #endif /* WITH_OPENSSL */ |
416 | out: | ||
417 | if (ret == 0) { | ||
418 | /* success */ | ||
419 | *ccp = cc; | ||
420 | } else { | ||
421 | if (cc != NULL) { | ||
422 | #ifdef WITH_OPENSSL | ||
423 | if (cc->evp != NULL) | ||
424 | EVP_CIPHER_CTX_free(cc->evp); | ||
425 | #endif /* WITH_OPENSSL */ | ||
426 | explicit_bzero(cc, sizeof(*cc)); | ||
427 | free(cc); | ||
428 | } | ||
429 | } | ||
430 | return ret; | ||
381 | } | 431 | } |
382 | 432 | ||
383 | /* | 433 | /* |
@@ -418,33 +468,33 @@ cipher_crypt(struct sshcipher_ctx *cc, u_int seqnr, u_char *dest, | |||
418 | if (authlen != cipher_authlen(cc->cipher)) | 468 | if (authlen != cipher_authlen(cc->cipher)) |
419 | return SSH_ERR_INVALID_ARGUMENT; | 469 | return SSH_ERR_INVALID_ARGUMENT; |
420 | /* increment IV */ | 470 | /* increment IV */ |
421 | if (!EVP_CIPHER_CTX_ctrl(&cc->evp, EVP_CTRL_GCM_IV_GEN, | 471 | if (!EVP_CIPHER_CTX_ctrl(cc->evp, EVP_CTRL_GCM_IV_GEN, |
422 | 1, lastiv)) | 472 | 1, lastiv)) |
423 | return SSH_ERR_LIBCRYPTO_ERROR; | 473 | return SSH_ERR_LIBCRYPTO_ERROR; |
424 | /* set tag on decyption */ | 474 | /* set tag on decyption */ |
425 | if (!cc->encrypt && | 475 | if (!cc->encrypt && |
426 | !EVP_CIPHER_CTX_ctrl(&cc->evp, EVP_CTRL_GCM_SET_TAG, | 476 | !EVP_CIPHER_CTX_ctrl(cc->evp, EVP_CTRL_GCM_SET_TAG, |
427 | authlen, (u_char *)src + aadlen + len)) | 477 | authlen, (u_char *)src + aadlen + len)) |
428 | return SSH_ERR_LIBCRYPTO_ERROR; | 478 | return SSH_ERR_LIBCRYPTO_ERROR; |
429 | } | 479 | } |
430 | if (aadlen) { | 480 | if (aadlen) { |
431 | if (authlen && | 481 | if (authlen && |
432 | EVP_Cipher(&cc->evp, NULL, (u_char *)src, aadlen) < 0) | 482 | EVP_Cipher(cc->evp, NULL, (u_char *)src, aadlen) < 0) |
433 | return SSH_ERR_LIBCRYPTO_ERROR; | 483 | return SSH_ERR_LIBCRYPTO_ERROR; |
434 | memcpy(dest, src, aadlen); | 484 | memcpy(dest, src, aadlen); |
435 | } | 485 | } |
436 | if (len % cc->cipher->block_size) | 486 | if (len % cc->cipher->block_size) |
437 | return SSH_ERR_INVALID_ARGUMENT; | 487 | return SSH_ERR_INVALID_ARGUMENT; |
438 | if (EVP_Cipher(&cc->evp, dest + aadlen, (u_char *)src + aadlen, | 488 | if (EVP_Cipher(cc->evp, dest + aadlen, (u_char *)src + aadlen, |
439 | len) < 0) | 489 | len) < 0) |
440 | return SSH_ERR_LIBCRYPTO_ERROR; | 490 | return SSH_ERR_LIBCRYPTO_ERROR; |
441 | if (authlen) { | 491 | if (authlen) { |
442 | /* compute tag (on encrypt) or verify tag (on decrypt) */ | 492 | /* compute tag (on encrypt) or verify tag (on decrypt) */ |
443 | if (EVP_Cipher(&cc->evp, NULL, NULL, 0) < 0) | 493 | if (EVP_Cipher(cc->evp, NULL, NULL, 0) < 0) |
444 | return cc->encrypt ? | 494 | return cc->encrypt ? |
445 | SSH_ERR_LIBCRYPTO_ERROR : SSH_ERR_MAC_INVALID; | 495 | SSH_ERR_LIBCRYPTO_ERROR : SSH_ERR_MAC_INVALID; |
446 | if (cc->encrypt && | 496 | if (cc->encrypt && |
447 | !EVP_CIPHER_CTX_ctrl(&cc->evp, EVP_CTRL_GCM_GET_TAG, | 497 | !EVP_CIPHER_CTX_ctrl(cc->evp, EVP_CTRL_GCM_GET_TAG, |
448 | authlen, dest + aadlen + len)) | 498 | authlen, dest + aadlen + len)) |
449 | return SSH_ERR_LIBCRYPTO_ERROR; | 499 | return SSH_ERR_LIBCRYPTO_ERROR; |
450 | } | 500 | } |
@@ -466,20 +516,23 @@ cipher_get_length(struct sshcipher_ctx *cc, u_int *plenp, u_int seqnr, | |||
466 | return 0; | 516 | return 0; |
467 | } | 517 | } |
468 | 518 | ||
469 | int | 519 | void |
470 | cipher_cleanup(struct sshcipher_ctx *cc) | 520 | cipher_free(struct sshcipher_ctx *cc) |
471 | { | 521 | { |
472 | if (cc == NULL || cc->cipher == NULL) | 522 | if (cc == NULL) |
473 | return 0; | 523 | return; |
474 | if ((cc->cipher->flags & CFLAG_CHACHAPOLY) != 0) | 524 | if ((cc->cipher->flags & CFLAG_CHACHAPOLY) != 0) |
475 | explicit_bzero(&cc->cp_ctx, sizeof(cc->cp_ctx)); | 525 | explicit_bzero(&cc->cp_ctx, sizeof(cc->cp_ctx)); |
476 | else if ((cc->cipher->flags & CFLAG_AESCTR) != 0) | 526 | else if ((cc->cipher->flags & CFLAG_AESCTR) != 0) |
477 | explicit_bzero(&cc->ac_ctx, sizeof(cc->ac_ctx)); | 527 | explicit_bzero(&cc->ac_ctx, sizeof(cc->ac_ctx)); |
478 | #ifdef WITH_OPENSSL | 528 | #ifdef WITH_OPENSSL |
479 | else if (EVP_CIPHER_CTX_cleanup(&cc->evp) == 0) | 529 | if (cc->evp != NULL) { |
480 | return SSH_ERR_LIBCRYPTO_ERROR; | 530 | EVP_CIPHER_CTX_free(cc->evp); |
531 | cc->evp = NULL; | ||
532 | } | ||
481 | #endif | 533 | #endif |
482 | return 0; | 534 | explicit_bzero(cc, sizeof(*cc)); |
535 | free(cc); | ||
483 | } | 536 | } |
484 | 537 | ||
485 | /* | 538 | /* |
@@ -487,8 +540,8 @@ cipher_cleanup(struct sshcipher_ctx *cc) | |||
487 | * passphrase and using the resulting 16 bytes as the key. | 540 | * passphrase and using the resulting 16 bytes as the key. |
488 | */ | 541 | */ |
489 | int | 542 | int |
490 | cipher_set_key_string(struct sshcipher_ctx *cc, const struct sshcipher *cipher, | 543 | cipher_set_key_string(struct sshcipher_ctx **ccp, |
491 | const char *passphrase, int do_encrypt) | 544 | const struct sshcipher *cipher, const char *passphrase, int do_encrypt) |
492 | { | 545 | { |
493 | u_char digest[16]; | 546 | u_char digest[16]; |
494 | int r = SSH_ERR_INTERNAL_ERROR; | 547 | int r = SSH_ERR_INTERNAL_ERROR; |
@@ -498,7 +551,7 @@ cipher_set_key_string(struct sshcipher_ctx *cc, const struct sshcipher *cipher, | |||
498 | digest, sizeof(digest))) != 0) | 551 | digest, sizeof(digest))) != 0) |
499 | goto out; | 552 | goto out; |
500 | 553 | ||
501 | r = cipher_init(cc, cipher, digest, 16, NULL, 0, do_encrypt); | 554 | r = cipher_init(ccp, cipher, digest, 16, NULL, 0, do_encrypt); |
502 | out: | 555 | out: |
503 | explicit_bzero(digest, sizeof(digest)); | 556 | explicit_bzero(digest, sizeof(digest)); |
504 | return r; | 557 | return r; |
@@ -523,7 +576,7 @@ cipher_get_keyiv_len(const struct sshcipher_ctx *cc) | |||
523 | ivlen = sizeof(cc->ac_ctx.ctr); | 576 | ivlen = sizeof(cc->ac_ctx.ctr); |
524 | #ifdef WITH_OPENSSL | 577 | #ifdef WITH_OPENSSL |
525 | else | 578 | else |
526 | ivlen = EVP_CIPHER_CTX_iv_length(&cc->evp); | 579 | ivlen = EVP_CIPHER_CTX_iv_length(cc->evp); |
527 | #endif /* WITH_OPENSSL */ | 580 | #endif /* WITH_OPENSSL */ |
528 | return (ivlen); | 581 | return (ivlen); |
529 | } | 582 | } |
@@ -555,7 +608,7 @@ cipher_get_keyiv(struct sshcipher_ctx *cc, u_char *iv, u_int len) | |||
555 | case SSH_CIPHER_SSH2: | 608 | case SSH_CIPHER_SSH2: |
556 | case SSH_CIPHER_DES: | 609 | case SSH_CIPHER_DES: |
557 | case SSH_CIPHER_BLOWFISH: | 610 | case SSH_CIPHER_BLOWFISH: |
558 | evplen = EVP_CIPHER_CTX_iv_length(&cc->evp); | 611 | evplen = EVP_CIPHER_CTX_iv_length(cc->evp); |
559 | if (evplen == 0) | 612 | if (evplen == 0) |
560 | return 0; | 613 | return 0; |
561 | else if (evplen < 0) | 614 | else if (evplen < 0) |
@@ -564,20 +617,20 @@ cipher_get_keyiv(struct sshcipher_ctx *cc, u_char *iv, u_int len) | |||
564 | return SSH_ERR_INVALID_ARGUMENT; | 617 | return SSH_ERR_INVALID_ARGUMENT; |
565 | #ifndef OPENSSL_HAVE_EVPCTR | 618 | #ifndef OPENSSL_HAVE_EVPCTR |
566 | if (c->evptype == evp_aes_128_ctr) | 619 | if (c->evptype == evp_aes_128_ctr) |
567 | ssh_aes_ctr_iv(&cc->evp, 0, iv, len); | 620 | ssh_aes_ctr_iv(cc->evp, 0, iv, len); |
568 | else | 621 | else |
569 | #endif | 622 | #endif |
570 | if (cipher_authlen(c)) { | 623 | if (cipher_authlen(c)) { |
571 | if (!EVP_CIPHER_CTX_ctrl(&cc->evp, EVP_CTRL_GCM_IV_GEN, | 624 | if (!EVP_CIPHER_CTX_ctrl(cc->evp, EVP_CTRL_GCM_IV_GEN, |
572 | len, iv)) | 625 | len, iv)) |
573 | return SSH_ERR_LIBCRYPTO_ERROR; | 626 | return SSH_ERR_LIBCRYPTO_ERROR; |
574 | } else | 627 | } else |
575 | memcpy(iv, cc->evp.iv, len); | 628 | memcpy(iv, cc->evp->iv, len); |
576 | break; | 629 | break; |
577 | #endif | 630 | #endif |
578 | #ifdef WITH_SSH1 | 631 | #ifdef WITH_SSH1 |
579 | case SSH_CIPHER_3DES: | 632 | case SSH_CIPHER_3DES: |
580 | return ssh1_3des_iv(&cc->evp, 0, iv, 24); | 633 | return ssh1_3des_iv(cc->evp, 0, iv, 24); |
581 | #endif | 634 | #endif |
582 | default: | 635 | default: |
583 | return SSH_ERR_INVALID_ARGUMENT; | 636 | return SSH_ERR_INVALID_ARGUMENT; |
@@ -603,21 +656,27 @@ cipher_set_keyiv(struct sshcipher_ctx *cc, const u_char *iv) | |||
603 | case SSH_CIPHER_SSH2: | 656 | case SSH_CIPHER_SSH2: |
604 | case SSH_CIPHER_DES: | 657 | case SSH_CIPHER_DES: |
605 | case SSH_CIPHER_BLOWFISH: | 658 | case SSH_CIPHER_BLOWFISH: |
606 | evplen = EVP_CIPHER_CTX_iv_length(&cc->evp); | 659 | evplen = EVP_CIPHER_CTX_iv_length(cc->evp); |
607 | if (evplen <= 0) | 660 | if (evplen <= 0) |
608 | return SSH_ERR_LIBCRYPTO_ERROR; | 661 | return SSH_ERR_LIBCRYPTO_ERROR; |
662 | #ifndef OPENSSL_HAVE_EVPCTR | ||
663 | /* XXX iv arg is const, but ssh_aes_ctr_iv isn't */ | ||
664 | if (c->evptype == evp_aes_128_ctr) | ||
665 | ssh_aes_ctr_iv(cc->evp, 1, (u_char *)iv, evplen); | ||
666 | else | ||
667 | #endif | ||
609 | if (cipher_authlen(c)) { | 668 | if (cipher_authlen(c)) { |
610 | /* XXX iv arg is const, but EVP_CIPHER_CTX_ctrl isn't */ | 669 | /* XXX iv arg is const, but EVP_CIPHER_CTX_ctrl isn't */ |
611 | if (!EVP_CIPHER_CTX_ctrl(&cc->evp, | 670 | if (!EVP_CIPHER_CTX_ctrl(cc->evp, |
612 | EVP_CTRL_GCM_SET_IV_FIXED, -1, (void *)iv)) | 671 | EVP_CTRL_GCM_SET_IV_FIXED, -1, (void *)iv)) |
613 | return SSH_ERR_LIBCRYPTO_ERROR; | 672 | return SSH_ERR_LIBCRYPTO_ERROR; |
614 | } else | 673 | } else |
615 | memcpy(cc->evp.iv, iv, evplen); | 674 | memcpy(cc->evp->iv, iv, evplen); |
616 | break; | 675 | break; |
617 | #endif | 676 | #endif |
618 | #ifdef WITH_SSH1 | 677 | #ifdef WITH_SSH1 |
619 | case SSH_CIPHER_3DES: | 678 | case SSH_CIPHER_3DES: |
620 | return ssh1_3des_iv(&cc->evp, 1, (u_char *)iv, 24); | 679 | return ssh1_3des_iv(cc->evp, 1, (u_char *)iv, 24); |
621 | #endif | 680 | #endif |
622 | default: | 681 | default: |
623 | return SSH_ERR_INVALID_ARGUMENT; | 682 | return SSH_ERR_INVALID_ARGUMENT; |
@@ -626,8 +685,8 @@ cipher_set_keyiv(struct sshcipher_ctx *cc, const u_char *iv) | |||
626 | } | 685 | } |
627 | 686 | ||
628 | #ifdef WITH_OPENSSL | 687 | #ifdef WITH_OPENSSL |
629 | #define EVP_X_STATE(evp) (evp).cipher_data | 688 | #define EVP_X_STATE(evp) (evp)->cipher_data |
630 | #define EVP_X_STATE_LEN(evp) (evp).cipher->ctx_size | 689 | #define EVP_X_STATE_LEN(evp) (evp)->cipher->ctx_size |
631 | #endif | 690 | #endif |
632 | 691 | ||
633 | int | 692 | int |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: cipher.h,v 1.48 2015/07/08 19:09:25 markus Exp $ */ | 1 | /* $OpenBSD: cipher.h,v 1.49 2016/08/03 05:41:57 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -63,14 +63,7 @@ | |||
63 | #define CIPHER_DECRYPT 0 | 63 | #define CIPHER_DECRYPT 0 |
64 | 64 | ||
65 | struct sshcipher; | 65 | struct sshcipher; |
66 | struct sshcipher_ctx { | 66 | struct sshcipher_ctx; |
67 | int plaintext; | ||
68 | int encrypt; | ||
69 | EVP_CIPHER_CTX evp; | ||
70 | struct chachapoly_ctx cp_ctx; /* XXX union with evp? */ | ||
71 | struct aesctr_ctx ac_ctx; /* XXX union with evp? */ | ||
72 | const struct sshcipher *cipher; | ||
73 | }; | ||
74 | 67 | ||
75 | u_int cipher_mask_ssh1(int); | 68 | u_int cipher_mask_ssh1(int); |
76 | const struct sshcipher *cipher_by_name(const char *); | 69 | const struct sshcipher *cipher_by_name(const char *); |
@@ -80,15 +73,15 @@ char *cipher_name(int); | |||
80 | const char *cipher_warning_message(const struct sshcipher_ctx *); | 73 | const char *cipher_warning_message(const struct sshcipher_ctx *); |
81 | int ciphers_valid(const char *); | 74 | int ciphers_valid(const char *); |
82 | char *cipher_alg_list(char, int); | 75 | char *cipher_alg_list(char, int); |
83 | int cipher_init(struct sshcipher_ctx *, const struct sshcipher *, | 76 | int cipher_init(struct sshcipher_ctx **, const struct sshcipher *, |
84 | const u_char *, u_int, const u_char *, u_int, int); | 77 | const u_char *, u_int, const u_char *, u_int, int); |
85 | int cipher_crypt(struct sshcipher_ctx *, u_int, u_char *, const u_char *, | 78 | int cipher_crypt(struct sshcipher_ctx *, u_int, u_char *, const u_char *, |
86 | u_int, u_int, u_int); | 79 | u_int, u_int, u_int); |
87 | int cipher_get_length(struct sshcipher_ctx *, u_int *, u_int, | 80 | int cipher_get_length(struct sshcipher_ctx *, u_int *, u_int, |
88 | const u_char *, u_int); | 81 | const u_char *, u_int); |
89 | int cipher_cleanup(struct sshcipher_ctx *); | 82 | void cipher_free(struct sshcipher_ctx *); |
90 | int cipher_set_key_string(struct sshcipher_ctx *, const struct sshcipher *, | 83 | int cipher_set_key_string(struct sshcipher_ctx **, |
91 | const char *, int); | 84 | const struct sshcipher *, const char *, int); |
92 | u_int cipher_blocksize(const struct sshcipher *); | 85 | u_int cipher_blocksize(const struct sshcipher *); |
93 | u_int cipher_keylen(const struct sshcipher *); | 86 | u_int cipher_keylen(const struct sshcipher *); |
94 | u_int cipher_seclen(const struct sshcipher *); | 87 | u_int cipher_seclen(const struct sshcipher *); |
@@ -96,10 +89,14 @@ u_int cipher_authlen(const struct sshcipher *); | |||
96 | u_int cipher_ivlen(const struct sshcipher *); | 89 | u_int cipher_ivlen(const struct sshcipher *); |
97 | u_int cipher_is_cbc(const struct sshcipher *); | 90 | u_int cipher_is_cbc(const struct sshcipher *); |
98 | 91 | ||
92 | u_int cipher_ctx_is_plaintext(struct sshcipher_ctx *); | ||
93 | u_int cipher_ctx_get_number(struct sshcipher_ctx *); | ||
94 | |||
99 | u_int cipher_get_number(const struct sshcipher *); | 95 | u_int cipher_get_number(const struct sshcipher *); |
100 | int cipher_get_keyiv(struct sshcipher_ctx *, u_char *, u_int); | 96 | int cipher_get_keyiv(struct sshcipher_ctx *, u_char *, u_int); |
101 | int cipher_set_keyiv(struct sshcipher_ctx *, const u_char *); | 97 | int cipher_set_keyiv(struct sshcipher_ctx *, const u_char *); |
102 | int cipher_get_keyiv_len(const struct sshcipher_ctx *); | 98 | int cipher_get_keyiv_len(const struct sshcipher_ctx *); |
103 | int cipher_get_keycontext(const struct sshcipher_ctx *, u_char *); | 99 | int cipher_get_keycontext(const struct sshcipher_ctx *, u_char *); |
104 | void cipher_set_keycontext(struct sshcipher_ctx *, const u_char *); | 100 | void cipher_set_keycontext(struct sshcipher_ctx *, const u_char *); |
101 | |||
105 | #endif /* CIPHER_H */ | 102 | #endif /* CIPHER_H */ |
diff --git a/clientloop.c b/clientloop.c index 2c44f5d19..4289a4081 100644 --- a/clientloop.c +++ b/clientloop.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: clientloop.c,v 1.286 2016/07/23 02:54:08 djm Exp $ */ | 1 | /* $OpenBSD: clientloop.c,v 1.289 2016/09/30 09:19:13 markus Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -61,7 +61,6 @@ | |||
61 | 61 | ||
62 | #include "includes.h" | 62 | #include "includes.h" |
63 | 63 | ||
64 | #include <sys/param.h> /* MIN MAX */ | ||
65 | #include <sys/types.h> | 64 | #include <sys/types.h> |
66 | #include <sys/ioctl.h> | 65 | #include <sys/ioctl.h> |
67 | #ifdef HAVE_SYS_STAT_H | 66 | #ifdef HAVE_SYS_STAT_H |
@@ -312,7 +311,7 @@ client_x11_get_proto(const char *display, const char *xauth_path, | |||
312 | char xauthfile[PATH_MAX], xauthdir[PATH_MAX]; | 311 | char xauthfile[PATH_MAX], xauthdir[PATH_MAX]; |
313 | static char proto[512], data[512]; | 312 | static char proto[512], data[512]; |
314 | FILE *f; | 313 | FILE *f; |
315 | int got_data = 0, generated = 0, do_unlink = 0, i, r; | 314 | int got_data = 0, generated = 0, do_unlink = 0, r; |
316 | struct stat st; | 315 | struct stat st; |
317 | u_int now, x11_timeout_real; | 316 | u_int now, x11_timeout_real; |
318 | 317 | ||
@@ -439,17 +438,16 @@ client_x11_get_proto(const char *display, const char *xauth_path, | |||
439 | * for the local connection. | 438 | * for the local connection. |
440 | */ | 439 | */ |
441 | if (!got_data) { | 440 | if (!got_data) { |
442 | u_int32_t rnd = 0; | 441 | u_int8_t rnd[16]; |
442 | u_int i; | ||
443 | 443 | ||
444 | logit("Warning: No xauth data; " | 444 | logit("Warning: No xauth data; " |
445 | "using fake authentication data for X11 forwarding."); | 445 | "using fake authentication data for X11 forwarding."); |
446 | strlcpy(proto, SSH_X11_PROTO, sizeof proto); | 446 | strlcpy(proto, SSH_X11_PROTO, sizeof proto); |
447 | for (i = 0; i < 16; i++) { | 447 | arc4random_buf(rnd, sizeof(rnd)); |
448 | if (i % 4 == 0) | 448 | for (i = 0; i < sizeof(rnd); i++) { |
449 | rnd = arc4random(); | ||
450 | snprintf(data + 2 * i, sizeof data - 2 * i, "%02x", | 449 | snprintf(data + 2 * i, sizeof data - 2 * i, "%02x", |
451 | rnd & 0xff); | 450 | rnd[i]); |
452 | rnd >>= 8; | ||
453 | } | 451 | } |
454 | } | 452 | } |
455 | 453 | ||
@@ -672,16 +670,16 @@ client_wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp, | |||
672 | server_alive_time = now + options.server_alive_interval; | 670 | server_alive_time = now + options.server_alive_interval; |
673 | } | 671 | } |
674 | if (options.rekey_interval > 0 && compat20 && !rekeying) | 672 | if (options.rekey_interval > 0 && compat20 && !rekeying) |
675 | timeout_secs = MIN(timeout_secs, packet_get_rekey_timeout()); | 673 | timeout_secs = MINIMUM(timeout_secs, packet_get_rekey_timeout()); |
676 | set_control_persist_exit_time(); | 674 | set_control_persist_exit_time(); |
677 | if (control_persist_exit_time > 0) { | 675 | if (control_persist_exit_time > 0) { |
678 | timeout_secs = MIN(timeout_secs, | 676 | timeout_secs = MINIMUM(timeout_secs, |
679 | control_persist_exit_time - now); | 677 | control_persist_exit_time - now); |
680 | if (timeout_secs < 0) | 678 | if (timeout_secs < 0) |
681 | timeout_secs = 0; | 679 | timeout_secs = 0; |
682 | } | 680 | } |
683 | if (minwait_secs != 0) | 681 | if (minwait_secs != 0) |
684 | timeout_secs = MIN(timeout_secs, (int)minwait_secs); | 682 | timeout_secs = MINIMUM(timeout_secs, (int)minwait_secs); |
685 | if (timeout_secs == INT_MAX) | 683 | if (timeout_secs == INT_MAX) |
686 | tvp = NULL; | 684 | tvp = NULL; |
687 | else { | 685 | else { |
@@ -1553,7 +1551,7 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id) | |||
1553 | buffer_high = 64 * 1024; | 1551 | buffer_high = 64 * 1024; |
1554 | connection_in = packet_get_connection_in(); | 1552 | connection_in = packet_get_connection_in(); |
1555 | connection_out = packet_get_connection_out(); | 1553 | connection_out = packet_get_connection_out(); |
1556 | max_fd = MAX(connection_in, connection_out); | 1554 | max_fd = MAXIMUM(connection_in, connection_out); |
1557 | 1555 | ||
1558 | if (!compat20) { | 1556 | if (!compat20) { |
1559 | /* enable nonblocking unless tty */ | 1557 | /* enable nonblocking unless tty */ |
@@ -1563,9 +1561,9 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id) | |||
1563 | set_nonblock(fileno(stdout)); | 1561 | set_nonblock(fileno(stdout)); |
1564 | if (!isatty(fileno(stderr))) | 1562 | if (!isatty(fileno(stderr))) |
1565 | set_nonblock(fileno(stderr)); | 1563 | set_nonblock(fileno(stderr)); |
1566 | max_fd = MAX(max_fd, fileno(stdin)); | 1564 | max_fd = MAXIMUM(max_fd, fileno(stdin)); |
1567 | max_fd = MAX(max_fd, fileno(stdout)); | 1565 | max_fd = MAXIMUM(max_fd, fileno(stdout)); |
1568 | max_fd = MAX(max_fd, fileno(stderr)); | 1566 | max_fd = MAXIMUM(max_fd, fileno(stderr)); |
1569 | } | 1567 | } |
1570 | quit_pending = 0; | 1568 | quit_pending = 0; |
1571 | escape_char1 = escape_char_arg; | 1569 | escape_char1 = escape_char_arg; |
@@ -1885,11 +1883,14 @@ client_input_agent_open(int type, u_int32_t seq, void *ctxt) | |||
1885 | } | 1883 | } |
1886 | 1884 | ||
1887 | static Channel * | 1885 | static Channel * |
1888 | client_request_forwarded_tcpip(const char *request_type, int rchan) | 1886 | client_request_forwarded_tcpip(const char *request_type, int rchan, |
1887 | u_int rwindow, u_int rmaxpack) | ||
1889 | { | 1888 | { |
1890 | Channel *c = NULL; | 1889 | Channel *c = NULL; |
1890 | struct sshbuf *b = NULL; | ||
1891 | char *listen_address, *originator_address; | 1891 | char *listen_address, *originator_address; |
1892 | u_short listen_port, originator_port; | 1892 | u_short listen_port, originator_port; |
1893 | int r; | ||
1893 | 1894 | ||
1894 | /* Get rest of the packet */ | 1895 | /* Get rest of the packet */ |
1895 | listen_address = packet_get_string(NULL); | 1896 | listen_address = packet_get_string(NULL); |
@@ -1904,6 +1905,31 @@ client_request_forwarded_tcpip(const char *request_type, int rchan) | |||
1904 | c = channel_connect_by_listen_address(listen_address, listen_port, | 1905 | c = channel_connect_by_listen_address(listen_address, listen_port, |
1905 | "forwarded-tcpip", originator_address); | 1906 | "forwarded-tcpip", originator_address); |
1906 | 1907 | ||
1908 | if (c != NULL && c->type == SSH_CHANNEL_MUX_CLIENT) { | ||
1909 | if ((b = sshbuf_new()) == NULL) { | ||
1910 | error("%s: alloc reply", __func__); | ||
1911 | goto out; | ||
1912 | } | ||
1913 | /* reconstruct and send to muxclient */ | ||
1914 | if ((r = sshbuf_put_u8(b, 0)) != 0 || /* padlen */ | ||
1915 | (r = sshbuf_put_u8(b, SSH2_MSG_CHANNEL_OPEN)) != 0 || | ||
1916 | (r = sshbuf_put_cstring(b, request_type)) != 0 || | ||
1917 | (r = sshbuf_put_u32(b, rchan)) != 0 || | ||
1918 | (r = sshbuf_put_u32(b, rwindow)) != 0 || | ||
1919 | (r = sshbuf_put_u32(b, rmaxpack)) != 0 || | ||
1920 | (r = sshbuf_put_cstring(b, listen_address)) != 0 || | ||
1921 | (r = sshbuf_put_u32(b, listen_port)) != 0 || | ||
1922 | (r = sshbuf_put_cstring(b, originator_address)) != 0 || | ||
1923 | (r = sshbuf_put_u32(b, originator_port)) != 0 || | ||
1924 | (r = sshbuf_put_stringb(&c->output, b)) != 0) { | ||
1925 | error("%s: compose for muxclient %s", __func__, | ||
1926 | ssh_err(r)); | ||
1927 | goto out; | ||
1928 | } | ||
1929 | } | ||
1930 | |||
1931 | out: | ||
1932 | sshbuf_free(b); | ||
1907 | free(originator_address); | 1933 | free(originator_address); |
1908 | free(listen_address); | 1934 | free(listen_address); |
1909 | return c; | 1935 | return c; |
@@ -2059,7 +2085,8 @@ client_input_channel_open(int type, u_int32_t seq, void *ctxt) | |||
2059 | ctype, rchan, rwindow, rmaxpack); | 2085 | ctype, rchan, rwindow, rmaxpack); |
2060 | 2086 | ||
2061 | if (strcmp(ctype, "forwarded-tcpip") == 0) { | 2087 | if (strcmp(ctype, "forwarded-tcpip") == 0) { |
2062 | c = client_request_forwarded_tcpip(ctype, rchan); | 2088 | c = client_request_forwarded_tcpip(ctype, rchan, rwindow, |
2089 | rmaxpack); | ||
2063 | } else if (strcmp(ctype, "forwarded-streamlocal@openssh.com") == 0) { | 2090 | } else if (strcmp(ctype, "forwarded-streamlocal@openssh.com") == 0) { |
2064 | c = client_request_forwarded_streamlocal(ctype, rchan); | 2091 | c = client_request_forwarded_streamlocal(ctype, rchan); |
2065 | } else if (strcmp(ctype, "x11") == 0) { | 2092 | } else if (strcmp(ctype, "x11") == 0) { |
@@ -2067,8 +2094,9 @@ client_input_channel_open(int type, u_int32_t seq, void *ctxt) | |||
2067 | } else if (strcmp(ctype, "auth-agent@openssh.com") == 0) { | 2094 | } else if (strcmp(ctype, "auth-agent@openssh.com") == 0) { |
2068 | c = client_request_agent(ctype, rchan); | 2095 | c = client_request_agent(ctype, rchan); |
2069 | } | 2096 | } |
2070 | /* XXX duplicate : */ | 2097 | if (c != NULL && c->type == SSH_CHANNEL_MUX_CLIENT) { |
2071 | if (c != NULL) { | 2098 | debug3("proxied to downstream: %s", ctype); |
2099 | } else if (c != NULL) { | ||
2072 | debug("confirm %s", ctype); | 2100 | debug("confirm %s", ctype); |
2073 | c->remote_id = rchan; | 2101 | c->remote_id = rchan; |
2074 | c->remote_window = rwindow; | 2102 | c->remote_window = rwindow; |
@@ -2104,6 +2132,9 @@ client_input_channel_req(int type, u_int32_t seq, void *ctxt) | |||
2104 | char *rtype; | 2132 | char *rtype; |
2105 | 2133 | ||
2106 | id = packet_get_int(); | 2134 | id = packet_get_int(); |
2135 | c = channel_lookup(id); | ||
2136 | if (channel_proxy_upstream(c, type, seq, ctxt)) | ||
2137 | return 0; | ||
2107 | rtype = packet_get_string(NULL); | 2138 | rtype = packet_get_string(NULL); |
2108 | reply = packet_get_char(); | 2139 | reply = packet_get_char(); |
2109 | 2140 | ||
@@ -2112,7 +2143,7 @@ client_input_channel_req(int type, u_int32_t seq, void *ctxt) | |||
2112 | 2143 | ||
2113 | if (id == -1) { | 2144 | if (id == -1) { |
2114 | error("client_input_channel_req: request for channel -1"); | 2145 | error("client_input_channel_req: request for channel -1"); |
2115 | } else if ((c = channel_lookup(id)) == NULL) { | 2146 | } else if (c == NULL) { |
2116 | error("client_input_channel_req: channel %d: " | 2147 | error("client_input_channel_req: channel %d: " |
2117 | "unknown channel", id); | 2148 | "unknown channel", id); |
2118 | } else if (strcmp(rtype, "eow@openssh.com") == 0) { | 2149 | } else if (strcmp(rtype, "eow@openssh.com") == 0) { |
diff --git a/clientloop.h b/clientloop.h index f4d4c69b7..ae83aa8cf 100644 --- a/clientloop.h +++ b/clientloop.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: clientloop.h,v 1.32 2016/01/13 23:04:47 djm Exp $ */ | 1 | /* $OpenBSD: clientloop.h,v 1.33 2016/09/30 09:19:13 markus Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -71,9 +71,10 @@ void client_expect_confirm(int, const char *, enum confirm_action); | |||
71 | #define SSHMUX_COMMAND_FORWARD 5 /* Forward only, no command */ | 71 | #define SSHMUX_COMMAND_FORWARD 5 /* Forward only, no command */ |
72 | #define SSHMUX_COMMAND_STOP 6 /* Disable mux but not conn */ | 72 | #define SSHMUX_COMMAND_STOP 6 /* Disable mux but not conn */ |
73 | #define SSHMUX_COMMAND_CANCEL_FWD 7 /* Cancel forwarding(s) */ | 73 | #define SSHMUX_COMMAND_CANCEL_FWD 7 /* Cancel forwarding(s) */ |
74 | #define SSHMUX_COMMAND_PROXY 8 /* Open new connection */ | ||
74 | 75 | ||
75 | void muxserver_listen(void); | 76 | void muxserver_listen(void); |
76 | void muxclient(const char *); | 77 | int muxclient(const char *); |
77 | void mux_exit_message(Channel *, int); | 78 | void mux_exit_message(Channel *, int); |
78 | void mux_tty_alloc_failed(Channel *); | 79 | void mux_tty_alloc_failed(Channel *); |
79 | 80 | ||
diff --git a/config.guess b/config.guess index c5636280d..c4bd827a7 100755 --- a/config.guess +++ b/config.guess | |||
@@ -1,14 +1,12 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # Attempt to guess a canonical system name. | 2 | # Attempt to guess a canonical system name. |
3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | 3 | # Copyright 1992-2016 Free Software Foundation, Inc. |
4 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, | ||
5 | # 2011, 2012, 2013 Free Software Foundation, Inc. | ||
6 | 4 | ||
7 | timestamp='2012-12-23' | 5 | timestamp='2016-05-15' |
8 | 6 | ||
9 | # This file is free software; you can redistribute it and/or modify it | 7 | # This file is free software; you can redistribute it and/or modify it |
10 | # under the terms of the GNU General Public License as published by | 8 | # under the terms of the GNU General Public License as published by |
11 | # the Free Software Foundation; either version 2 of the License, or | 9 | # the Free Software Foundation; either version 3 of the License, or |
12 | # (at your option) any later version. | 10 | # (at your option) any later version. |
13 | # | 11 | # |
14 | # This program is distributed in the hope that it will be useful, but | 12 | # This program is distributed in the hope that it will be useful, but |
@@ -22,19 +20,17 @@ timestamp='2012-12-23' | |||
22 | # As a special exception to the GNU General Public License, if you | 20 | # As a special exception to the GNU General Public License, if you |
23 | # distribute this file as part of a program that contains a | 21 | # distribute this file as part of a program that contains a |
24 | # configuration script generated by Autoconf, you may include it under | 22 | # configuration script generated by Autoconf, you may include it under |
25 | # the same distribution terms that you use for the rest of that program. | 23 | # the same distribution terms that you use for the rest of that |
26 | 24 | # program. This Exception is an additional permission under section 7 | |
27 | 25 | # of the GNU General Public License, version 3 ("GPLv3"). | |
28 | # Originally written by Per Bothner. Please send patches (context | ||
29 | # diff format) to <config-patches@gnu.org> and include a ChangeLog | ||
30 | # entry. | ||
31 | # | 26 | # |
32 | # This script attempts to guess a canonical system name similar to | 27 | # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. |
33 | # config.sub. If it succeeds, it prints the system name on stdout, and | ||
34 | # exits with 0. Otherwise, it exits with 1. | ||
35 | # | 28 | # |
36 | # You can get the latest version of this script from: | 29 | # You can get the latest version of this script from: |
37 | # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD | 30 | # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess |
31 | # | ||
32 | # Please send patches to <config-patches@gnu.org>. | ||
33 | |||
38 | 34 | ||
39 | me=`echo "$0" | sed -e 's,.*/,,'` | 35 | me=`echo "$0" | sed -e 's,.*/,,'` |
40 | 36 | ||
@@ -54,9 +50,7 @@ version="\ | |||
54 | GNU config.guess ($timestamp) | 50 | GNU config.guess ($timestamp) |
55 | 51 | ||
56 | Originally written by Per Bothner. | 52 | Originally written by Per Bothner. |
57 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, | 53 | Copyright 1992-2016 Free Software Foundation, Inc. |
58 | 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, | ||
59 | 2012, 2013 Free Software Foundation, Inc. | ||
60 | 54 | ||
61 | This is free software; see the source for copying conditions. There is NO | 55 | This is free software; see the source for copying conditions. There is NO |
62 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | 56 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
@@ -138,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown | |||
138 | UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown | 132 | UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown |
139 | UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown | 133 | UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown |
140 | 134 | ||
135 | case "${UNAME_SYSTEM}" in | ||
136 | Linux|GNU|GNU/*) | ||
137 | # If the system lacks a compiler, then just pick glibc. | ||
138 | # We could probably try harder. | ||
139 | LIBC=gnu | ||
140 | |||
141 | eval $set_cc_for_build | ||
142 | cat <<-EOF > $dummy.c | ||
143 | #include <features.h> | ||
144 | #if defined(__UCLIBC__) | ||
145 | LIBC=uclibc | ||
146 | #elif defined(__dietlibc__) | ||
147 | LIBC=dietlibc | ||
148 | #else | ||
149 | LIBC=gnu | ||
150 | #endif | ||
151 | EOF | ||
152 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` | ||
153 | ;; | ||
154 | esac | ||
155 | |||
141 | # Note: order is significant - the case branches are not exclusive. | 156 | # Note: order is significant - the case branches are not exclusive. |
142 | 157 | ||
143 | case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | 158 | case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in |
@@ -153,19 +168,29 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |||
153 | # Note: NetBSD doesn't particularly care about the vendor | 168 | # Note: NetBSD doesn't particularly care about the vendor |
154 | # portion of the name. We always set it to "unknown". | 169 | # portion of the name. We always set it to "unknown". |
155 | sysctl="sysctl -n hw.machine_arch" | 170 | sysctl="sysctl -n hw.machine_arch" |
156 | UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ | 171 | UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ |
157 | /usr/sbin/$sysctl 2>/dev/null || echo unknown)` | 172 | /sbin/$sysctl 2>/dev/null || \ |
173 | /usr/sbin/$sysctl 2>/dev/null || \ | ||
174 | echo unknown)` | ||
158 | case "${UNAME_MACHINE_ARCH}" in | 175 | case "${UNAME_MACHINE_ARCH}" in |
159 | armeb) machine=armeb-unknown ;; | 176 | armeb) machine=armeb-unknown ;; |
160 | arm*) machine=arm-unknown ;; | 177 | arm*) machine=arm-unknown ;; |
161 | sh3el) machine=shl-unknown ;; | 178 | sh3el) machine=shl-unknown ;; |
162 | sh3eb) machine=sh-unknown ;; | 179 | sh3eb) machine=sh-unknown ;; |
163 | sh5el) machine=sh5le-unknown ;; | 180 | sh5el) machine=sh5le-unknown ;; |
181 | earmv*) | ||
182 | arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` | ||
183 | endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` | ||
184 | machine=${arch}${endian}-unknown | ||
185 | ;; | ||
164 | *) machine=${UNAME_MACHINE_ARCH}-unknown ;; | 186 | *) machine=${UNAME_MACHINE_ARCH}-unknown ;; |
165 | esac | 187 | esac |
166 | # The Operating System including object format, if it has switched | 188 | # The Operating System including object format, if it has switched |
167 | # to ELF recently, or will in the future. | 189 | # to ELF recently (or will in the future) and ABI. |
168 | case "${UNAME_MACHINE_ARCH}" in | 190 | case "${UNAME_MACHINE_ARCH}" in |
191 | earm*) | ||
192 | os=netbsdelf | ||
193 | ;; | ||
169 | arm*|i386|m68k|ns32k|sh3*|sparc|vax) | 194 | arm*|i386|m68k|ns32k|sh3*|sparc|vax) |
170 | eval $set_cc_for_build | 195 | eval $set_cc_for_build |
171 | if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | 196 | if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ |
@@ -182,6 +207,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |||
182 | os=netbsd | 207 | os=netbsd |
183 | ;; | 208 | ;; |
184 | esac | 209 | esac |
210 | # Determine ABI tags. | ||
211 | case "${UNAME_MACHINE_ARCH}" in | ||
212 | earm*) | ||
213 | expr='s/^earmv[0-9]/-eabi/;s/eb$//' | ||
214 | abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` | ||
215 | ;; | ||
216 | esac | ||
185 | # The OS release | 217 | # The OS release |
186 | # Debian GNU/NetBSD machines have a different userland, and | 218 | # Debian GNU/NetBSD machines have a different userland, and |
187 | # thus, need a distinct triplet. However, they do not need | 219 | # thus, need a distinct triplet. However, they do not need |
@@ -192,13 +224,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |||
192 | release='-gnu' | 224 | release='-gnu' |
193 | ;; | 225 | ;; |
194 | *) | 226 | *) |
195 | release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` | 227 | release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` |
196 | ;; | 228 | ;; |
197 | esac | 229 | esac |
198 | # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: | 230 | # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: |
199 | # contains redundant information, the shorter form: | 231 | # contains redundant information, the shorter form: |
200 | # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. | 232 | # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. |
201 | echo "${machine}-${os}${release}" | 233 | echo "${machine}-${os}${release}${abi}" |
202 | exit ;; | 234 | exit ;; |
203 | *:Bitrig:*:*) | 235 | *:Bitrig:*:*) |
204 | UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` | 236 | UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` |
@@ -208,6 +240,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |||
208 | UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` | 240 | UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` |
209 | echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} | 241 | echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} |
210 | exit ;; | 242 | exit ;; |
243 | *:LibertyBSD:*:*) | ||
244 | UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` | ||
245 | echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} | ||
246 | exit ;; | ||
211 | *:ekkoBSD:*:*) | 247 | *:ekkoBSD:*:*) |
212 | echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} | 248 | echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} |
213 | exit ;; | 249 | exit ;; |
@@ -220,6 +256,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |||
220 | *:MirBSD:*:*) | 256 | *:MirBSD:*:*) |
221 | echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} | 257 | echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} |
222 | exit ;; | 258 | exit ;; |
259 | *:Sortix:*:*) | ||
260 | echo ${UNAME_MACHINE}-unknown-sortix | ||
261 | exit ;; | ||
223 | alpha:OSF1:*:*) | 262 | alpha:OSF1:*:*) |
224 | case $UNAME_RELEASE in | 263 | case $UNAME_RELEASE in |
225 | *4.0) | 264 | *4.0) |
@@ -236,42 +275,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |||
236 | ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` | 275 | ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` |
237 | case "$ALPHA_CPU_TYPE" in | 276 | case "$ALPHA_CPU_TYPE" in |
238 | "EV4 (21064)") | 277 | "EV4 (21064)") |
239 | UNAME_MACHINE="alpha" ;; | 278 | UNAME_MACHINE=alpha ;; |
240 | "EV4.5 (21064)") | 279 | "EV4.5 (21064)") |
241 | UNAME_MACHINE="alpha" ;; | 280 | UNAME_MACHINE=alpha ;; |
242 | "LCA4 (21066/21068)") | 281 | "LCA4 (21066/21068)") |
243 | UNAME_MACHINE="alpha" ;; | 282 | UNAME_MACHINE=alpha ;; |
244 | "EV5 (21164)") | 283 | "EV5 (21164)") |
245 | UNAME_MACHINE="alphaev5" ;; | 284 | UNAME_MACHINE=alphaev5 ;; |
246 | "EV5.6 (21164A)") | 285 | "EV5.6 (21164A)") |
247 | UNAME_MACHINE="alphaev56" ;; | 286 | UNAME_MACHINE=alphaev56 ;; |
248 | "EV5.6 (21164PC)") | 287 | "EV5.6 (21164PC)") |
249 | UNAME_MACHINE="alphapca56" ;; | 288 | UNAME_MACHINE=alphapca56 ;; |
250 | "EV5.7 (21164PC)") | 289 | "EV5.7 (21164PC)") |
251 | UNAME_MACHINE="alphapca57" ;; | 290 | UNAME_MACHINE=alphapca57 ;; |
252 | "EV6 (21264)") | 291 | "EV6 (21264)") |
253 | UNAME_MACHINE="alphaev6" ;; | 292 | UNAME_MACHINE=alphaev6 ;; |
254 | "EV6.7 (21264A)") | 293 | "EV6.7 (21264A)") |
255 | UNAME_MACHINE="alphaev67" ;; | 294 | UNAME_MACHINE=alphaev67 ;; |
256 | "EV6.8CB (21264C)") | 295 | "EV6.8CB (21264C)") |
257 | UNAME_MACHINE="alphaev68" ;; | 296 | UNAME_MACHINE=alphaev68 ;; |
258 | "EV6.8AL (21264B)") | 297 | "EV6.8AL (21264B)") |
259 | UNAME_MACHINE="alphaev68" ;; | 298 | UNAME_MACHINE=alphaev68 ;; |
260 | "EV6.8CX (21264D)") | 299 | "EV6.8CX (21264D)") |
261 | UNAME_MACHINE="alphaev68" ;; | 300 | UNAME_MACHINE=alphaev68 ;; |
262 | "EV6.9A (21264/EV69A)") | 301 | "EV6.9A (21264/EV69A)") |
263 | UNAME_MACHINE="alphaev69" ;; | 302 | UNAME_MACHINE=alphaev69 ;; |
264 | "EV7 (21364)") | 303 | "EV7 (21364)") |
265 | UNAME_MACHINE="alphaev7" ;; | 304 | UNAME_MACHINE=alphaev7 ;; |
266 | "EV7.9 (21364A)") | 305 | "EV7.9 (21364A)") |
267 | UNAME_MACHINE="alphaev79" ;; | 306 | UNAME_MACHINE=alphaev79 ;; |
268 | esac | 307 | esac |
269 | # A Pn.n version is a patched version. | 308 | # A Pn.n version is a patched version. |
270 | # A Vn.n version is a released version. | 309 | # A Vn.n version is a released version. |
271 | # A Tn.n version is a released field test version. | 310 | # A Tn.n version is a released field test version. |
272 | # A Xn.n version is an unreleased experimental baselevel. | 311 | # A Xn.n version is an unreleased experimental baselevel. |
273 | # 1.2 uses "1.2" for uname -r. | 312 | # 1.2 uses "1.2" for uname -r. |
274 | echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` | 313 | echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` |
275 | # Reset EXIT trap before exiting to avoid spurious non-zero exit code. | 314 | # Reset EXIT trap before exiting to avoid spurious non-zero exit code. |
276 | exitcode=$? | 315 | exitcode=$? |
277 | trap '' 0 | 316 | trap '' 0 |
@@ -344,16 +383,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |||
344 | exit ;; | 383 | exit ;; |
345 | i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) | 384 | i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) |
346 | eval $set_cc_for_build | 385 | eval $set_cc_for_build |
347 | SUN_ARCH="i386" | 386 | SUN_ARCH=i386 |
348 | # If there is a compiler, see if it is configured for 64-bit objects. | 387 | # If there is a compiler, see if it is configured for 64-bit objects. |
349 | # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. | 388 | # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. |
350 | # This test works for both compilers. | 389 | # This test works for both compilers. |
351 | if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then | 390 | if [ "$CC_FOR_BUILD" != no_compiler_found ]; then |
352 | if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ | 391 | if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ |
353 | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ | 392 | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ |
354 | grep IS_64BIT_ARCH >/dev/null | 393 | grep IS_64BIT_ARCH >/dev/null |
355 | then | 394 | then |
356 | SUN_ARCH="x86_64" | 395 | SUN_ARCH=x86_64 |
357 | fi | 396 | fi |
358 | fi | 397 | fi |
359 | echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | 398 | echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` |
@@ -378,7 +417,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |||
378 | exit ;; | 417 | exit ;; |
379 | sun*:*:4.2BSD:*) | 418 | sun*:*:4.2BSD:*) |
380 | UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` | 419 | UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` |
381 | test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 | 420 | test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 |
382 | case "`/bin/arch`" in | 421 | case "`/bin/arch`" in |
383 | sun3) | 422 | sun3) |
384 | echo m68k-sun-sunos${UNAME_RELEASE} | 423 | echo m68k-sun-sunos${UNAME_RELEASE} |
@@ -564,8 +603,9 @@ EOF | |||
564 | else | 603 | else |
565 | IBM_ARCH=powerpc | 604 | IBM_ARCH=powerpc |
566 | fi | 605 | fi |
567 | if [ -x /usr/bin/oslevel ] ; then | 606 | if [ -x /usr/bin/lslpp ] ; then |
568 | IBM_REV=`/usr/bin/oslevel` | 607 | IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | |
608 | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` | ||
569 | else | 609 | else |
570 | IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} | 610 | IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} |
571 | fi | 611 | fi |
@@ -602,13 +642,13 @@ EOF | |||
602 | sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` | 642 | sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` |
603 | sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` | 643 | sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` |
604 | case "${sc_cpu_version}" in | 644 | case "${sc_cpu_version}" in |
605 | 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 | 645 | 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 |
606 | 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 | 646 | 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 |
607 | 532) # CPU_PA_RISC2_0 | 647 | 532) # CPU_PA_RISC2_0 |
608 | case "${sc_kernel_bits}" in | 648 | case "${sc_kernel_bits}" in |
609 | 32) HP_ARCH="hppa2.0n" ;; | 649 | 32) HP_ARCH=hppa2.0n ;; |
610 | 64) HP_ARCH="hppa2.0w" ;; | 650 | 64) HP_ARCH=hppa2.0w ;; |
611 | '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 | 651 | '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 |
612 | esac ;; | 652 | esac ;; |
613 | esac | 653 | esac |
614 | fi | 654 | fi |
@@ -647,11 +687,11 @@ EOF | |||
647 | exit (0); | 687 | exit (0); |
648 | } | 688 | } |
649 | EOF | 689 | EOF |
650 | (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` | 690 | (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` |
651 | test -z "$HP_ARCH" && HP_ARCH=hppa | 691 | test -z "$HP_ARCH" && HP_ARCH=hppa |
652 | fi ;; | 692 | fi ;; |
653 | esac | 693 | esac |
654 | if [ ${HP_ARCH} = "hppa2.0w" ] | 694 | if [ ${HP_ARCH} = hppa2.0w ] |
655 | then | 695 | then |
656 | eval $set_cc_for_build | 696 | eval $set_cc_for_build |
657 | 697 | ||
@@ -664,12 +704,12 @@ EOF | |||
664 | # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess | 704 | # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess |
665 | # => hppa64-hp-hpux11.23 | 705 | # => hppa64-hp-hpux11.23 |
666 | 706 | ||
667 | if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | | 707 | if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | |
668 | grep -q __LP64__ | 708 | grep -q __LP64__ |
669 | then | 709 | then |
670 | HP_ARCH="hppa2.0w" | 710 | HP_ARCH=hppa2.0w |
671 | else | 711 | else |
672 | HP_ARCH="hppa64" | 712 | HP_ARCH=hppa64 |
673 | fi | 713 | fi |
674 | fi | 714 | fi |
675 | echo ${HP_ARCH}-hp-hpux${HPUX_REV} | 715 | echo ${HP_ARCH}-hp-hpux${HPUX_REV} |
@@ -774,14 +814,14 @@ EOF | |||
774 | echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | 814 | echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' |
775 | exit ;; | 815 | exit ;; |
776 | F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) | 816 | F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) |
777 | FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` | 817 | FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` |
778 | FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` | 818 | FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` |
779 | FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` | 819 | FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` |
780 | echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" | 820 | echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" |
781 | exit ;; | 821 | exit ;; |
782 | 5000:UNIX_System_V:4.*:*) | 822 | 5000:UNIX_System_V:4.*:*) |
783 | FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` | 823 | FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` |
784 | FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` | 824 | FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` |
785 | echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" | 825 | echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" |
786 | exit ;; | 826 | exit ;; |
787 | i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) | 827 | i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) |
@@ -811,7 +851,7 @@ EOF | |||
811 | *:MINGW*:*) | 851 | *:MINGW*:*) |
812 | echo ${UNAME_MACHINE}-pc-mingw32 | 852 | echo ${UNAME_MACHINE}-pc-mingw32 |
813 | exit ;; | 853 | exit ;; |
814 | i*:MSYS*:*) | 854 | *:MSYS*:*) |
815 | echo ${UNAME_MACHINE}-pc-msys | 855 | echo ${UNAME_MACHINE}-pc-msys |
816 | exit ;; | 856 | exit ;; |
817 | i*:windows32*:*) | 857 | i*:windows32*:*) |
@@ -859,21 +899,21 @@ EOF | |||
859 | exit ;; | 899 | exit ;; |
860 | *:GNU:*:*) | 900 | *:GNU:*:*) |
861 | # the GNU system | 901 | # the GNU system |
862 | echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` | 902 | echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` |
863 | exit ;; | 903 | exit ;; |
864 | *:GNU/*:*:*) | 904 | *:GNU/*:*:*) |
865 | # other systems with GNU libc and userland | 905 | # other systems with GNU libc and userland |
866 | echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu | 906 | echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} |
867 | exit ;; | 907 | exit ;; |
868 | i*86:Minix:*:*) | 908 | i*86:Minix:*:*) |
869 | echo ${UNAME_MACHINE}-pc-minix | 909 | echo ${UNAME_MACHINE}-pc-minix |
870 | exit ;; | 910 | exit ;; |
871 | aarch64:Linux:*:*) | 911 | aarch64:Linux:*:*) |
872 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 912 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
873 | exit ;; | 913 | exit ;; |
874 | aarch64_be:Linux:*:*) | 914 | aarch64_be:Linux:*:*) |
875 | UNAME_MACHINE=aarch64_be | 915 | UNAME_MACHINE=aarch64_be |
876 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 916 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
877 | exit ;; | 917 | exit ;; |
878 | alpha:Linux:*:*) | 918 | alpha:Linux:*:*) |
879 | case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in | 919 | case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in |
@@ -886,59 +926,60 @@ EOF | |||
886 | EV68*) UNAME_MACHINE=alphaev68 ;; | 926 | EV68*) UNAME_MACHINE=alphaev68 ;; |
887 | esac | 927 | esac |
888 | objdump --private-headers /bin/sh | grep -q ld.so.1 | 928 | objdump --private-headers /bin/sh | grep -q ld.so.1 |
889 | if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi | 929 | if test "$?" = 0 ; then LIBC=gnulibc1 ; fi |
890 | echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} | 930 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
931 | exit ;; | ||
932 | arc:Linux:*:* | arceb:Linux:*:*) | ||
933 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | ||
891 | exit ;; | 934 | exit ;; |
892 | arm*:Linux:*:*) | 935 | arm*:Linux:*:*) |
893 | eval $set_cc_for_build | 936 | eval $set_cc_for_build |
894 | if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | 937 | if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ |
895 | | grep -q __ARM_EABI__ | 938 | | grep -q __ARM_EABI__ |
896 | then | 939 | then |
897 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 940 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
898 | else | 941 | else |
899 | if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | 942 | if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ |
900 | | grep -q __ARM_PCS_VFP | 943 | | grep -q __ARM_PCS_VFP |
901 | then | 944 | then |
902 | echo ${UNAME_MACHINE}-unknown-linux-gnueabi | 945 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi |
903 | else | 946 | else |
904 | echo ${UNAME_MACHINE}-unknown-linux-gnueabihf | 947 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf |
905 | fi | 948 | fi |
906 | fi | 949 | fi |
907 | exit ;; | 950 | exit ;; |
908 | avr32*:Linux:*:*) | 951 | avr32*:Linux:*:*) |
909 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 952 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
910 | exit ;; | 953 | exit ;; |
911 | cris:Linux:*:*) | 954 | cris:Linux:*:*) |
912 | echo ${UNAME_MACHINE}-axis-linux-gnu | 955 | echo ${UNAME_MACHINE}-axis-linux-${LIBC} |
913 | exit ;; | 956 | exit ;; |
914 | crisv32:Linux:*:*) | 957 | crisv32:Linux:*:*) |
915 | echo ${UNAME_MACHINE}-axis-linux-gnu | 958 | echo ${UNAME_MACHINE}-axis-linux-${LIBC} |
959 | exit ;; | ||
960 | e2k:Linux:*:*) | ||
961 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | ||
916 | exit ;; | 962 | exit ;; |
917 | frv:Linux:*:*) | 963 | frv:Linux:*:*) |
918 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 964 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
919 | exit ;; | 965 | exit ;; |
920 | hexagon:Linux:*:*) | 966 | hexagon:Linux:*:*) |
921 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 967 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
922 | exit ;; | 968 | exit ;; |
923 | i*86:Linux:*:*) | 969 | i*86:Linux:*:*) |
924 | LIBC=gnu | 970 | echo ${UNAME_MACHINE}-pc-linux-${LIBC} |
925 | eval $set_cc_for_build | ||
926 | sed 's/^ //' << EOF >$dummy.c | ||
927 | #ifdef __dietlibc__ | ||
928 | LIBC=dietlibc | ||
929 | #endif | ||
930 | EOF | ||
931 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` | ||
932 | echo "${UNAME_MACHINE}-pc-linux-${LIBC}" | ||
933 | exit ;; | 971 | exit ;; |
934 | ia64:Linux:*:*) | 972 | ia64:Linux:*:*) |
935 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 973 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
974 | exit ;; | ||
975 | k1om:Linux:*:*) | ||
976 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | ||
936 | exit ;; | 977 | exit ;; |
937 | m32r*:Linux:*:*) | 978 | m32r*:Linux:*:*) |
938 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 979 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
939 | exit ;; | 980 | exit ;; |
940 | m68*:Linux:*:*) | 981 | m68*:Linux:*:*) |
941 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 982 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
942 | exit ;; | 983 | exit ;; |
943 | mips:Linux:*:* | mips64:Linux:*:*) | 984 | mips:Linux:*:* | mips64:Linux:*:*) |
944 | eval $set_cc_for_build | 985 | eval $set_cc_for_build |
@@ -957,60 +998,63 @@ EOF | |||
957 | #endif | 998 | #endif |
958 | EOF | 999 | EOF |
959 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` | 1000 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` |
960 | test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } | 1001 | test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } |
961 | ;; | 1002 | ;; |
962 | or32:Linux:*:*) | 1003 | openrisc*:Linux:*:*) |
963 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 1004 | echo or1k-unknown-linux-${LIBC} |
1005 | exit ;; | ||
1006 | or32:Linux:*:* | or1k*:Linux:*:*) | ||
1007 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | ||
964 | exit ;; | 1008 | exit ;; |
965 | padre:Linux:*:*) | 1009 | padre:Linux:*:*) |
966 | echo sparc-unknown-linux-gnu | 1010 | echo sparc-unknown-linux-${LIBC} |
967 | exit ;; | 1011 | exit ;; |
968 | parisc64:Linux:*:* | hppa64:Linux:*:*) | 1012 | parisc64:Linux:*:* | hppa64:Linux:*:*) |
969 | echo hppa64-unknown-linux-gnu | 1013 | echo hppa64-unknown-linux-${LIBC} |
970 | exit ;; | 1014 | exit ;; |
971 | parisc:Linux:*:* | hppa:Linux:*:*) | 1015 | parisc:Linux:*:* | hppa:Linux:*:*) |
972 | # Look for CPU level | 1016 | # Look for CPU level |
973 | case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in | 1017 | case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in |
974 | PA7*) echo hppa1.1-unknown-linux-gnu ;; | 1018 | PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; |
975 | PA8*) echo hppa2.0-unknown-linux-gnu ;; | 1019 | PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; |
976 | *) echo hppa-unknown-linux-gnu ;; | 1020 | *) echo hppa-unknown-linux-${LIBC} ;; |
977 | esac | 1021 | esac |
978 | exit ;; | 1022 | exit ;; |
979 | ppc64:Linux:*:*) | 1023 | ppc64:Linux:*:*) |
980 | echo powerpc64-unknown-linux-gnu | 1024 | echo powerpc64-unknown-linux-${LIBC} |
981 | exit ;; | 1025 | exit ;; |
982 | ppc:Linux:*:*) | 1026 | ppc:Linux:*:*) |
983 | echo powerpc-unknown-linux-gnu | 1027 | echo powerpc-unknown-linux-${LIBC} |
984 | exit ;; | 1028 | exit ;; |
985 | ppc64le:Linux:*:*) | 1029 | ppc64le:Linux:*:*) |
986 | echo powerpc64le-unknown-linux-gnu | 1030 | echo powerpc64le-unknown-linux-${LIBC} |
987 | exit ;; | 1031 | exit ;; |
988 | ppcle:Linux:*:*) | 1032 | ppcle:Linux:*:*) |
989 | echo powerpcle-unknown-linux-gnu | 1033 | echo powerpcle-unknown-linux-${LIBC} |
990 | exit ;; | 1034 | exit ;; |
991 | s390:Linux:*:* | s390x:Linux:*:*) | 1035 | s390:Linux:*:* | s390x:Linux:*:*) |
992 | echo ${UNAME_MACHINE}-ibm-linux | 1036 | echo ${UNAME_MACHINE}-ibm-linux-${LIBC} |
993 | exit ;; | 1037 | exit ;; |
994 | sh64*:Linux:*:*) | 1038 | sh64*:Linux:*:*) |
995 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 1039 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
996 | exit ;; | 1040 | exit ;; |
997 | sh*:Linux:*:*) | 1041 | sh*:Linux:*:*) |
998 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 1042 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
999 | exit ;; | 1043 | exit ;; |
1000 | sparc:Linux:*:* | sparc64:Linux:*:*) | 1044 | sparc:Linux:*:* | sparc64:Linux:*:*) |
1001 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 1045 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
1002 | exit ;; | 1046 | exit ;; |
1003 | tile*:Linux:*:*) | 1047 | tile*:Linux:*:*) |
1004 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 1048 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
1005 | exit ;; | 1049 | exit ;; |
1006 | vax:Linux:*:*) | 1050 | vax:Linux:*:*) |
1007 | echo ${UNAME_MACHINE}-dec-linux-gnu | 1051 | echo ${UNAME_MACHINE}-dec-linux-${LIBC} |
1008 | exit ;; | 1052 | exit ;; |
1009 | x86_64:Linux:*:*) | 1053 | x86_64:Linux:*:*) |
1010 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 1054 | echo ${UNAME_MACHINE}-pc-linux-${LIBC} |
1011 | exit ;; | 1055 | exit ;; |
1012 | xtensa*:Linux:*:*) | 1056 | xtensa*:Linux:*:*) |
1013 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 1057 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
1014 | exit ;; | 1058 | exit ;; |
1015 | i*86:DYNIX/ptx:4*:*) | 1059 | i*86:DYNIX/ptx:4*:*) |
1016 | # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. | 1060 | # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. |
@@ -1086,7 +1130,7 @@ EOF | |||
1086 | # uname -m prints for DJGPP always 'pc', but it prints nothing about | 1130 | # uname -m prints for DJGPP always 'pc', but it prints nothing about |
1087 | # the processor, so we play safe by assuming i586. | 1131 | # the processor, so we play safe by assuming i586. |
1088 | # Note: whatever this is, it MUST be the same as what config.sub | 1132 | # Note: whatever this is, it MUST be the same as what config.sub |
1089 | # prints for the "djgpp" host, or else GDB configury will decide that | 1133 | # prints for the "djgpp" host, or else GDB configure will decide that |
1090 | # this is a cross-build. | 1134 | # this is a cross-build. |
1091 | echo i586-pc-msdosdjgpp | 1135 | echo i586-pc-msdosdjgpp |
1092 | exit ;; | 1136 | exit ;; |
@@ -1235,6 +1279,9 @@ EOF | |||
1235 | SX-8R:SUPER-UX:*:*) | 1279 | SX-8R:SUPER-UX:*:*) |
1236 | echo sx8r-nec-superux${UNAME_RELEASE} | 1280 | echo sx8r-nec-superux${UNAME_RELEASE} |
1237 | exit ;; | 1281 | exit ;; |
1282 | SX-ACE:SUPER-UX:*:*) | ||
1283 | echo sxace-nec-superux${UNAME_RELEASE} | ||
1284 | exit ;; | ||
1238 | Power*:Rhapsody:*:*) | 1285 | Power*:Rhapsody:*:*) |
1239 | echo powerpc-apple-rhapsody${UNAME_RELEASE} | 1286 | echo powerpc-apple-rhapsody${UNAME_RELEASE} |
1240 | exit ;; | 1287 | exit ;; |
@@ -1243,24 +1290,36 @@ EOF | |||
1243 | exit ;; | 1290 | exit ;; |
1244 | *:Darwin:*:*) | 1291 | *:Darwin:*:*) |
1245 | UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown | 1292 | UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown |
1246 | case $UNAME_PROCESSOR in | 1293 | eval $set_cc_for_build |
1247 | i386) | 1294 | if test "$UNAME_PROCESSOR" = unknown ; then |
1248 | eval $set_cc_for_build | 1295 | UNAME_PROCESSOR=powerpc |
1249 | if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then | 1296 | fi |
1250 | if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ | 1297 | if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then |
1251 | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ | 1298 | if [ "$CC_FOR_BUILD" != no_compiler_found ]; then |
1252 | grep IS_64BIT_ARCH >/dev/null | 1299 | if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ |
1253 | then | 1300 | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ |
1254 | UNAME_PROCESSOR="x86_64" | 1301 | grep IS_64BIT_ARCH >/dev/null |
1255 | fi | 1302 | then |
1256 | fi ;; | 1303 | case $UNAME_PROCESSOR in |
1257 | unknown) UNAME_PROCESSOR=powerpc ;; | 1304 | i386) UNAME_PROCESSOR=x86_64 ;; |
1258 | esac | 1305 | powerpc) UNAME_PROCESSOR=powerpc64 ;; |
1306 | esac | ||
1307 | fi | ||
1308 | fi | ||
1309 | elif test "$UNAME_PROCESSOR" = i386 ; then | ||
1310 | # Avoid executing cc on OS X 10.9, as it ships with a stub | ||
1311 | # that puts up a graphical alert prompting to install | ||
1312 | # developer tools. Any system running Mac OS X 10.7 or | ||
1313 | # later (Darwin 11 and later) is required to have a 64-bit | ||
1314 | # processor. This is not true of the ARM version of Darwin | ||
1315 | # that Apple uses in portable devices. | ||
1316 | UNAME_PROCESSOR=x86_64 | ||
1317 | fi | ||
1259 | echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} | 1318 | echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} |
1260 | exit ;; | 1319 | exit ;; |
1261 | *:procnto*:*:* | *:QNX:[0123456789]*:*) | 1320 | *:procnto*:*:* | *:QNX:[0123456789]*:*) |
1262 | UNAME_PROCESSOR=`uname -p` | 1321 | UNAME_PROCESSOR=`uname -p` |
1263 | if test "$UNAME_PROCESSOR" = "x86"; then | 1322 | if test "$UNAME_PROCESSOR" = x86; then |
1264 | UNAME_PROCESSOR=i386 | 1323 | UNAME_PROCESSOR=i386 |
1265 | UNAME_MACHINE=pc | 1324 | UNAME_MACHINE=pc |
1266 | fi | 1325 | fi |
@@ -1291,7 +1350,7 @@ EOF | |||
1291 | # "uname -m" is not consistent, so use $cputype instead. 386 | 1350 | # "uname -m" is not consistent, so use $cputype instead. 386 |
1292 | # is converted to i386 for consistency with other x86 | 1351 | # is converted to i386 for consistency with other x86 |
1293 | # operating systems. | 1352 | # operating systems. |
1294 | if test "$cputype" = "386"; then | 1353 | if test "$cputype" = 386; then |
1295 | UNAME_MACHINE=i386 | 1354 | UNAME_MACHINE=i386 |
1296 | else | 1355 | else |
1297 | UNAME_MACHINE="$cputype" | 1356 | UNAME_MACHINE="$cputype" |
@@ -1333,7 +1392,7 @@ EOF | |||
1333 | echo i386-pc-xenix | 1392 | echo i386-pc-xenix |
1334 | exit ;; | 1393 | exit ;; |
1335 | i*86:skyos:*:*) | 1394 | i*86:skyos:*:*) |
1336 | echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' | 1395 | echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` |
1337 | exit ;; | 1396 | exit ;; |
1338 | i*86:rdos:*:*) | 1397 | i*86:rdos:*:*) |
1339 | echo ${UNAME_MACHINE}-pc-rdos | 1398 | echo ${UNAME_MACHINE}-pc-rdos |
@@ -1344,171 +1403,25 @@ EOF | |||
1344 | x86_64:VMkernel:*:*) | 1403 | x86_64:VMkernel:*:*) |
1345 | echo ${UNAME_MACHINE}-unknown-esx | 1404 | echo ${UNAME_MACHINE}-unknown-esx |
1346 | exit ;; | 1405 | exit ;; |
1347 | esac | 1406 | amd64:Isilon\ OneFS:*:*) |
1348 | 1407 | echo x86_64-unknown-onefs | |
1349 | eval $set_cc_for_build | ||
1350 | cat >$dummy.c <<EOF | ||
1351 | #ifdef _SEQUENT_ | ||
1352 | # include <sys/types.h> | ||
1353 | # include <sys/utsname.h> | ||
1354 | #endif | ||
1355 | main () | ||
1356 | { | ||
1357 | #if defined (sony) | ||
1358 | #if defined (MIPSEB) | ||
1359 | /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, | ||
1360 | I don't know.... */ | ||
1361 | printf ("mips-sony-bsd\n"); exit (0); | ||
1362 | #else | ||
1363 | #include <sys/param.h> | ||
1364 | printf ("m68k-sony-newsos%s\n", | ||
1365 | #ifdef NEWSOS4 | ||
1366 | "4" | ||
1367 | #else | ||
1368 | "" | ||
1369 | #endif | ||
1370 | ); exit (0); | ||
1371 | #endif | ||
1372 | #endif | ||
1373 | |||
1374 | #if defined (__arm) && defined (__acorn) && defined (__unix) | ||
1375 | printf ("arm-acorn-riscix\n"); exit (0); | ||
1376 | #endif | ||
1377 | |||
1378 | #if defined (hp300) && !defined (hpux) | ||
1379 | printf ("m68k-hp-bsd\n"); exit (0); | ||
1380 | #endif | ||
1381 | |||
1382 | #if defined (NeXT) | ||
1383 | #if !defined (__ARCHITECTURE__) | ||
1384 | #define __ARCHITECTURE__ "m68k" | ||
1385 | #endif | ||
1386 | int version; | ||
1387 | version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; | ||
1388 | if (version < 4) | ||
1389 | printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); | ||
1390 | else | ||
1391 | printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); | ||
1392 | exit (0); | ||
1393 | #endif | ||
1394 | |||
1395 | #if defined (MULTIMAX) || defined (n16) | ||
1396 | #if defined (UMAXV) | ||
1397 | printf ("ns32k-encore-sysv\n"); exit (0); | ||
1398 | #else | ||
1399 | #if defined (CMU) | ||
1400 | printf ("ns32k-encore-mach\n"); exit (0); | ||
1401 | #else | ||
1402 | printf ("ns32k-encore-bsd\n"); exit (0); | ||
1403 | #endif | ||
1404 | #endif | ||
1405 | #endif | ||
1406 | |||
1407 | #if defined (__386BSD__) | ||
1408 | printf ("i386-pc-bsd\n"); exit (0); | ||
1409 | #endif | ||
1410 | |||
1411 | #if defined (sequent) | ||
1412 | #if defined (i386) | ||
1413 | printf ("i386-sequent-dynix\n"); exit (0); | ||
1414 | #endif | ||
1415 | #if defined (ns32000) | ||
1416 | printf ("ns32k-sequent-dynix\n"); exit (0); | ||
1417 | #endif | ||
1418 | #endif | ||
1419 | |||
1420 | #if defined (_SEQUENT_) | ||
1421 | struct utsname un; | ||
1422 | |||
1423 | uname(&un); | ||
1424 | |||
1425 | if (strncmp(un.version, "V2", 2) == 0) { | ||
1426 | printf ("i386-sequent-ptx2\n"); exit (0); | ||
1427 | } | ||
1428 | if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ | ||
1429 | printf ("i386-sequent-ptx1\n"); exit (0); | ||
1430 | } | ||
1431 | printf ("i386-sequent-ptx\n"); exit (0); | ||
1432 | |||
1433 | #endif | ||
1434 | |||
1435 | #if defined (vax) | ||
1436 | # if !defined (ultrix) | ||
1437 | # include <sys/param.h> | ||
1438 | # if defined (BSD) | ||
1439 | # if BSD == 43 | ||
1440 | printf ("vax-dec-bsd4.3\n"); exit (0); | ||
1441 | # else | ||
1442 | # if BSD == 199006 | ||
1443 | printf ("vax-dec-bsd4.3reno\n"); exit (0); | ||
1444 | # else | ||
1445 | printf ("vax-dec-bsd\n"); exit (0); | ||
1446 | # endif | ||
1447 | # endif | ||
1448 | # else | ||
1449 | printf ("vax-dec-bsd\n"); exit (0); | ||
1450 | # endif | ||
1451 | # else | ||
1452 | printf ("vax-dec-ultrix\n"); exit (0); | ||
1453 | # endif | ||
1454 | #endif | ||
1455 | |||
1456 | #if defined (alliant) && defined (i860) | ||
1457 | printf ("i860-alliant-bsd\n"); exit (0); | ||
1458 | #endif | ||
1459 | |||
1460 | exit (1); | ||
1461 | } | ||
1462 | EOF | ||
1463 | |||
1464 | $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && | ||
1465 | { echo "$SYSTEM_NAME"; exit; } | ||
1466 | |||
1467 | # Apollos put the system type in the environment. | ||
1468 | |||
1469 | test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } | ||
1470 | |||
1471 | # Convex versions that predate uname can use getsysinfo(1) | ||
1472 | |||
1473 | if [ -x /usr/convex/getsysinfo ] | ||
1474 | then | ||
1475 | case `getsysinfo -f cpu_type` in | ||
1476 | c1*) | ||
1477 | echo c1-convex-bsd | ||
1478 | exit ;; | 1408 | exit ;; |
1479 | c2*) | 1409 | esac |
1480 | if getsysinfo -f scalar_acc | ||
1481 | then echo c32-convex-bsd | ||
1482 | else echo c2-convex-bsd | ||
1483 | fi | ||
1484 | exit ;; | ||
1485 | c34*) | ||
1486 | echo c34-convex-bsd | ||
1487 | exit ;; | ||
1488 | c38*) | ||
1489 | echo c38-convex-bsd | ||
1490 | exit ;; | ||
1491 | c4*) | ||
1492 | echo c4-convex-bsd | ||
1493 | exit ;; | ||
1494 | esac | ||
1495 | fi | ||
1496 | 1410 | ||
1497 | cat >&2 <<EOF | 1411 | cat >&2 <<EOF |
1498 | $0: unable to guess system type | 1412 | $0: unable to guess system type |
1499 | 1413 | ||
1500 | This script, last modified $timestamp, has failed to recognize | 1414 | This script (version $timestamp), has failed to recognize the |
1501 | the operating system you are using. It is advised that you | 1415 | operating system you are using. If your script is old, overwrite |
1502 | download the most up to date version of the config scripts from | 1416 | config.guess and config.sub with the latest versions from: |
1503 | 1417 | ||
1504 | http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD | 1418 | http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess |
1505 | and | 1419 | and |
1506 | http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD | 1420 | http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub |
1507 | 1421 | ||
1508 | If the version you run ($0) is already up to date, please | 1422 | If $0 has already been updated, send the following data and any |
1509 | send the following data and any information you think might be | 1423 | information you think might be pertinent to config-patches@gnu.org to |
1510 | pertinent to <config-patches@gnu.org> in order to provide the needed | 1424 | provide the necessary information to handle your system. |
1511 | information to handle your system. | ||
1512 | 1425 | ||
1513 | config.guess timestamp = $timestamp | 1426 | config.guess timestamp = $timestamp |
1514 | 1427 | ||
diff --git a/config.h.in b/config.h.in index 39d018f4c..75e02ab45 100644 --- a/config.h.in +++ b/config.h.in | |||
@@ -1,5 +1,8 @@ | |||
1 | /* config.h.in. Generated from configure.ac by autoheader. */ | 1 | /* config.h.in. Generated from configure.ac by autoheader. */ |
2 | 2 | ||
3 | /* Define if building universal (internal helper macro) */ | ||
4 | #undef AC_APPLE_UNIVERSAL_BUILD | ||
5 | |||
3 | /* Define if you have a getaddrinfo that fails for the all-zeros IPv6 address | 6 | /* Define if you have a getaddrinfo that fails for the all-zeros IPv6 address |
4 | */ | 7 | */ |
5 | #undef AIX_GETNAMEINFO_HACK | 8 | #undef AIX_GETNAMEINFO_HACK |
@@ -34,9 +37,6 @@ | |||
34 | /* ia_uinfo routines not supported by OS yet */ | 37 | /* ia_uinfo routines not supported by OS yet */ |
35 | #undef BROKEN_LIBIAF | 38 | #undef BROKEN_LIBIAF |
36 | 39 | ||
37 | /* Ultrix mmap can't map files */ | ||
38 | #undef BROKEN_MMAP | ||
39 | |||
40 | /* Define if your struct dirent expects you to allocate extra space for d_name | 40 | /* Define if your struct dirent expects you to allocate extra space for d_name |
41 | */ | 41 | */ |
42 | #undef BROKEN_ONE_BYTE_DIRENT_D_NAME | 42 | #undef BROKEN_ONE_BYTE_DIRENT_D_NAME |
@@ -75,7 +75,7 @@ | |||
75 | /* Define if your snprintf is busted */ | 75 | /* Define if your snprintf is busted */ |
76 | #undef BROKEN_SNPRINTF | 76 | #undef BROKEN_SNPRINTF |
77 | 77 | ||
78 | /* missing VIS_ALL */ | 78 | /* strnvis detected broken */ |
79 | #undef BROKEN_STRNVIS | 79 | #undef BROKEN_STRNVIS |
80 | 80 | ||
81 | /* tcgetattr with ICANON may hang */ | 81 | /* tcgetattr with ICANON may hang */ |
@@ -790,9 +790,6 @@ | |||
790 | /* Define to 1 if you have the `mkdtemp' function. */ | 790 | /* Define to 1 if you have the `mkdtemp' function. */ |
791 | #undef HAVE_MKDTEMP | 791 | #undef HAVE_MKDTEMP |
792 | 792 | ||
793 | /* Define to 1 if you have the `mmap' function. */ | ||
794 | #undef HAVE_MMAP | ||
795 | |||
796 | /* define if you have mode_t data type */ | 793 | /* define if you have mode_t data type */ |
797 | #undef HAVE_MODE_T | 794 | #undef HAVE_MODE_T |
798 | 795 | ||
@@ -1073,6 +1070,9 @@ | |||
1073 | /* Define to 1 if you have the <stdlib.h> header file. */ | 1070 | /* Define to 1 if you have the <stdlib.h> header file. */ |
1074 | #undef HAVE_STDLIB_H | 1071 | #undef HAVE_STDLIB_H |
1075 | 1072 | ||
1073 | /* Define to 1 if you have the `strcasestr' function. */ | ||
1074 | #undef HAVE_STRCASESTR | ||
1075 | |||
1076 | /* Define to 1 if you have the `strdup' function. */ | 1076 | /* Define to 1 if you have the `strdup' function. */ |
1077 | #undef HAVE_STRDUP | 1077 | #undef HAVE_STRDUP |
1078 | 1078 | ||
@@ -1130,28 +1130,28 @@ | |||
1130 | /* define if you have struct in6_addr data type */ | 1130 | /* define if you have struct in6_addr data type */ |
1131 | #undef HAVE_STRUCT_IN6_ADDR | 1131 | #undef HAVE_STRUCT_IN6_ADDR |
1132 | 1132 | ||
1133 | /* Define to 1 if `pw_change' is member of `struct passwd'. */ | 1133 | /* Define to 1 if `pw_change' is a member of `struct passwd'. */ |
1134 | #undef HAVE_STRUCT_PASSWD_PW_CHANGE | 1134 | #undef HAVE_STRUCT_PASSWD_PW_CHANGE |
1135 | 1135 | ||
1136 | /* Define to 1 if `pw_class' is member of `struct passwd'. */ | 1136 | /* Define to 1 if `pw_class' is a member of `struct passwd'. */ |
1137 | #undef HAVE_STRUCT_PASSWD_PW_CLASS | 1137 | #undef HAVE_STRUCT_PASSWD_PW_CLASS |
1138 | 1138 | ||
1139 | /* Define to 1 if `pw_expire' is member of `struct passwd'. */ | 1139 | /* Define to 1 if `pw_expire' is a member of `struct passwd'. */ |
1140 | #undef HAVE_STRUCT_PASSWD_PW_EXPIRE | 1140 | #undef HAVE_STRUCT_PASSWD_PW_EXPIRE |
1141 | 1141 | ||
1142 | /* Define to 1 if `pw_gecos' is member of `struct passwd'. */ | 1142 | /* Define to 1 if `pw_gecos' is a member of `struct passwd'. */ |
1143 | #undef HAVE_STRUCT_PASSWD_PW_GECOS | 1143 | #undef HAVE_STRUCT_PASSWD_PW_GECOS |
1144 | 1144 | ||
1145 | /* define if you have struct sockaddr_in6 data type */ | 1145 | /* define if you have struct sockaddr_in6 data type */ |
1146 | #undef HAVE_STRUCT_SOCKADDR_IN6 | 1146 | #undef HAVE_STRUCT_SOCKADDR_IN6 |
1147 | 1147 | ||
1148 | /* Define to 1 if `sin6_scope_id' is member of `struct sockaddr_in6'. */ | 1148 | /* Define to 1 if `sin6_scope_id' is a member of `struct sockaddr_in6'. */ |
1149 | #undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID | 1149 | #undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID |
1150 | 1150 | ||
1151 | /* define if you have struct sockaddr_storage data type */ | 1151 | /* define if you have struct sockaddr_storage data type */ |
1152 | #undef HAVE_STRUCT_SOCKADDR_STORAGE | 1152 | #undef HAVE_STRUCT_SOCKADDR_STORAGE |
1153 | 1153 | ||
1154 | /* Define to 1 if `st_blksize' is member of `struct stat'. */ | 1154 | /* Define to 1 if `st_blksize' is a member of `struct stat'. */ |
1155 | #undef HAVE_STRUCT_STAT_ST_BLKSIZE | 1155 | #undef HAVE_STRUCT_STAT_ST_BLKSIZE |
1156 | 1156 | ||
1157 | /* Define to 1 if the system has the type `struct timespec'. */ | 1157 | /* Define to 1 if the system has the type `struct timespec'. */ |
@@ -1214,6 +1214,9 @@ | |||
1214 | /* Define to 1 if you have the <sys/ptms.h> header file. */ | 1214 | /* Define to 1 if you have the <sys/ptms.h> header file. */ |
1215 | #undef HAVE_SYS_PTMS_H | 1215 | #undef HAVE_SYS_PTMS_H |
1216 | 1216 | ||
1217 | /* Define to 1 if you have the <sys/ptrace.h> header file. */ | ||
1218 | #undef HAVE_SYS_PTRACE_H | ||
1219 | |||
1217 | /* Define to 1 if you have the <sys/select.h> header file. */ | 1220 | /* Define to 1 if you have the <sys/select.h> header file. */ |
1218 | #undef HAVE_SYS_SELECT_H | 1221 | #undef HAVE_SYS_SELECT_H |
1219 | 1222 | ||
@@ -1455,19 +1458,9 @@ | |||
1455 | /* String used in /etc/passwd to denote locked account */ | 1458 | /* String used in /etc/passwd to denote locked account */ |
1456 | #undef LOCKED_PASSWD_SUBSTR | 1459 | #undef LOCKED_PASSWD_SUBSTR |
1457 | 1460 | ||
1458 | /* Some versions of /bin/login need the TERM supplied on the commandline */ | ||
1459 | #undef LOGIN_NEEDS_TERM | ||
1460 | |||
1461 | /* Some systems need a utmpx entry for /bin/login to work */ | 1461 | /* Some systems need a utmpx entry for /bin/login to work */ |
1462 | #undef LOGIN_NEEDS_UTMPX | 1462 | #undef LOGIN_NEEDS_UTMPX |
1463 | 1463 | ||
1464 | /* Define if your login program cannot handle end of options ("--") */ | ||
1465 | #undef LOGIN_NO_ENDOPT | ||
1466 | |||
1467 | /* If your header files don't define LOGIN_PROGRAM, then use this (detected) | ||
1468 | from environment and PATH */ | ||
1469 | #undef LOGIN_PROGRAM_FALLBACK | ||
1470 | |||
1471 | /* Set this to your mail directory if you do not have _PATH_MAILDIR */ | 1464 | /* Set this to your mail directory if you do not have _PATH_MAILDIR */ |
1472 | #undef MAIL_DIRECTORY | 1465 | #undef MAIL_DIRECTORY |
1473 | 1466 | ||
@@ -1525,6 +1518,9 @@ | |||
1525 | /* Define to the one symbol short name of this package. */ | 1518 | /* Define to the one symbol short name of this package. */ |
1526 | #undef PACKAGE_TARNAME | 1519 | #undef PACKAGE_TARNAME |
1527 | 1520 | ||
1521 | /* Define to the home page for this package. */ | ||
1522 | #undef PACKAGE_URL | ||
1523 | |||
1528 | /* Define to the version of this package. */ | 1524 | /* Define to the version of this package. */ |
1529 | #undef PACKAGE_VERSION | 1525 | #undef PACKAGE_VERSION |
1530 | 1526 | ||
@@ -1614,6 +1610,9 @@ | |||
1614 | /* Define if sshd somehow reacquires a controlling TTY after setsid() */ | 1610 | /* Define if sshd somehow reacquires a controlling TTY after setsid() */ |
1615 | #undef SSHD_ACQUIRES_CTTY | 1611 | #undef SSHD_ACQUIRES_CTTY |
1616 | 1612 | ||
1613 | /* sshd PAM service name */ | ||
1614 | #undef SSHD_PAM_SERVICE | ||
1615 | |||
1617 | /* Define if pam_chauthtok wants real uid set to the unpriv'ed user */ | 1616 | /* Define if pam_chauthtok wants real uid set to the unpriv'ed user */ |
1618 | #undef SSHPAM_CHAUTHTOK_NEEDS_RUID | 1617 | #undef SSHPAM_CHAUTHTOK_NEEDS_RUID |
1619 | 1618 | ||
@@ -1720,13 +1719,26 @@ | |||
1720 | /* include SSH protocol version 1 support */ | 1719 | /* include SSH protocol version 1 support */ |
1721 | #undef WITH_SSH1 | 1720 | #undef WITH_SSH1 |
1722 | 1721 | ||
1723 | /* Define to 1 if your processor stores words with the most significant byte | 1722 | /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most |
1724 | first (like Motorola and SPARC, unlike Intel and VAX). */ | 1723 | significant byte first (like Motorola and SPARC, unlike Intel). */ |
1725 | #undef WORDS_BIGENDIAN | 1724 | #if defined AC_APPLE_UNIVERSAL_BUILD |
1725 | # if defined __BIG_ENDIAN__ | ||
1726 | # define WORDS_BIGENDIAN 1 | ||
1727 | # endif | ||
1728 | #else | ||
1729 | # ifndef WORDS_BIGENDIAN | ||
1730 | # undef WORDS_BIGENDIAN | ||
1731 | # endif | ||
1732 | #endif | ||
1726 | 1733 | ||
1727 | /* Define if xauth is found in your path */ | 1734 | /* Define if xauth is found in your path */ |
1728 | #undef XAUTH_PATH | 1735 | #undef XAUTH_PATH |
1729 | 1736 | ||
1737 | /* Enable large inode numbers on Mac OS X 10.5. */ | ||
1738 | #ifndef _DARWIN_USE_64_BIT_INODE | ||
1739 | # define _DARWIN_USE_64_BIT_INODE 1 | ||
1740 | #endif | ||
1741 | |||
1730 | /* Number of bits in a file offset, on hosts where this is settable. */ | 1742 | /* Number of bits in a file offset, on hosts where this is settable. */ |
1731 | #undef _FILE_OFFSET_BITS | 1743 | #undef _FILE_OFFSET_BITS |
1732 | 1744 | ||
diff --git a/config.sub b/config.sub index eee8dccb0..9feb73bf0 100755 --- a/config.sub +++ b/config.sub | |||
@@ -1,24 +1,18 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # Configuration validation subroutine script. | 2 | # Configuration validation subroutine script. |
3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | 3 | # Copyright 1992-2016 Free Software Foundation, Inc. |
4 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, | ||
5 | # 2011, 2012, 2013 Free Software Foundation, Inc. | ||
6 | 4 | ||
7 | timestamp='2012-12-23' | 5 | timestamp='2016-06-20' |
8 | 6 | ||
9 | # This file is (in principle) common to ALL GNU software. | 7 | # This file is free software; you can redistribute it and/or modify it |
10 | # The presence of a machine in this file suggests that SOME GNU software | 8 | # under the terms of the GNU General Public License as published by |
11 | # can handle that machine. It does not imply ALL GNU software can. | 9 | # the Free Software Foundation; either version 3 of the License, or |
12 | # | ||
13 | # This file is free software; you can redistribute it and/or modify | ||
14 | # it under the terms of the GNU General Public License as published by | ||
15 | # the Free Software Foundation; either version 2 of the License, or | ||
16 | # (at your option) any later version. | 10 | # (at your option) any later version. |
17 | # | 11 | # |
18 | # This program is distributed in the hope that it will be useful, | 12 | # This program is distributed in the hope that it will be useful, but |
19 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 | # WITHOUT ANY WARRANTY; without even the implied warranty of |
20 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
21 | # GNU General Public License for more details. | 15 | # General Public License for more details. |
22 | # | 16 | # |
23 | # You should have received a copy of the GNU General Public License | 17 | # You should have received a copy of the GNU General Public License |
24 | # along with this program; if not, see <http://www.gnu.org/licenses/>. | 18 | # along with this program; if not, see <http://www.gnu.org/licenses/>. |
@@ -26,11 +20,12 @@ timestamp='2012-12-23' | |||
26 | # As a special exception to the GNU General Public License, if you | 20 | # As a special exception to the GNU General Public License, if you |
27 | # distribute this file as part of a program that contains a | 21 | # distribute this file as part of a program that contains a |
28 | # configuration script generated by Autoconf, you may include it under | 22 | # configuration script generated by Autoconf, you may include it under |
29 | # the same distribution terms that you use for the rest of that program. | 23 | # the same distribution terms that you use for the rest of that |
24 | # program. This Exception is an additional permission under section 7 | ||
25 | # of the GNU General Public License, version 3 ("GPLv3"). | ||
30 | 26 | ||
31 | 27 | ||
32 | # Please send patches to <config-patches@gnu.org>. Submit a context | 28 | # Please send patches to <config-patches@gnu.org>. |
33 | # diff and a properly formatted GNU ChangeLog entry. | ||
34 | # | 29 | # |
35 | # Configuration subroutine to validate and canonicalize a configuration type. | 30 | # Configuration subroutine to validate and canonicalize a configuration type. |
36 | # Supply the specified configuration type as an argument. | 31 | # Supply the specified configuration type as an argument. |
@@ -38,7 +33,7 @@ timestamp='2012-12-23' | |||
38 | # Otherwise, we print the canonical config type on stdout and succeed. | 33 | # Otherwise, we print the canonical config type on stdout and succeed. |
39 | 34 | ||
40 | # You can get the latest version of this script from: | 35 | # You can get the latest version of this script from: |
41 | # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD | 36 | # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub |
42 | 37 | ||
43 | # This file is supposed to be the same for all GNU packages | 38 | # This file is supposed to be the same for all GNU packages |
44 | # and recognize all the CPU types, system types and aliases | 39 | # and recognize all the CPU types, system types and aliases |
@@ -58,8 +53,7 @@ timestamp='2012-12-23' | |||
58 | me=`echo "$0" | sed -e 's,.*/,,'` | 53 | me=`echo "$0" | sed -e 's,.*/,,'` |
59 | 54 | ||
60 | usage="\ | 55 | usage="\ |
61 | Usage: $0 [OPTION] CPU-MFR-OPSYS | 56 | Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS |
62 | $0 [OPTION] ALIAS | ||
63 | 57 | ||
64 | Canonicalize a configuration name. | 58 | Canonicalize a configuration name. |
65 | 59 | ||
@@ -73,9 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>." | |||
73 | version="\ | 67 | version="\ |
74 | GNU config.sub ($timestamp) | 68 | GNU config.sub ($timestamp) |
75 | 69 | ||
76 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, | 70 | Copyright 1992-2016 Free Software Foundation, Inc. |
77 | 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, | ||
78 | 2012, 2013 Free Software Foundation, Inc. | ||
79 | 71 | ||
80 | This is free software; see the source for copying conditions. There is NO | 72 | This is free software; see the source for copying conditions. There is NO |
81 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | 73 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
@@ -124,7 +116,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` | |||
124 | case $maybe_os in | 116 | case $maybe_os in |
125 | nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ | 117 | nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ |
126 | linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ | 118 | linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ |
127 | knetbsd*-gnu* | netbsd*-gnu* | \ | 119 | knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ |
128 | kopensolaris*-gnu* | \ | 120 | kopensolaris*-gnu* | \ |
129 | storm-chaos* | os2-emx* | rtmk-nova*) | 121 | storm-chaos* | os2-emx* | rtmk-nova*) |
130 | os=-$maybe_os | 122 | os=-$maybe_os |
@@ -259,19 +251,21 @@ case $basic_machine in | |||
259 | | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | 251 | | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ |
260 | | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | 252 | | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ |
261 | | am33_2.0 \ | 253 | | am33_2.0 \ |
262 | | arc \ | 254 | | arc | arceb \ |
263 | | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | 255 | | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ |
264 | | avr | avr32 \ | 256 | | avr | avr32 \ |
257 | | ba \ | ||
265 | | be32 | be64 \ | 258 | | be32 | be64 \ |
266 | | bfin \ | 259 | | bfin \ |
267 | | c4x | clipper \ | 260 | | c4x | c8051 | clipper \ |
268 | | d10v | d30v | dlx | dsp16xx \ | 261 | | d10v | d30v | dlx | dsp16xx \ |
269 | | epiphany \ | 262 | | e2k | epiphany \ |
270 | | fido | fr30 | frv \ | 263 | | fido | fr30 | frv | ft32 \ |
271 | | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | 264 | | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ |
272 | | hexagon \ | 265 | | hexagon \ |
273 | | i370 | i860 | i960 | ia64 \ | 266 | | i370 | i860 | i960 | ia64 \ |
274 | | ip2k | iq2000 \ | 267 | | ip2k | iq2000 \ |
268 | | k1om \ | ||
275 | | le32 | le64 \ | 269 | | le32 | le64 \ |
276 | | lm32 \ | 270 | | lm32 \ |
277 | | m32c | m32r | m32rle | m68000 | m68k | m88k \ | 271 | | m32c | m32r | m32rle | m68000 | m68k | m88k \ |
@@ -289,26 +283,29 @@ case $basic_machine in | |||
289 | | mips64vr5900 | mips64vr5900el \ | 283 | | mips64vr5900 | mips64vr5900el \ |
290 | | mipsisa32 | mipsisa32el \ | 284 | | mipsisa32 | mipsisa32el \ |
291 | | mipsisa32r2 | mipsisa32r2el \ | 285 | | mipsisa32r2 | mipsisa32r2el \ |
286 | | mipsisa32r6 | mipsisa32r6el \ | ||
292 | | mipsisa64 | mipsisa64el \ | 287 | | mipsisa64 | mipsisa64el \ |
293 | | mipsisa64r2 | mipsisa64r2el \ | 288 | | mipsisa64r2 | mipsisa64r2el \ |
289 | | mipsisa64r6 | mipsisa64r6el \ | ||
294 | | mipsisa64sb1 | mipsisa64sb1el \ | 290 | | mipsisa64sb1 | mipsisa64sb1el \ |
295 | | mipsisa64sr71k | mipsisa64sr71kel \ | 291 | | mipsisa64sr71k | mipsisa64sr71kel \ |
292 | | mipsr5900 | mipsr5900el \ | ||
296 | | mipstx39 | mipstx39el \ | 293 | | mipstx39 | mipstx39el \ |
297 | | mn10200 | mn10300 \ | 294 | | mn10200 | mn10300 \ |
298 | | moxie \ | 295 | | moxie \ |
299 | | mt \ | 296 | | mt \ |
300 | | msp430 \ | 297 | | msp430 \ |
301 | | nds32 | nds32le | nds32be \ | 298 | | nds32 | nds32le | nds32be \ |
302 | | nios | nios2 \ | 299 | | nios | nios2 | nios2eb | nios2el \ |
303 | | ns16k | ns32k \ | 300 | | ns16k | ns32k \ |
304 | | open8 \ | 301 | | open8 | or1k | or1knd | or32 \ |
305 | | or32 \ | ||
306 | | pdp10 | pdp11 | pj | pjl \ | 302 | | pdp10 | pdp11 | pj | pjl \ |
307 | | powerpc | powerpc64 | powerpc64le | powerpcle \ | 303 | | powerpc | powerpc64 | powerpc64le | powerpcle \ |
308 | | pyramid \ | 304 | | pyramid \ |
305 | | riscv32 | riscv64 \ | ||
309 | | rl78 | rx \ | 306 | | rl78 | rx \ |
310 | | score \ | 307 | | score \ |
311 | | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | 308 | | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ |
312 | | sh64 | sh64le \ | 309 | | sh64 | sh64le \ |
313 | | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | 310 | | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ |
314 | | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | 311 | | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ |
@@ -316,6 +313,7 @@ case $basic_machine in | |||
316 | | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | 313 | | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ |
317 | | ubicom32 \ | 314 | | ubicom32 \ |
318 | | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | 315 | | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ |
316 | | visium \ | ||
319 | | we32k \ | 317 | | we32k \ |
320 | | x86 | xc16x | xstormy16 | xtensa \ | 318 | | x86 | xc16x | xstormy16 | xtensa \ |
321 | | z8k | z80) | 319 | | z8k | z80) |
@@ -330,7 +328,10 @@ case $basic_machine in | |||
330 | c6x) | 328 | c6x) |
331 | basic_machine=tic6x-unknown | 329 | basic_machine=tic6x-unknown |
332 | ;; | 330 | ;; |
333 | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) | 331 | leon|leon[3-9]) |
332 | basic_machine=sparc-$basic_machine | ||
333 | ;; | ||
334 | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) | ||
334 | basic_machine=$basic_machine-unknown | 335 | basic_machine=$basic_machine-unknown |
335 | os=-none | 336 | os=-none |
336 | ;; | 337 | ;; |
@@ -372,21 +373,23 @@ case $basic_machine in | |||
372 | | aarch64-* | aarch64_be-* \ | 373 | | aarch64-* | aarch64_be-* \ |
373 | | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | 374 | | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ |
374 | | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | 375 | | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ |
375 | | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | 376 | | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ |
376 | | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | 377 | | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ |
377 | | avr-* | avr32-* \ | 378 | | avr-* | avr32-* \ |
379 | | ba-* \ | ||
378 | | be32-* | be64-* \ | 380 | | be32-* | be64-* \ |
379 | | bfin-* | bs2000-* \ | 381 | | bfin-* | bs2000-* \ |
380 | | c[123]* | c30-* | [cjt]90-* | c4x-* \ | 382 | | c[123]* | c30-* | [cjt]90-* | c4x-* \ |
381 | | clipper-* | craynv-* | cydra-* \ | 383 | | c8051-* | clipper-* | craynv-* | cydra-* \ |
382 | | d10v-* | d30v-* | dlx-* \ | 384 | | d10v-* | d30v-* | dlx-* \ |
383 | | elxsi-* \ | 385 | | e2k-* | elxsi-* \ |
384 | | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | 386 | | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ |
385 | | h8300-* | h8500-* \ | 387 | | h8300-* | h8500-* \ |
386 | | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | 388 | | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ |
387 | | hexagon-* \ | 389 | | hexagon-* \ |
388 | | i*86-* | i860-* | i960-* | ia64-* \ | 390 | | i*86-* | i860-* | i960-* | ia64-* \ |
389 | | ip2k-* | iq2000-* \ | 391 | | ip2k-* | iq2000-* \ |
392 | | k1om-* \ | ||
390 | | le32-* | le64-* \ | 393 | | le32-* | le64-* \ |
391 | | lm32-* \ | 394 | | lm32-* \ |
392 | | m32c-* | m32r-* | m32rle-* \ | 395 | | m32c-* | m32r-* | m32rle-* \ |
@@ -406,28 +409,33 @@ case $basic_machine in | |||
406 | | mips64vr5900-* | mips64vr5900el-* \ | 409 | | mips64vr5900-* | mips64vr5900el-* \ |
407 | | mipsisa32-* | mipsisa32el-* \ | 410 | | mipsisa32-* | mipsisa32el-* \ |
408 | | mipsisa32r2-* | mipsisa32r2el-* \ | 411 | | mipsisa32r2-* | mipsisa32r2el-* \ |
412 | | mipsisa32r6-* | mipsisa32r6el-* \ | ||
409 | | mipsisa64-* | mipsisa64el-* \ | 413 | | mipsisa64-* | mipsisa64el-* \ |
410 | | mipsisa64r2-* | mipsisa64r2el-* \ | 414 | | mipsisa64r2-* | mipsisa64r2el-* \ |
415 | | mipsisa64r6-* | mipsisa64r6el-* \ | ||
411 | | mipsisa64sb1-* | mipsisa64sb1el-* \ | 416 | | mipsisa64sb1-* | mipsisa64sb1el-* \ |
412 | | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | 417 | | mipsisa64sr71k-* | mipsisa64sr71kel-* \ |
418 | | mipsr5900-* | mipsr5900el-* \ | ||
413 | | mipstx39-* | mipstx39el-* \ | 419 | | mipstx39-* | mipstx39el-* \ |
414 | | mmix-* \ | 420 | | mmix-* \ |
415 | | mt-* \ | 421 | | mt-* \ |
416 | | msp430-* \ | 422 | | msp430-* \ |
417 | | nds32-* | nds32le-* | nds32be-* \ | 423 | | nds32-* | nds32le-* | nds32be-* \ |
418 | | nios-* | nios2-* \ | 424 | | nios-* | nios2-* | nios2eb-* | nios2el-* \ |
419 | | none-* | np1-* | ns16k-* | ns32k-* \ | 425 | | none-* | np1-* | ns16k-* | ns32k-* \ |
420 | | open8-* \ | 426 | | open8-* \ |
427 | | or1k*-* \ | ||
421 | | orion-* \ | 428 | | orion-* \ |
422 | | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | 429 | | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ |
423 | | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | 430 | | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ |
424 | | pyramid-* \ | 431 | | pyramid-* \ |
432 | | riscv32-* | riscv64-* \ | ||
425 | | rl78-* | romp-* | rs6000-* | rx-* \ | 433 | | rl78-* | romp-* | rs6000-* | rx-* \ |
426 | | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | 434 | | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ |
427 | | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | 435 | | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ |
428 | | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | 436 | | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ |
429 | | sparclite-* \ | 437 | | sparclite-* \ |
430 | | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | 438 | | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ |
431 | | tahoe-* \ | 439 | | tahoe-* \ |
432 | | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | 440 | | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ |
433 | | tile*-* \ | 441 | | tile*-* \ |
@@ -435,6 +443,7 @@ case $basic_machine in | |||
435 | | ubicom32-* \ | 443 | | ubicom32-* \ |
436 | | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | 444 | | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ |
437 | | vax-* \ | 445 | | vax-* \ |
446 | | visium-* \ | ||
438 | | we32k-* \ | 447 | | we32k-* \ |
439 | | x86-* | x86_64-* | xc16x-* | xps100-* \ | 448 | | x86-* | x86_64-* | xc16x-* | xps100-* \ |
440 | | xstormy16-* | xtensa*-* \ | 449 | | xstormy16-* | xtensa*-* \ |
@@ -511,6 +520,9 @@ case $basic_machine in | |||
511 | basic_machine=i386-pc | 520 | basic_machine=i386-pc |
512 | os=-aros | 521 | os=-aros |
513 | ;; | 522 | ;; |
523 | asmjs) | ||
524 | basic_machine=asmjs-unknown | ||
525 | ;; | ||
514 | aux) | 526 | aux) |
515 | basic_machine=m68k-apple | 527 | basic_machine=m68k-apple |
516 | os=-aux | 528 | os=-aux |
@@ -631,6 +643,14 @@ case $basic_machine in | |||
631 | basic_machine=m68k-bull | 643 | basic_machine=m68k-bull |
632 | os=-sysv3 | 644 | os=-sysv3 |
633 | ;; | 645 | ;; |
646 | e500v[12]) | ||
647 | basic_machine=powerpc-unknown | ||
648 | os=$os"spe" | ||
649 | ;; | ||
650 | e500v[12]-*) | ||
651 | basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
652 | os=$os"spe" | ||
653 | ;; | ||
634 | ebmon29k) | 654 | ebmon29k) |
635 | basic_machine=a29k-amd | 655 | basic_machine=a29k-amd |
636 | os=-ebmon | 656 | os=-ebmon |
@@ -772,6 +792,9 @@ case $basic_machine in | |||
772 | basic_machine=m68k-isi | 792 | basic_machine=m68k-isi |
773 | os=-sysv | 793 | os=-sysv |
774 | ;; | 794 | ;; |
795 | leon-*|leon[3-9]-*) | ||
796 | basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` | ||
797 | ;; | ||
775 | m68knommu) | 798 | m68knommu) |
776 | basic_machine=m68k-unknown | 799 | basic_machine=m68k-unknown |
777 | os=-linux | 800 | os=-linux |
@@ -799,7 +822,7 @@ case $basic_machine in | |||
799 | os=-mingw64 | 822 | os=-mingw64 |
800 | ;; | 823 | ;; |
801 | mingw32) | 824 | mingw32) |
802 | basic_machine=i386-pc | 825 | basic_machine=i686-pc |
803 | os=-mingw32 | 826 | os=-mingw32 |
804 | ;; | 827 | ;; |
805 | mingw32ce) | 828 | mingw32ce) |
@@ -827,6 +850,10 @@ case $basic_machine in | |||
827 | basic_machine=powerpc-unknown | 850 | basic_machine=powerpc-unknown |
828 | os=-morphos | 851 | os=-morphos |
829 | ;; | 852 | ;; |
853 | moxiebox) | ||
854 | basic_machine=moxie-unknown | ||
855 | os=-moxiebox | ||
856 | ;; | ||
830 | msdos) | 857 | msdos) |
831 | basic_machine=i386-pc | 858 | basic_machine=i386-pc |
832 | os=-msdos | 859 | os=-msdos |
@@ -835,7 +862,7 @@ case $basic_machine in | |||
835 | basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` | 862 | basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` |
836 | ;; | 863 | ;; |
837 | msys) | 864 | msys) |
838 | basic_machine=i386-pc | 865 | basic_machine=i686-pc |
839 | os=-msys | 866 | os=-msys |
840 | ;; | 867 | ;; |
841 | mvs) | 868 | mvs) |
@@ -1357,29 +1384,30 @@ case $os in | |||
1357 | -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | 1384 | -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ |
1358 | | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | 1385 | | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ |
1359 | | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | 1386 | | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ |
1360 | | -sym* | -kopensolaris* \ | 1387 | | -sym* | -kopensolaris* | -plan9* \ |
1361 | | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | 1388 | | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ |
1362 | | -aos* | -aros* \ | 1389 | | -aos* | -aros* | -cloudabi* | -sortix* \ |
1363 | | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | 1390 | | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ |
1364 | | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | 1391 | | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ |
1365 | | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | 1392 | | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ |
1366 | | -bitrig* | -openbsd* | -solidbsd* \ | 1393 | | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ |
1367 | | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | 1394 | | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ |
1368 | | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | 1395 | | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ |
1369 | | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | 1396 | | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ |
1370 | | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | 1397 | | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ |
1371 | | -chorusos* | -chorusrdb* | -cegcc* \ | 1398 | | -chorusos* | -chorusrdb* | -cegcc* \ |
1372 | | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | 1399 | | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ |
1373 | | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | 1400 | | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ |
1374 | | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | 1401 | | -linux-newlib* | -linux-musl* | -linux-uclibc* \ |
1375 | | -uxpv* | -beos* | -mpeix* | -udk* \ | 1402 | | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ |
1376 | | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | 1403 | | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ |
1377 | | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | 1404 | | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ |
1378 | | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | 1405 | | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ |
1379 | | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | 1406 | | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ |
1380 | | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | 1407 | | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ |
1381 | | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | 1408 | | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ |
1382 | | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) | 1409 | | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ |
1410 | | -onefs* | -tirtos* | -phoenix*) | ||
1383 | # Remember, each alternative MUST END IN *, to match a version number. | 1411 | # Remember, each alternative MUST END IN *, to match a version number. |
1384 | ;; | 1412 | ;; |
1385 | -qnx*) | 1413 | -qnx*) |
@@ -1503,9 +1531,6 @@ case $os in | |||
1503 | -aros*) | 1531 | -aros*) |
1504 | os=-aros | 1532 | os=-aros |
1505 | ;; | 1533 | ;; |
1506 | -kaos*) | ||
1507 | os=-kaos | ||
1508 | ;; | ||
1509 | -zvmoe) | 1534 | -zvmoe) |
1510 | os=-zvmoe | 1535 | os=-zvmoe |
1511 | ;; | 1536 | ;; |
@@ -1514,6 +1539,8 @@ case $os in | |||
1514 | ;; | 1539 | ;; |
1515 | -nacl*) | 1540 | -nacl*) |
1516 | ;; | 1541 | ;; |
1542 | -ios) | ||
1543 | ;; | ||
1517 | -none) | 1544 | -none) |
1518 | ;; | 1545 | ;; |
1519 | *) | 1546 | *) |
@@ -1554,6 +1581,9 @@ case $basic_machine in | |||
1554 | c4x-* | tic4x-*) | 1581 | c4x-* | tic4x-*) |
1555 | os=-coff | 1582 | os=-coff |
1556 | ;; | 1583 | ;; |
1584 | c8051-*) | ||
1585 | os=-elf | ||
1586 | ;; | ||
1557 | hexagon-*) | 1587 | hexagon-*) |
1558 | os=-elf | 1588 | os=-elf |
1559 | ;; | 1589 | ;; |
@@ -1,63 +1,84 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # From configure.ac Revision: 1.583 . | 2 | # From configure.ac Revision: 1.583 . |
3 | # Guess values for system-dependent variables and create Makefiles. | 3 | # Guess values for system-dependent variables and create Makefiles. |
4 | # Generated by GNU Autoconf 2.61 for OpenSSH Portable. | 4 | # Generated by GNU Autoconf 2.69 for OpenSSH Portable. |
5 | # | 5 | # |
6 | # Report bugs to <openssh-unix-dev@mindrot.org>. | 6 | # Report bugs to <openssh-unix-dev@mindrot.org>. |
7 | # | 7 | # |
8 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, | 8 | # |
9 | # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. | 9 | # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. |
10 | # | ||
11 | # | ||
10 | # This configure script is free software; the Free Software Foundation | 12 | # This configure script is free software; the Free Software Foundation |
11 | # gives unlimited permission to copy, distribute and modify it. | 13 | # gives unlimited permission to copy, distribute and modify it. |
12 | ## --------------------- ## | 14 | ## -------------------- ## |
13 | ## M4sh Initialization. ## | 15 | ## M4sh Initialization. ## |
14 | ## --------------------- ## | 16 | ## -------------------- ## |
15 | 17 | ||
16 | # Be more Bourne compatible | 18 | # Be more Bourne compatible |
17 | DUALCASE=1; export DUALCASE # for MKS sh | 19 | DUALCASE=1; export DUALCASE # for MKS sh |
18 | if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then | 20 | if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : |
19 | emulate sh | 21 | emulate sh |
20 | NULLCMD=: | 22 | NULLCMD=: |
21 | # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which | 23 | # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which |
22 | # is contrary to our usage. Disable this feature. | 24 | # is contrary to our usage. Disable this feature. |
23 | alias -g '${1+"$@"}'='"$@"' | 25 | alias -g '${1+"$@"}'='"$@"' |
24 | setopt NO_GLOB_SUBST | 26 | setopt NO_GLOB_SUBST |
25 | else | 27 | else |
26 | case `(set -o) 2>/dev/null` in | 28 | case `(set -o) 2>/dev/null` in #( |
27 | *posix*) set -o posix ;; | 29 | *posix*) : |
30 | set -o posix ;; #( | ||
31 | *) : | ||
32 | ;; | ||
28 | esac | 33 | esac |
29 | |||
30 | fi | 34 | fi |
31 | 35 | ||
32 | 36 | ||
33 | 37 | as_nl=' | |
34 | 38 | ' | |
35 | # PATH needs CR | 39 | export as_nl |
36 | # Avoid depending upon Character Ranges. | 40 | # Printing a long string crashes Solaris 7 /usr/bin/printf. |
37 | as_cr_letters='abcdefghijklmnopqrstuvwxyz' | 41 | as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' |
38 | as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' | 42 | as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo |
39 | as_cr_Letters=$as_cr_letters$as_cr_LETTERS | 43 | as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo |
40 | as_cr_digits='0123456789' | 44 | # Prefer a ksh shell builtin over an external printf program on Solaris, |
41 | as_cr_alnum=$as_cr_Letters$as_cr_digits | 45 | # but without wasting forks for bash or zsh. |
42 | 46 | if test -z "$BASH_VERSION$ZSH_VERSION" \ | |
43 | # The user is always right. | 47 | && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then |
44 | if test "${PATH_SEPARATOR+set}" != set; then | 48 | as_echo='print -r --' |
45 | echo "#! /bin/sh" >conf$$.sh | 49 | as_echo_n='print -rn --' |
46 | echo "exit 0" >>conf$$.sh | 50 | elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then |
47 | chmod +x conf$$.sh | 51 | as_echo='printf %s\n' |
48 | if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then | 52 | as_echo_n='printf %s' |
49 | PATH_SEPARATOR=';' | 53 | else |
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' | ||
50 | else | 57 | else |
51 | PATH_SEPARATOR=: | 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' | ||
52 | fi | 70 | fi |
53 | rm -f conf$$.sh | 71 | export as_echo_body |
72 | as_echo='sh -c $as_echo_body as_echo' | ||
54 | fi | 73 | fi |
55 | 74 | ||
56 | # Support unset when possible. | 75 | # The user is always right. |
57 | if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then | 76 | if test "${PATH_SEPARATOR+set}" != set; then |
58 | as_unset=unset | 77 | PATH_SEPARATOR=: |
59 | else | 78 | (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { |
60 | as_unset=false | 79 | (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || |
80 | PATH_SEPARATOR=';' | ||
81 | } | ||
61 | fi | 82 | fi |
62 | 83 | ||
63 | 84 | ||
@@ -66,20 +87,19 @@ fi | |||
66 | # there to prevent editors from complaining about space-tab. | 87 | # there to prevent editors from complaining about space-tab. |
67 | # (If _AS_PATH_WALK were called with IFS unset, it would disable word | 88 | # (If _AS_PATH_WALK were called with IFS unset, it would disable word |
68 | # splitting by setting IFS to empty value.) | 89 | # splitting by setting IFS to empty value.) |
69 | as_nl=' | ||
70 | ' | ||
71 | IFS=" "" $as_nl" | 90 | IFS=" "" $as_nl" |
72 | 91 | ||
73 | # Find who we are. Look in the path if we contain no directory separator. | 92 | # Find who we are. Look in the path if we contain no directory separator. |
74 | case $0 in | 93 | as_myself= |
94 | case $0 in #(( | ||
75 | *[\\/]* ) as_myself=$0 ;; | 95 | *[\\/]* ) as_myself=$0 ;; |
76 | *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | 96 | *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
77 | for as_dir in $PATH | 97 | for as_dir in $PATH |
78 | do | 98 | do |
79 | IFS=$as_save_IFS | 99 | IFS=$as_save_IFS |
80 | test -z "$as_dir" && as_dir=. | 100 | test -z "$as_dir" && as_dir=. |
81 | test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break | 101 | test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break |
82 | done | 102 | done |
83 | IFS=$as_save_IFS | 103 | IFS=$as_save_IFS |
84 | 104 | ||
85 | ;; | 105 | ;; |
@@ -90,354 +110,367 @@ if test "x$as_myself" = x; then | |||
90 | as_myself=$0 | 110 | as_myself=$0 |
91 | fi | 111 | fi |
92 | if test ! -f "$as_myself"; then | 112 | if test ! -f "$as_myself"; then |
93 | echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 | 113 | $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 |
94 | { (exit 1); exit 1; } | 114 | exit 1 |
95 | fi | 115 | fi |
96 | 116 | ||
97 | # Work around bugs in pre-3.0 UWIN ksh. | 117 | # Unset variables that we do not need and which cause bugs (e.g. in |
98 | for as_var in ENV MAIL MAILPATH | 118 | # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" |
99 | do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var | 119 | # suppresses any "Segmentation fault" message there. '((' could |
120 | # trigger a bug in pdksh 5.2.14. | ||
121 | for as_var in BASH_ENV ENV MAIL MAILPATH | ||
122 | do eval test x\${$as_var+set} = xset \ | ||
123 | && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : | ||
100 | done | 124 | done |
101 | PS1='$ ' | 125 | PS1='$ ' |
102 | PS2='> ' | 126 | PS2='> ' |
103 | PS4='+ ' | 127 | PS4='+ ' |
104 | 128 | ||
105 | # NLS nuisances. | 129 | # NLS nuisances. |
106 | for as_var in \ | 130 | LC_ALL=C |
107 | LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ | 131 | export LC_ALL |
108 | LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ | 132 | LANGUAGE=C |
109 | LC_TELEPHONE LC_TIME | 133 | export LANGUAGE |
110 | do | ||
111 | if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then | ||
112 | eval $as_var=C; export $as_var | ||
113 | else | ||
114 | ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var | ||
115 | fi | ||
116 | done | ||
117 | |||
118 | # Required to use basename. | ||
119 | if expr a : '\(a\)' >/dev/null 2>&1 && | ||
120 | test "X`expr 00001 : '.*\(...\)'`" = X001; then | ||
121 | as_expr=expr | ||
122 | else | ||
123 | as_expr=false | ||
124 | fi | ||
125 | |||
126 | if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then | ||
127 | as_basename=basename | ||
128 | else | ||
129 | as_basename=false | ||
130 | fi | ||
131 | |||
132 | |||
133 | # Name of the executable. | ||
134 | as_me=`$as_basename -- "$0" || | ||
135 | $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ | ||
136 | X"$0" : 'X\(//\)$' \| \ | ||
137 | X"$0" : 'X\(/\)' \| . 2>/dev/null || | ||
138 | echo X/"$0" | | ||
139 | sed '/^.*\/\([^/][^/]*\)\/*$/{ | ||
140 | s//\1/ | ||
141 | q | ||
142 | } | ||
143 | /^X\/\(\/\/\)$/{ | ||
144 | s//\1/ | ||
145 | q | ||
146 | } | ||
147 | /^X\/\(\/\).*/{ | ||
148 | s//\1/ | ||
149 | q | ||
150 | } | ||
151 | s/.*/./; q'` | ||
152 | 134 | ||
153 | # CDPATH. | 135 | # CDPATH. |
154 | $as_unset CDPATH | 136 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH |
155 | 137 | ||
156 | 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. | ||
146 | BASH_ENV=/dev/null | ||
147 | ENV=/dev/null | ||
148 | (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV | ||
149 | case $- in # (((( | ||
150 | *v*x* | *x*v* ) as_opts=-vx ;; | ||
151 | *v* ) as_opts=-v ;; | ||
152 | *x* ) as_opts=-x ;; | ||
153 | * ) as_opts= ;; | ||
154 | esac | ||
155 | exec $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 | ||
159 | as_fn_exit 255 | ||
160 | fi | ||
161 | # We don't want this to propagate to other subprocesses. | ||
162 | { _as_can_reexec=; unset _as_can_reexec;} | ||
157 | if test "x$CONFIG_SHELL" = x; then | 163 | if test "x$CONFIG_SHELL" = x; then |
158 | if (eval ":") 2>/dev/null; then | 164 | as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : |
159 | as_have_required=yes | 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 | ||
160 | else | 171 | else |
161 | as_have_required=no | 172 | case \`(set -o) 2>/dev/null\` in #( |
173 | *posix*) : | ||
174 | set -o posix ;; #( | ||
175 | *) : | ||
176 | ;; | ||
177 | esac | ||
162 | fi | 178 | fi |
163 | 179 | " | |
164 | if test $as_have_required = yes && (eval ": | 180 | as_required="as_fn_return () { (exit \$1); } |
165 | (as_func_return () { | 181 | as_fn_success () { as_fn_return 0; } |
166 | (exit \$1) | 182 | as_fn_failure () { as_fn_return 1; } |
167 | } | 183 | as_fn_ret_success () { return 0; } |
168 | as_func_success () { | 184 | as_fn_ret_failure () { return 1; } |
169 | as_func_return 0 | ||
170 | } | ||
171 | as_func_failure () { | ||
172 | as_func_return 1 | ||
173 | } | ||
174 | as_func_ret_success () { | ||
175 | return 0 | ||
176 | } | ||
177 | as_func_ret_failure () { | ||
178 | return 1 | ||
179 | } | ||
180 | 185 | ||
181 | exitcode=0 | 186 | exitcode=0 |
182 | if as_func_success; then | 187 | as_fn_success || { exitcode=1; echo as_fn_success failed.; } |
183 | : | 188 | as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } |
184 | else | 189 | as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } |
185 | exitcode=1 | 190 | as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } |
186 | echo as_func_success failed. | 191 | if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : |
187 | fi | 192 | |
188 | 193 | else | |
189 | if as_func_failure; then | 194 | exitcode=1; echo positional parameters were not saved. |
190 | exitcode=1 | 195 | fi |
191 | echo as_func_failure succeeded. | 196 | test x\$exitcode = x0 || exit 1 |
192 | fi | 197 | test -x / || exit 1" |
193 | 198 | as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO | |
194 | if as_func_ret_success; then | 199 | as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO |
195 | : | 200 | eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && |
196 | else | 201 | test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 |
197 | exitcode=1 | 202 | test \$(( 1 + 1 )) = 2 || exit 1" |
198 | echo as_func_ret_success failed. | 203 | if (eval "$as_required") 2>/dev/null; then : |
199 | fi | 204 | as_have_required=yes |
200 | |||
201 | if as_func_ret_failure; then | ||
202 | exitcode=1 | ||
203 | echo as_func_ret_failure succeeded. | ||
204 | fi | ||
205 | |||
206 | if ( set x; as_func_ret_success y && test x = \"\$1\" ); then | ||
207 | : | ||
208 | else | 205 | else |
209 | exitcode=1 | 206 | as_have_required=no |
210 | echo positional parameters were not saved. | ||
211 | fi | 207 | fi |
208 | if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : | ||
212 | 209 | ||
213 | test \$exitcode = 0) || { (exit 1); exit 1; } | ||
214 | |||
215 | ( | ||
216 | as_lineno_1=\$LINENO | ||
217 | as_lineno_2=\$LINENO | ||
218 | test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && | ||
219 | test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } | ||
220 | ") 2> /dev/null; then | ||
221 | : | ||
222 | else | 210 | else |
223 | as_candidate_shells= | 211 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
224 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | 212 | as_found=false |
225 | for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH | 213 | for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH |
226 | do | 214 | do |
227 | IFS=$as_save_IFS | 215 | IFS=$as_save_IFS |
228 | test -z "$as_dir" && as_dir=. | 216 | test -z "$as_dir" && as_dir=. |
229 | case $as_dir in | 217 | as_found=: |
218 | case $as_dir in #( | ||
230 | /*) | 219 | /*) |
231 | for as_base in sh bash ksh sh5; do | 220 | for as_base in sh bash ksh sh5; do |
232 | as_candidate_shells="$as_candidate_shells $as_dir/$as_base" | 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 | ||
228 | fi | ||
229 | fi | ||
233 | done;; | 230 | done;; |
234 | esac | 231 | esac |
232 | as_found=false | ||
235 | done | 233 | done |
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 | ||
237 | fi; } | ||
236 | IFS=$as_save_IFS | 238 | IFS=$as_save_IFS |
237 | 239 | ||
238 | 240 | ||
239 | for as_shell in $as_candidate_shells $SHELL; do | 241 | if test "x$CONFIG_SHELL" != x; then : |
240 | # Try only shells that exist, to save several forks. | 242 | export CONFIG_SHELL |
241 | if { test -f "$as_shell" || test -f "$as_shell.exe"; } && | 243 | # We cannot yet assume a decent shell, so we have to provide a |
242 | { ("$as_shell") 2> /dev/null <<\_ASEOF | 244 | # neutralization value for shells without unset; and this also |
243 | if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then | 245 | # works around shells that cannot unset nonexistent variables. |
244 | emulate sh | 246 | # Preserve -v and -x to the replacement shell. |
245 | NULLCMD=: | 247 | BASH_ENV=/dev/null |
246 | # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which | 248 | ENV=/dev/null |
247 | # is contrary to our usage. Disable this feature. | 249 | (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV |
248 | alias -g '${1+"$@"}'='"$@"' | 250 | case $- in # (((( |
249 | setopt NO_GLOB_SUBST | 251 | *v*x* | *x*v* ) as_opts=-vx ;; |
250 | else | 252 | *v* ) as_opts=-v ;; |
251 | case `(set -o) 2>/dev/null` in | 253 | *x* ) as_opts=-x ;; |
252 | *posix*) set -o posix ;; | 254 | * ) as_opts= ;; |
253 | esac | 255 | esac |
254 | 256 | exec $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 | ||
260 | exit 255 | ||
261 | fi | ||
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 | ||
255 | fi | 277 | fi |
256 | |||
257 | |||
258 | : | ||
259 | _ASEOF | ||
260 | }; then | ||
261 | CONFIG_SHELL=$as_shell | ||
262 | as_have_required=yes | ||
263 | if { "$as_shell" 2> /dev/null <<\_ASEOF | ||
264 | if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then | ||
265 | emulate sh | ||
266 | NULLCMD=: | ||
267 | # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which | ||
268 | # is contrary to our usage. Disable this feature. | ||
269 | alias -g '${1+"$@"}'='"$@"' | ||
270 | setopt NO_GLOB_SUBST | ||
271 | else | ||
272 | case `(set -o) 2>/dev/null` in | ||
273 | *posix*) set -o posix ;; | ||
274 | esac | ||
275 | |||
276 | fi | 278 | fi |
279 | fi | ||
280 | SHELL=${CONFIG_SHELL-/bin/sh} | ||
281 | export SHELL | ||
282 | # Unset more variables known to interfere with behavior of common tools. | ||
283 | CLICOLOR_FORCE= GREP_OPTIONS= | ||
284 | unset CLICOLOR_FORCE GREP_OPTIONS | ||
277 | 285 | ||
278 | 286 | ## --------------------- ## | |
279 | : | 287 | ## M4sh Shell Functions. ## |
280 | (as_func_return () { | 288 | ## --------------------- ## |
281 | (exit $1) | 289 | # as_fn_unset VAR |
282 | } | 290 | # --------------- |
283 | as_func_success () { | 291 | # Portably unset VAR. |
284 | as_func_return 0 | 292 | as_fn_unset () |
285 | } | 293 | { |
286 | as_func_failure () { | 294 | { eval $1=; unset $1;} |
287 | as_func_return 1 | ||
288 | } | ||
289 | as_func_ret_success () { | ||
290 | return 0 | ||
291 | } | ||
292 | as_func_ret_failure () { | ||
293 | return 1 | ||
294 | } | 295 | } |
296 | as_unset=as_fn_unset | ||
295 | 297 | ||
296 | exitcode=0 | 298 | # as_fn_set_status STATUS |
297 | if as_func_success; then | 299 | # ----------------------- |
298 | : | 300 | # Set $? to STATUS, without forking. |
299 | else | 301 | as_fn_set_status () |
300 | exitcode=1 | 302 | { |
301 | echo as_func_success failed. | 303 | return $1 |
302 | fi | 304 | } # as_fn_set_status |
303 | |||
304 | if as_func_failure; then | ||
305 | exitcode=1 | ||
306 | echo as_func_failure succeeded. | ||
307 | fi | ||
308 | 305 | ||
309 | if as_func_ret_success; then | 306 | # as_fn_exit STATUS |
310 | : | 307 | # ----------------- |
311 | else | 308 | # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. |
312 | exitcode=1 | 309 | as_fn_exit () |
313 | echo as_func_ret_success failed. | 310 | { |
314 | fi | 311 | set +e |
312 | as_fn_set_status $1 | ||
313 | exit $1 | ||
314 | } # as_fn_exit | ||
315 | 315 | ||
316 | if as_func_ret_failure; then | 316 | # as_fn_mkdir_p |
317 | exitcode=1 | 317 | # ------------- |
318 | echo as_func_ret_failure succeeded. | 318 | # Create "$as_dir" as a directory, including parents if necessary. |
319 | fi | 319 | as_fn_mkdir_p () |
320 | { | ||
320 | 321 | ||
321 | if ( set x; as_func_ret_success y && test x = "$1" ); then | 322 | case $as_dir in #( |
322 | : | 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. | ||
367 | as_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. | ||
377 | if (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 | }' | ||
323 | else | 382 | else |
324 | exitcode=1 | 383 | as_fn_append () |
325 | echo positional parameters were not saved. | 384 | { |
326 | fi | 385 | eval $1=\$$1\$2 |
327 | 386 | } | |
328 | test $exitcode = 0) || { (exit 1); exit 1; } | 387 | fi # as_fn_append |
329 | 388 | ||
330 | ( | 389 | # as_fn_arith ARG... |
331 | as_lineno_1=$LINENO | 390 | # ------------------ |
332 | as_lineno_2=$LINENO | 391 | # Perform arithmetic evaluation on the ARGs, and store the result in the |
333 | test "x$as_lineno_1" != "x$as_lineno_2" && | 392 | # global $as_val. Take advantage of shells that can avoid forks. The arguments |
334 | test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } | 393 | # must be portable across $(()) and expr. |
335 | 394 | if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : | |
336 | _ASEOF | 395 | eval 'as_fn_arith () |
337 | }; then | 396 | { |
338 | break | 397 | as_val=$(( $* )) |
339 | fi | 398 | }' |
340 | |||
341 | fi | ||
342 | |||
343 | done | ||
344 | |||
345 | if test "x$CONFIG_SHELL" != x; then | ||
346 | for as_var in BASH_ENV ENV | ||
347 | do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var | ||
348 | done | ||
349 | export CONFIG_SHELL | ||
350 | exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} | ||
351 | fi | ||
352 | |||
353 | |||
354 | if test $as_have_required = no; then | ||
355 | echo This script requires a shell more modern than all the | ||
356 | echo shells that I found on your system. Please install a | ||
357 | echo modern shell, or manually run the script under such a | ||
358 | echo shell if you do have one. | ||
359 | { (exit 1); exit 1; } | ||
360 | fi | ||
361 | |||
362 | |||
363 | fi | ||
364 | |||
365 | fi | ||
366 | |||
367 | |||
368 | |||
369 | (eval "as_func_return () { | ||
370 | (exit \$1) | ||
371 | } | ||
372 | as_func_success () { | ||
373 | as_func_return 0 | ||
374 | } | ||
375 | as_func_failure () { | ||
376 | as_func_return 1 | ||
377 | } | ||
378 | as_func_ret_success () { | ||
379 | return 0 | ||
380 | } | ||
381 | as_func_ret_failure () { | ||
382 | return 1 | ||
383 | } | ||
384 | |||
385 | exitcode=0 | ||
386 | if as_func_success; then | ||
387 | : | ||
388 | else | 399 | else |
389 | exitcode=1 | 400 | as_fn_arith () |
390 | echo as_func_success failed. | 401 | { |
391 | fi | 402 | as_val=`expr "$@" || test $? -eq 1` |
392 | 403 | } | |
393 | if as_func_failure; then | 404 | fi # as_fn_arith |
394 | exitcode=1 | 405 | |
395 | echo as_func_failure succeeded. | 406 | |
396 | fi | 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. | ||
412 | as_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 | ||
397 | 422 | ||
398 | if as_func_ret_success; then | 423 | if expr a : '\(a\)' >/dev/null 2>&1 && |
399 | : | 424 | test "X`expr 00001 : '.*\(...\)'`" = X001; then |
425 | as_expr=expr | ||
400 | else | 426 | else |
401 | exitcode=1 | 427 | as_expr=false |
402 | echo as_func_ret_success failed. | ||
403 | fi | 428 | fi |
404 | 429 | ||
405 | if as_func_ret_failure; then | 430 | if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then |
406 | exitcode=1 | 431 | as_basename=basename |
407 | echo as_func_ret_failure succeeded. | 432 | else |
433 | as_basename=false | ||
408 | fi | 434 | fi |
409 | 435 | ||
410 | if ( set x; as_func_ret_success y && test x = \"\$1\" ); then | 436 | if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then |
411 | : | 437 | as_dirname=dirname |
412 | else | 438 | else |
413 | exitcode=1 | 439 | as_dirname=false |
414 | echo positional parameters were not saved. | ||
415 | fi | 440 | fi |
416 | 441 | ||
417 | test \$exitcode = 0") || { | 442 | as_me=`$as_basename -- "$0" || |
418 | echo No shell found that supports shell functions. | 443 | $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ |
419 | echo Please tell autoconf@gnu.org about your system, | 444 | X"$0" : 'X\(//\)$' \| \ |
420 | echo including any error possibly output before this | 445 | X"$0" : 'X\(/\)' \| . 2>/dev/null || |
421 | echo message | 446 | $as_echo X/"$0" | |
422 | } | 447 | sed '/^.*\/\([^/][^/]*\)\/*$/{ |
423 | 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'` | ||
424 | 460 | ||
461 | # Avoid depending upon Character Ranges. | ||
462 | as_cr_letters='abcdefghijklmnopqrstuvwxyz' | ||
463 | as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' | ||
464 | as_cr_Letters=$as_cr_letters$as_cr_LETTERS | ||
465 | as_cr_digits='0123456789' | ||
466 | as_cr_alnum=$as_cr_Letters$as_cr_digits | ||
425 | 467 | ||
426 | as_lineno_1=$LINENO | ||
427 | as_lineno_2=$LINENO | ||
428 | test "x$as_lineno_1" != "x$as_lineno_2" && | ||
429 | test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { | ||
430 | 468 | ||
431 | # Create $as_me.lineno as a copy of $as_myself, but with $LINENO | 469 | as_lineno_1=$LINENO as_lineno_1a=$LINENO |
432 | # uniformly replaced by the line number. The first 'sed' inserts a | 470 | as_lineno_2=$LINENO as_lineno_2a=$LINENO |
433 | # line-number line after each line using $LINENO; the second 'sed' | 471 | eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && |
434 | # does the real work. The second script uses 'N' to pair each | 472 | test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { |
435 | # line-number line with the line containing $LINENO, and appends | 473 | # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) |
436 | # trailing '-' during substitution so that $LINENO is not a special | ||
437 | # case at line end. | ||
438 | # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the | ||
439 | # scripts with optimization help from Paolo Bonzini. Blame Lee | ||
440 | # E. McMahon (1931-1989) for sed's syntax. :-) | ||
441 | sed -n ' | 474 | sed -n ' |
442 | p | 475 | p |
443 | /[$]LINENO/= | 476 | /[$]LINENO/= |
@@ -454,9 +487,12 @@ test \$exitcode = 0") || { | |||
454 | s/-\n.*// | 487 | s/-\n.*// |
455 | ' >$as_me.lineno && | 488 | ' >$as_me.lineno && |
456 | chmod +x "$as_me.lineno" || | 489 | chmod +x "$as_me.lineno" || |
457 | { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 | 490 | { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } |
458 | { (exit 1); exit 1; }; } | ||
459 | 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 | ||
460 | # Don't try to exec as it changes $[0], causing all sort of problems | 496 | # Don't try to exec as it changes $[0], causing all sort of problems |
461 | # (the dirname of $[0] is not the place where we might find the | 497 | # (the dirname of $[0] is not the place where we might find the |
462 | # original and so on. Autoconf is especially sensitive to this). | 498 | # original and so on. Autoconf is especially sensitive to this). |
@@ -465,84 +501,55 @@ test \$exitcode = 0") || { | |||
465 | exit | 501 | exit |
466 | } | 502 | } |
467 | 503 | ||
468 | |||
469 | if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then | ||
470 | as_dirname=dirname | ||
471 | else | ||
472 | as_dirname=false | ||
473 | fi | ||
474 | |||
475 | ECHO_C= ECHO_N= ECHO_T= | 504 | ECHO_C= ECHO_N= ECHO_T= |
476 | case `echo -n x` in | 505 | case `echo -n x` in #((((( |
477 | -n*) | 506 | -n*) |
478 | case `echo 'x\c'` in | 507 | case `echo 'xy\c'` in |
479 | *c*) ECHO_T=' ';; # ECHO_T is single tab character. | 508 | *c*) ECHO_T=' ';; # ECHO_T is single tab character. |
480 | *) ECHO_C='\c';; | 509 | xy) ECHO_C='\c';; |
510 | *) echo `echo ksh88 bug on AIX 6.1` > /dev/null | ||
511 | ECHO_T=' ';; | ||
481 | esac;; | 512 | esac;; |
482 | *) | 513 | *) |
483 | ECHO_N='-n';; | 514 | ECHO_N='-n';; |
484 | esac | 515 | esac |
485 | 516 | ||
486 | if expr a : '\(a\)' >/dev/null 2>&1 && | ||
487 | test "X`expr 00001 : '.*\(...\)'`" = X001; then | ||
488 | as_expr=expr | ||
489 | else | ||
490 | as_expr=false | ||
491 | fi | ||
492 | |||
493 | rm -f conf$$ conf$$.exe conf$$.file | 517 | rm -f conf$$ conf$$.exe conf$$.file |
494 | if test -d conf$$.dir; then | 518 | if test -d conf$$.dir; then |
495 | rm -f conf$$.dir/conf$$.file | 519 | rm -f conf$$.dir/conf$$.file |
496 | else | 520 | else |
497 | rm -f conf$$.dir | 521 | rm -f conf$$.dir |
498 | mkdir conf$$.dir | 522 | mkdir conf$$.dir 2>/dev/null |
499 | fi | 523 | fi |
500 | echo >conf$$.file | 524 | if (echo >conf$$.file) 2>/dev/null; then |
501 | if ln -s conf$$.file conf$$ 2>/dev/null; then | 525 | if ln -s conf$$.file conf$$ 2>/dev/null; then |
502 | as_ln_s='ln -s' | 526 | as_ln_s='ln -s' |
503 | # ... but there are two gotchas: | 527 | # ... but there are two gotchas: |
504 | # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. | 528 | # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. |
505 | # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. | 529 | # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. |
506 | # In both cases, we have to default to `cp -p'. | 530 | # In both cases, we have to default to `cp -pR'. |
507 | ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || | 531 | ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || |
508 | as_ln_s='cp -p' | 532 | as_ln_s='cp -pR' |
509 | elif ln conf$$.file conf$$ 2>/dev/null; then | 533 | elif ln conf$$.file conf$$ 2>/dev/null; then |
510 | as_ln_s=ln | 534 | as_ln_s=ln |
511 | else | 535 | else |
512 | as_ln_s='cp -p' | 536 | as_ln_s='cp -pR' |
537 | fi | ||
538 | else | ||
539 | as_ln_s='cp -pR' | ||
513 | fi | 540 | fi |
514 | rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file | 541 | rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file |
515 | rmdir conf$$.dir 2>/dev/null | 542 | rmdir conf$$.dir 2>/dev/null |
516 | 543 | ||
517 | if mkdir -p . 2>/dev/null; then | 544 | if mkdir -p . 2>/dev/null; then |
518 | as_mkdir_p=: | 545 | as_mkdir_p='mkdir -p "$as_dir"' |
519 | else | 546 | else |
520 | test -d ./-p && rmdir ./-p | 547 | test -d ./-p && rmdir ./-p |
521 | as_mkdir_p=false | 548 | as_mkdir_p=false |
522 | fi | 549 | fi |
523 | 550 | ||
524 | if test -x / >/dev/null 2>&1; then | 551 | as_test_x='test -x' |
525 | as_test_x='test -x' | 552 | as_executable_p=as_fn_executable_p |
526 | else | ||
527 | if ls -dL / >/dev/null 2>&1; then | ||
528 | as_ls_L_option=L | ||
529 | else | ||
530 | as_ls_L_option= | ||
531 | fi | ||
532 | as_test_x=' | ||
533 | eval sh -c '\'' | ||
534 | if test -d "$1"; then | ||
535 | test -d "$1/."; | ||
536 | else | ||
537 | case $1 in | ||
538 | -*)set "./$1";; | ||
539 | esac; | ||
540 | case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in | ||
541 | ???[sx]*):;;*)false;;esac;fi | ||
542 | '\'' sh | ||
543 | ' | ||
544 | fi | ||
545 | as_executable_p=$as_test_x | ||
546 | 553 | ||
547 | # Sed expression to map a string onto a valid CPP name. | 554 | # Sed expression to map a string onto a valid CPP name. |
548 | as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" | 555 | as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" |
@@ -551,11 +558,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" | |||
551 | as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" | 558 | as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" |
552 | 559 | ||
553 | 560 | ||
554 | 561 | test -n "$DJDIR" || exec 7<&0 </dev/null | |
555 | exec 7<&0 </dev/null 6>&1 | 562 | exec 6>&1 |
556 | 563 | ||
557 | # Name of the host. | 564 | # Name of the host. |
558 | # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, | 565 | # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, |
559 | # so uname gets run too. | 566 | # so uname gets run too. |
560 | ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` | 567 | ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` |
561 | 568 | ||
@@ -570,7 +577,6 @@ cross_compiling=no | |||
570 | subdirs= | 577 | subdirs= |
571 | MFLAGS= | 578 | MFLAGS= |
572 | MAKEFLAGS= | 579 | MAKEFLAGS= |
573 | SHELL=${CONFIG_SHELL-/bin/sh} | ||
574 | 580 | ||
575 | # Identity of this package. | 581 | # Identity of this package. |
576 | PACKAGE_NAME='OpenSSH' | 582 | PACKAGE_NAME='OpenSSH' |
@@ -578,6 +584,7 @@ PACKAGE_TARNAME='openssh' | |||
578 | PACKAGE_VERSION='Portable' | 584 | PACKAGE_VERSION='Portable' |
579 | PACKAGE_STRING='OpenSSH Portable' | 585 | PACKAGE_STRING='OpenSSH Portable' |
580 | PACKAGE_BUGREPORT='openssh-unix-dev@mindrot.org' | 586 | PACKAGE_BUGREPORT='openssh-unix-dev@mindrot.org' |
587 | PACKAGE_URL='' | ||
581 | 588 | ||
582 | ac_unique_file="ssh.c" | 589 | ac_unique_file="ssh.c" |
583 | # Factoring default headers for most tests. | 590 | # Factoring default headers for most tests. |
@@ -616,111 +623,173 @@ ac_includes_default="\ | |||
616 | # include <unistd.h> | 623 | # include <unistd.h> |
617 | #endif" | 624 | #endif" |
618 | 625 | ||
619 | ac_subst_vars='SHELL | 626 | ac_subst_vars='LTLIBOBJS |
620 | PATH_SEPARATOR | ||
621 | PACKAGE_NAME | ||
622 | PACKAGE_TARNAME | ||
623 | PACKAGE_VERSION | ||
624 | PACKAGE_STRING | ||
625 | PACKAGE_BUGREPORT | ||
626 | exec_prefix | ||
627 | prefix | ||
628 | program_transform_name | ||
629 | bindir | ||
630 | sbindir | ||
631 | libexecdir | ||
632 | datarootdir | ||
633 | datadir | ||
634 | sysconfdir | ||
635 | sharedstatedir | ||
636 | localstatedir | ||
637 | includedir | ||
638 | oldincludedir | ||
639 | docdir | ||
640 | infodir | ||
641 | htmldir | ||
642 | dvidir | ||
643 | pdfdir | ||
644 | psdir | ||
645 | libdir | ||
646 | localedir | ||
647 | mandir | ||
648 | DEFS | ||
649 | ECHO_C | ||
650 | ECHO_N | ||
651 | ECHO_T | ||
652 | LIBS | ||
653 | build_alias | ||
654 | host_alias | ||
655 | target_alias | ||
656 | CC | ||
657 | CFLAGS | ||
658 | LDFLAGS | ||
659 | CPPFLAGS | ||
660 | ac_ct_CC | ||
661 | EXEEXT | ||
662 | OBJEXT | ||
663 | build | ||
664 | build_cpu | ||
665 | build_vendor | ||
666 | build_os | ||
667 | host | ||
668 | host_cpu | ||
669 | host_vendor | ||
670 | host_os | ||
671 | CPP | ||
672 | GREP | ||
673 | EGREP | ||
674 | AWK | ||
675 | RANLIB | ||
676 | INSTALL_PROGRAM | ||
677 | INSTALL_SCRIPT | ||
678 | INSTALL_DATA | ||
679 | AR | ||
680 | ac_ct_AR | ||
681 | CAT | ||
682 | KILL | ||
683 | PERL | ||
684 | SED | ||
685 | ENT | ||
686 | TEST_MINUS_S_SH | ||
687 | SH | ||
688 | GROFF | ||
689 | NROFF | ||
690 | MANDOC | ||
691 | TEST_SHELL | ||
692 | MANFMT | ||
693 | PATH_GROUPADD_PROG | ||
694 | PATH_USERADD_PROG | ||
695 | MAKE_PACKAGE_SUPPORTED | ||
696 | STARTUP_SCRIPT_SHELL | ||
697 | LOGIN_PROGRAM_FALLBACK | ||
698 | PATH_PASSWD_PROG | ||
699 | LD | ||
700 | PKGCONFIG | ||
701 | LIBEDIT | ||
702 | TEST_SSH_ECC | ||
703 | COMMENT_OUT_ECC | ||
704 | SSH_PRIVSEP_USER | ||
705 | SSHLIBS | ||
706 | SSHDLIBS | ||
707 | KRB5CONF | ||
708 | GSSLIBS | ||
709 | K5LIBS | ||
710 | PRIVSEP_PATH | ||
711 | xauth_path | ||
712 | STRIP_OPT | ||
713 | XAUTH_PATH | ||
714 | MANTYPE | ||
715 | mansubdir | ||
716 | user_path | ||
717 | piddir | ||
718 | TEST_SSH_IPV6 | ||
719 | TEST_MALLOC_OPTIONS | ||
720 | UNSUPPORTED_ALGORITHMS | ||
721 | LIBOBJS | 627 | LIBOBJS |
722 | LTLIBOBJS' | 628 | UNSUPPORTED_ALGORITHMS |
629 | TEST_MALLOC_OPTIONS | ||
630 | TEST_SSH_UTF8 | ||
631 | TEST_SSH_IPV6 | ||
632 | piddir | ||
633 | user_path | ||
634 | mansubdir | ||
635 | MANTYPE | ||
636 | XAUTH_PATH | ||
637 | STRIP_OPT | ||
638 | xauth_path | ||
639 | PRIVSEP_PATH | ||
640 | K5LIBS | ||
641 | GSSLIBS | ||
642 | KRB5CONF | ||
643 | SSHDLIBS | ||
644 | SSHLIBS | ||
645 | SSH_PRIVSEP_USER | ||
646 | COMMENT_OUT_ECC | ||
647 | TEST_SSH_ECC | ||
648 | LIBEDIT | ||
649 | PKGCONFIG | ||
650 | COMMENT_OUT_RSA1 | ||
651 | LD | ||
652 | PATH_PASSWD_PROG | ||
653 | STARTUP_SCRIPT_SHELL | ||
654 | MAKE_PACKAGE_SUPPORTED | ||
655 | PATH_USERADD_PROG | ||
656 | PATH_GROUPADD_PROG | ||
657 | MANFMT | ||
658 | TEST_SHELL | ||
659 | MANDOC | ||
660 | NROFF | ||
661 | GROFF | ||
662 | SH | ||
663 | TEST_MINUS_S_SH | ||
664 | ENT | ||
665 | SED | ||
666 | PERL | ||
667 | KILL | ||
668 | CAT | ||
669 | ac_ct_AR | ||
670 | AR | ||
671 | INSTALL_DATA | ||
672 | INSTALL_SCRIPT | ||
673 | INSTALL_PROGRAM | ||
674 | RANLIB | ||
675 | AWK | ||
676 | EGREP | ||
677 | GREP | ||
678 | CPP | ||
679 | host_os | ||
680 | host_vendor | ||
681 | host_cpu | ||
682 | host | ||
683 | build_os | ||
684 | build_vendor | ||
685 | build_cpu | ||
686 | build | ||
687 | OBJEXT | ||
688 | EXEEXT | ||
689 | ac_ct_CC | ||
690 | CPPFLAGS | ||
691 | LDFLAGS | ||
692 | CFLAGS | ||
693 | CC | ||
694 | target_alias | ||
695 | host_alias | ||
696 | build_alias | ||
697 | LIBS | ||
698 | ECHO_T | ||
699 | ECHO_N | ||
700 | ECHO_C | ||
701 | DEFS | ||
702 | mandir | ||
703 | localedir | ||
704 | libdir | ||
705 | psdir | ||
706 | pdfdir | ||
707 | dvidir | ||
708 | htmldir | ||
709 | infodir | ||
710 | docdir | ||
711 | oldincludedir | ||
712 | includedir | ||
713 | localstatedir | ||
714 | sharedstatedir | ||
715 | sysconfdir | ||
716 | datadir | ||
717 | datarootdir | ||
718 | libexecdir | ||
719 | sbindir | ||
720 | bindir | ||
721 | program_transform_name | ||
722 | prefix | ||
723 | exec_prefix | ||
724 | PACKAGE_URL | ||
725 | PACKAGE_BUGREPORT | ||
726 | PACKAGE_STRING | ||
727 | PACKAGE_VERSION | ||
728 | PACKAGE_TARNAME | ||
729 | PACKAGE_NAME | ||
730 | PATH_SEPARATOR | ||
731 | SHELL' | ||
723 | ac_subst_files='' | 732 | ac_subst_files='' |
733 | ac_user_opts=' | ||
734 | enable_option_checking | ||
735 | enable_largefile | ||
736 | with_openssl | ||
737 | with_ssh1 | ||
738 | with_stackprotect | ||
739 | with_hardening | ||
740 | with_rpath | ||
741 | with_cflags | ||
742 | with_cppflags | ||
743 | with_ldflags | ||
744 | with_libs | ||
745 | with_Werror | ||
746 | with_solaris_contracts | ||
747 | with_solaris_projects | ||
748 | with_solaris_privs | ||
749 | with_osfsia | ||
750 | with_zlib | ||
751 | with_zlib_version_check | ||
752 | with_skey | ||
753 | with_ldns | ||
754 | with_libedit | ||
755 | with_audit | ||
756 | with_pie | ||
757 | enable_pkcs11 | ||
758 | with_ssl_dir | ||
759 | with_openssl_header_check | ||
760 | with_ssl_engine | ||
761 | with_prngd_port | ||
762 | with_prngd_socket | ||
763 | with_pam | ||
764 | with_pam_service | ||
765 | with_privsep_user | ||
766 | with_sandbox | ||
767 | with_selinux | ||
768 | with_kerberos5 | ||
769 | with_privsep_path | ||
770 | with_xauth | ||
771 | enable_strip | ||
772 | with_maildir | ||
773 | with_mantype | ||
774 | with_md5_passwords | ||
775 | with_shadow | ||
776 | with_ipaddr_display | ||
777 | enable_etc_default_login | ||
778 | with_default_path | ||
779 | with_superuser_path | ||
780 | with_4in6 | ||
781 | with_bsd_auth | ||
782 | with_pid_dir | ||
783 | enable_lastlog | ||
784 | enable_utmp | ||
785 | enable_utmpx | ||
786 | enable_wtmp | ||
787 | enable_wtmpx | ||
788 | enable_libutil | ||
789 | enable_pututline | ||
790 | enable_pututxline | ||
791 | with_lastlog | ||
792 | ' | ||
724 | ac_precious_vars='build_alias | 793 | ac_precious_vars='build_alias |
725 | host_alias | 794 | host_alias |
726 | target_alias | 795 | target_alias |
@@ -735,6 +804,8 @@ CPP' | |||
735 | # Initialize some variables set by options. | 804 | # Initialize some variables set by options. |
736 | ac_init_help= | 805 | ac_init_help= |
737 | ac_init_version=false | 806 | ac_init_version=false |
807 | ac_unrecognized_opts= | ||
808 | ac_unrecognized_sep= | ||
738 | # The variables have the same names as the options, with | 809 | # The variables have the same names as the options, with |
739 | # dashes changed to underlines. | 810 | # dashes changed to underlines. |
740 | cache_file=/dev/null | 811 | cache_file=/dev/null |
@@ -790,8 +861,9 @@ do | |||
790 | fi | 861 | fi |
791 | 862 | ||
792 | case $ac_option in | 863 | case $ac_option in |
793 | *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; | 864 | *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; |
794 | *) ac_optarg=yes ;; | 865 | *=) ac_optarg= ;; |
866 | *) ac_optarg=yes ;; | ||
795 | esac | 867 | esac |
796 | 868 | ||
797 | # Accept the important Cygnus configure options, so we can diagnose typos. | 869 | # Accept the important Cygnus configure options, so we can diagnose typos. |
@@ -833,13 +905,20 @@ do | |||
833 | datarootdir=$ac_optarg ;; | 905 | datarootdir=$ac_optarg ;; |
834 | 906 | ||
835 | -disable-* | --disable-*) | 907 | -disable-* | --disable-*) |
836 | ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` | 908 | ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` |
837 | # Reject names that are not valid shell variable names. | 909 | # Reject names that are not valid shell variable names. |
838 | expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && | 910 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
839 | { echo "$as_me: error: invalid feature name: $ac_feature" >&2 | 911 | as_fn_error $? "invalid feature name: $ac_useropt" |
840 | { (exit 1); exit 1; }; } | 912 | ac_useropt_orig=$ac_useropt |
841 | ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` | 913 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
842 | eval enable_$ac_feature=no ;; | 914 | case $ac_user_opts in |
915 | *" | ||
916 | "enable_$ac_useropt" | ||
917 | "*) ;; | ||
918 | *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" | ||
919 | ac_unrecognized_sep=', ';; | ||
920 | esac | ||
921 | eval enable_$ac_useropt=no ;; | ||
843 | 922 | ||
844 | -docdir | --docdir | --docdi | --doc | --do) | 923 | -docdir | --docdir | --docdi | --doc | --do) |
845 | ac_prev=docdir ;; | 924 | ac_prev=docdir ;; |
@@ -852,13 +931,20 @@ do | |||
852 | dvidir=$ac_optarg ;; | 931 | dvidir=$ac_optarg ;; |
853 | 932 | ||
854 | -enable-* | --enable-*) | 933 | -enable-* | --enable-*) |
855 | ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` | 934 | ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` |
856 | # Reject names that are not valid shell variable names. | 935 | # Reject names that are not valid shell variable names. |
857 | expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && | 936 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
858 | { echo "$as_me: error: invalid feature name: $ac_feature" >&2 | 937 | as_fn_error $? "invalid feature name: $ac_useropt" |
859 | { (exit 1); exit 1; }; } | 938 | ac_useropt_orig=$ac_useropt |
860 | ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` | 939 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
861 | eval enable_$ac_feature=\$ac_optarg ;; | 940 | case $ac_user_opts in |
941 | *" | ||
942 | "enable_$ac_useropt" | ||
943 | "*) ;; | ||
944 | *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" | ||
945 | ac_unrecognized_sep=', ';; | ||
946 | esac | ||
947 | eval enable_$ac_useropt=\$ac_optarg ;; | ||
862 | 948 | ||
863 | -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | 949 | -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ |
864 | | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | 950 | | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ |
@@ -1049,22 +1135,36 @@ do | |||
1049 | ac_init_version=: ;; | 1135 | ac_init_version=: ;; |
1050 | 1136 | ||
1051 | -with-* | --with-*) | 1137 | -with-* | --with-*) |
1052 | ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` | 1138 | ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` |
1053 | # Reject names that are not valid shell variable names. | 1139 | # Reject names that are not valid shell variable names. |
1054 | expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && | 1140 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
1055 | { echo "$as_me: error: invalid package name: $ac_package" >&2 | 1141 | as_fn_error $? "invalid package name: $ac_useropt" |
1056 | { (exit 1); exit 1; }; } | 1142 | ac_useropt_orig=$ac_useropt |
1057 | ac_package=`echo $ac_package | sed 's/[-.]/_/g'` | 1143 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
1058 | eval with_$ac_package=\$ac_optarg ;; | 1144 | case $ac_user_opts in |
1145 | *" | ||
1146 | "with_$ac_useropt" | ||
1147 | "*) ;; | ||
1148 | *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" | ||
1149 | ac_unrecognized_sep=', ';; | ||
1150 | esac | ||
1151 | eval with_$ac_useropt=\$ac_optarg ;; | ||
1059 | 1152 | ||
1060 | -without-* | --without-*) | 1153 | -without-* | --without-*) |
1061 | ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` | 1154 | ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` |
1062 | # Reject names that are not valid shell variable names. | 1155 | # Reject names that are not valid shell variable names. |
1063 | expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && | 1156 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
1064 | { echo "$as_me: error: invalid package name: $ac_package" >&2 | 1157 | as_fn_error $? "invalid package name: $ac_useropt" |
1065 | { (exit 1); exit 1; }; } | 1158 | ac_useropt_orig=$ac_useropt |
1066 | ac_package=`echo $ac_package | sed 's/[-.]/_/g'` | 1159 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
1067 | eval with_$ac_package=no ;; | 1160 | case $ac_user_opts in |
1161 | *" | ||
1162 | "with_$ac_useropt" | ||
1163 | "*) ;; | ||
1164 | *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" | ||
1165 | ac_unrecognized_sep=', ';; | ||
1166 | esac | ||
1167 | eval with_$ac_useropt=no ;; | ||
1068 | 1168 | ||
1069 | --x) | 1169 | --x) |
1070 | # Obsolete; use --with-x. | 1170 | # Obsolete; use --with-x. |
@@ -1084,26 +1184,26 @@ do | |||
1084 | | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) | 1184 | | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) |
1085 | x_libraries=$ac_optarg ;; | 1185 | x_libraries=$ac_optarg ;; |
1086 | 1186 | ||
1087 | -*) { echo "$as_me: error: unrecognized option: $ac_option | 1187 | -*) as_fn_error $? "unrecognized option: \`$ac_option' |
1088 | Try \`$0 --help' for more information." >&2 | 1188 | Try \`$0 --help' for more information" |
1089 | { (exit 1); exit 1; }; } | ||
1090 | ;; | 1189 | ;; |
1091 | 1190 | ||
1092 | *=*) | 1191 | *=*) |
1093 | ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` | 1192 | ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` |
1094 | # Reject names that are not valid shell variable names. | 1193 | # Reject names that are not valid shell variable names. |
1095 | expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && | 1194 | case $ac_envvar in #( |
1096 | { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 | 1195 | '' | [0-9]* | *[!_$as_cr_alnum]* ) |
1097 | { (exit 1); exit 1; }; } | 1196 | as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; |
1197 | esac | ||
1098 | eval $ac_envvar=\$ac_optarg | 1198 | eval $ac_envvar=\$ac_optarg |
1099 | export $ac_envvar ;; | 1199 | export $ac_envvar ;; |
1100 | 1200 | ||
1101 | *) | 1201 | *) |
1102 | # FIXME: should be removed in autoconf 3.0. | 1202 | # FIXME: should be removed in autoconf 3.0. |
1103 | echo "$as_me: WARNING: you should use --build, --host, --target" >&2 | 1203 | $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 |
1104 | expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && | 1204 | expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && |
1105 | echo "$as_me: WARNING: invalid host type: $ac_option" >&2 | 1205 | $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 |
1106 | : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} | 1206 | : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" |
1107 | ;; | 1207 | ;; |
1108 | 1208 | ||
1109 | esac | 1209 | esac |
@@ -1111,23 +1211,36 @@ done | |||
1111 | 1211 | ||
1112 | if test -n "$ac_prev"; then | 1212 | if test -n "$ac_prev"; then |
1113 | ac_option=--`echo $ac_prev | sed 's/_/-/g'` | 1213 | ac_option=--`echo $ac_prev | sed 's/_/-/g'` |
1114 | { echo "$as_me: error: missing argument to $ac_option" >&2 | 1214 | as_fn_error $? "missing argument to $ac_option" |
1115 | { (exit 1); exit 1; }; } | ||
1116 | fi | 1215 | fi |
1117 | 1216 | ||
1118 | # Be sure to have absolute directory names. | 1217 | if test -n "$ac_unrecognized_opts"; then |
1218 | case $enable_option_checking in | ||
1219 | no) ;; | ||
1220 | fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; | ||
1221 | *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; | ||
1222 | esac | ||
1223 | fi | ||
1224 | |||
1225 | # Check all directory arguments for consistency. | ||
1119 | for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ | 1226 | for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ |
1120 | datadir sysconfdir sharedstatedir localstatedir includedir \ | 1227 | datadir sysconfdir sharedstatedir localstatedir includedir \ |
1121 | oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ | 1228 | oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ |
1122 | libdir localedir mandir | 1229 | libdir localedir mandir |
1123 | do | 1230 | do |
1124 | eval ac_val=\$$ac_var | 1231 | eval ac_val=\$$ac_var |
1232 | # Remove trailing slashes. | ||
1233 | case $ac_val in | ||
1234 | */ ) | ||
1235 | ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` | ||
1236 | eval $ac_var=\$ac_val;; | ||
1237 | esac | ||
1238 | # Be sure to have absolute directory names. | ||
1125 | case $ac_val in | 1239 | case $ac_val in |
1126 | [\\/$]* | ?:[\\/]* ) continue;; | 1240 | [\\/$]* | ?:[\\/]* ) continue;; |
1127 | NONE | '' ) case $ac_var in *prefix ) continue;; esac;; | 1241 | NONE | '' ) case $ac_var in *prefix ) continue;; esac;; |
1128 | esac | 1242 | esac |
1129 | { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 | 1243 | as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" |
1130 | { (exit 1); exit 1; }; } | ||
1131 | done | 1244 | done |
1132 | 1245 | ||
1133 | # There might be people who depend on the old broken behavior: `$host' | 1246 | # There might be people who depend on the old broken behavior: `$host' |
@@ -1141,8 +1254,6 @@ target=$target_alias | |||
1141 | if test "x$host_alias" != x; then | 1254 | if test "x$host_alias" != x; then |
1142 | if test "x$build_alias" = x; then | 1255 | if test "x$build_alias" = x; then |
1143 | cross_compiling=maybe | 1256 | cross_compiling=maybe |
1144 | echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. | ||
1145 | If a cross compiler is detected then cross compile mode will be used." >&2 | ||
1146 | elif test "x$build_alias" != "x$host_alias"; then | 1257 | elif test "x$build_alias" != "x$host_alias"; then |
1147 | cross_compiling=yes | 1258 | cross_compiling=yes |
1148 | fi | 1259 | fi |
@@ -1157,23 +1268,21 @@ test "$silent" = yes && exec 6>/dev/null | |||
1157 | ac_pwd=`pwd` && test -n "$ac_pwd" && | 1268 | ac_pwd=`pwd` && test -n "$ac_pwd" && |
1158 | ac_ls_di=`ls -di .` && | 1269 | ac_ls_di=`ls -di .` && |
1159 | ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || | 1270 | ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || |
1160 | { echo "$as_me: error: Working directory cannot be determined" >&2 | 1271 | as_fn_error $? "working directory cannot be determined" |
1161 | { (exit 1); exit 1; }; } | ||
1162 | test "X$ac_ls_di" = "X$ac_pwd_ls_di" || | 1272 | test "X$ac_ls_di" = "X$ac_pwd_ls_di" || |
1163 | { echo "$as_me: error: pwd does not report name of working directory" >&2 | 1273 | as_fn_error $? "pwd does not report name of working directory" |
1164 | { (exit 1); exit 1; }; } | ||
1165 | 1274 | ||
1166 | 1275 | ||
1167 | # Find the source files, if location was not specified. | 1276 | # Find the source files, if location was not specified. |
1168 | if test -z "$srcdir"; then | 1277 | if test -z "$srcdir"; then |
1169 | ac_srcdir_defaulted=yes | 1278 | ac_srcdir_defaulted=yes |
1170 | # Try the directory containing this script, then the parent directory. | 1279 | # Try the directory containing this script, then the parent directory. |
1171 | ac_confdir=`$as_dirname -- "$0" || | 1280 | ac_confdir=`$as_dirname -- "$as_myself" || |
1172 | $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | 1281 | $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ |
1173 | X"$0" : 'X\(//\)[^/]' \| \ | 1282 | X"$as_myself" : 'X\(//\)[^/]' \| \ |
1174 | X"$0" : 'X\(//\)$' \| \ | 1283 | X"$as_myself" : 'X\(//\)$' \| \ |
1175 | X"$0" : 'X\(/\)' \| . 2>/dev/null || | 1284 | X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || |
1176 | echo X"$0" | | 1285 | $as_echo X"$as_myself" | |
1177 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ | 1286 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ |
1178 | s//\1/ | 1287 | s//\1/ |
1179 | q | 1288 | q |
@@ -1200,13 +1309,11 @@ else | |||
1200 | fi | 1309 | fi |
1201 | if test ! -r "$srcdir/$ac_unique_file"; then | 1310 | if test ! -r "$srcdir/$ac_unique_file"; then |
1202 | test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." | 1311 | test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." |
1203 | { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 | 1312 | as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" |
1204 | { (exit 1); exit 1; }; } | ||
1205 | fi | 1313 | fi |
1206 | ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" | 1314 | ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" |
1207 | ac_abs_confdir=`( | 1315 | ac_abs_confdir=`( |
1208 | cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 | 1316 | cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" |
1209 | { (exit 1); exit 1; }; } | ||
1210 | pwd)` | 1317 | pwd)` |
1211 | # When building in place, set srcdir=. | 1318 | # When building in place, set srcdir=. |
1212 | if test "$ac_abs_confdir" = "$ac_pwd"; then | 1319 | if test "$ac_abs_confdir" = "$ac_pwd"; then |
@@ -1246,7 +1353,7 @@ Configuration: | |||
1246 | --help=short display options specific to this package | 1353 | --help=short display options specific to this package |
1247 | --help=recursive display the short help of all the included packages | 1354 | --help=recursive display the short help of all the included packages |
1248 | -V, --version display version information and exit | 1355 | -V, --version display version information and exit |
1249 | -q, --quiet, --silent do not print \`checking...' messages | 1356 | -q, --quiet, --silent do not print \`checking ...' messages |
1250 | --cache-file=FILE cache test results in FILE [disabled] | 1357 | --cache-file=FILE cache test results in FILE [disabled] |
1251 | -C, --config-cache alias for \`--cache-file=config.cache' | 1358 | -C, --config-cache alias for \`--cache-file=config.cache' |
1252 | -n, --no-create do not create output files | 1359 | -n, --no-create do not create output files |
@@ -1254,9 +1361,9 @@ Configuration: | |||
1254 | 1361 | ||
1255 | Installation directories: | 1362 | Installation directories: |
1256 | --prefix=PREFIX install architecture-independent files in PREFIX | 1363 | --prefix=PREFIX install architecture-independent files in PREFIX |
1257 | [$ac_default_prefix] | 1364 | [$ac_default_prefix] |
1258 | --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX | 1365 | --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX |
1259 | [PREFIX] | 1366 | [PREFIX] |
1260 | 1367 | ||
1261 | By default, \`make install' will install all the files in | 1368 | By default, \`make install' will install all the files in |
1262 | \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify | 1369 | \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify |
@@ -1266,25 +1373,25 @@ for instance \`--prefix=\$HOME'. | |||
1266 | For better control, use the options below. | 1373 | For better control, use the options below. |
1267 | 1374 | ||
1268 | Fine tuning of the installation directories: | 1375 | Fine tuning of the installation directories: |
1269 | --bindir=DIR user executables [EPREFIX/bin] | 1376 | --bindir=DIR user executables [EPREFIX/bin] |
1270 | --sbindir=DIR system admin executables [EPREFIX/sbin] | 1377 | --sbindir=DIR system admin executables [EPREFIX/sbin] |
1271 | --libexecdir=DIR program executables [EPREFIX/libexec] | 1378 | --libexecdir=DIR program executables [EPREFIX/libexec] |
1272 | --sysconfdir=DIR read-only single-machine data [PREFIX/etc] | 1379 | --sysconfdir=DIR read-only single-machine data [PREFIX/etc] |
1273 | --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] | 1380 | --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] |
1274 | --localstatedir=DIR modifiable single-machine data [PREFIX/var] | 1381 | --localstatedir=DIR modifiable single-machine data [PREFIX/var] |
1275 | --libdir=DIR object code libraries [EPREFIX/lib] | 1382 | --libdir=DIR object code libraries [EPREFIX/lib] |
1276 | --includedir=DIR C header files [PREFIX/include] | 1383 | --includedir=DIR C header files [PREFIX/include] |
1277 | --oldincludedir=DIR C header files for non-gcc [/usr/include] | 1384 | --oldincludedir=DIR C header files for non-gcc [/usr/include] |
1278 | --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] | 1385 | --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] |
1279 | --datadir=DIR read-only architecture-independent data [DATAROOTDIR] | 1386 | --datadir=DIR read-only architecture-independent data [DATAROOTDIR] |
1280 | --infodir=DIR info documentation [DATAROOTDIR/info] | 1387 | --infodir=DIR info documentation [DATAROOTDIR/info] |
1281 | --localedir=DIR locale-dependent data [DATAROOTDIR/locale] | 1388 | --localedir=DIR locale-dependent data [DATAROOTDIR/locale] |
1282 | --mandir=DIR man documentation [DATAROOTDIR/man] | 1389 | --mandir=DIR man documentation [DATAROOTDIR/man] |
1283 | --docdir=DIR documentation root [DATAROOTDIR/doc/openssh] | 1390 | --docdir=DIR documentation root [DATAROOTDIR/doc/openssh] |
1284 | --htmldir=DIR html documentation [DOCDIR] | 1391 | --htmldir=DIR html documentation [DOCDIR] |
1285 | --dvidir=DIR dvi documentation [DOCDIR] | 1392 | --dvidir=DIR dvi documentation [DOCDIR] |
1286 | --pdfdir=DIR pdf documentation [DOCDIR] | 1393 | --pdfdir=DIR pdf documentation [DOCDIR] |
1287 | --psdir=DIR ps documentation [DOCDIR] | 1394 | --psdir=DIR ps documentation [DOCDIR] |
1288 | _ACEOF | 1395 | _ACEOF |
1289 | 1396 | ||
1290 | cat <<\_ACEOF | 1397 | cat <<\_ACEOF |
@@ -1302,6 +1409,7 @@ if test -n "$ac_init_help"; then | |||
1302 | cat <<\_ACEOF | 1409 | cat <<\_ACEOF |
1303 | 1410 | ||
1304 | Optional Features: | 1411 | Optional Features: |
1412 | --disable-option-checking ignore unrecognized --enable/--with options | ||
1305 | --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) | 1413 | --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) |
1306 | --enable-FEATURE[=ARG] include FEATURE [ARG=yes] | 1414 | --enable-FEATURE[=ARG] include FEATURE [ARG=yes] |
1307 | --disable-largefile omit support for large files | 1415 | --disable-largefile omit support for large files |
@@ -1347,6 +1455,7 @@ Optional Packages: | |||
1347 | --with-prngd-port=PORT read entropy from PRNGD/EGD TCP localhost:PORT | 1455 | --with-prngd-port=PORT read entropy from PRNGD/EGD TCP localhost:PORT |
1348 | --with-prngd-socket=FILE read entropy from PRNGD/EGD socket FILE (default=/var/run/egd-pool) | 1456 | --with-prngd-socket=FILE read entropy from PRNGD/EGD socket FILE (default=/var/run/egd-pool) |
1349 | --with-pam Enable PAM support | 1457 | --with-pam Enable PAM support |
1458 | --with-pam-service=name Specify PAM service name | ||
1350 | --with-privsep-user=user Specify non-privileged user for privilege separation | 1459 | --with-privsep-user=user Specify non-privileged user for privilege separation |
1351 | --with-sandbox=style Specify privilege separation sandbox (no, capsicum, darwin, rlimit, seccomp_filter, systrace, pledge) | 1460 | --with-sandbox=style Specify privilege separation sandbox (no, capsicum, darwin, rlimit, seccomp_filter, systrace, pledge) |
1352 | --with-selinux Enable SELinux support | 1461 | --with-selinux Enable SELinux support |
@@ -1371,7 +1480,7 @@ Some influential environment variables: | |||
1371 | LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a | 1480 | LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a |
1372 | nonstandard directory <lib dir> | 1481 | nonstandard directory <lib dir> |
1373 | LIBS libraries to pass to the linker, e.g. -l<library> | 1482 | LIBS libraries to pass to the linker, e.g. -l<library> |
1374 | CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if | 1483 | CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if |
1375 | you have headers in a nonstandard directory <include dir> | 1484 | you have headers in a nonstandard directory <include dir> |
1376 | CPP C preprocessor | 1485 | CPP C preprocessor |
1377 | 1486 | ||
@@ -1386,15 +1495,17 @@ fi | |||
1386 | if test "$ac_init_help" = "recursive"; then | 1495 | if test "$ac_init_help" = "recursive"; then |
1387 | # If there are subdirs, report their specific --help. | 1496 | # If there are subdirs, report their specific --help. |
1388 | for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue | 1497 | for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue |
1389 | test -d "$ac_dir" || continue | 1498 | test -d "$ac_dir" || |
1499 | { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || | ||
1500 | continue | ||
1390 | ac_builddir=. | 1501 | ac_builddir=. |
1391 | 1502 | ||
1392 | case "$ac_dir" in | 1503 | case "$ac_dir" in |
1393 | .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; | 1504 | .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; |
1394 | *) | 1505 | *) |
1395 | ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` | 1506 | ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` |
1396 | # A ".." for each directory in $ac_dir_suffix. | 1507 | # A ".." for each directory in $ac_dir_suffix. |
1397 | ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` | 1508 | ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` |
1398 | case $ac_top_builddir_sub in | 1509 | case $ac_top_builddir_sub in |
1399 | "") ac_top_builddir_sub=. ac_top_build_prefix= ;; | 1510 | "") ac_top_builddir_sub=. ac_top_build_prefix= ;; |
1400 | *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; | 1511 | *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; |
@@ -1430,7 +1541,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix | |||
1430 | echo && | 1541 | echo && |
1431 | $SHELL "$ac_srcdir/configure" --help=recursive | 1542 | $SHELL "$ac_srcdir/configure" --help=recursive |
1432 | else | 1543 | else |
1433 | echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 | 1544 | $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 |
1434 | fi || ac_status=$? | 1545 | fi || ac_status=$? |
1435 | cd "$ac_pwd" || { ac_status=$?; break; } | 1546 | cd "$ac_pwd" || { ac_status=$?; break; } |
1436 | done | 1547 | done |
@@ -1440,21 +1551,716 @@ test -n "$ac_init_help" && exit $ac_status | |||
1440 | if $ac_init_version; then | 1551 | if $ac_init_version; then |
1441 | cat <<\_ACEOF | 1552 | cat <<\_ACEOF |
1442 | OpenSSH configure Portable | 1553 | OpenSSH configure Portable |
1443 | generated by GNU Autoconf 2.61 | 1554 | generated by GNU Autoconf 2.69 |
1444 | 1555 | ||
1445 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, | 1556 | Copyright (C) 2012 Free Software Foundation, Inc. |
1446 | 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. | ||
1447 | This configure script is free software; the Free Software Foundation | 1557 | This configure script is free software; the Free Software Foundation |
1448 | gives unlimited permission to copy, distribute and modify it. | 1558 | gives unlimited permission to copy, distribute and modify it. |
1449 | _ACEOF | 1559 | _ACEOF |
1450 | exit | 1560 | exit |
1451 | fi | 1561 | fi |
1562 | |||
1563 | ## ------------------------ ## | ||
1564 | ## Autoconf initialization. ## | ||
1565 | ## ------------------------ ## | ||
1566 | |||
1567 | # ac_fn_c_try_compile LINENO | ||
1568 | # -------------------------- | ||
1569 | # Try to compile conftest.$ac_ext, and return whether this succeeded. | ||
1570 | ac_fn_c_try_compile () | ||
1571 | { | ||
1572 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1573 | rm -f conftest.$ac_objext | ||
1574 | if { { ac_try="$ac_compile" | ||
1575 | case "(($ac_try" in | ||
1576 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
1577 | *) ac_try_echo=$ac_try;; | ||
1578 | esac | ||
1579 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
1580 | $as_echo "$ac_try_echo"; } >&5 | ||
1581 | (eval "$ac_compile") 2>conftest.err | ||
1582 | ac_status=$? | ||
1583 | if test -s conftest.err; then | ||
1584 | grep -v '^ *+' conftest.err >conftest.er1 | ||
1585 | cat conftest.er1 >&5 | ||
1586 | mv -f conftest.er1 conftest.err | ||
1587 | fi | ||
1588 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
1589 | test $ac_status = 0; } && { | ||
1590 | test -z "$ac_c_werror_flag" || | ||
1591 | test ! -s conftest.err | ||
1592 | } && test -s conftest.$ac_objext; then : | ||
1593 | ac_retval=0 | ||
1594 | else | ||
1595 | $as_echo "$as_me: failed program was:" >&5 | ||
1596 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
1597 | |||
1598 | ac_retval=1 | ||
1599 | fi | ||
1600 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1601 | as_fn_set_status $ac_retval | ||
1602 | |||
1603 | } # ac_fn_c_try_compile | ||
1604 | |||
1605 | # ac_fn_c_try_run LINENO | ||
1606 | # ---------------------- | ||
1607 | # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes | ||
1608 | # that executables *can* be run. | ||
1609 | ac_fn_c_try_run () | ||
1610 | { | ||
1611 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1612 | if { { ac_try="$ac_link" | ||
1613 | case "(($ac_try" in | ||
1614 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
1615 | *) ac_try_echo=$ac_try;; | ||
1616 | esac | ||
1617 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
1618 | $as_echo "$ac_try_echo"; } >&5 | ||
1619 | (eval "$ac_link") 2>&5 | ||
1620 | ac_status=$? | ||
1621 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
1622 | test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' | ||
1623 | { { case "(($ac_try" in | ||
1624 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
1625 | *) ac_try_echo=$ac_try;; | ||
1626 | esac | ||
1627 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
1628 | $as_echo "$ac_try_echo"; } >&5 | ||
1629 | (eval "$ac_try") 2>&5 | ||
1630 | ac_status=$? | ||
1631 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
1632 | test $ac_status = 0; }; }; then : | ||
1633 | ac_retval=0 | ||
1634 | else | ||
1635 | $as_echo "$as_me: program exited with status $ac_status" >&5 | ||
1636 | $as_echo "$as_me: failed program was:" >&5 | ||
1637 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
1638 | |||
1639 | ac_retval=$ac_status | ||
1640 | fi | ||
1641 | rm -rf conftest.dSYM conftest_ipa8_conftest.oo | ||
1642 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1643 | as_fn_set_status $ac_retval | ||
1644 | |||
1645 | } # ac_fn_c_try_run | ||
1646 | |||
1647 | # ac_fn_c_try_cpp LINENO | ||
1648 | # ---------------------- | ||
1649 | # Try to preprocess conftest.$ac_ext, and return whether this succeeded. | ||
1650 | ac_fn_c_try_cpp () | ||
1651 | { | ||
1652 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1653 | if { { ac_try="$ac_cpp conftest.$ac_ext" | ||
1654 | case "(($ac_try" in | ||
1655 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
1656 | *) ac_try_echo=$ac_try;; | ||
1657 | esac | ||
1658 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
1659 | $as_echo "$ac_try_echo"; } >&5 | ||
1660 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err | ||
1661 | ac_status=$? | ||
1662 | if test -s conftest.err; then | ||
1663 | grep -v '^ *+' conftest.err >conftest.er1 | ||
1664 | cat conftest.er1 >&5 | ||
1665 | mv -f conftest.er1 conftest.err | ||
1666 | fi | ||
1667 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
1668 | test $ac_status = 0; } > conftest.i && { | ||
1669 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
1670 | test ! -s conftest.err | ||
1671 | }; then : | ||
1672 | ac_retval=0 | ||
1673 | else | ||
1674 | $as_echo "$as_me: failed program was:" >&5 | ||
1675 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
1676 | |||
1677 | ac_retval=1 | ||
1678 | fi | ||
1679 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1680 | as_fn_set_status $ac_retval | ||
1681 | |||
1682 | } # ac_fn_c_try_cpp | ||
1683 | |||
1684 | # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES | ||
1685 | # ------------------------------------------------------- | ||
1686 | # Tests whether HEADER exists and can be compiled using the include files in | ||
1687 | # INCLUDES, setting the cache variable VAR accordingly. | ||
1688 | ac_fn_c_check_header_compile () | ||
1689 | { | ||
1690 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1691 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | ||
1692 | $as_echo_n "checking for $2... " >&6; } | ||
1693 | if eval \${$3+:} false; then : | ||
1694 | $as_echo_n "(cached) " >&6 | ||
1695 | else | ||
1696 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
1697 | /* end confdefs.h. */ | ||
1698 | $4 | ||
1699 | #include <$2> | ||
1700 | _ACEOF | ||
1701 | if ac_fn_c_try_compile "$LINENO"; then : | ||
1702 | eval "$3=yes" | ||
1703 | else | ||
1704 | eval "$3=no" | ||
1705 | fi | ||
1706 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
1707 | fi | ||
1708 | eval ac_res=\$$3 | ||
1709 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
1710 | $as_echo "$ac_res" >&6; } | ||
1711 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1712 | |||
1713 | } # ac_fn_c_check_header_compile | ||
1714 | |||
1715 | # ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES | ||
1716 | # --------------------------------------------- | ||
1717 | # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR | ||
1718 | # accordingly. | ||
1719 | ac_fn_c_check_decl () | ||
1720 | { | ||
1721 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1722 | as_decl_name=`echo $2|sed 's/ *(.*//'` | ||
1723 | as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` | ||
1724 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 | ||
1725 | $as_echo_n "checking whether $as_decl_name is declared... " >&6; } | ||
1726 | if eval \${$3+:} false; then : | ||
1727 | $as_echo_n "(cached) " >&6 | ||
1728 | else | ||
1729 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
1730 | /* end confdefs.h. */ | ||
1731 | $4 | ||
1732 | int | ||
1733 | main () | ||
1734 | { | ||
1735 | #ifndef $as_decl_name | ||
1736 | #ifdef __cplusplus | ||
1737 | (void) $as_decl_use; | ||
1738 | #else | ||
1739 | (void) $as_decl_name; | ||
1740 | #endif | ||
1741 | #endif | ||
1742 | |||
1743 | ; | ||
1744 | return 0; | ||
1745 | } | ||
1746 | _ACEOF | ||
1747 | if ac_fn_c_try_compile "$LINENO"; then : | ||
1748 | eval "$3=yes" | ||
1749 | else | ||
1750 | eval "$3=no" | ||
1751 | fi | ||
1752 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
1753 | fi | ||
1754 | eval ac_res=\$$3 | ||
1755 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
1756 | $as_echo "$ac_res" >&6; } | ||
1757 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1758 | |||
1759 | } # ac_fn_c_check_decl | ||
1760 | |||
1761 | # ac_fn_c_try_link LINENO | ||
1762 | # ----------------------- | ||
1763 | # Try to link conftest.$ac_ext, and return whether this succeeded. | ||
1764 | ac_fn_c_try_link () | ||
1765 | { | ||
1766 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1767 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
1768 | if { { ac_try="$ac_link" | ||
1769 | case "(($ac_try" in | ||
1770 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
1771 | *) ac_try_echo=$ac_try;; | ||
1772 | esac | ||
1773 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
1774 | $as_echo "$ac_try_echo"; } >&5 | ||
1775 | (eval "$ac_link") 2>conftest.err | ||
1776 | ac_status=$? | ||
1777 | if test -s conftest.err; then | ||
1778 | grep -v '^ *+' conftest.err >conftest.er1 | ||
1779 | cat conftest.er1 >&5 | ||
1780 | mv -f conftest.er1 conftest.err | ||
1781 | fi | ||
1782 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
1783 | test $ac_status = 0; } && { | ||
1784 | test -z "$ac_c_werror_flag" || | ||
1785 | test ! -s conftest.err | ||
1786 | } && test -s conftest$ac_exeext && { | ||
1787 | test "$cross_compiling" = yes || | ||
1788 | test -x conftest$ac_exeext | ||
1789 | }; then : | ||
1790 | ac_retval=0 | ||
1791 | else | ||
1792 | $as_echo "$as_me: failed program was:" >&5 | ||
1793 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
1794 | |||
1795 | ac_retval=1 | ||
1796 | fi | ||
1797 | # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information | ||
1798 | # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would | ||
1799 | # interfere with the next link command; also delete a directory that is | ||
1800 | # left behind by Apple's compiler. We do this before executing the actions. | ||
1801 | rm -rf conftest.dSYM conftest_ipa8_conftest.oo | ||
1802 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1803 | as_fn_set_status $ac_retval | ||
1804 | |||
1805 | } # ac_fn_c_try_link | ||
1806 | |||
1807 | # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES | ||
1808 | # ------------------------------------------------------- | ||
1809 | # Tests whether HEADER exists, giving a warning if it cannot be compiled using | ||
1810 | # the include files in INCLUDES and setting the cache variable VAR | ||
1811 | # accordingly. | ||
1812 | ac_fn_c_check_header_mongrel () | ||
1813 | { | ||
1814 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1815 | if eval \${$3+:} false; then : | ||
1816 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | ||
1817 | $as_echo_n "checking for $2... " >&6; } | ||
1818 | if eval \${$3+:} false; then : | ||
1819 | $as_echo_n "(cached) " >&6 | ||
1820 | fi | ||
1821 | eval ac_res=\$$3 | ||
1822 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
1823 | $as_echo "$ac_res" >&6; } | ||
1824 | else | ||
1825 | # Is the header compilable? | ||
1826 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 | ||
1827 | $as_echo_n "checking $2 usability... " >&6; } | ||
1828 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
1829 | /* end confdefs.h. */ | ||
1830 | $4 | ||
1831 | #include <$2> | ||
1832 | _ACEOF | ||
1833 | if ac_fn_c_try_compile "$LINENO"; then : | ||
1834 | ac_header_compiler=yes | ||
1835 | else | ||
1836 | ac_header_compiler=no | ||
1837 | fi | ||
1838 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
1839 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 | ||
1840 | $as_echo "$ac_header_compiler" >&6; } | ||
1841 | |||
1842 | # Is the header present? | ||
1843 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 | ||
1844 | $as_echo_n "checking $2 presence... " >&6; } | ||
1845 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
1846 | /* end confdefs.h. */ | ||
1847 | #include <$2> | ||
1848 | _ACEOF | ||
1849 | if ac_fn_c_try_cpp "$LINENO"; then : | ||
1850 | ac_header_preproc=yes | ||
1851 | else | ||
1852 | ac_header_preproc=no | ||
1853 | fi | ||
1854 | rm -f conftest.err conftest.i conftest.$ac_ext | ||
1855 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 | ||
1856 | $as_echo "$ac_header_preproc" >&6; } | ||
1857 | |||
1858 | # So? What about this header? | ||
1859 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( | ||
1860 | yes:no: ) | ||
1861 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
1862 | $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
1863 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 | ||
1864 | $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} | ||
1865 | ;; | ||
1866 | no:yes:* ) | ||
1867 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 | ||
1868 | $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} | ||
1869 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 | ||
1870 | $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} | ||
1871 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 | ||
1872 | $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} | ||
1873 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 | ||
1874 | $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} | ||
1875 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 | ||
1876 | $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} | ||
1877 | ( $as_echo "## ------------------------------------------- ## | ||
1878 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
1879 | ## ------------------------------------------- ##" | ||
1880 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
1881 | ;; | ||
1882 | esac | ||
1883 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | ||
1884 | $as_echo_n "checking for $2... " >&6; } | ||
1885 | if eval \${$3+:} false; then : | ||
1886 | $as_echo_n "(cached) " >&6 | ||
1887 | else | ||
1888 | eval "$3=\$ac_header_compiler" | ||
1889 | fi | ||
1890 | eval ac_res=\$$3 | ||
1891 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
1892 | $as_echo "$ac_res" >&6; } | ||
1893 | fi | ||
1894 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1895 | |||
1896 | } # ac_fn_c_check_header_mongrel | ||
1897 | |||
1898 | # ac_fn_c_check_func LINENO FUNC VAR | ||
1899 | # ---------------------------------- | ||
1900 | # Tests whether FUNC exists, setting the cache variable VAR accordingly | ||
1901 | ac_fn_c_check_func () | ||
1902 | { | ||
1903 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1904 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | ||
1905 | $as_echo_n "checking for $2... " >&6; } | ||
1906 | if eval \${$3+:} false; then : | ||
1907 | $as_echo_n "(cached) " >&6 | ||
1908 | else | ||
1909 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
1910 | /* end confdefs.h. */ | ||
1911 | /* Define $2 to an innocuous variant, in case <limits.h> declares $2. | ||
1912 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
1913 | #define $2 innocuous_$2 | ||
1914 | |||
1915 | /* System header to define __stub macros and hopefully few prototypes, | ||
1916 | which can conflict with char $2 (); below. | ||
1917 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
1918 | <limits.h> exists even on freestanding compilers. */ | ||
1919 | |||
1920 | #ifdef __STDC__ | ||
1921 | # include <limits.h> | ||
1922 | #else | ||
1923 | # include <assert.h> | ||
1924 | #endif | ||
1925 | |||
1926 | #undef $2 | ||
1927 | |||
1928 | /* Override any GCC internal prototype to avoid an error. | ||
1929 | Use char because int might match the return type of a GCC | ||
1930 | builtin and then its argument prototype would still apply. */ | ||
1931 | #ifdef __cplusplus | ||
1932 | extern "C" | ||
1933 | #endif | ||
1934 | char $2 (); | ||
1935 | /* The GNU C library defines this for functions which it implements | ||
1936 | to always fail with ENOSYS. Some functions are actually named | ||
1937 | something starting with __ and the normal name is an alias. */ | ||
1938 | #if defined __stub_$2 || defined __stub___$2 | ||
1939 | choke me | ||
1940 | #endif | ||
1941 | |||
1942 | int | ||
1943 | main () | ||
1944 | { | ||
1945 | return $2 (); | ||
1946 | ; | ||
1947 | return 0; | ||
1948 | } | ||
1949 | _ACEOF | ||
1950 | if ac_fn_c_try_link "$LINENO"; then : | ||
1951 | eval "$3=yes" | ||
1952 | else | ||
1953 | eval "$3=no" | ||
1954 | fi | ||
1955 | rm -f core conftest.err conftest.$ac_objext \ | ||
1956 | conftest$ac_exeext conftest.$ac_ext | ||
1957 | fi | ||
1958 | eval ac_res=\$$3 | ||
1959 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
1960 | $as_echo "$ac_res" >&6; } | ||
1961 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1962 | |||
1963 | } # ac_fn_c_check_func | ||
1964 | |||
1965 | # ac_fn_c_check_type LINENO TYPE VAR INCLUDES | ||
1966 | # ------------------------------------------- | ||
1967 | # Tests whether TYPE exists after having included INCLUDES, setting cache | ||
1968 | # variable VAR accordingly. | ||
1969 | ac_fn_c_check_type () | ||
1970 | { | ||
1971 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1972 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | ||
1973 | $as_echo_n "checking for $2... " >&6; } | ||
1974 | if eval \${$3+:} false; then : | ||
1975 | $as_echo_n "(cached) " >&6 | ||
1976 | else | ||
1977 | eval "$3=no" | ||
1978 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
1979 | /* end confdefs.h. */ | ||
1980 | $4 | ||
1981 | int | ||
1982 | main () | ||
1983 | { | ||
1984 | if (sizeof ($2)) | ||
1985 | return 0; | ||
1986 | ; | ||
1987 | return 0; | ||
1988 | } | ||
1989 | _ACEOF | ||
1990 | if ac_fn_c_try_compile "$LINENO"; then : | ||
1991 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
1992 | /* end confdefs.h. */ | ||
1993 | $4 | ||
1994 | int | ||
1995 | main () | ||
1996 | { | ||
1997 | if (sizeof (($2))) | ||
1998 | return 0; | ||
1999 | ; | ||
2000 | return 0; | ||
2001 | } | ||
2002 | _ACEOF | ||
2003 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2004 | |||
2005 | else | ||
2006 | eval "$3=yes" | ||
2007 | fi | ||
2008 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2009 | fi | ||
2010 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2011 | fi | ||
2012 | eval ac_res=\$$3 | ||
2013 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
2014 | $as_echo "$ac_res" >&6; } | ||
2015 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
2016 | |||
2017 | } # ac_fn_c_check_type | ||
2018 | |||
2019 | # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES | ||
2020 | # -------------------------------------------- | ||
2021 | # Tries to find the compile-time value of EXPR in a program that includes | ||
2022 | # INCLUDES, setting VAR accordingly. Returns whether the value could be | ||
2023 | # computed | ||
2024 | ac_fn_c_compute_int () | ||
2025 | { | ||
2026 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
2027 | if test "$cross_compiling" = yes; then | ||
2028 | # Depending upon the size, compute the lo and hi bounds. | ||
2029 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2030 | /* end confdefs.h. */ | ||
2031 | $4 | ||
2032 | int | ||
2033 | main () | ||
2034 | { | ||
2035 | static int test_array [1 - 2 * !(($2) >= 0)]; | ||
2036 | test_array [0] = 0; | ||
2037 | return test_array [0]; | ||
2038 | |||
2039 | ; | ||
2040 | return 0; | ||
2041 | } | ||
2042 | _ACEOF | ||
2043 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2044 | ac_lo=0 ac_mid=0 | ||
2045 | while :; do | ||
2046 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2047 | /* end confdefs.h. */ | ||
2048 | $4 | ||
2049 | int | ||
2050 | main () | ||
2051 | { | ||
2052 | static int test_array [1 - 2 * !(($2) <= $ac_mid)]; | ||
2053 | test_array [0] = 0; | ||
2054 | return test_array [0]; | ||
2055 | |||
2056 | ; | ||
2057 | return 0; | ||
2058 | } | ||
2059 | _ACEOF | ||
2060 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2061 | ac_hi=$ac_mid; break | ||
2062 | else | ||
2063 | as_fn_arith $ac_mid + 1 && ac_lo=$as_val | ||
2064 | if test $ac_lo -le $ac_mid; then | ||
2065 | ac_lo= ac_hi= | ||
2066 | break | ||
2067 | fi | ||
2068 | as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val | ||
2069 | fi | ||
2070 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2071 | done | ||
2072 | else | ||
2073 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2074 | /* end confdefs.h. */ | ||
2075 | $4 | ||
2076 | int | ||
2077 | main () | ||
2078 | { | ||
2079 | static int test_array [1 - 2 * !(($2) < 0)]; | ||
2080 | test_array [0] = 0; | ||
2081 | return test_array [0]; | ||
2082 | |||
2083 | ; | ||
2084 | return 0; | ||
2085 | } | ||
2086 | _ACEOF | ||
2087 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2088 | ac_hi=-1 ac_mid=-1 | ||
2089 | while :; do | ||
2090 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2091 | /* end confdefs.h. */ | ||
2092 | $4 | ||
2093 | int | ||
2094 | main () | ||
2095 | { | ||
2096 | static int test_array [1 - 2 * !(($2) >= $ac_mid)]; | ||
2097 | test_array [0] = 0; | ||
2098 | return test_array [0]; | ||
2099 | |||
2100 | ; | ||
2101 | return 0; | ||
2102 | } | ||
2103 | _ACEOF | ||
2104 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2105 | ac_lo=$ac_mid; break | ||
2106 | else | ||
2107 | as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val | ||
2108 | if test $ac_mid -le $ac_hi; then | ||
2109 | ac_lo= ac_hi= | ||
2110 | break | ||
2111 | fi | ||
2112 | as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val | ||
2113 | fi | ||
2114 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2115 | done | ||
2116 | else | ||
2117 | ac_lo= ac_hi= | ||
2118 | fi | ||
2119 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2120 | fi | ||
2121 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2122 | # Binary search between lo and hi bounds. | ||
2123 | while test "x$ac_lo" != "x$ac_hi"; do | ||
2124 | as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val | ||
2125 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2126 | /* end confdefs.h. */ | ||
2127 | $4 | ||
2128 | int | ||
2129 | main () | ||
2130 | { | ||
2131 | static int test_array [1 - 2 * !(($2) <= $ac_mid)]; | ||
2132 | test_array [0] = 0; | ||
2133 | return test_array [0]; | ||
2134 | |||
2135 | ; | ||
2136 | return 0; | ||
2137 | } | ||
2138 | _ACEOF | ||
2139 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2140 | ac_hi=$ac_mid | ||
2141 | else | ||
2142 | as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val | ||
2143 | fi | ||
2144 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2145 | done | ||
2146 | case $ac_lo in #(( | ||
2147 | ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; | ||
2148 | '') ac_retval=1 ;; | ||
2149 | esac | ||
2150 | else | ||
2151 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2152 | /* end confdefs.h. */ | ||
2153 | $4 | ||
2154 | static long int longval () { return $2; } | ||
2155 | static unsigned long int ulongval () { return $2; } | ||
2156 | #include <stdio.h> | ||
2157 | #include <stdlib.h> | ||
2158 | int | ||
2159 | main () | ||
2160 | { | ||
2161 | |||
2162 | FILE *f = fopen ("conftest.val", "w"); | ||
2163 | if (! f) | ||
2164 | return 1; | ||
2165 | if (($2) < 0) | ||
2166 | { | ||
2167 | long int i = longval (); | ||
2168 | if (i != ($2)) | ||
2169 | return 1; | ||
2170 | fprintf (f, "%ld", i); | ||
2171 | } | ||
2172 | else | ||
2173 | { | ||
2174 | unsigned long int i = ulongval (); | ||
2175 | if (i != ($2)) | ||
2176 | return 1; | ||
2177 | fprintf (f, "%lu", i); | ||
2178 | } | ||
2179 | /* Do not output a trailing newline, as this causes \r\n confusion | ||
2180 | on some platforms. */ | ||
2181 | return ferror (f) || fclose (f) != 0; | ||
2182 | |||
2183 | ; | ||
2184 | return 0; | ||
2185 | } | ||
2186 | _ACEOF | ||
2187 | if ac_fn_c_try_run "$LINENO"; then : | ||
2188 | echo >>conftest.val; read $3 <conftest.val; ac_retval=0 | ||
2189 | else | ||
2190 | ac_retval=1 | ||
2191 | fi | ||
2192 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ | ||
2193 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
2194 | rm -f conftest.val | ||
2195 | |||
2196 | fi | ||
2197 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
2198 | as_fn_set_status $ac_retval | ||
2199 | |||
2200 | } # ac_fn_c_compute_int | ||
2201 | |||
2202 | # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES | ||
2203 | # ---------------------------------------------------- | ||
2204 | # Tries to find if the field MEMBER exists in type AGGR, after including | ||
2205 | # INCLUDES, setting cache variable VAR accordingly. | ||
2206 | ac_fn_c_check_member () | ||
2207 | { | ||
2208 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
2209 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 | ||
2210 | $as_echo_n "checking for $2.$3... " >&6; } | ||
2211 | if eval \${$4+:} false; then : | ||
2212 | $as_echo_n "(cached) " >&6 | ||
2213 | else | ||
2214 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2215 | /* end confdefs.h. */ | ||
2216 | $5 | ||
2217 | int | ||
2218 | main () | ||
2219 | { | ||
2220 | static $2 ac_aggr; | ||
2221 | if (ac_aggr.$3) | ||
2222 | return 0; | ||
2223 | ; | ||
2224 | return 0; | ||
2225 | } | ||
2226 | _ACEOF | ||
2227 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2228 | eval "$4=yes" | ||
2229 | else | ||
2230 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2231 | /* end confdefs.h. */ | ||
2232 | $5 | ||
2233 | int | ||
2234 | main () | ||
2235 | { | ||
2236 | static $2 ac_aggr; | ||
2237 | if (sizeof ac_aggr.$3) | ||
2238 | return 0; | ||
2239 | ; | ||
2240 | return 0; | ||
2241 | } | ||
2242 | _ACEOF | ||
2243 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2244 | eval "$4=yes" | ||
2245 | else | ||
2246 | eval "$4=no" | ||
2247 | fi | ||
2248 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2249 | fi | ||
2250 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2251 | fi | ||
2252 | eval ac_res=\$$4 | ||
2253 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
2254 | $as_echo "$ac_res" >&6; } | ||
2255 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
2256 | |||
2257 | } # ac_fn_c_check_member | ||
1452 | cat >config.log <<_ACEOF | 2258 | cat >config.log <<_ACEOF |
1453 | This file contains any messages produced by compilers while | 2259 | This file contains any messages produced by compilers while |
1454 | running configure, to aid debugging if configure makes a mistake. | 2260 | running configure, to aid debugging if configure makes a mistake. |
1455 | 2261 | ||
1456 | It was created by OpenSSH $as_me Portable, which was | 2262 | It was created by OpenSSH $as_me Portable, which was |
1457 | generated by GNU Autoconf 2.61. Invocation command line was | 2263 | generated by GNU Autoconf 2.69. Invocation command line was |
1458 | 2264 | ||
1459 | $ $0 $@ | 2265 | $ $0 $@ |
1460 | 2266 | ||
@@ -1490,8 +2296,8 @@ for as_dir in $PATH | |||
1490 | do | 2296 | do |
1491 | IFS=$as_save_IFS | 2297 | IFS=$as_save_IFS |
1492 | test -z "$as_dir" && as_dir=. | 2298 | test -z "$as_dir" && as_dir=. |
1493 | echo "PATH: $as_dir" | 2299 | $as_echo "PATH: $as_dir" |
1494 | done | 2300 | done |
1495 | IFS=$as_save_IFS | 2301 | IFS=$as_save_IFS |
1496 | 2302 | ||
1497 | } >&5 | 2303 | } >&5 |
@@ -1525,12 +2331,12 @@ do | |||
1525 | | -silent | --silent | --silen | --sile | --sil) | 2331 | | -silent | --silent | --silen | --sile | --sil) |
1526 | continue ;; | 2332 | continue ;; |
1527 | *\'*) | 2333 | *\'*) |
1528 | ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; | 2334 | ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; |
1529 | esac | 2335 | esac |
1530 | case $ac_pass in | 2336 | case $ac_pass in |
1531 | 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; | 2337 | 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; |
1532 | 2) | 2338 | 2) |
1533 | ac_configure_args1="$ac_configure_args1 '$ac_arg'" | 2339 | as_fn_append ac_configure_args1 " '$ac_arg'" |
1534 | if test $ac_must_keep_next = true; then | 2340 | if test $ac_must_keep_next = true; then |
1535 | ac_must_keep_next=false # Got value, back to normal. | 2341 | ac_must_keep_next=false # Got value, back to normal. |
1536 | else | 2342 | else |
@@ -1546,13 +2352,13 @@ do | |||
1546 | -* ) ac_must_keep_next=true ;; | 2352 | -* ) ac_must_keep_next=true ;; |
1547 | esac | 2353 | esac |
1548 | fi | 2354 | fi |
1549 | ac_configure_args="$ac_configure_args '$ac_arg'" | 2355 | as_fn_append ac_configure_args " '$ac_arg'" |
1550 | ;; | 2356 | ;; |
1551 | esac | 2357 | esac |
1552 | done | 2358 | done |
1553 | done | 2359 | done |
1554 | $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } | 2360 | { ac_configure_args0=; unset ac_configure_args0;} |
1555 | $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } | 2361 | { ac_configure_args1=; unset ac_configure_args1;} |
1556 | 2362 | ||
1557 | # When interrupted or exit'd, cleanup temporary files, and complete | 2363 | # When interrupted or exit'd, cleanup temporary files, and complete |
1558 | # config.log. We remove comments because anyway the quotes in there | 2364 | # config.log. We remove comments because anyway the quotes in there |
@@ -1564,11 +2370,9 @@ trap 'exit_status=$? | |||
1564 | { | 2370 | { |
1565 | echo | 2371 | echo |
1566 | 2372 | ||
1567 | cat <<\_ASBOX | 2373 | $as_echo "## ---------------- ## |
1568 | ## ---------------- ## | ||
1569 | ## Cache variables. ## | 2374 | ## Cache variables. ## |
1570 | ## ---------------- ## | 2375 | ## ---------------- ##" |
1571 | _ASBOX | ||
1572 | echo | 2376 | echo |
1573 | # The following way of writing the cache mishandles newlines in values, | 2377 | # The following way of writing the cache mishandles newlines in values, |
1574 | ( | 2378 | ( |
@@ -1577,12 +2381,13 @@ _ASBOX | |||
1577 | case $ac_val in #( | 2381 | case $ac_val in #( |
1578 | *${as_nl}*) | 2382 | *${as_nl}*) |
1579 | case $ac_var in #( | 2383 | case $ac_var in #( |
1580 | *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 | 2384 | *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 |
1581 | echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; | 2385 | $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; |
1582 | esac | 2386 | esac |
1583 | case $ac_var in #( | 2387 | case $ac_var in #( |
1584 | _ | IFS | as_nl) ;; #( | 2388 | _ | IFS | as_nl) ;; #( |
1585 | *) $as_unset $ac_var ;; | 2389 | BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( |
2390 | *) { eval $ac_var=; unset $ac_var;} ;; | ||
1586 | esac ;; | 2391 | esac ;; |
1587 | esac | 2392 | esac |
1588 | done | 2393 | done |
@@ -1601,128 +2406,136 @@ echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; | |||
1601 | ) | 2406 | ) |
1602 | echo | 2407 | echo |
1603 | 2408 | ||
1604 | cat <<\_ASBOX | 2409 | $as_echo "## ----------------- ## |
1605 | ## ----------------- ## | ||
1606 | ## Output variables. ## | 2410 | ## Output variables. ## |
1607 | ## ----------------- ## | 2411 | ## ----------------- ##" |
1608 | _ASBOX | ||
1609 | echo | 2412 | echo |
1610 | for ac_var in $ac_subst_vars | 2413 | for ac_var in $ac_subst_vars |
1611 | do | 2414 | do |
1612 | eval ac_val=\$$ac_var | 2415 | eval ac_val=\$$ac_var |
1613 | case $ac_val in | 2416 | case $ac_val in |
1614 | *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; | 2417 | *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; |
1615 | esac | 2418 | esac |
1616 | echo "$ac_var='\''$ac_val'\''" | 2419 | $as_echo "$ac_var='\''$ac_val'\''" |
1617 | done | sort | 2420 | done | sort |
1618 | echo | 2421 | echo |
1619 | 2422 | ||
1620 | if test -n "$ac_subst_files"; then | 2423 | if test -n "$ac_subst_files"; then |
1621 | cat <<\_ASBOX | 2424 | $as_echo "## ------------------- ## |
1622 | ## ------------------- ## | ||
1623 | ## File substitutions. ## | 2425 | ## File substitutions. ## |
1624 | ## ------------------- ## | 2426 | ## ------------------- ##" |
1625 | _ASBOX | ||
1626 | echo | 2427 | echo |
1627 | for ac_var in $ac_subst_files | 2428 | for ac_var in $ac_subst_files |
1628 | do | 2429 | do |
1629 | eval ac_val=\$$ac_var | 2430 | eval ac_val=\$$ac_var |
1630 | case $ac_val in | 2431 | case $ac_val in |
1631 | *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; | 2432 | *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; |
1632 | esac | 2433 | esac |
1633 | echo "$ac_var='\''$ac_val'\''" | 2434 | $as_echo "$ac_var='\''$ac_val'\''" |
1634 | done | sort | 2435 | done | sort |
1635 | echo | 2436 | echo |
1636 | fi | 2437 | fi |
1637 | 2438 | ||
1638 | if test -s confdefs.h; then | 2439 | if test -s confdefs.h; then |
1639 | cat <<\_ASBOX | 2440 | $as_echo "## ----------- ## |
1640 | ## ----------- ## | ||
1641 | ## confdefs.h. ## | 2441 | ## confdefs.h. ## |
1642 | ## ----------- ## | 2442 | ## ----------- ##" |
1643 | _ASBOX | ||
1644 | echo | 2443 | echo |
1645 | cat confdefs.h | 2444 | cat confdefs.h |
1646 | echo | 2445 | echo |
1647 | fi | 2446 | fi |
1648 | test "$ac_signal" != 0 && | 2447 | test "$ac_signal" != 0 && |
1649 | echo "$as_me: caught signal $ac_signal" | 2448 | $as_echo "$as_me: caught signal $ac_signal" |
1650 | echo "$as_me: exit $exit_status" | 2449 | $as_echo "$as_me: exit $exit_status" |
1651 | } >&5 | 2450 | } >&5 |
1652 | rm -f core *.core core.conftest.* && | 2451 | rm -f core *.core core.conftest.* && |
1653 | rm -f -r conftest* confdefs* conf$$* $ac_clean_files && | 2452 | rm -f -r conftest* confdefs* conf$$* $ac_clean_files && |
1654 | exit $exit_status | 2453 | exit $exit_status |
1655 | ' 0 | 2454 | ' 0 |
1656 | for ac_signal in 1 2 13 15; do | 2455 | for ac_signal in 1 2 13 15; do |
1657 | trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal | 2456 | trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal |
1658 | done | 2457 | done |
1659 | ac_signal=0 | 2458 | ac_signal=0 |
1660 | 2459 | ||
1661 | # confdefs.h avoids OS command line length limits that DEFS can exceed. | 2460 | # confdefs.h avoids OS command line length limits that DEFS can exceed. |
1662 | rm -f -r conftest* confdefs.h | 2461 | rm -f -r conftest* confdefs.h |
1663 | 2462 | ||
2463 | $as_echo "/* confdefs.h */" > confdefs.h | ||
2464 | |||
1664 | # Predefined preprocessor variables. | 2465 | # Predefined preprocessor variables. |
1665 | 2466 | ||
1666 | cat >>confdefs.h <<_ACEOF | 2467 | cat >>confdefs.h <<_ACEOF |
1667 | #define PACKAGE_NAME "$PACKAGE_NAME" | 2468 | #define PACKAGE_NAME "$PACKAGE_NAME" |
1668 | _ACEOF | 2469 | _ACEOF |
1669 | 2470 | ||
1670 | |||
1671 | cat >>confdefs.h <<_ACEOF | 2471 | cat >>confdefs.h <<_ACEOF |
1672 | #define PACKAGE_TARNAME "$PACKAGE_TARNAME" | 2472 | #define PACKAGE_TARNAME "$PACKAGE_TARNAME" |
1673 | _ACEOF | 2473 | _ACEOF |
1674 | 2474 | ||
1675 | |||
1676 | cat >>confdefs.h <<_ACEOF | 2475 | cat >>confdefs.h <<_ACEOF |
1677 | #define PACKAGE_VERSION "$PACKAGE_VERSION" | 2476 | #define PACKAGE_VERSION "$PACKAGE_VERSION" |
1678 | _ACEOF | 2477 | _ACEOF |
1679 | 2478 | ||
1680 | |||
1681 | cat >>confdefs.h <<_ACEOF | 2479 | cat >>confdefs.h <<_ACEOF |
1682 | #define PACKAGE_STRING "$PACKAGE_STRING" | 2480 | #define PACKAGE_STRING "$PACKAGE_STRING" |
1683 | _ACEOF | 2481 | _ACEOF |
1684 | 2482 | ||
1685 | |||
1686 | cat >>confdefs.h <<_ACEOF | 2483 | cat >>confdefs.h <<_ACEOF |
1687 | #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" | 2484 | #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" |
1688 | _ACEOF | 2485 | _ACEOF |
1689 | 2486 | ||
2487 | cat >>confdefs.h <<_ACEOF | ||
2488 | #define PACKAGE_URL "$PACKAGE_URL" | ||
2489 | _ACEOF | ||
2490 | |||
1690 | 2491 | ||
1691 | # Let the site file select an alternate cache file if it wants to. | 2492 | # Let the site file select an alternate cache file if it wants to. |
1692 | # Prefer explicitly selected file to automatically selected ones. | 2493 | # Prefer an explicitly selected file to automatically selected ones. |
2494 | ac_site_file1=NONE | ||
2495 | ac_site_file2=NONE | ||
1693 | if test -n "$CONFIG_SITE"; then | 2496 | if test -n "$CONFIG_SITE"; then |
1694 | set x "$CONFIG_SITE" | 2497 | # We do not want a PATH search for config.site. |
2498 | case $CONFIG_SITE in #(( | ||
2499 | -*) ac_site_file1=./$CONFIG_SITE;; | ||
2500 | */*) ac_site_file1=$CONFIG_SITE;; | ||
2501 | *) ac_site_file1=./$CONFIG_SITE;; | ||
2502 | esac | ||
1695 | elif test "x$prefix" != xNONE; then | 2503 | elif test "x$prefix" != xNONE; then |
1696 | set x "$prefix/share/config.site" "$prefix/etc/config.site" | 2504 | ac_site_file1=$prefix/share/config.site |
2505 | ac_site_file2=$prefix/etc/config.site | ||
1697 | else | 2506 | else |
1698 | set x "$ac_default_prefix/share/config.site" \ | 2507 | ac_site_file1=$ac_default_prefix/share/config.site |
1699 | "$ac_default_prefix/etc/config.site" | 2508 | ac_site_file2=$ac_default_prefix/etc/config.site |
1700 | fi | 2509 | fi |
1701 | shift | 2510 | for ac_site_file in "$ac_site_file1" "$ac_site_file2" |
1702 | for ac_site_file | ||
1703 | do | 2511 | do |
1704 | if test -r "$ac_site_file"; then | 2512 | test "x$ac_site_file" = xNONE && continue |
1705 | { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 | 2513 | if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then |
1706 | echo "$as_me: loading site script $ac_site_file" >&6;} | 2514 | { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 |
2515 | $as_echo "$as_me: loading site script $ac_site_file" >&6;} | ||
1707 | sed 's/^/| /' "$ac_site_file" >&5 | 2516 | sed 's/^/| /' "$ac_site_file" >&5 |
1708 | . "$ac_site_file" | 2517 | . "$ac_site_file" \ |
2518 | || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
2519 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
2520 | as_fn_error $? "failed to load site script $ac_site_file | ||
2521 | See \`config.log' for more details" "$LINENO" 5; } | ||
1709 | fi | 2522 | fi |
1710 | done | 2523 | done |
1711 | 2524 | ||
1712 | if test -r "$cache_file"; then | 2525 | if test -r "$cache_file"; then |
1713 | # Some versions of bash will fail to source /dev/null (special | 2526 | # Some versions of bash will fail to source /dev/null (special files |
1714 | # files actually), so we avoid doing that. | 2527 | # actually), so we avoid doing that. DJGPP emulates it as a regular file. |
1715 | if test -f "$cache_file"; then | 2528 | if test /dev/null != "$cache_file" && test -f "$cache_file"; then |
1716 | { echo "$as_me:$LINENO: loading cache $cache_file" >&5 | 2529 | { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 |
1717 | echo "$as_me: loading cache $cache_file" >&6;} | 2530 | $as_echo "$as_me: loading cache $cache_file" >&6;} |
1718 | case $cache_file in | 2531 | case $cache_file in |
1719 | [\\/]* | ?:[\\/]* ) . "$cache_file";; | 2532 | [\\/]* | ?:[\\/]* ) . "$cache_file";; |
1720 | *) . "./$cache_file";; | 2533 | *) . "./$cache_file";; |
1721 | esac | 2534 | esac |
1722 | fi | 2535 | fi |
1723 | else | 2536 | else |
1724 | { echo "$as_me:$LINENO: creating cache $cache_file" >&5 | 2537 | { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 |
1725 | echo "$as_me: creating cache $cache_file" >&6;} | 2538 | $as_echo "$as_me: creating cache $cache_file" >&6;} |
1726 | >$cache_file | 2539 | >$cache_file |
1727 | fi | 2540 | fi |
1728 | 2541 | ||
@@ -1736,68 +2549,56 @@ for ac_var in $ac_precious_vars; do | |||
1736 | eval ac_new_val=\$ac_env_${ac_var}_value | 2549 | eval ac_new_val=\$ac_env_${ac_var}_value |
1737 | case $ac_old_set,$ac_new_set in | 2550 | case $ac_old_set,$ac_new_set in |
1738 | set,) | 2551 | set,) |
1739 | { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 | 2552 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 |
1740 | echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} | 2553 | $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} |
1741 | ac_cache_corrupted=: ;; | 2554 | ac_cache_corrupted=: ;; |
1742 | ,set) | 2555 | ,set) |
1743 | { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 | 2556 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 |
1744 | echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} | 2557 | $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} |
1745 | ac_cache_corrupted=: ;; | 2558 | ac_cache_corrupted=: ;; |
1746 | ,);; | 2559 | ,);; |
1747 | *) | 2560 | *) |
1748 | if test "x$ac_old_val" != "x$ac_new_val"; then | 2561 | if test "x$ac_old_val" != "x$ac_new_val"; then |
1749 | { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 | 2562 | # differences in whitespace do not lead to failure. |
1750 | echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} | 2563 | ac_old_val_w=`echo x $ac_old_val` |
1751 | { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 | 2564 | ac_new_val_w=`echo x $ac_new_val` |
1752 | echo "$as_me: former value: $ac_old_val" >&2;} | 2565 | if test "$ac_old_val_w" != "$ac_new_val_w"; then |
1753 | { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 | 2566 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 |
1754 | echo "$as_me: current value: $ac_new_val" >&2;} | 2567 | $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} |
1755 | ac_cache_corrupted=: | 2568 | ac_cache_corrupted=: |
2569 | else | ||
2570 | { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 | ||
2571 | $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} | ||
2572 | eval $ac_var=\$ac_old_val | ||
2573 | fi | ||
2574 | { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 | ||
2575 | $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} | ||
2576 | { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 | ||
2577 | $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} | ||
1756 | fi;; | 2578 | fi;; |
1757 | esac | 2579 | esac |
1758 | # Pass precious variables to config.status. | 2580 | # Pass precious variables to config.status. |
1759 | if test "$ac_new_set" = set; then | 2581 | if test "$ac_new_set" = set; then |
1760 | case $ac_new_val in | 2582 | case $ac_new_val in |
1761 | *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; | 2583 | *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; |
1762 | *) ac_arg=$ac_var=$ac_new_val ;; | 2584 | *) ac_arg=$ac_var=$ac_new_val ;; |
1763 | esac | 2585 | esac |
1764 | case " $ac_configure_args " in | 2586 | case " $ac_configure_args " in |
1765 | *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. | 2587 | *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. |
1766 | *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; | 2588 | *) as_fn_append ac_configure_args " '$ac_arg'" ;; |
1767 | esac | 2589 | esac |
1768 | fi | 2590 | fi |
1769 | done | 2591 | done |
1770 | if $ac_cache_corrupted; then | 2592 | if $ac_cache_corrupted; then |
1771 | { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 | 2593 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
1772 | echo "$as_me: error: changes in the environment can compromise the build" >&2;} | 2594 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
1773 | { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 | 2595 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 |
1774 | echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} | 2596 | $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} |
1775 | { (exit 1); exit 1; }; } | 2597 | as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 |
1776 | fi | 2598 | fi |
1777 | 2599 | ## -------------------- ## | |
1778 | 2600 | ## Main body of script. ## | |
1779 | 2601 | ## -------------------- ## | |
1780 | |||
1781 | |||
1782 | |||
1783 | |||
1784 | |||
1785 | |||
1786 | |||
1787 | |||
1788 | |||
1789 | |||
1790 | |||
1791 | |||
1792 | |||
1793 | |||
1794 | |||
1795 | |||
1796 | |||
1797 | |||
1798 | |||
1799 | |||
1800 | |||
1801 | 2602 | ||
1802 | ac_ext=c | 2603 | ac_ext=c |
1803 | ac_cpp='$CPP $CPPFLAGS' | 2604 | ac_cpp='$CPP $CPPFLAGS' |
@@ -1825,10 +2626,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu | |||
1825 | if test -n "$ac_tool_prefix"; then | 2626 | if test -n "$ac_tool_prefix"; then |
1826 | # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. | 2627 | # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. |
1827 | set dummy ${ac_tool_prefix}gcc; ac_word=$2 | 2628 | set dummy ${ac_tool_prefix}gcc; ac_word=$2 |
1828 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 2629 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
1829 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 2630 | $as_echo_n "checking for $ac_word... " >&6; } |
1830 | if test "${ac_cv_prog_CC+set}" = set; then | 2631 | if ${ac_cv_prog_CC+:} false; then : |
1831 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 2632 | $as_echo_n "(cached) " >&6 |
1832 | else | 2633 | else |
1833 | if test -n "$CC"; then | 2634 | if test -n "$CC"; then |
1834 | ac_cv_prog_CC="$CC" # Let the user override the test. | 2635 | ac_cv_prog_CC="$CC" # Let the user override the test. |
@@ -1838,25 +2639,25 @@ for as_dir in $PATH | |||
1838 | do | 2639 | do |
1839 | IFS=$as_save_IFS | 2640 | IFS=$as_save_IFS |
1840 | test -z "$as_dir" && as_dir=. | 2641 | test -z "$as_dir" && as_dir=. |
1841 | for ac_exec_ext in '' $ac_executable_extensions; do | 2642 | for ac_exec_ext in '' $ac_executable_extensions; do |
1842 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 2643 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
1843 | ac_cv_prog_CC="${ac_tool_prefix}gcc" | 2644 | ac_cv_prog_CC="${ac_tool_prefix}gcc" |
1844 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 2645 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
1845 | break 2 | 2646 | break 2 |
1846 | fi | 2647 | fi |
1847 | done | 2648 | done |
1848 | done | 2649 | done |
1849 | IFS=$as_save_IFS | 2650 | IFS=$as_save_IFS |
1850 | 2651 | ||
1851 | fi | 2652 | fi |
1852 | fi | 2653 | fi |
1853 | CC=$ac_cv_prog_CC | 2654 | CC=$ac_cv_prog_CC |
1854 | if test -n "$CC"; then | 2655 | if test -n "$CC"; then |
1855 | { echo "$as_me:$LINENO: result: $CC" >&5 | 2656 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 |
1856 | echo "${ECHO_T}$CC" >&6; } | 2657 | $as_echo "$CC" >&6; } |
1857 | else | 2658 | else |
1858 | { echo "$as_me:$LINENO: result: no" >&5 | 2659 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
1859 | echo "${ECHO_T}no" >&6; } | 2660 | $as_echo "no" >&6; } |
1860 | fi | 2661 | fi |
1861 | 2662 | ||
1862 | 2663 | ||
@@ -1865,10 +2666,10 @@ if test -z "$ac_cv_prog_CC"; then | |||
1865 | ac_ct_CC=$CC | 2666 | ac_ct_CC=$CC |
1866 | # Extract the first word of "gcc", so it can be a program name with args. | 2667 | # Extract the first word of "gcc", so it can be a program name with args. |
1867 | set dummy gcc; ac_word=$2 | 2668 | set dummy gcc; ac_word=$2 |
1868 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 2669 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
1869 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 2670 | $as_echo_n "checking for $ac_word... " >&6; } |
1870 | if test "${ac_cv_prog_ac_ct_CC+set}" = set; then | 2671 | if ${ac_cv_prog_ac_ct_CC+:} false; then : |
1871 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 2672 | $as_echo_n "(cached) " >&6 |
1872 | else | 2673 | else |
1873 | if test -n "$ac_ct_CC"; then | 2674 | if test -n "$ac_ct_CC"; then |
1874 | ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. | 2675 | ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. |
@@ -1878,25 +2679,25 @@ for as_dir in $PATH | |||
1878 | do | 2679 | do |
1879 | IFS=$as_save_IFS | 2680 | IFS=$as_save_IFS |
1880 | test -z "$as_dir" && as_dir=. | 2681 | test -z "$as_dir" && as_dir=. |
1881 | for ac_exec_ext in '' $ac_executable_extensions; do | 2682 | for ac_exec_ext in '' $ac_executable_extensions; do |
1882 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 2683 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
1883 | ac_cv_prog_ac_ct_CC="gcc" | 2684 | ac_cv_prog_ac_ct_CC="gcc" |
1884 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 2685 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
1885 | break 2 | 2686 | break 2 |
1886 | fi | 2687 | fi |
1887 | done | 2688 | done |
1888 | done | 2689 | done |
1889 | IFS=$as_save_IFS | 2690 | IFS=$as_save_IFS |
1890 | 2691 | ||
1891 | fi | 2692 | fi |
1892 | fi | 2693 | fi |
1893 | ac_ct_CC=$ac_cv_prog_ac_ct_CC | 2694 | ac_ct_CC=$ac_cv_prog_ac_ct_CC |
1894 | if test -n "$ac_ct_CC"; then | 2695 | if test -n "$ac_ct_CC"; then |
1895 | { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 | 2696 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 |
1896 | echo "${ECHO_T}$ac_ct_CC" >&6; } | 2697 | $as_echo "$ac_ct_CC" >&6; } |
1897 | else | 2698 | else |
1898 | { echo "$as_me:$LINENO: result: no" >&5 | 2699 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
1899 | echo "${ECHO_T}no" >&6; } | 2700 | $as_echo "no" >&6; } |
1900 | fi | 2701 | fi |
1901 | 2702 | ||
1902 | if test "x$ac_ct_CC" = x; then | 2703 | if test "x$ac_ct_CC" = x; then |
@@ -1904,12 +2705,8 @@ fi | |||
1904 | else | 2705 | else |
1905 | case $cross_compiling:$ac_tool_warned in | 2706 | case $cross_compiling:$ac_tool_warned in |
1906 | yes:) | 2707 | yes:) |
1907 | { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools | 2708 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
1908 | whose name does not start with the host triplet. If you think this | 2709 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
1909 | configuration is useful to you, please write to autoconf@gnu.org." >&5 | ||
1910 | echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools | ||
1911 | whose name does not start with the host triplet. If you think this | ||
1912 | configuration is useful to you, please write to autoconf@gnu.org." >&2;} | ||
1913 | ac_tool_warned=yes ;; | 2710 | ac_tool_warned=yes ;; |
1914 | esac | 2711 | esac |
1915 | CC=$ac_ct_CC | 2712 | CC=$ac_ct_CC |
@@ -1922,10 +2719,10 @@ if test -z "$CC"; then | |||
1922 | if test -n "$ac_tool_prefix"; then | 2719 | if test -n "$ac_tool_prefix"; then |
1923 | # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. | 2720 | # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. |
1924 | set dummy ${ac_tool_prefix}cc; ac_word=$2 | 2721 | set dummy ${ac_tool_prefix}cc; ac_word=$2 |
1925 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 2722 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
1926 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 2723 | $as_echo_n "checking for $ac_word... " >&6; } |
1927 | if test "${ac_cv_prog_CC+set}" = set; then | 2724 | if ${ac_cv_prog_CC+:} false; then : |
1928 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 2725 | $as_echo_n "(cached) " >&6 |
1929 | else | 2726 | else |
1930 | if test -n "$CC"; then | 2727 | if test -n "$CC"; then |
1931 | ac_cv_prog_CC="$CC" # Let the user override the test. | 2728 | ac_cv_prog_CC="$CC" # Let the user override the test. |
@@ -1935,25 +2732,25 @@ for as_dir in $PATH | |||
1935 | do | 2732 | do |
1936 | IFS=$as_save_IFS | 2733 | IFS=$as_save_IFS |
1937 | test -z "$as_dir" && as_dir=. | 2734 | test -z "$as_dir" && as_dir=. |
1938 | for ac_exec_ext in '' $ac_executable_extensions; do | 2735 | for ac_exec_ext in '' $ac_executable_extensions; do |
1939 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 2736 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
1940 | ac_cv_prog_CC="${ac_tool_prefix}cc" | 2737 | ac_cv_prog_CC="${ac_tool_prefix}cc" |
1941 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 2738 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
1942 | break 2 | 2739 | break 2 |
1943 | fi | 2740 | fi |
1944 | done | 2741 | done |
1945 | done | 2742 | done |
1946 | IFS=$as_save_IFS | 2743 | IFS=$as_save_IFS |
1947 | 2744 | ||
1948 | fi | 2745 | fi |
1949 | fi | 2746 | fi |
1950 | CC=$ac_cv_prog_CC | 2747 | CC=$ac_cv_prog_CC |
1951 | if test -n "$CC"; then | 2748 | if test -n "$CC"; then |
1952 | { echo "$as_me:$LINENO: result: $CC" >&5 | 2749 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 |
1953 | echo "${ECHO_T}$CC" >&6; } | 2750 | $as_echo "$CC" >&6; } |
1954 | else | 2751 | else |
1955 | { echo "$as_me:$LINENO: result: no" >&5 | 2752 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
1956 | echo "${ECHO_T}no" >&6; } | 2753 | $as_echo "no" >&6; } |
1957 | fi | 2754 | fi |
1958 | 2755 | ||
1959 | 2756 | ||
@@ -1962,10 +2759,10 @@ fi | |||
1962 | if test -z "$CC"; then | 2759 | if test -z "$CC"; then |
1963 | # Extract the first word of "cc", so it can be a program name with args. | 2760 | # Extract the first word of "cc", so it can be a program name with args. |
1964 | set dummy cc; ac_word=$2 | 2761 | set dummy cc; ac_word=$2 |
1965 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 2762 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
1966 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 2763 | $as_echo_n "checking for $ac_word... " >&6; } |
1967 | if test "${ac_cv_prog_CC+set}" = set; then | 2764 | if ${ac_cv_prog_CC+:} false; then : |
1968 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 2765 | $as_echo_n "(cached) " >&6 |
1969 | else | 2766 | else |
1970 | if test -n "$CC"; then | 2767 | if test -n "$CC"; then |
1971 | ac_cv_prog_CC="$CC" # Let the user override the test. | 2768 | ac_cv_prog_CC="$CC" # Let the user override the test. |
@@ -1976,18 +2773,18 @@ for as_dir in $PATH | |||
1976 | do | 2773 | do |
1977 | IFS=$as_save_IFS | 2774 | IFS=$as_save_IFS |
1978 | test -z "$as_dir" && as_dir=. | 2775 | test -z "$as_dir" && as_dir=. |
1979 | for ac_exec_ext in '' $ac_executable_extensions; do | 2776 | for ac_exec_ext in '' $ac_executable_extensions; do |
1980 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 2777 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
1981 | if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then | 2778 | if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then |
1982 | ac_prog_rejected=yes | 2779 | ac_prog_rejected=yes |
1983 | continue | 2780 | continue |
1984 | fi | 2781 | fi |
1985 | ac_cv_prog_CC="cc" | 2782 | ac_cv_prog_CC="cc" |
1986 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 2783 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
1987 | break 2 | 2784 | break 2 |
1988 | fi | 2785 | fi |
1989 | done | 2786 | done |
1990 | done | 2787 | done |
1991 | IFS=$as_save_IFS | 2788 | IFS=$as_save_IFS |
1992 | 2789 | ||
1993 | if test $ac_prog_rejected = yes; then | 2790 | if test $ac_prog_rejected = yes; then |
@@ -2006,11 +2803,11 @@ fi | |||
2006 | fi | 2803 | fi |
2007 | CC=$ac_cv_prog_CC | 2804 | CC=$ac_cv_prog_CC |
2008 | if test -n "$CC"; then | 2805 | if test -n "$CC"; then |
2009 | { echo "$as_me:$LINENO: result: $CC" >&5 | 2806 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 |
2010 | echo "${ECHO_T}$CC" >&6; } | 2807 | $as_echo "$CC" >&6; } |
2011 | else | 2808 | else |
2012 | { echo "$as_me:$LINENO: result: no" >&5 | 2809 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
2013 | echo "${ECHO_T}no" >&6; } | 2810 | $as_echo "no" >&6; } |
2014 | fi | 2811 | fi |
2015 | 2812 | ||
2016 | 2813 | ||
@@ -2021,10 +2818,10 @@ if test -z "$CC"; then | |||
2021 | do | 2818 | do |
2022 | # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. | 2819 | # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. |
2023 | set dummy $ac_tool_prefix$ac_prog; ac_word=$2 | 2820 | set dummy $ac_tool_prefix$ac_prog; ac_word=$2 |
2024 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 2821 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
2025 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 2822 | $as_echo_n "checking for $ac_word... " >&6; } |
2026 | if test "${ac_cv_prog_CC+set}" = set; then | 2823 | if ${ac_cv_prog_CC+:} false; then : |
2027 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 2824 | $as_echo_n "(cached) " >&6 |
2028 | else | 2825 | else |
2029 | if test -n "$CC"; then | 2826 | if test -n "$CC"; then |
2030 | ac_cv_prog_CC="$CC" # Let the user override the test. | 2827 | ac_cv_prog_CC="$CC" # Let the user override the test. |
@@ -2034,25 +2831,25 @@ for as_dir in $PATH | |||
2034 | do | 2831 | do |
2035 | IFS=$as_save_IFS | 2832 | IFS=$as_save_IFS |
2036 | test -z "$as_dir" && as_dir=. | 2833 | test -z "$as_dir" && as_dir=. |
2037 | for ac_exec_ext in '' $ac_executable_extensions; do | 2834 | for ac_exec_ext in '' $ac_executable_extensions; do |
2038 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 2835 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
2039 | ac_cv_prog_CC="$ac_tool_prefix$ac_prog" | 2836 | ac_cv_prog_CC="$ac_tool_prefix$ac_prog" |
2040 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 2837 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
2041 | break 2 | 2838 | break 2 |
2042 | fi | 2839 | fi |
2043 | done | 2840 | done |
2044 | done | 2841 | done |
2045 | IFS=$as_save_IFS | 2842 | IFS=$as_save_IFS |
2046 | 2843 | ||
2047 | fi | 2844 | fi |
2048 | fi | 2845 | fi |
2049 | CC=$ac_cv_prog_CC | 2846 | CC=$ac_cv_prog_CC |
2050 | if test -n "$CC"; then | 2847 | if test -n "$CC"; then |
2051 | { echo "$as_me:$LINENO: result: $CC" >&5 | 2848 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 |
2052 | echo "${ECHO_T}$CC" >&6; } | 2849 | $as_echo "$CC" >&6; } |
2053 | else | 2850 | else |
2054 | { echo "$as_me:$LINENO: result: no" >&5 | 2851 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
2055 | echo "${ECHO_T}no" >&6; } | 2852 | $as_echo "no" >&6; } |
2056 | fi | 2853 | fi |
2057 | 2854 | ||
2058 | 2855 | ||
@@ -2065,10 +2862,10 @@ if test -z "$CC"; then | |||
2065 | do | 2862 | do |
2066 | # Extract the first word of "$ac_prog", so it can be a program name with args. | 2863 | # Extract the first word of "$ac_prog", so it can be a program name with args. |
2067 | set dummy $ac_prog; ac_word=$2 | 2864 | set dummy $ac_prog; ac_word=$2 |
2068 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 2865 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
2069 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 2866 | $as_echo_n "checking for $ac_word... " >&6; } |
2070 | if test "${ac_cv_prog_ac_ct_CC+set}" = set; then | 2867 | if ${ac_cv_prog_ac_ct_CC+:} false; then : |
2071 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 2868 | $as_echo_n "(cached) " >&6 |
2072 | else | 2869 | else |
2073 | if test -n "$ac_ct_CC"; then | 2870 | if test -n "$ac_ct_CC"; then |
2074 | ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. | 2871 | ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. |
@@ -2078,25 +2875,25 @@ for as_dir in $PATH | |||
2078 | do | 2875 | do |
2079 | IFS=$as_save_IFS | 2876 | IFS=$as_save_IFS |
2080 | test -z "$as_dir" && as_dir=. | 2877 | test -z "$as_dir" && as_dir=. |
2081 | for ac_exec_ext in '' $ac_executable_extensions; do | 2878 | for ac_exec_ext in '' $ac_executable_extensions; do |
2082 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 2879 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
2083 | ac_cv_prog_ac_ct_CC="$ac_prog" | 2880 | ac_cv_prog_ac_ct_CC="$ac_prog" |
2084 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 2881 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
2085 | break 2 | 2882 | break 2 |
2086 | fi | 2883 | fi |
2087 | done | 2884 | done |
2088 | done | 2885 | done |
2089 | IFS=$as_save_IFS | 2886 | IFS=$as_save_IFS |
2090 | 2887 | ||
2091 | fi | 2888 | fi |
2092 | fi | 2889 | fi |
2093 | ac_ct_CC=$ac_cv_prog_ac_ct_CC | 2890 | ac_ct_CC=$ac_cv_prog_ac_ct_CC |
2094 | if test -n "$ac_ct_CC"; then | 2891 | if test -n "$ac_ct_CC"; then |
2095 | { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 | 2892 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 |
2096 | echo "${ECHO_T}$ac_ct_CC" >&6; } | 2893 | $as_echo "$ac_ct_CC" >&6; } |
2097 | else | 2894 | else |
2098 | { echo "$as_me:$LINENO: result: no" >&5 | 2895 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
2099 | echo "${ECHO_T}no" >&6; } | 2896 | $as_echo "no" >&6; } |
2100 | fi | 2897 | fi |
2101 | 2898 | ||
2102 | 2899 | ||
@@ -2108,12 +2905,8 @@ done | |||
2108 | else | 2905 | else |
2109 | case $cross_compiling:$ac_tool_warned in | 2906 | case $cross_compiling:$ac_tool_warned in |
2110 | yes:) | 2907 | yes:) |
2111 | { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools | 2908 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
2112 | whose name does not start with the host triplet. If you think this | 2909 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
2113 | configuration is useful to you, please write to autoconf@gnu.org." >&5 | ||
2114 | echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools | ||
2115 | whose name does not start with the host triplet. If you think this | ||
2116 | configuration is useful to you, please write to autoconf@gnu.org." >&2;} | ||
2117 | ac_tool_warned=yes ;; | 2910 | ac_tool_warned=yes ;; |
2118 | esac | 2911 | esac |
2119 | CC=$ac_ct_CC | 2912 | CC=$ac_ct_CC |
@@ -2123,51 +2916,37 @@ fi | |||
2123 | fi | 2916 | fi |
2124 | 2917 | ||
2125 | 2918 | ||
2126 | test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH | 2919 | test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
2127 | See \`config.log' for more details." >&5 | 2920 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
2128 | echo "$as_me: error: no acceptable C compiler found in \$PATH | 2921 | as_fn_error $? "no acceptable C compiler found in \$PATH |
2129 | See \`config.log' for more details." >&2;} | 2922 | See \`config.log' for more details" "$LINENO" 5; } |
2130 | { (exit 1); exit 1; }; } | ||
2131 | 2923 | ||
2132 | # Provide some information about the compiler. | 2924 | # Provide some information about the compiler. |
2133 | echo "$as_me:$LINENO: checking for C compiler version" >&5 | 2925 | $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 |
2134 | ac_compiler=`set X $ac_compile; echo $2` | 2926 | set X $ac_compile |
2135 | { (ac_try="$ac_compiler --version >&5" | 2927 | ac_compiler=$2 |
2136 | case "(($ac_try" in | 2928 | for ac_option in --version -v -V -qversion; do |
2137 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | 2929 | { { ac_try="$ac_compiler $ac_option >&5" |
2138 | *) ac_try_echo=$ac_try;; | ||
2139 | esac | ||
2140 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
2141 | (eval "$ac_compiler --version >&5") 2>&5 | ||
2142 | ac_status=$? | ||
2143 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2144 | (exit $ac_status); } | ||
2145 | { (ac_try="$ac_compiler -v >&5" | ||
2146 | case "(($ac_try" in | ||
2147 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
2148 | *) ac_try_echo=$ac_try;; | ||
2149 | esac | ||
2150 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
2151 | (eval "$ac_compiler -v >&5") 2>&5 | ||
2152 | ac_status=$? | ||
2153 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2154 | (exit $ac_status); } | ||
2155 | { (ac_try="$ac_compiler -V >&5" | ||
2156 | case "(($ac_try" in | 2930 | case "(($ac_try" in |
2157 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | 2931 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
2158 | *) ac_try_echo=$ac_try;; | 2932 | *) ac_try_echo=$ac_try;; |
2159 | esac | 2933 | esac |
2160 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | 2934 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
2161 | (eval "$ac_compiler -V >&5") 2>&5 | 2935 | $as_echo "$ac_try_echo"; } >&5 |
2936 | (eval "$ac_compiler $ac_option >&5") 2>conftest.err | ||
2162 | ac_status=$? | 2937 | ac_status=$? |
2163 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 2938 | if test -s conftest.err; then |
2164 | (exit $ac_status); } | 2939 | sed '10a\ |
2940 | ... rest of stderr output deleted ... | ||
2941 | 10q' conftest.err >conftest.er1 | ||
2942 | cat conftest.er1 >&5 | ||
2943 | fi | ||
2944 | rm -f conftest.er1 conftest.err | ||
2945 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
2946 | test $ac_status = 0; } | ||
2947 | done | ||
2165 | 2948 | ||
2166 | cat >conftest.$ac_ext <<_ACEOF | 2949 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
2167 | /* confdefs.h. */ | ||
2168 | _ACEOF | ||
2169 | cat confdefs.h >>conftest.$ac_ext | ||
2170 | cat >>conftest.$ac_ext <<_ACEOF | ||
2171 | /* end confdefs.h. */ | 2950 | /* end confdefs.h. */ |
2172 | 2951 | ||
2173 | int | 2952 | int |
@@ -2179,42 +2958,38 @@ main () | |||
2179 | } | 2958 | } |
2180 | _ACEOF | 2959 | _ACEOF |
2181 | ac_clean_files_save=$ac_clean_files | 2960 | ac_clean_files_save=$ac_clean_files |
2182 | ac_clean_files="$ac_clean_files a.out a.exe b.out" | 2961 | ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" |
2183 | # Try to create an executable without -o first, disregard a.out. | 2962 | # Try to create an executable without -o first, disregard a.out. |
2184 | # It will help us diagnose broken compilers, and finding out an intuition | 2963 | # It will help us diagnose broken compilers, and finding out an intuition |
2185 | # of exeext. | 2964 | # of exeext. |
2186 | { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 | 2965 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 |
2187 | echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } | 2966 | $as_echo_n "checking whether the C compiler works... " >&6; } |
2188 | ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` | 2967 | ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` |
2189 | # | 2968 | |
2190 | # List of possible output files, starting from the most likely. | 2969 | # The possible output files: |
2191 | # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) | 2970 | ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" |
2192 | # only as a last resort. b.out is created by i960 compilers. | 2971 | |
2193 | ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' | ||
2194 | # | ||
2195 | # The IRIX 6 linker writes into existing files which may not be | ||
2196 | # executable, retaining their permissions. Remove them first so a | ||
2197 | # subsequent execution test works. | ||
2198 | ac_rmfiles= | 2972 | ac_rmfiles= |
2199 | for ac_file in $ac_files | 2973 | for ac_file in $ac_files |
2200 | do | 2974 | do |
2201 | case $ac_file in | 2975 | case $ac_file in |
2202 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; | 2976 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; |
2203 | * ) ac_rmfiles="$ac_rmfiles $ac_file";; | 2977 | * ) ac_rmfiles="$ac_rmfiles $ac_file";; |
2204 | esac | 2978 | esac |
2205 | done | 2979 | done |
2206 | rm -f $ac_rmfiles | 2980 | rm -f $ac_rmfiles |
2207 | 2981 | ||
2208 | if { (ac_try="$ac_link_default" | 2982 | if { { ac_try="$ac_link_default" |
2209 | case "(($ac_try" in | 2983 | case "(($ac_try" in |
2210 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | 2984 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
2211 | *) ac_try_echo=$ac_try;; | 2985 | *) ac_try_echo=$ac_try;; |
2212 | esac | 2986 | esac |
2213 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | 2987 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
2988 | $as_echo "$ac_try_echo"; } >&5 | ||
2214 | (eval "$ac_link_default") 2>&5 | 2989 | (eval "$ac_link_default") 2>&5 |
2215 | ac_status=$? | 2990 | ac_status=$? |
2216 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 2991 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
2217 | (exit $ac_status); }; then | 2992 | test $ac_status = 0; }; then : |
2218 | # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. | 2993 | # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. |
2219 | # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' | 2994 | # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' |
2220 | # in a Makefile. We should not override ac_cv_exeext if it was cached, | 2995 | # in a Makefile. We should not override ac_cv_exeext if it was cached, |
@@ -2224,14 +2999,14 @@ for ac_file in $ac_files '' | |||
2224 | do | 2999 | do |
2225 | test -f "$ac_file" || continue | 3000 | test -f "$ac_file" || continue |
2226 | case $ac_file in | 3001 | case $ac_file in |
2227 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) | 3002 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) |
2228 | ;; | 3003 | ;; |
2229 | [ab].out ) | 3004 | [ab].out ) |
2230 | # We found the default executable, but exeext='' is most | 3005 | # We found the default executable, but exeext='' is most |
2231 | # certainly right. | 3006 | # certainly right. |
2232 | break;; | 3007 | break;; |
2233 | *.* ) | 3008 | *.* ) |
2234 | if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; | 3009 | if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; |
2235 | then :; else | 3010 | then :; else |
2236 | ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` | 3011 | ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` |
2237 | fi | 3012 | fi |
@@ -2250,78 +3025,41 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= | |||
2250 | else | 3025 | else |
2251 | ac_file='' | 3026 | ac_file='' |
2252 | fi | 3027 | fi |
2253 | 3028 | if test -z "$ac_file"; then : | |
2254 | { echo "$as_me:$LINENO: result: $ac_file" >&5 | 3029 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
2255 | echo "${ECHO_T}$ac_file" >&6; } | 3030 | $as_echo "no" >&6; } |
2256 | if test -z "$ac_file"; then | 3031 | $as_echo "$as_me: failed program was:" >&5 |
2257 | echo "$as_me: failed program was:" >&5 | ||
2258 | sed 's/^/| /' conftest.$ac_ext >&5 | 3032 | sed 's/^/| /' conftest.$ac_ext >&5 |
2259 | 3033 | ||
2260 | { { echo "$as_me:$LINENO: error: C compiler cannot create executables | 3034 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
2261 | See \`config.log' for more details." >&5 | 3035 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
2262 | echo "$as_me: error: C compiler cannot create executables | 3036 | as_fn_error 77 "C compiler cannot create executables |
2263 | See \`config.log' for more details." >&2;} | 3037 | See \`config.log' for more details" "$LINENO" 5; } |
2264 | { (exit 77); exit 77; }; } | 3038 | else |
3039 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
3040 | $as_echo "yes" >&6; } | ||
2265 | fi | 3041 | fi |
2266 | 3042 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 | |
3043 | $as_echo_n "checking for C compiler default output file name... " >&6; } | ||
3044 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 | ||
3045 | $as_echo "$ac_file" >&6; } | ||
2267 | ac_exeext=$ac_cv_exeext | 3046 | ac_exeext=$ac_cv_exeext |
2268 | 3047 | ||
2269 | # Check that the compiler produces executables we can run. If not, either | 3048 | rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out |
2270 | # the compiler is broken, or we cross compile. | ||
2271 | { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 | ||
2272 | echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } | ||
2273 | # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 | ||
2274 | # If not cross compiling, check that we can run a simple program. | ||
2275 | if test "$cross_compiling" != yes; then | ||
2276 | if { ac_try='./$ac_file' | ||
2277 | { (case "(($ac_try" in | ||
2278 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
2279 | *) ac_try_echo=$ac_try;; | ||
2280 | esac | ||
2281 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
2282 | (eval "$ac_try") 2>&5 | ||
2283 | ac_status=$? | ||
2284 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2285 | (exit $ac_status); }; }; then | ||
2286 | cross_compiling=no | ||
2287 | else | ||
2288 | if test "$cross_compiling" = maybe; then | ||
2289 | cross_compiling=yes | ||
2290 | else | ||
2291 | { { echo "$as_me:$LINENO: error: cannot run C compiled programs. | ||
2292 | If you meant to cross compile, use \`--host'. | ||
2293 | See \`config.log' for more details." >&5 | ||
2294 | echo "$as_me: error: cannot run C compiled programs. | ||
2295 | If you meant to cross compile, use \`--host'. | ||
2296 | See \`config.log' for more details." >&2;} | ||
2297 | { (exit 1); exit 1; }; } | ||
2298 | fi | ||
2299 | fi | ||
2300 | fi | ||
2301 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
2302 | echo "${ECHO_T}yes" >&6; } | ||
2303 | |||
2304 | rm -f a.out a.exe conftest$ac_cv_exeext b.out | ||
2305 | ac_clean_files=$ac_clean_files_save | 3049 | ac_clean_files=$ac_clean_files_save |
2306 | # Check that the compiler produces executables we can run. If not, either | 3050 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 |
2307 | # the compiler is broken, or we cross compile. | 3051 | $as_echo_n "checking for suffix of executables... " >&6; } |
2308 | { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 | 3052 | if { { ac_try="$ac_link" |
2309 | echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } | ||
2310 | { echo "$as_me:$LINENO: result: $cross_compiling" >&5 | ||
2311 | echo "${ECHO_T}$cross_compiling" >&6; } | ||
2312 | |||
2313 | { echo "$as_me:$LINENO: checking for suffix of executables" >&5 | ||
2314 | echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } | ||
2315 | if { (ac_try="$ac_link" | ||
2316 | case "(($ac_try" in | 3053 | case "(($ac_try" in |
2317 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | 3054 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
2318 | *) ac_try_echo=$ac_try;; | 3055 | *) ac_try_echo=$ac_try;; |
2319 | esac | 3056 | esac |
2320 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | 3057 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
3058 | $as_echo "$ac_try_echo"; } >&5 | ||
2321 | (eval "$ac_link") 2>&5 | 3059 | (eval "$ac_link") 2>&5 |
2322 | ac_status=$? | 3060 | ac_status=$? |
2323 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3061 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
2324 | (exit $ac_status); }; then | 3062 | test $ac_status = 0; }; then : |
2325 | # If both `conftest.exe' and `conftest' are `present' (well, observable) | 3063 | # If both `conftest.exe' and `conftest' are `present' (well, observable) |
2326 | # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will | 3064 | # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will |
2327 | # work properly (i.e., refer to `conftest.exe'), while it won't with | 3065 | # work properly (i.e., refer to `conftest.exe'), while it won't with |
@@ -2329,37 +3067,90 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | |||
2329 | for ac_file in conftest.exe conftest conftest.*; do | 3067 | for ac_file in conftest.exe conftest conftest.*; do |
2330 | test -f "$ac_file" || continue | 3068 | test -f "$ac_file" || continue |
2331 | case $ac_file in | 3069 | case $ac_file in |
2332 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; | 3070 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; |
2333 | *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` | 3071 | *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` |
2334 | break;; | 3072 | break;; |
2335 | * ) break;; | 3073 | * ) break;; |
2336 | esac | 3074 | esac |
2337 | done | 3075 | done |
2338 | else | 3076 | else |
2339 | { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link | 3077 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
2340 | See \`config.log' for more details." >&5 | 3078 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
2341 | echo "$as_me: error: cannot compute suffix of executables: cannot compile and link | 3079 | as_fn_error $? "cannot compute suffix of executables: cannot compile and link |
2342 | See \`config.log' for more details." >&2;} | 3080 | See \`config.log' for more details" "$LINENO" 5; } |
2343 | { (exit 1); exit 1; }; } | ||
2344 | fi | 3081 | fi |
2345 | 3082 | rm -f conftest conftest$ac_cv_exeext | |
2346 | rm -f conftest$ac_cv_exeext | 3083 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 |
2347 | { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 | 3084 | $as_echo "$ac_cv_exeext" >&6; } |
2348 | echo "${ECHO_T}$ac_cv_exeext" >&6; } | ||
2349 | 3085 | ||
2350 | rm -f conftest.$ac_ext | 3086 | rm -f conftest.$ac_ext |
2351 | EXEEXT=$ac_cv_exeext | 3087 | EXEEXT=$ac_cv_exeext |
2352 | ac_exeext=$EXEEXT | 3088 | ac_exeext=$EXEEXT |
2353 | { echo "$as_me:$LINENO: checking for suffix of object files" >&5 | 3089 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
2354 | echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } | 3090 | /* end confdefs.h. */ |
2355 | if test "${ac_cv_objext+set}" = set; then | 3091 | #include <stdio.h> |
2356 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 3092 | int |
2357 | else | 3093 | main () |
2358 | cat >conftest.$ac_ext <<_ACEOF | 3094 | { |
2359 | /* confdefs.h. */ | 3095 | FILE *f = fopen ("conftest.out", "w"); |
3096 | return ferror (f) || fclose (f) != 0; | ||
3097 | |||
3098 | ; | ||
3099 | return 0; | ||
3100 | } | ||
2360 | _ACEOF | 3101 | _ACEOF |
2361 | cat confdefs.h >>conftest.$ac_ext | 3102 | ac_clean_files="$ac_clean_files conftest.out" |
2362 | cat >>conftest.$ac_ext <<_ACEOF | 3103 | # Check that the compiler produces executables we can run. If not, either |
3104 | # the compiler is broken, or we cross compile. | ||
3105 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 | ||
3106 | $as_echo_n "checking whether we are cross compiling... " >&6; } | ||
3107 | if test "$cross_compiling" != yes; then | ||
3108 | { { ac_try="$ac_link" | ||
3109 | case "(($ac_try" in | ||
3110 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3111 | *) ac_try_echo=$ac_try;; | ||
3112 | esac | ||
3113 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
3114 | $as_echo "$ac_try_echo"; } >&5 | ||
3115 | (eval "$ac_link") 2>&5 | ||
3116 | ac_status=$? | ||
3117 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
3118 | test $ac_status = 0; } | ||
3119 | if { ac_try='./conftest$ac_cv_exeext' | ||
3120 | { { case "(($ac_try" in | ||
3121 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3122 | *) ac_try_echo=$ac_try;; | ||
3123 | esac | ||
3124 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
3125 | $as_echo "$ac_try_echo"; } >&5 | ||
3126 | (eval "$ac_try") 2>&5 | ||
3127 | ac_status=$? | ||
3128 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
3129 | test $ac_status = 0; }; }; then | ||
3130 | cross_compiling=no | ||
3131 | else | ||
3132 | if test "$cross_compiling" = maybe; then | ||
3133 | cross_compiling=yes | ||
3134 | else | ||
3135 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
3136 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
3137 | as_fn_error $? "cannot run C compiled programs. | ||
3138 | If you meant to cross compile, use \`--host'. | ||
3139 | See \`config.log' for more details" "$LINENO" 5; } | ||
3140 | fi | ||
3141 | fi | ||
3142 | fi | ||
3143 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 | ||
3144 | $as_echo "$cross_compiling" >&6; } | ||
3145 | |||
3146 | rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out | ||
3147 | ac_clean_files=$ac_clean_files_save | ||
3148 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 | ||
3149 | $as_echo_n "checking for suffix of object files... " >&6; } | ||
3150 | if ${ac_cv_objext+:} false; then : | ||
3151 | $as_echo_n "(cached) " >&6 | ||
3152 | else | ||
3153 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2363 | /* end confdefs.h. */ | 3154 | /* end confdefs.h. */ |
2364 | 3155 | ||
2365 | int | 3156 | int |
@@ -2371,51 +3162,46 @@ main () | |||
2371 | } | 3162 | } |
2372 | _ACEOF | 3163 | _ACEOF |
2373 | rm -f conftest.o conftest.obj | 3164 | rm -f conftest.o conftest.obj |
2374 | if { (ac_try="$ac_compile" | 3165 | if { { ac_try="$ac_compile" |
2375 | case "(($ac_try" in | 3166 | case "(($ac_try" in |
2376 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | 3167 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
2377 | *) ac_try_echo=$ac_try;; | 3168 | *) ac_try_echo=$ac_try;; |
2378 | esac | 3169 | esac |
2379 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | 3170 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" |
3171 | $as_echo "$ac_try_echo"; } >&5 | ||
2380 | (eval "$ac_compile") 2>&5 | 3172 | (eval "$ac_compile") 2>&5 |
2381 | ac_status=$? | 3173 | ac_status=$? |
2382 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3174 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
2383 | (exit $ac_status); }; then | 3175 | test $ac_status = 0; }; then : |
2384 | for ac_file in conftest.o conftest.obj conftest.*; do | 3176 | for ac_file in conftest.o conftest.obj conftest.*; do |
2385 | test -f "$ac_file" || continue; | 3177 | test -f "$ac_file" || continue; |
2386 | case $ac_file in | 3178 | case $ac_file in |
2387 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; | 3179 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; |
2388 | *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` | 3180 | *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` |
2389 | break;; | 3181 | break;; |
2390 | esac | 3182 | esac |
2391 | done | 3183 | done |
2392 | else | 3184 | else |
2393 | echo "$as_me: failed program was:" >&5 | 3185 | $as_echo "$as_me: failed program was:" >&5 |
2394 | sed 's/^/| /' conftest.$ac_ext >&5 | 3186 | sed 's/^/| /' conftest.$ac_ext >&5 |
2395 | 3187 | ||
2396 | { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile | 3188 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
2397 | See \`config.log' for more details." >&5 | 3189 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
2398 | echo "$as_me: error: cannot compute suffix of object files: cannot compile | 3190 | as_fn_error $? "cannot compute suffix of object files: cannot compile |
2399 | See \`config.log' for more details." >&2;} | 3191 | See \`config.log' for more details" "$LINENO" 5; } |
2400 | { (exit 1); exit 1; }; } | ||
2401 | fi | 3192 | fi |
2402 | |||
2403 | rm -f conftest.$ac_cv_objext conftest.$ac_ext | 3193 | rm -f conftest.$ac_cv_objext conftest.$ac_ext |
2404 | fi | 3194 | fi |
2405 | { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 | 3195 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 |
2406 | echo "${ECHO_T}$ac_cv_objext" >&6; } | 3196 | $as_echo "$ac_cv_objext" >&6; } |
2407 | OBJEXT=$ac_cv_objext | 3197 | OBJEXT=$ac_cv_objext |
2408 | ac_objext=$OBJEXT | 3198 | ac_objext=$OBJEXT |
2409 | { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 | 3199 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 |
2410 | echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } | 3200 | $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } |
2411 | if test "${ac_cv_c_compiler_gnu+set}" = set; then | 3201 | if ${ac_cv_c_compiler_gnu+:} false; then : |
2412 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 3202 | $as_echo_n "(cached) " >&6 |
2413 | else | 3203 | else |
2414 | cat >conftest.$ac_ext <<_ACEOF | 3204 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
2415 | /* confdefs.h. */ | ||
2416 | _ACEOF | ||
2417 | cat confdefs.h >>conftest.$ac_ext | ||
2418 | cat >>conftest.$ac_ext <<_ACEOF | ||
2419 | /* end confdefs.h. */ | 3205 | /* end confdefs.h. */ |
2420 | 3206 | ||
2421 | int | 3207 | int |
@@ -2429,54 +3215,34 @@ main () | |||
2429 | return 0; | 3215 | return 0; |
2430 | } | 3216 | } |
2431 | _ACEOF | 3217 | _ACEOF |
2432 | rm -f conftest.$ac_objext | 3218 | if ac_fn_c_try_compile "$LINENO"; then : |
2433 | if { (ac_try="$ac_compile" | ||
2434 | case "(($ac_try" in | ||
2435 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
2436 | *) ac_try_echo=$ac_try;; | ||
2437 | esac | ||
2438 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
2439 | (eval "$ac_compile") 2>conftest.er1 | ||
2440 | ac_status=$? | ||
2441 | grep -v '^ *+' conftest.er1 >conftest.err | ||
2442 | rm -f conftest.er1 | ||
2443 | cat conftest.err >&5 | ||
2444 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2445 | (exit $ac_status); } && { | ||
2446 | test -z "$ac_c_werror_flag" || | ||
2447 | test ! -s conftest.err | ||
2448 | } && test -s conftest.$ac_objext; then | ||
2449 | ac_compiler_gnu=yes | 3219 | ac_compiler_gnu=yes |
2450 | else | 3220 | else |
2451 | echo "$as_me: failed program was:" >&5 | 3221 | ac_compiler_gnu=no |
2452 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
2453 | |||
2454 | ac_compiler_gnu=no | ||
2455 | fi | 3222 | fi |
2456 | |||
2457 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 3223 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
2458 | ac_cv_c_compiler_gnu=$ac_compiler_gnu | 3224 | ac_cv_c_compiler_gnu=$ac_compiler_gnu |
2459 | 3225 | ||
2460 | fi | 3226 | fi |
2461 | { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 | 3227 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 |
2462 | echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } | 3228 | $as_echo "$ac_cv_c_compiler_gnu" >&6; } |
2463 | GCC=`test $ac_compiler_gnu = yes && echo yes` | 3229 | if test $ac_compiler_gnu = yes; then |
3230 | GCC=yes | ||
3231 | else | ||
3232 | GCC= | ||
3233 | fi | ||
2464 | ac_test_CFLAGS=${CFLAGS+set} | 3234 | ac_test_CFLAGS=${CFLAGS+set} |
2465 | ac_save_CFLAGS=$CFLAGS | 3235 | ac_save_CFLAGS=$CFLAGS |
2466 | { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 | 3236 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 |
2467 | echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } | 3237 | $as_echo_n "checking whether $CC accepts -g... " >&6; } |
2468 | if test "${ac_cv_prog_cc_g+set}" = set; then | 3238 | if ${ac_cv_prog_cc_g+:} false; then : |
2469 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 3239 | $as_echo_n "(cached) " >&6 |
2470 | else | 3240 | else |
2471 | ac_save_c_werror_flag=$ac_c_werror_flag | 3241 | ac_save_c_werror_flag=$ac_c_werror_flag |
2472 | ac_c_werror_flag=yes | 3242 | ac_c_werror_flag=yes |
2473 | ac_cv_prog_cc_g=no | 3243 | ac_cv_prog_cc_g=no |
2474 | CFLAGS="-g" | 3244 | CFLAGS="-g" |
2475 | cat >conftest.$ac_ext <<_ACEOF | 3245 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
2476 | /* confdefs.h. */ | ||
2477 | _ACEOF | ||
2478 | cat confdefs.h >>conftest.$ac_ext | ||
2479 | cat >>conftest.$ac_ext <<_ACEOF | ||
2480 | /* end confdefs.h. */ | 3246 | /* end confdefs.h. */ |
2481 | 3247 | ||
2482 | int | 3248 | int |
@@ -2487,34 +3253,11 @@ main () | |||
2487 | return 0; | 3253 | return 0; |
2488 | } | 3254 | } |
2489 | _ACEOF | 3255 | _ACEOF |
2490 | rm -f conftest.$ac_objext | 3256 | if ac_fn_c_try_compile "$LINENO"; then : |
2491 | if { (ac_try="$ac_compile" | ||
2492 | case "(($ac_try" in | ||
2493 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
2494 | *) ac_try_echo=$ac_try;; | ||
2495 | esac | ||
2496 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
2497 | (eval "$ac_compile") 2>conftest.er1 | ||
2498 | ac_status=$? | ||
2499 | grep -v '^ *+' conftest.er1 >conftest.err | ||
2500 | rm -f conftest.er1 | ||
2501 | cat conftest.err >&5 | ||
2502 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2503 | (exit $ac_status); } && { | ||
2504 | test -z "$ac_c_werror_flag" || | ||
2505 | test ! -s conftest.err | ||
2506 | } && test -s conftest.$ac_objext; then | ||
2507 | ac_cv_prog_cc_g=yes | 3257 | ac_cv_prog_cc_g=yes |
2508 | else | 3258 | else |
2509 | echo "$as_me: failed program was:" >&5 | 3259 | CFLAGS="" |
2510 | sed 's/^/| /' conftest.$ac_ext >&5 | 3260 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
2511 | |||
2512 | CFLAGS="" | ||
2513 | cat >conftest.$ac_ext <<_ACEOF | ||
2514 | /* confdefs.h. */ | ||
2515 | _ACEOF | ||
2516 | cat confdefs.h >>conftest.$ac_ext | ||
2517 | cat >>conftest.$ac_ext <<_ACEOF | ||
2518 | /* end confdefs.h. */ | 3261 | /* end confdefs.h. */ |
2519 | 3262 | ||
2520 | int | 3263 | int |
@@ -2525,35 +3268,12 @@ main () | |||
2525 | return 0; | 3268 | return 0; |
2526 | } | 3269 | } |
2527 | _ACEOF | 3270 | _ACEOF |
2528 | rm -f conftest.$ac_objext | 3271 | if ac_fn_c_try_compile "$LINENO"; then : |
2529 | if { (ac_try="$ac_compile" | ||
2530 | case "(($ac_try" in | ||
2531 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
2532 | *) ac_try_echo=$ac_try;; | ||
2533 | esac | ||
2534 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
2535 | (eval "$ac_compile") 2>conftest.er1 | ||
2536 | ac_status=$? | ||
2537 | grep -v '^ *+' conftest.er1 >conftest.err | ||
2538 | rm -f conftest.er1 | ||
2539 | cat conftest.err >&5 | ||
2540 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2541 | (exit $ac_status); } && { | ||
2542 | test -z "$ac_c_werror_flag" || | ||
2543 | test ! -s conftest.err | ||
2544 | } && test -s conftest.$ac_objext; then | ||
2545 | : | ||
2546 | else | ||
2547 | echo "$as_me: failed program was:" >&5 | ||
2548 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
2549 | 3272 | ||
2550 | ac_c_werror_flag=$ac_save_c_werror_flag | 3273 | else |
3274 | ac_c_werror_flag=$ac_save_c_werror_flag | ||
2551 | CFLAGS="-g" | 3275 | CFLAGS="-g" |
2552 | cat >conftest.$ac_ext <<_ACEOF | 3276 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
2553 | /* confdefs.h. */ | ||
2554 | _ACEOF | ||
2555 | cat confdefs.h >>conftest.$ac_ext | ||
2556 | cat >>conftest.$ac_ext <<_ACEOF | ||
2557 | /* end confdefs.h. */ | 3277 | /* end confdefs.h. */ |
2558 | 3278 | ||
2559 | int | 3279 | int |
@@ -2564,42 +3284,18 @@ main () | |||
2564 | return 0; | 3284 | return 0; |
2565 | } | 3285 | } |
2566 | _ACEOF | 3286 | _ACEOF |
2567 | rm -f conftest.$ac_objext | 3287 | if ac_fn_c_try_compile "$LINENO"; then : |
2568 | if { (ac_try="$ac_compile" | ||
2569 | case "(($ac_try" in | ||
2570 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
2571 | *) ac_try_echo=$ac_try;; | ||
2572 | esac | ||
2573 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
2574 | (eval "$ac_compile") 2>conftest.er1 | ||
2575 | ac_status=$? | ||
2576 | grep -v '^ *+' conftest.er1 >conftest.err | ||
2577 | rm -f conftest.er1 | ||
2578 | cat conftest.err >&5 | ||
2579 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2580 | (exit $ac_status); } && { | ||
2581 | test -z "$ac_c_werror_flag" || | ||
2582 | test ! -s conftest.err | ||
2583 | } && test -s conftest.$ac_objext; then | ||
2584 | ac_cv_prog_cc_g=yes | 3288 | ac_cv_prog_cc_g=yes |
2585 | else | ||
2586 | echo "$as_me: failed program was:" >&5 | ||
2587 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
2588 | |||
2589 | |||
2590 | fi | 3289 | fi |
2591 | |||
2592 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 3290 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
2593 | fi | 3291 | fi |
2594 | |||
2595 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 3292 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
2596 | fi | 3293 | fi |
2597 | |||
2598 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 3294 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
2599 | ac_c_werror_flag=$ac_save_c_werror_flag | 3295 | ac_c_werror_flag=$ac_save_c_werror_flag |
2600 | fi | 3296 | fi |
2601 | { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 | 3297 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 |
2602 | echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } | 3298 | $as_echo "$ac_cv_prog_cc_g" >&6; } |
2603 | if test "$ac_test_CFLAGS" = set; then | 3299 | if test "$ac_test_CFLAGS" = set; then |
2604 | CFLAGS=$ac_save_CFLAGS | 3300 | CFLAGS=$ac_save_CFLAGS |
2605 | elif test $ac_cv_prog_cc_g = yes; then | 3301 | elif test $ac_cv_prog_cc_g = yes; then |
@@ -2615,23 +3311,18 @@ else | |||
2615 | CFLAGS= | 3311 | CFLAGS= |
2616 | fi | 3312 | fi |
2617 | fi | 3313 | fi |
2618 | { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 | 3314 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 |
2619 | echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } | 3315 | $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } |
2620 | if test "${ac_cv_prog_cc_c89+set}" = set; then | 3316 | if ${ac_cv_prog_cc_c89+:} false; then : |
2621 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 3317 | $as_echo_n "(cached) " >&6 |
2622 | else | 3318 | else |
2623 | ac_cv_prog_cc_c89=no | 3319 | ac_cv_prog_cc_c89=no |
2624 | ac_save_CC=$CC | 3320 | ac_save_CC=$CC |
2625 | cat >conftest.$ac_ext <<_ACEOF | 3321 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
2626 | /* confdefs.h. */ | ||
2627 | _ACEOF | ||
2628 | cat confdefs.h >>conftest.$ac_ext | ||
2629 | cat >>conftest.$ac_ext <<_ACEOF | ||
2630 | /* end confdefs.h. */ | 3322 | /* end confdefs.h. */ |
2631 | #include <stdarg.h> | 3323 | #include <stdarg.h> |
2632 | #include <stdio.h> | 3324 | #include <stdio.h> |
2633 | #include <sys/types.h> | 3325 | struct stat; |
2634 | #include <sys/stat.h> | ||
2635 | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ | 3326 | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ |
2636 | struct buf { int x; }; | 3327 | struct buf { int x; }; |
2637 | FILE * (*rcsopen) (struct buf *, struct stat *, int); | 3328 | FILE * (*rcsopen) (struct buf *, struct stat *, int); |
@@ -2683,31 +3374,9 @@ for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ | |||
2683 | -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" | 3374 | -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" |
2684 | do | 3375 | do |
2685 | CC="$ac_save_CC $ac_arg" | 3376 | CC="$ac_save_CC $ac_arg" |
2686 | rm -f conftest.$ac_objext | 3377 | if ac_fn_c_try_compile "$LINENO"; then : |
2687 | if { (ac_try="$ac_compile" | ||
2688 | case "(($ac_try" in | ||
2689 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
2690 | *) ac_try_echo=$ac_try;; | ||
2691 | esac | ||
2692 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
2693 | (eval "$ac_compile") 2>conftest.er1 | ||
2694 | ac_status=$? | ||
2695 | grep -v '^ *+' conftest.er1 >conftest.err | ||
2696 | rm -f conftest.er1 | ||
2697 | cat conftest.err >&5 | ||
2698 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2699 | (exit $ac_status); } && { | ||
2700 | test -z "$ac_c_werror_flag" || | ||
2701 | test ! -s conftest.err | ||
2702 | } && test -s conftest.$ac_objext; then | ||
2703 | ac_cv_prog_cc_c89=$ac_arg | 3378 | ac_cv_prog_cc_c89=$ac_arg |
2704 | else | ||
2705 | echo "$as_me: failed program was:" >&5 | ||
2706 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
2707 | |||
2708 | |||
2709 | fi | 3379 | fi |
2710 | |||
2711 | rm -f core conftest.err conftest.$ac_objext | 3380 | rm -f core conftest.err conftest.$ac_objext |
2712 | test "x$ac_cv_prog_cc_c89" != "xno" && break | 3381 | test "x$ac_cv_prog_cc_c89" != "xno" && break |
2713 | done | 3382 | done |
@@ -2718,17 +3387,19 @@ fi | |||
2718 | # AC_CACHE_VAL | 3387 | # AC_CACHE_VAL |
2719 | case "x$ac_cv_prog_cc_c89" in | 3388 | case "x$ac_cv_prog_cc_c89" in |
2720 | x) | 3389 | x) |
2721 | { echo "$as_me:$LINENO: result: none needed" >&5 | 3390 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 |
2722 | echo "${ECHO_T}none needed" >&6; } ;; | 3391 | $as_echo "none needed" >&6; } ;; |
2723 | xno) | 3392 | xno) |
2724 | { echo "$as_me:$LINENO: result: unsupported" >&5 | 3393 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 |
2725 | echo "${ECHO_T}unsupported" >&6; } ;; | 3394 | $as_echo "unsupported" >&6; } ;; |
2726 | *) | 3395 | *) |
2727 | CC="$CC $ac_cv_prog_cc_c89" | 3396 | CC="$CC $ac_cv_prog_cc_c89" |
2728 | { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 | 3397 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 |
2729 | echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; | 3398 | $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; |
2730 | esac | 3399 | esac |
3400 | if test "x$ac_cv_prog_cc_c89" != xno; then : | ||
2731 | 3401 | ||
3402 | fi | ||
2732 | 3403 | ||
2733 | ac_ext=c | 3404 | ac_ext=c |
2734 | ac_cpp='$CPP $CPPFLAGS' | 3405 | ac_cpp='$CPP $CPPFLAGS' |
@@ -2753,9 +3424,7 @@ for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do | |||
2753 | fi | 3424 | fi |
2754 | done | 3425 | done |
2755 | if test -z "$ac_aux_dir"; then | 3426 | if test -z "$ac_aux_dir"; then |
2756 | { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 | 3427 | as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 |
2757 | echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} | ||
2758 | { (exit 1); exit 1; }; } | ||
2759 | fi | 3428 | fi |
2760 | 3429 | ||
2761 | # These three variables are undocumented and unsupported, | 3430 | # These three variables are undocumented and unsupported, |
@@ -2769,35 +3438,27 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. | |||
2769 | 3438 | ||
2770 | # Make sure we can run config.sub. | 3439 | # Make sure we can run config.sub. |
2771 | $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || | 3440 | $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || |
2772 | { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 | 3441 | as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 |
2773 | echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} | ||
2774 | { (exit 1); exit 1; }; } | ||
2775 | 3442 | ||
2776 | { echo "$as_me:$LINENO: checking build system type" >&5 | 3443 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 |
2777 | echo $ECHO_N "checking build system type... $ECHO_C" >&6; } | 3444 | $as_echo_n "checking build system type... " >&6; } |
2778 | if test "${ac_cv_build+set}" = set; then | 3445 | if ${ac_cv_build+:} false; then : |
2779 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 3446 | $as_echo_n "(cached) " >&6 |
2780 | else | 3447 | else |
2781 | ac_build_alias=$build_alias | 3448 | ac_build_alias=$build_alias |
2782 | test "x$ac_build_alias" = x && | 3449 | test "x$ac_build_alias" = x && |
2783 | ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` | 3450 | ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` |
2784 | test "x$ac_build_alias" = x && | 3451 | test "x$ac_build_alias" = x && |
2785 | { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 | 3452 | as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 |
2786 | echo "$as_me: error: cannot guess build type; you must specify one" >&2;} | ||
2787 | { (exit 1); exit 1; }; } | ||
2788 | ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || | 3453 | ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || |
2789 | { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 | 3454 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 |
2790 | echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} | ||
2791 | { (exit 1); exit 1; }; } | ||
2792 | 3455 | ||
2793 | fi | 3456 | fi |
2794 | { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 | 3457 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 |
2795 | echo "${ECHO_T}$ac_cv_build" >&6; } | 3458 | $as_echo "$ac_cv_build" >&6; } |
2796 | case $ac_cv_build in | 3459 | case $ac_cv_build in |
2797 | *-*-*) ;; | 3460 | *-*-*) ;; |
2798 | *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 | 3461 | *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; |
2799 | echo "$as_me: error: invalid value of canonical build" >&2;} | ||
2800 | { (exit 1); exit 1; }; };; | ||
2801 | esac | 3462 | esac |
2802 | build=$ac_cv_build | 3463 | build=$ac_cv_build |
2803 | ac_save_IFS=$IFS; IFS='-' | 3464 | ac_save_IFS=$IFS; IFS='-' |
@@ -2813,28 +3474,24 @@ IFS=$ac_save_IFS | |||
2813 | case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac | 3474 | case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac |
2814 | 3475 | ||
2815 | 3476 | ||
2816 | { echo "$as_me:$LINENO: checking host system type" >&5 | 3477 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 |
2817 | echo $ECHO_N "checking host system type... $ECHO_C" >&6; } | 3478 | $as_echo_n "checking host system type... " >&6; } |
2818 | if test "${ac_cv_host+set}" = set; then | 3479 | if ${ac_cv_host+:} false; then : |
2819 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 3480 | $as_echo_n "(cached) " >&6 |
2820 | else | 3481 | else |
2821 | if test "x$host_alias" = x; then | 3482 | if test "x$host_alias" = x; then |
2822 | ac_cv_host=$ac_cv_build | 3483 | ac_cv_host=$ac_cv_build |
2823 | else | 3484 | else |
2824 | ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || | 3485 | ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || |
2825 | { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 | 3486 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 |
2826 | echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} | ||
2827 | { (exit 1); exit 1; }; } | ||
2828 | fi | 3487 | fi |
2829 | 3488 | ||
2830 | fi | 3489 | fi |
2831 | { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 | 3490 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 |
2832 | echo "${ECHO_T}$ac_cv_host" >&6; } | 3491 | $as_echo "$ac_cv_host" >&6; } |
2833 | case $ac_cv_host in | 3492 | case $ac_cv_host in |
2834 | *-*-*) ;; | 3493 | *-*-*) ;; |
2835 | *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 | 3494 | *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; |
2836 | echo "$as_me: error: invalid value of canonical host" >&2;} | ||
2837 | { (exit 1); exit 1; }; };; | ||
2838 | esac | 3495 | esac |
2839 | host=$ac_cv_host | 3496 | host=$ac_cv_host |
2840 | ac_save_IFS=$IFS; IFS='-' | 3497 | ac_save_IFS=$IFS; IFS='-' |
@@ -2856,15 +3513,15 @@ ac_cpp='$CPP $CPPFLAGS' | |||
2856 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | 3513 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' |
2857 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | 3514 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' |
2858 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | 3515 | ac_compiler_gnu=$ac_cv_c_compiler_gnu |
2859 | { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 | 3516 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 |
2860 | echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } | 3517 | $as_echo_n "checking how to run the C preprocessor... " >&6; } |
2861 | # On Suns, sometimes $CPP names a directory. | 3518 | # On Suns, sometimes $CPP names a directory. |
2862 | if test -n "$CPP" && test -d "$CPP"; then | 3519 | if test -n "$CPP" && test -d "$CPP"; then |
2863 | CPP= | 3520 | CPP= |
2864 | fi | 3521 | fi |
2865 | if test -z "$CPP"; then | 3522 | if test -z "$CPP"; then |
2866 | if test "${ac_cv_prog_CPP+set}" = set; then | 3523 | if ${ac_cv_prog_CPP+:} false; then : |
2867 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 3524 | $as_echo_n "(cached) " >&6 |
2868 | else | 3525 | else |
2869 | # Double quotes because CPP needs to be expanded | 3526 | # Double quotes because CPP needs to be expanded |
2870 | for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" | 3527 | for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" |
@@ -2878,11 +3535,7 @@ do | |||
2878 | # <limits.h> exists even on freestanding compilers. | 3535 | # <limits.h> exists even on freestanding compilers. |
2879 | # On the NeXT, cc -E runs the code through the compiler's parser, | 3536 | # On the NeXT, cc -E runs the code through the compiler's parser, |
2880 | # not just through cpp. "Syntax error" is here to catch this case. | 3537 | # not just through cpp. "Syntax error" is here to catch this case. |
2881 | cat >conftest.$ac_ext <<_ACEOF | 3538 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
2882 | /* confdefs.h. */ | ||
2883 | _ACEOF | ||
2884 | cat confdefs.h >>conftest.$ac_ext | ||
2885 | cat >>conftest.$ac_ext <<_ACEOF | ||
2886 | /* end confdefs.h. */ | 3539 | /* end confdefs.h. */ |
2887 | #ifdef __STDC__ | 3540 | #ifdef __STDC__ |
2888 | # include <limits.h> | 3541 | # include <limits.h> |
@@ -2891,76 +3544,34 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
2891 | #endif | 3544 | #endif |
2892 | Syntax error | 3545 | Syntax error |
2893 | _ACEOF | 3546 | _ACEOF |
2894 | if { (ac_try="$ac_cpp conftest.$ac_ext" | 3547 | if ac_fn_c_try_cpp "$LINENO"; then : |
2895 | case "(($ac_try" in | ||
2896 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
2897 | *) ac_try_echo=$ac_try;; | ||
2898 | esac | ||
2899 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
2900 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
2901 | ac_status=$? | ||
2902 | grep -v '^ *+' conftest.er1 >conftest.err | ||
2903 | rm -f conftest.er1 | ||
2904 | cat conftest.err >&5 | ||
2905 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2906 | (exit $ac_status); } >/dev/null && { | ||
2907 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
2908 | test ! -s conftest.err | ||
2909 | }; then | ||
2910 | : | ||
2911 | else | ||
2912 | echo "$as_me: failed program was:" >&5 | ||
2913 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
2914 | 3548 | ||
3549 | else | ||
2915 | # Broken: fails on valid input. | 3550 | # Broken: fails on valid input. |
2916 | continue | 3551 | continue |
2917 | fi | 3552 | fi |
2918 | 3553 | rm -f conftest.err conftest.i conftest.$ac_ext | |
2919 | rm -f conftest.err conftest.$ac_ext | ||
2920 | 3554 | ||
2921 | # OK, works on sane cases. Now check whether nonexistent headers | 3555 | # OK, works on sane cases. Now check whether nonexistent headers |
2922 | # can be detected and how. | 3556 | # can be detected and how. |
2923 | cat >conftest.$ac_ext <<_ACEOF | 3557 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
2924 | /* confdefs.h. */ | ||
2925 | _ACEOF | ||
2926 | cat confdefs.h >>conftest.$ac_ext | ||
2927 | cat >>conftest.$ac_ext <<_ACEOF | ||
2928 | /* end confdefs.h. */ | 3558 | /* end confdefs.h. */ |
2929 | #include <ac_nonexistent.h> | 3559 | #include <ac_nonexistent.h> |
2930 | _ACEOF | 3560 | _ACEOF |
2931 | if { (ac_try="$ac_cpp conftest.$ac_ext" | 3561 | if ac_fn_c_try_cpp "$LINENO"; then : |
2932 | case "(($ac_try" in | ||
2933 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
2934 | *) ac_try_echo=$ac_try;; | ||
2935 | esac | ||
2936 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
2937 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
2938 | ac_status=$? | ||
2939 | grep -v '^ *+' conftest.er1 >conftest.err | ||
2940 | rm -f conftest.er1 | ||
2941 | cat conftest.err >&5 | ||
2942 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2943 | (exit $ac_status); } >/dev/null && { | ||
2944 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
2945 | test ! -s conftest.err | ||
2946 | }; then | ||
2947 | # Broken: success on invalid input. | 3562 | # Broken: success on invalid input. |
2948 | continue | 3563 | continue |
2949 | else | 3564 | else |
2950 | echo "$as_me: failed program was:" >&5 | ||
2951 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
2952 | |||
2953 | # Passes both tests. | 3565 | # Passes both tests. |
2954 | ac_preproc_ok=: | 3566 | ac_preproc_ok=: |
2955 | break | 3567 | break |
2956 | fi | 3568 | fi |
2957 | 3569 | rm -f conftest.err conftest.i conftest.$ac_ext | |
2958 | rm -f conftest.err conftest.$ac_ext | ||
2959 | 3570 | ||
2960 | done | 3571 | done |
2961 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 3572 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
2962 | rm -f conftest.err conftest.$ac_ext | 3573 | rm -f conftest.i conftest.err conftest.$ac_ext |
2963 | if $ac_preproc_ok; then | 3574 | if $ac_preproc_ok; then : |
2964 | break | 3575 | break |
2965 | fi | 3576 | fi |
2966 | 3577 | ||
@@ -2972,8 +3583,8 @@ fi | |||
2972 | else | 3583 | else |
2973 | ac_cv_prog_CPP=$CPP | 3584 | ac_cv_prog_CPP=$CPP |
2974 | fi | 3585 | fi |
2975 | { echo "$as_me:$LINENO: result: $CPP" >&5 | 3586 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 |
2976 | echo "${ECHO_T}$CPP" >&6; } | 3587 | $as_echo "$CPP" >&6; } |
2977 | ac_preproc_ok=false | 3588 | ac_preproc_ok=false |
2978 | for ac_c_preproc_warn_flag in '' yes | 3589 | for ac_c_preproc_warn_flag in '' yes |
2979 | do | 3590 | do |
@@ -2983,11 +3594,7 @@ do | |||
2983 | # <limits.h> exists even on freestanding compilers. | 3594 | # <limits.h> exists even on freestanding compilers. |
2984 | # On the NeXT, cc -E runs the code through the compiler's parser, | 3595 | # On the NeXT, cc -E runs the code through the compiler's parser, |
2985 | # not just through cpp. "Syntax error" is here to catch this case. | 3596 | # not just through cpp. "Syntax error" is here to catch this case. |
2986 | cat >conftest.$ac_ext <<_ACEOF | 3597 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
2987 | /* confdefs.h. */ | ||
2988 | _ACEOF | ||
2989 | cat confdefs.h >>conftest.$ac_ext | ||
2990 | cat >>conftest.$ac_ext <<_ACEOF | ||
2991 | /* end confdefs.h. */ | 3598 | /* end confdefs.h. */ |
2992 | #ifdef __STDC__ | 3599 | #ifdef __STDC__ |
2993 | # include <limits.h> | 3600 | # include <limits.h> |
@@ -2996,83 +3603,40 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
2996 | #endif | 3603 | #endif |
2997 | Syntax error | 3604 | Syntax error |
2998 | _ACEOF | 3605 | _ACEOF |
2999 | if { (ac_try="$ac_cpp conftest.$ac_ext" | 3606 | if ac_fn_c_try_cpp "$LINENO"; then : |
3000 | case "(($ac_try" in | ||
3001 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3002 | *) ac_try_echo=$ac_try;; | ||
3003 | esac | ||
3004 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3005 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
3006 | ac_status=$? | ||
3007 | grep -v '^ *+' conftest.er1 >conftest.err | ||
3008 | rm -f conftest.er1 | ||
3009 | cat conftest.err >&5 | ||
3010 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3011 | (exit $ac_status); } >/dev/null && { | ||
3012 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
3013 | test ! -s conftest.err | ||
3014 | }; then | ||
3015 | : | ||
3016 | else | ||
3017 | echo "$as_me: failed program was:" >&5 | ||
3018 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
3019 | 3607 | ||
3608 | else | ||
3020 | # Broken: fails on valid input. | 3609 | # Broken: fails on valid input. |
3021 | continue | 3610 | continue |
3022 | fi | 3611 | fi |
3023 | 3612 | rm -f conftest.err conftest.i conftest.$ac_ext | |
3024 | rm -f conftest.err conftest.$ac_ext | ||
3025 | 3613 | ||
3026 | # OK, works on sane cases. Now check whether nonexistent headers | 3614 | # OK, works on sane cases. Now check whether nonexistent headers |
3027 | # can be detected and how. | 3615 | # can be detected and how. |
3028 | cat >conftest.$ac_ext <<_ACEOF | 3616 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
3029 | /* confdefs.h. */ | ||
3030 | _ACEOF | ||
3031 | cat confdefs.h >>conftest.$ac_ext | ||
3032 | cat >>conftest.$ac_ext <<_ACEOF | ||
3033 | /* end confdefs.h. */ | 3617 | /* end confdefs.h. */ |
3034 | #include <ac_nonexistent.h> | 3618 | #include <ac_nonexistent.h> |
3035 | _ACEOF | 3619 | _ACEOF |
3036 | if { (ac_try="$ac_cpp conftest.$ac_ext" | 3620 | if ac_fn_c_try_cpp "$LINENO"; then : |
3037 | case "(($ac_try" in | ||
3038 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3039 | *) ac_try_echo=$ac_try;; | ||
3040 | esac | ||
3041 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3042 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
3043 | ac_status=$? | ||
3044 | grep -v '^ *+' conftest.er1 >conftest.err | ||
3045 | rm -f conftest.er1 | ||
3046 | cat conftest.err >&5 | ||
3047 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3048 | (exit $ac_status); } >/dev/null && { | ||
3049 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
3050 | test ! -s conftest.err | ||
3051 | }; then | ||
3052 | # Broken: success on invalid input. | 3621 | # Broken: success on invalid input. |
3053 | continue | 3622 | continue |
3054 | else | 3623 | else |
3055 | echo "$as_me: failed program was:" >&5 | ||
3056 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
3057 | |||
3058 | # Passes both tests. | 3624 | # Passes both tests. |
3059 | ac_preproc_ok=: | 3625 | ac_preproc_ok=: |
3060 | break | 3626 | break |
3061 | fi | 3627 | fi |
3062 | 3628 | rm -f conftest.err conftest.i conftest.$ac_ext | |
3063 | rm -f conftest.err conftest.$ac_ext | ||
3064 | 3629 | ||
3065 | done | 3630 | done |
3066 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 3631 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
3067 | rm -f conftest.err conftest.$ac_ext | 3632 | rm -f conftest.i conftest.err conftest.$ac_ext |
3068 | if $ac_preproc_ok; then | 3633 | if $ac_preproc_ok; then : |
3069 | : | 3634 | |
3070 | else | 3635 | else |
3071 | { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check | 3636 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
3072 | See \`config.log' for more details." >&5 | 3637 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
3073 | echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check | 3638 | as_fn_error $? "C preprocessor \"$CPP\" fails sanity check |
3074 | See \`config.log' for more details." >&2;} | 3639 | See \`config.log' for more details" "$LINENO" 5; } |
3075 | { (exit 1); exit 1; }; } | ||
3076 | fi | 3640 | fi |
3077 | 3641 | ||
3078 | ac_ext=c | 3642 | ac_ext=c |
@@ -3082,45 +3646,40 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ | |||
3082 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | 3646 | ac_compiler_gnu=$ac_cv_c_compiler_gnu |
3083 | 3647 | ||
3084 | 3648 | ||
3085 | { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 | 3649 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 |
3086 | echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } | 3650 | $as_echo_n "checking for grep that handles long lines and -e... " >&6; } |
3087 | if test "${ac_cv_path_GREP+set}" = set; then | 3651 | if ${ac_cv_path_GREP+:} false; then : |
3088 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 3652 | $as_echo_n "(cached) " >&6 |
3089 | else | ||
3090 | # Extract the first word of "grep ggrep" to use in msg output | ||
3091 | if test -z "$GREP"; then | ||
3092 | set dummy grep ggrep; ac_prog_name=$2 | ||
3093 | if test "${ac_cv_path_GREP+set}" = set; then | ||
3094 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
3095 | else | 3653 | else |
3654 | if test -z "$GREP"; then | ||
3096 | ac_path_GREP_found=false | 3655 | ac_path_GREP_found=false |
3097 | # Loop through the user's path and test for each of PROGNAME-LIST | 3656 | # Loop through the user's path and test for each of PROGNAME-LIST |
3098 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | 3657 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
3099 | for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin | 3658 | for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin |
3100 | do | 3659 | do |
3101 | IFS=$as_save_IFS | 3660 | IFS=$as_save_IFS |
3102 | test -z "$as_dir" && as_dir=. | 3661 | test -z "$as_dir" && as_dir=. |
3103 | for ac_prog in grep ggrep; do | 3662 | for ac_prog in grep ggrep; do |
3104 | for ac_exec_ext in '' $ac_executable_extensions; do | 3663 | for ac_exec_ext in '' $ac_executable_extensions; do |
3105 | ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" | 3664 | ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" |
3106 | { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue | 3665 | as_fn_executable_p "$ac_path_GREP" || continue |
3107 | # Check for GNU ac_path_GREP and select it if it is found. | 3666 | # Check for GNU ac_path_GREP and select it if it is found. |
3108 | # Check for GNU $ac_path_GREP | 3667 | # Check for GNU $ac_path_GREP |
3109 | case `"$ac_path_GREP" --version 2>&1` in | 3668 | case `"$ac_path_GREP" --version 2>&1` in |
3110 | *GNU*) | 3669 | *GNU*) |
3111 | ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; | 3670 | ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; |
3112 | *) | 3671 | *) |
3113 | ac_count=0 | 3672 | ac_count=0 |
3114 | echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" | 3673 | $as_echo_n 0123456789 >"conftest.in" |
3115 | while : | 3674 | while : |
3116 | do | 3675 | do |
3117 | cat "conftest.in" "conftest.in" >"conftest.tmp" | 3676 | cat "conftest.in" "conftest.in" >"conftest.tmp" |
3118 | mv "conftest.tmp" "conftest.in" | 3677 | mv "conftest.tmp" "conftest.in" |
3119 | cp "conftest.in" "conftest.nl" | 3678 | cp "conftest.in" "conftest.nl" |
3120 | echo 'GREP' >> "conftest.nl" | 3679 | $as_echo 'GREP' >> "conftest.nl" |
3121 | "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break | 3680 | "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break |
3122 | diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break | 3681 | diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break |
3123 | ac_count=`expr $ac_count + 1` | 3682 | as_fn_arith $ac_count + 1 && ac_count=$as_val |
3124 | if test $ac_count -gt ${ac_path_GREP_max-0}; then | 3683 | if test $ac_count -gt ${ac_path_GREP_max-0}; then |
3125 | # Best one so far, save it but keep looking for a better one | 3684 | # Best one so far, save it but keep looking for a better one |
3126 | ac_cv_path_GREP="$ac_path_GREP" | 3685 | ac_cv_path_GREP="$ac_path_GREP" |
@@ -3132,77 +3691,61 @@ case `"$ac_path_GREP" --version 2>&1` in | |||
3132 | rm -f conftest.in conftest.tmp conftest.nl conftest.out;; | 3691 | rm -f conftest.in conftest.tmp conftest.nl conftest.out;; |
3133 | esac | 3692 | esac |
3134 | 3693 | ||
3135 | 3694 | $ac_path_GREP_found && break 3 | |
3136 | $ac_path_GREP_found && break 3 | 3695 | done |
3696 | done | ||
3137 | done | 3697 | done |
3138 | done | ||
3139 | |||
3140 | done | ||
3141 | IFS=$as_save_IFS | 3698 | IFS=$as_save_IFS |
3142 | 3699 | if test -z "$ac_cv_path_GREP"; then | |
3143 | 3700 | as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | |
3144 | fi | 3701 | fi |
3145 | |||
3146 | GREP="$ac_cv_path_GREP" | ||
3147 | if test -z "$GREP"; then | ||
3148 | { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 | ||
3149 | echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} | ||
3150 | { (exit 1); exit 1; }; } | ||
3151 | fi | ||
3152 | |||
3153 | else | 3702 | else |
3154 | ac_cv_path_GREP=$GREP | 3703 | ac_cv_path_GREP=$GREP |
3155 | fi | 3704 | fi |
3156 | 3705 | ||
3157 | |||
3158 | fi | 3706 | fi |
3159 | { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 | 3707 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 |
3160 | echo "${ECHO_T}$ac_cv_path_GREP" >&6; } | 3708 | $as_echo "$ac_cv_path_GREP" >&6; } |
3161 | GREP="$ac_cv_path_GREP" | 3709 | GREP="$ac_cv_path_GREP" |
3162 | 3710 | ||
3163 | 3711 | ||
3164 | { echo "$as_me:$LINENO: checking for egrep" >&5 | 3712 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 |
3165 | echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } | 3713 | $as_echo_n "checking for egrep... " >&6; } |
3166 | if test "${ac_cv_path_EGREP+set}" = set; then | 3714 | if ${ac_cv_path_EGREP+:} false; then : |
3167 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 3715 | $as_echo_n "(cached) " >&6 |
3168 | else | 3716 | else |
3169 | if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 | 3717 | if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 |
3170 | then ac_cv_path_EGREP="$GREP -E" | 3718 | then ac_cv_path_EGREP="$GREP -E" |
3171 | else | 3719 | else |
3172 | # Extract the first word of "egrep" to use in msg output | 3720 | if test -z "$EGREP"; then |
3173 | if test -z "$EGREP"; then | ||
3174 | set dummy egrep; ac_prog_name=$2 | ||
3175 | if test "${ac_cv_path_EGREP+set}" = set; then | ||
3176 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
3177 | else | ||
3178 | ac_path_EGREP_found=false | 3721 | ac_path_EGREP_found=false |
3179 | # Loop through the user's path and test for each of PROGNAME-LIST | 3722 | # Loop through the user's path and test for each of PROGNAME-LIST |
3180 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | 3723 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
3181 | for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin | 3724 | for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin |
3182 | do | 3725 | do |
3183 | IFS=$as_save_IFS | 3726 | IFS=$as_save_IFS |
3184 | test -z "$as_dir" && as_dir=. | 3727 | test -z "$as_dir" && as_dir=. |
3185 | for ac_prog in egrep; do | 3728 | for ac_prog in egrep; do |
3186 | for ac_exec_ext in '' $ac_executable_extensions; do | 3729 | for ac_exec_ext in '' $ac_executable_extensions; do |
3187 | ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" | 3730 | ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" |
3188 | { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue | 3731 | as_fn_executable_p "$ac_path_EGREP" || continue |
3189 | # Check for GNU ac_path_EGREP and select it if it is found. | 3732 | # Check for GNU ac_path_EGREP and select it if it is found. |
3190 | # Check for GNU $ac_path_EGREP | 3733 | # Check for GNU $ac_path_EGREP |
3191 | case `"$ac_path_EGREP" --version 2>&1` in | 3734 | case `"$ac_path_EGREP" --version 2>&1` in |
3192 | *GNU*) | 3735 | *GNU*) |
3193 | ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; | 3736 | ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; |
3194 | *) | 3737 | *) |
3195 | ac_count=0 | 3738 | ac_count=0 |
3196 | echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" | 3739 | $as_echo_n 0123456789 >"conftest.in" |
3197 | while : | 3740 | while : |
3198 | do | 3741 | do |
3199 | cat "conftest.in" "conftest.in" >"conftest.tmp" | 3742 | cat "conftest.in" "conftest.in" >"conftest.tmp" |
3200 | mv "conftest.tmp" "conftest.in" | 3743 | mv "conftest.tmp" "conftest.in" |
3201 | cp "conftest.in" "conftest.nl" | 3744 | cp "conftest.in" "conftest.nl" |
3202 | echo 'EGREP' >> "conftest.nl" | 3745 | $as_echo 'EGREP' >> "conftest.nl" |
3203 | "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break | 3746 | "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break |
3204 | diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break | 3747 | diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break |
3205 | ac_count=`expr $ac_count + 1` | 3748 | as_fn_arith $ac_count + 1 && ac_count=$as_val |
3206 | if test $ac_count -gt ${ac_path_EGREP_max-0}; then | 3749 | if test $ac_count -gt ${ac_path_EGREP_max-0}; then |
3207 | # Best one so far, save it but keep looking for a better one | 3750 | # Best one so far, save it but keep looking for a better one |
3208 | ac_cv_path_EGREP="$ac_path_EGREP" | 3751 | ac_cv_path_EGREP="$ac_path_EGREP" |
@@ -3214,46 +3757,31 @@ case `"$ac_path_EGREP" --version 2>&1` in | |||
3214 | rm -f conftest.in conftest.tmp conftest.nl conftest.out;; | 3757 | rm -f conftest.in conftest.tmp conftest.nl conftest.out;; |
3215 | esac | 3758 | esac |
3216 | 3759 | ||
3217 | 3760 | $ac_path_EGREP_found && break 3 | |
3218 | $ac_path_EGREP_found && break 3 | 3761 | done |
3762 | done | ||
3219 | done | 3763 | done |
3220 | done | ||
3221 | |||
3222 | done | ||
3223 | IFS=$as_save_IFS | 3764 | IFS=$as_save_IFS |
3224 | 3765 | if test -z "$ac_cv_path_EGREP"; then | |
3225 | 3766 | as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | |
3226 | fi | 3767 | fi |
3227 | |||
3228 | EGREP="$ac_cv_path_EGREP" | ||
3229 | if test -z "$EGREP"; then | ||
3230 | { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 | ||
3231 | echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} | ||
3232 | { (exit 1); exit 1; }; } | ||
3233 | fi | ||
3234 | |||
3235 | else | 3768 | else |
3236 | ac_cv_path_EGREP=$EGREP | 3769 | ac_cv_path_EGREP=$EGREP |
3237 | fi | 3770 | fi |
3238 | 3771 | ||
3239 | |||
3240 | fi | 3772 | fi |
3241 | fi | 3773 | fi |
3242 | { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 | 3774 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 |
3243 | echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } | 3775 | $as_echo "$ac_cv_path_EGREP" >&6; } |
3244 | EGREP="$ac_cv_path_EGREP" | 3776 | EGREP="$ac_cv_path_EGREP" |
3245 | 3777 | ||
3246 | 3778 | ||
3247 | { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 | 3779 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 |
3248 | echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } | 3780 | $as_echo_n "checking for ANSI C header files... " >&6; } |
3249 | if test "${ac_cv_header_stdc+set}" = set; then | 3781 | if ${ac_cv_header_stdc+:} false; then : |
3250 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 3782 | $as_echo_n "(cached) " >&6 |
3251 | else | 3783 | else |
3252 | cat >conftest.$ac_ext <<_ACEOF | 3784 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
3253 | /* confdefs.h. */ | ||
3254 | _ACEOF | ||
3255 | cat confdefs.h >>conftest.$ac_ext | ||
3256 | cat >>conftest.$ac_ext <<_ACEOF | ||
3257 | /* end confdefs.h. */ | 3785 | /* end confdefs.h. */ |
3258 | #include <stdlib.h> | 3786 | #include <stdlib.h> |
3259 | #include <stdarg.h> | 3787 | #include <stdarg.h> |
@@ -3268,47 +3796,23 @@ main () | |||
3268 | return 0; | 3796 | return 0; |
3269 | } | 3797 | } |
3270 | _ACEOF | 3798 | _ACEOF |
3271 | rm -f conftest.$ac_objext | 3799 | if ac_fn_c_try_compile "$LINENO"; then : |
3272 | if { (ac_try="$ac_compile" | ||
3273 | case "(($ac_try" in | ||
3274 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3275 | *) ac_try_echo=$ac_try;; | ||
3276 | esac | ||
3277 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3278 | (eval "$ac_compile") 2>conftest.er1 | ||
3279 | ac_status=$? | ||
3280 | grep -v '^ *+' conftest.er1 >conftest.err | ||
3281 | rm -f conftest.er1 | ||
3282 | cat conftest.err >&5 | ||
3283 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3284 | (exit $ac_status); } && { | ||
3285 | test -z "$ac_c_werror_flag" || | ||
3286 | test ! -s conftest.err | ||
3287 | } && test -s conftest.$ac_objext; then | ||
3288 | ac_cv_header_stdc=yes | 3800 | ac_cv_header_stdc=yes |
3289 | else | 3801 | else |
3290 | echo "$as_me: failed program was:" >&5 | 3802 | ac_cv_header_stdc=no |
3291 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
3292 | |||
3293 | ac_cv_header_stdc=no | ||
3294 | fi | 3803 | fi |
3295 | |||
3296 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 3804 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
3297 | 3805 | ||
3298 | if test $ac_cv_header_stdc = yes; then | 3806 | if test $ac_cv_header_stdc = yes; then |
3299 | # SunOS 4.x string.h does not declare mem*, contrary to ANSI. | 3807 | # SunOS 4.x string.h does not declare mem*, contrary to ANSI. |
3300 | cat >conftest.$ac_ext <<_ACEOF | 3808 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
3301 | /* confdefs.h. */ | ||
3302 | _ACEOF | ||
3303 | cat confdefs.h >>conftest.$ac_ext | ||
3304 | cat >>conftest.$ac_ext <<_ACEOF | ||
3305 | /* end confdefs.h. */ | 3809 | /* end confdefs.h. */ |
3306 | #include <string.h> | 3810 | #include <string.h> |
3307 | 3811 | ||
3308 | _ACEOF | 3812 | _ACEOF |
3309 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 3813 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
3310 | $EGREP "memchr" >/dev/null 2>&1; then | 3814 | $EGREP "memchr" >/dev/null 2>&1; then : |
3311 | : | 3815 | |
3312 | else | 3816 | else |
3313 | ac_cv_header_stdc=no | 3817 | ac_cv_header_stdc=no |
3314 | fi | 3818 | fi |
@@ -3318,18 +3822,14 @@ fi | |||
3318 | 3822 | ||
3319 | if test $ac_cv_header_stdc = yes; then | 3823 | if test $ac_cv_header_stdc = yes; then |
3320 | # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. | 3824 | # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. |
3321 | cat >conftest.$ac_ext <<_ACEOF | 3825 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
3322 | /* confdefs.h. */ | ||
3323 | _ACEOF | ||
3324 | cat confdefs.h >>conftest.$ac_ext | ||
3325 | cat >>conftest.$ac_ext <<_ACEOF | ||
3326 | /* end confdefs.h. */ | 3826 | /* end confdefs.h. */ |
3327 | #include <stdlib.h> | 3827 | #include <stdlib.h> |
3328 | 3828 | ||
3329 | _ACEOF | 3829 | _ACEOF |
3330 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 3830 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
3331 | $EGREP "free" >/dev/null 2>&1; then | 3831 | $EGREP "free" >/dev/null 2>&1; then : |
3332 | : | 3832 | |
3333 | else | 3833 | else |
3334 | ac_cv_header_stdc=no | 3834 | ac_cv_header_stdc=no |
3335 | fi | 3835 | fi |
@@ -3339,14 +3839,10 @@ fi | |||
3339 | 3839 | ||
3340 | if test $ac_cv_header_stdc = yes; then | 3840 | if test $ac_cv_header_stdc = yes; then |
3341 | # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. | 3841 | # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. |
3342 | if test "$cross_compiling" = yes; then | 3842 | if test "$cross_compiling" = yes; then : |
3343 | : | 3843 | : |
3344 | else | 3844 | else |
3345 | cat >conftest.$ac_ext <<_ACEOF | 3845 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
3346 | /* confdefs.h. */ | ||
3347 | _ACEOF | ||
3348 | cat confdefs.h >>conftest.$ac_ext | ||
3349 | cat >>conftest.$ac_ext <<_ACEOF | ||
3350 | /* end confdefs.h. */ | 3846 | /* end confdefs.h. */ |
3351 | #include <ctype.h> | 3847 | #include <ctype.h> |
3352 | #include <stdlib.h> | 3848 | #include <stdlib.h> |
@@ -3373,113 +3869,35 @@ main () | |||
3373 | return 0; | 3869 | return 0; |
3374 | } | 3870 | } |
3375 | _ACEOF | 3871 | _ACEOF |
3376 | rm -f conftest$ac_exeext | 3872 | if ac_fn_c_try_run "$LINENO"; then : |
3377 | if { (ac_try="$ac_link" | ||
3378 | case "(($ac_try" in | ||
3379 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3380 | *) ac_try_echo=$ac_try;; | ||
3381 | esac | ||
3382 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3383 | (eval "$ac_link") 2>&5 | ||
3384 | ac_status=$? | ||
3385 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3386 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
3387 | { (case "(($ac_try" in | ||
3388 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3389 | *) ac_try_echo=$ac_try;; | ||
3390 | esac | ||
3391 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3392 | (eval "$ac_try") 2>&5 | ||
3393 | ac_status=$? | ||
3394 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3395 | (exit $ac_status); }; }; then | ||
3396 | : | ||
3397 | else | ||
3398 | echo "$as_me: program exited with status $ac_status" >&5 | ||
3399 | echo "$as_me: failed program was:" >&5 | ||
3400 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
3401 | 3873 | ||
3402 | ( exit $ac_status ) | 3874 | else |
3403 | ac_cv_header_stdc=no | 3875 | ac_cv_header_stdc=no |
3404 | fi | 3876 | fi |
3405 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 3877 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
3878 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
3406 | fi | 3879 | fi |
3407 | 3880 | ||
3408 | |||
3409 | fi | 3881 | fi |
3410 | fi | 3882 | fi |
3411 | { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 | 3883 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 |
3412 | echo "${ECHO_T}$ac_cv_header_stdc" >&6; } | 3884 | $as_echo "$ac_cv_header_stdc" >&6; } |
3413 | if test $ac_cv_header_stdc = yes; then | 3885 | if test $ac_cv_header_stdc = yes; then |
3414 | 3886 | ||
3415 | cat >>confdefs.h <<\_ACEOF | 3887 | $as_echo "#define STDC_HEADERS 1" >>confdefs.h |
3416 | #define STDC_HEADERS 1 | ||
3417 | _ACEOF | ||
3418 | 3888 | ||
3419 | fi | 3889 | fi |
3420 | 3890 | ||
3421 | # On IRIX 5.3, sys/types and inttypes.h are conflicting. | 3891 | # On IRIX 5.3, sys/types and inttypes.h are conflicting. |
3422 | |||
3423 | |||
3424 | |||
3425 | |||
3426 | |||
3427 | |||
3428 | |||
3429 | |||
3430 | |||
3431 | for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ | 3892 | for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ |
3432 | inttypes.h stdint.h unistd.h | 3893 | inttypes.h stdint.h unistd.h |
3433 | do | 3894 | do : |
3434 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 3895 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
3435 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | 3896 | ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default |
3436 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | 3897 | " |
3437 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | 3898 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
3438 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
3439 | else | ||
3440 | cat >conftest.$ac_ext <<_ACEOF | ||
3441 | /* confdefs.h. */ | ||
3442 | _ACEOF | ||
3443 | cat confdefs.h >>conftest.$ac_ext | ||
3444 | cat >>conftest.$ac_ext <<_ACEOF | ||
3445 | /* end confdefs.h. */ | ||
3446 | $ac_includes_default | ||
3447 | |||
3448 | #include <$ac_header> | ||
3449 | _ACEOF | ||
3450 | rm -f conftest.$ac_objext | ||
3451 | if { (ac_try="$ac_compile" | ||
3452 | case "(($ac_try" in | ||
3453 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3454 | *) ac_try_echo=$ac_try;; | ||
3455 | esac | ||
3456 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3457 | (eval "$ac_compile") 2>conftest.er1 | ||
3458 | ac_status=$? | ||
3459 | grep -v '^ *+' conftest.er1 >conftest.err | ||
3460 | rm -f conftest.er1 | ||
3461 | cat conftest.err >&5 | ||
3462 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3463 | (exit $ac_status); } && { | ||
3464 | test -z "$ac_c_werror_flag" || | ||
3465 | test ! -s conftest.err | ||
3466 | } && test -s conftest.$ac_objext; then | ||
3467 | eval "$as_ac_Header=yes" | ||
3468 | else | ||
3469 | echo "$as_me: failed program was:" >&5 | ||
3470 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
3471 | |||
3472 | eval "$as_ac_Header=no" | ||
3473 | fi | ||
3474 | |||
3475 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
3476 | fi | ||
3477 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
3478 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
3479 | echo "${ECHO_T}$ac_res" >&6; } | ||
3480 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
3481 | cat >>confdefs.h <<_ACEOF | 3899 | cat >>confdefs.h <<_ACEOF |
3482 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 3900 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
3483 | _ACEOF | 3901 | _ACEOF |
3484 | 3902 | ||
3485 | fi | 3903 | fi |
@@ -3487,241 +3905,229 @@ fi | |||
3487 | done | 3905 | done |
3488 | 3906 | ||
3489 | 3907 | ||
3490 | { echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 | 3908 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 |
3491 | echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; } | 3909 | $as_echo_n "checking whether byte ordering is bigendian... " >&6; } |
3492 | if test "${ac_cv_c_bigendian+set}" = set; then | 3910 | if ${ac_cv_c_bigendian+:} false; then : |
3493 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 3911 | $as_echo_n "(cached) " >&6 |
3494 | else | 3912 | else |
3495 | # See if sys/param.h defines the BYTE_ORDER macro. | 3913 | ac_cv_c_bigendian=unknown |
3496 | cat >conftest.$ac_ext <<_ACEOF | 3914 | # See if we're dealing with a universal compiler. |
3497 | /* confdefs.h. */ | 3915 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
3498 | _ACEOF | 3916 | /* end confdefs.h. */ |
3499 | cat confdefs.h >>conftest.$ac_ext | 3917 | #ifndef __APPLE_CC__ |
3500 | cat >>conftest.$ac_ext <<_ACEOF | 3918 | not a universal capable compiler |
3919 | #endif | ||
3920 | typedef int dummy; | ||
3921 | |||
3922 | _ACEOF | ||
3923 | if ac_fn_c_try_compile "$LINENO"; then : | ||
3924 | |||
3925 | # Check for potential -arch flags. It is not universal unless | ||
3926 | # there are at least two -arch flags with different values. | ||
3927 | ac_arch= | ||
3928 | ac_prev= | ||
3929 | for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do | ||
3930 | if test -n "$ac_prev"; then | ||
3931 | case $ac_word in | ||
3932 | i?86 | x86_64 | ppc | ppc64) | ||
3933 | if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then | ||
3934 | ac_arch=$ac_word | ||
3935 | else | ||
3936 | ac_cv_c_bigendian=universal | ||
3937 | break | ||
3938 | fi | ||
3939 | ;; | ||
3940 | esac | ||
3941 | ac_prev= | ||
3942 | elif test "x$ac_word" = "x-arch"; then | ||
3943 | ac_prev=arch | ||
3944 | fi | ||
3945 | done | ||
3946 | fi | ||
3947 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
3948 | if test $ac_cv_c_bigendian = unknown; then | ||
3949 | # See if sys/param.h defines the BYTE_ORDER macro. | ||
3950 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
3501 | /* end confdefs.h. */ | 3951 | /* end confdefs.h. */ |
3502 | #include <sys/types.h> | 3952 | #include <sys/types.h> |
3503 | #include <sys/param.h> | 3953 | #include <sys/param.h> |
3504 | 3954 | ||
3505 | int | 3955 | int |
3506 | main () | 3956 | main () |
3507 | { | 3957 | { |
3508 | #if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ | 3958 | #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ |
3509 | && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) | 3959 | && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ |
3510 | bogus endian macros | 3960 | && LITTLE_ENDIAN) |
3511 | #endif | 3961 | bogus endian macros |
3962 | #endif | ||
3512 | 3963 | ||
3513 | ; | 3964 | ; |
3514 | return 0; | 3965 | return 0; |
3515 | } | 3966 | } |
3516 | _ACEOF | 3967 | _ACEOF |
3517 | rm -f conftest.$ac_objext | 3968 | if ac_fn_c_try_compile "$LINENO"; then : |
3518 | if { (ac_try="$ac_compile" | ||
3519 | case "(($ac_try" in | ||
3520 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3521 | *) ac_try_echo=$ac_try;; | ||
3522 | esac | ||
3523 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3524 | (eval "$ac_compile") 2>conftest.er1 | ||
3525 | ac_status=$? | ||
3526 | grep -v '^ *+' conftest.er1 >conftest.err | ||
3527 | rm -f conftest.er1 | ||
3528 | cat conftest.err >&5 | ||
3529 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3530 | (exit $ac_status); } && { | ||
3531 | test -z "$ac_c_werror_flag" || | ||
3532 | test ! -s conftest.err | ||
3533 | } && test -s conftest.$ac_objext; then | ||
3534 | # It does; now see whether it defined to BIG_ENDIAN or not. | 3969 | # It does; now see whether it defined to BIG_ENDIAN or not. |
3535 | cat >conftest.$ac_ext <<_ACEOF | 3970 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
3536 | /* confdefs.h. */ | ||
3537 | _ACEOF | ||
3538 | cat confdefs.h >>conftest.$ac_ext | ||
3539 | cat >>conftest.$ac_ext <<_ACEOF | ||
3540 | /* end confdefs.h. */ | 3971 | /* end confdefs.h. */ |
3541 | #include <sys/types.h> | 3972 | #include <sys/types.h> |
3542 | #include <sys/param.h> | 3973 | #include <sys/param.h> |
3543 | 3974 | ||
3544 | int | 3975 | int |
3545 | main () | 3976 | main () |
3546 | { | 3977 | { |
3547 | #if BYTE_ORDER != BIG_ENDIAN | 3978 | #if BYTE_ORDER != BIG_ENDIAN |
3548 | not big endian | 3979 | not big endian |
3549 | #endif | 3980 | #endif |
3550 | 3981 | ||
3551 | ; | 3982 | ; |
3552 | return 0; | 3983 | return 0; |
3553 | } | 3984 | } |
3554 | _ACEOF | 3985 | _ACEOF |
3555 | rm -f conftest.$ac_objext | 3986 | if ac_fn_c_try_compile "$LINENO"; then : |
3556 | if { (ac_try="$ac_compile" | ||
3557 | case "(($ac_try" in | ||
3558 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3559 | *) ac_try_echo=$ac_try;; | ||
3560 | esac | ||
3561 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3562 | (eval "$ac_compile") 2>conftest.er1 | ||
3563 | ac_status=$? | ||
3564 | grep -v '^ *+' conftest.er1 >conftest.err | ||
3565 | rm -f conftest.er1 | ||
3566 | cat conftest.err >&5 | ||
3567 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3568 | (exit $ac_status); } && { | ||
3569 | test -z "$ac_c_werror_flag" || | ||
3570 | test ! -s conftest.err | ||
3571 | } && test -s conftest.$ac_objext; then | ||
3572 | ac_cv_c_bigendian=yes | 3987 | ac_cv_c_bigendian=yes |
3573 | else | 3988 | else |
3574 | echo "$as_me: failed program was:" >&5 | 3989 | ac_cv_c_bigendian=no |
3575 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
3576 | |||
3577 | ac_cv_c_bigendian=no | ||
3578 | fi | 3990 | fi |
3579 | |||
3580 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 3991 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
3581 | else | 3992 | fi |
3582 | echo "$as_me: failed program was:" >&5 | 3993 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
3583 | sed 's/^/| /' conftest.$ac_ext >&5 | 3994 | fi |
3995 | if test $ac_cv_c_bigendian = unknown; then | ||
3996 | # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). | ||
3997 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
3998 | /* end confdefs.h. */ | ||
3999 | #include <limits.h> | ||
3584 | 4000 | ||
3585 | # It does not; compile a test program. | 4001 | int |
3586 | if test "$cross_compiling" = yes; then | 4002 | main () |
3587 | # try to guess the endianness by grepping values into an object file | 4003 | { |
3588 | ac_cv_c_bigendian=unknown | 4004 | #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) |
3589 | cat >conftest.$ac_ext <<_ACEOF | 4005 | bogus endian macros |
3590 | /* confdefs.h. */ | 4006 | #endif |
4007 | |||
4008 | ; | ||
4009 | return 0; | ||
4010 | } | ||
3591 | _ACEOF | 4011 | _ACEOF |
3592 | cat confdefs.h >>conftest.$ac_ext | 4012 | if ac_fn_c_try_compile "$LINENO"; then : |
3593 | cat >>conftest.$ac_ext <<_ACEOF | 4013 | # It does; now see whether it defined to _BIG_ENDIAN or not. |
4014 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
3594 | /* end confdefs.h. */ | 4015 | /* end confdefs.h. */ |
3595 | short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; | 4016 | #include <limits.h> |
3596 | short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; | 4017 | |
3597 | void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } | ||
3598 | short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; | ||
3599 | short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; | ||
3600 | void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } | ||
3601 | int | 4018 | int |
3602 | main () | 4019 | main () |
3603 | { | 4020 | { |
3604 | _ascii (); _ebcdic (); | 4021 | #ifndef _BIG_ENDIAN |
4022 | not big endian | ||
4023 | #endif | ||
4024 | |||
3605 | ; | 4025 | ; |
3606 | return 0; | 4026 | return 0; |
3607 | } | 4027 | } |
3608 | _ACEOF | 4028 | _ACEOF |
3609 | rm -f conftest.$ac_objext | 4029 | if ac_fn_c_try_compile "$LINENO"; then : |
3610 | if { (ac_try="$ac_compile" | ||
3611 | case "(($ac_try" in | ||
3612 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3613 | *) ac_try_echo=$ac_try;; | ||
3614 | esac | ||
3615 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3616 | (eval "$ac_compile") 2>conftest.er1 | ||
3617 | ac_status=$? | ||
3618 | grep -v '^ *+' conftest.er1 >conftest.err | ||
3619 | rm -f conftest.er1 | ||
3620 | cat conftest.err >&5 | ||
3621 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3622 | (exit $ac_status); } && { | ||
3623 | test -z "$ac_c_werror_flag" || | ||
3624 | test ! -s conftest.err | ||
3625 | } && test -s conftest.$ac_objext; then | ||
3626 | if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then | ||
3627 | ac_cv_c_bigendian=yes | 4030 | ac_cv_c_bigendian=yes |
4031 | else | ||
4032 | ac_cv_c_bigendian=no | ||
3628 | fi | 4033 | fi |
3629 | if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then | 4034 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
3630 | if test "$ac_cv_c_bigendian" = unknown; then | ||
3631 | ac_cv_c_bigendian=no | ||
3632 | else | ||
3633 | # finding both strings is unlikely to happen, but who knows? | ||
3634 | ac_cv_c_bigendian=unknown | ||
3635 | fi | ||
3636 | fi | 4035 | fi |
3637 | else | 4036 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
3638 | echo "$as_me: failed program was:" >&5 | 4037 | fi |
3639 | sed 's/^/| /' conftest.$ac_ext >&5 | 4038 | if test $ac_cv_c_bigendian = unknown; then |
3640 | 4039 | # Compile a test program. | |
4040 | if test "$cross_compiling" = yes; then : | ||
4041 | # Try to guess by grepping values from an object file. | ||
4042 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
4043 | /* end confdefs.h. */ | ||
4044 | short int ascii_mm[] = | ||
4045 | { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; | ||
4046 | short int ascii_ii[] = | ||
4047 | { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; | ||
4048 | int use_ascii (int i) { | ||
4049 | return ascii_mm[i] + ascii_ii[i]; | ||
4050 | } | ||
4051 | short int ebcdic_ii[] = | ||
4052 | { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; | ||
4053 | short int ebcdic_mm[] = | ||
4054 | { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; | ||
4055 | int use_ebcdic (int i) { | ||
4056 | return ebcdic_mm[i] + ebcdic_ii[i]; | ||
4057 | } | ||
4058 | extern int foo; | ||
3641 | 4059 | ||
4060 | int | ||
4061 | main () | ||
4062 | { | ||
4063 | return use_ascii (foo) == use_ebcdic (foo); | ||
4064 | ; | ||
4065 | return 0; | ||
4066 | } | ||
4067 | _ACEOF | ||
4068 | if ac_fn_c_try_compile "$LINENO"; then : | ||
4069 | if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then | ||
4070 | ac_cv_c_bigendian=yes | ||
4071 | fi | ||
4072 | if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then | ||
4073 | if test "$ac_cv_c_bigendian" = unknown; then | ||
4074 | ac_cv_c_bigendian=no | ||
4075 | else | ||
4076 | # finding both strings is unlikely to happen, but who knows? | ||
4077 | ac_cv_c_bigendian=unknown | ||
4078 | fi | ||
4079 | fi | ||
3642 | fi | 4080 | fi |
3643 | |||
3644 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 4081 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
3645 | else | 4082 | else |
3646 | cat >conftest.$ac_ext <<_ACEOF | 4083 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
3647 | /* confdefs.h. */ | ||
3648 | _ACEOF | ||
3649 | cat confdefs.h >>conftest.$ac_ext | ||
3650 | cat >>conftest.$ac_ext <<_ACEOF | ||
3651 | /* end confdefs.h. */ | 4084 | /* end confdefs.h. */ |
3652 | $ac_includes_default | 4085 | $ac_includes_default |
3653 | int | 4086 | int |
3654 | main () | 4087 | main () |
3655 | { | 4088 | { |
3656 | 4089 | ||
3657 | /* Are we little or big endian? From Harbison&Steele. */ | 4090 | /* Are we little or big endian? From Harbison&Steele. */ |
3658 | union | 4091 | union |
3659 | { | 4092 | { |
3660 | long int l; | 4093 | long int l; |
3661 | char c[sizeof (long int)]; | 4094 | char c[sizeof (long int)]; |
3662 | } u; | 4095 | } u; |
3663 | u.l = 1; | 4096 | u.l = 1; |
3664 | return u.c[sizeof (long int) - 1] == 1; | 4097 | return u.c[sizeof (long int) - 1] == 1; |
3665 | 4098 | ||
3666 | ; | 4099 | ; |
3667 | return 0; | 4100 | return 0; |
3668 | } | 4101 | } |
3669 | _ACEOF | 4102 | _ACEOF |
3670 | rm -f conftest$ac_exeext | 4103 | if ac_fn_c_try_run "$LINENO"; then : |
3671 | if { (ac_try="$ac_link" | ||
3672 | case "(($ac_try" in | ||
3673 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3674 | *) ac_try_echo=$ac_try;; | ||
3675 | esac | ||
3676 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3677 | (eval "$ac_link") 2>&5 | ||
3678 | ac_status=$? | ||
3679 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3680 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
3681 | { (case "(($ac_try" in | ||
3682 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3683 | *) ac_try_echo=$ac_try;; | ||
3684 | esac | ||
3685 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3686 | (eval "$ac_try") 2>&5 | ||
3687 | ac_status=$? | ||
3688 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3689 | (exit $ac_status); }; }; then | ||
3690 | ac_cv_c_bigendian=no | 4104 | ac_cv_c_bigendian=no |
3691 | else | 4105 | else |
3692 | echo "$as_me: program exited with status $ac_status" >&5 | 4106 | ac_cv_c_bigendian=yes |
3693 | echo "$as_me: failed program was:" >&5 | ||
3694 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
3695 | |||
3696 | ( exit $ac_status ) | ||
3697 | ac_cv_c_bigendian=yes | ||
3698 | fi | 4107 | fi |
3699 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 4108 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
4109 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
3700 | fi | 4110 | fi |
3701 | 4111 | ||
3702 | 4112 | fi | |
3703 | fi | 4113 | fi |
4114 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 | ||
4115 | $as_echo "$ac_cv_c_bigendian" >&6; } | ||
4116 | case $ac_cv_c_bigendian in #( | ||
4117 | yes) | ||
4118 | $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h | ||
4119 | ;; #( | ||
4120 | no) | ||
4121 | ;; #( | ||
4122 | universal) | ||
3704 | 4123 | ||
3705 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 4124 | $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h |
3706 | fi | ||
3707 | { echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 | ||
3708 | echo "${ECHO_T}$ac_cv_c_bigendian" >&6; } | ||
3709 | case $ac_cv_c_bigendian in | ||
3710 | yes) | ||
3711 | 4125 | ||
3712 | cat >>confdefs.h <<\_ACEOF | 4126 | ;; #( |
3713 | #define WORDS_BIGENDIAN 1 | 4127 | *) |
3714 | _ACEOF | 4128 | as_fn_error $? "unknown endianness |
3715 | ;; | 4129 | presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; |
3716 | no) | 4130 | esac |
3717 | ;; | ||
3718 | *) | ||
3719 | { { echo "$as_me:$LINENO: error: unknown endianness | ||
3720 | presetting ac_cv_c_bigendian=no (or yes) will help" >&5 | ||
3721 | echo "$as_me: error: unknown endianness | ||
3722 | presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} | ||
3723 | { (exit 1); exit 1; }; } ;; | ||
3724 | esac | ||
3725 | 4131 | ||
3726 | 4132 | ||
3727 | # Checks for programs. | 4133 | # Checks for programs. |
@@ -3729,10 +4135,10 @@ for ac_prog in gawk mawk nawk awk | |||
3729 | do | 4135 | do |
3730 | # Extract the first word of "$ac_prog", so it can be a program name with args. | 4136 | # Extract the first word of "$ac_prog", so it can be a program name with args. |
3731 | set dummy $ac_prog; ac_word=$2 | 4137 | set dummy $ac_prog; ac_word=$2 |
3732 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4138 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
3733 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4139 | $as_echo_n "checking for $ac_word... " >&6; } |
3734 | if test "${ac_cv_prog_AWK+set}" = set; then | 4140 | if ${ac_cv_prog_AWK+:} false; then : |
3735 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4141 | $as_echo_n "(cached) " >&6 |
3736 | else | 4142 | else |
3737 | if test -n "$AWK"; then | 4143 | if test -n "$AWK"; then |
3738 | ac_cv_prog_AWK="$AWK" # Let the user override the test. | 4144 | ac_cv_prog_AWK="$AWK" # Let the user override the test. |
@@ -3742,25 +4148,25 @@ for as_dir in $PATH | |||
3742 | do | 4148 | do |
3743 | IFS=$as_save_IFS | 4149 | IFS=$as_save_IFS |
3744 | test -z "$as_dir" && as_dir=. | 4150 | test -z "$as_dir" && as_dir=. |
3745 | for ac_exec_ext in '' $ac_executable_extensions; do | 4151 | for ac_exec_ext in '' $ac_executable_extensions; do |
3746 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 4152 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
3747 | ac_cv_prog_AWK="$ac_prog" | 4153 | ac_cv_prog_AWK="$ac_prog" |
3748 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 4154 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
3749 | break 2 | 4155 | break 2 |
3750 | fi | 4156 | fi |
3751 | done | 4157 | done |
3752 | done | 4158 | done |
3753 | IFS=$as_save_IFS | 4159 | IFS=$as_save_IFS |
3754 | 4160 | ||
3755 | fi | 4161 | fi |
3756 | fi | 4162 | fi |
3757 | AWK=$ac_cv_prog_AWK | 4163 | AWK=$ac_cv_prog_AWK |
3758 | if test -n "$AWK"; then | 4164 | if test -n "$AWK"; then |
3759 | { echo "$as_me:$LINENO: result: $AWK" >&5 | 4165 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 |
3760 | echo "${ECHO_T}$AWK" >&6; } | 4166 | $as_echo "$AWK" >&6; } |
3761 | else | 4167 | else |
3762 | { echo "$as_me:$LINENO: result: no" >&5 | 4168 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
3763 | echo "${ECHO_T}no" >&6; } | 4169 | $as_echo "no" >&6; } |
3764 | fi | 4170 | fi |
3765 | 4171 | ||
3766 | 4172 | ||
@@ -3772,15 +4178,15 @@ ac_cpp='$CPP $CPPFLAGS' | |||
3772 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | 4178 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' |
3773 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | 4179 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' |
3774 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | 4180 | ac_compiler_gnu=$ac_cv_c_compiler_gnu |
3775 | { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 | 4181 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 |
3776 | echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } | 4182 | $as_echo_n "checking how to run the C preprocessor... " >&6; } |
3777 | # On Suns, sometimes $CPP names a directory. | 4183 | # On Suns, sometimes $CPP names a directory. |
3778 | if test -n "$CPP" && test -d "$CPP"; then | 4184 | if test -n "$CPP" && test -d "$CPP"; then |
3779 | CPP= | 4185 | CPP= |
3780 | fi | 4186 | fi |
3781 | if test -z "$CPP"; then | 4187 | if test -z "$CPP"; then |
3782 | if test "${ac_cv_prog_CPP+set}" = set; then | 4188 | if ${ac_cv_prog_CPP+:} false; then : |
3783 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4189 | $as_echo_n "(cached) " >&6 |
3784 | else | 4190 | else |
3785 | # Double quotes because CPP needs to be expanded | 4191 | # Double quotes because CPP needs to be expanded |
3786 | for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" | 4192 | for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" |
@@ -3794,11 +4200,7 @@ do | |||
3794 | # <limits.h> exists even on freestanding compilers. | 4200 | # <limits.h> exists even on freestanding compilers. |
3795 | # On the NeXT, cc -E runs the code through the compiler's parser, | 4201 | # On the NeXT, cc -E runs the code through the compiler's parser, |
3796 | # not just through cpp. "Syntax error" is here to catch this case. | 4202 | # not just through cpp. "Syntax error" is here to catch this case. |
3797 | cat >conftest.$ac_ext <<_ACEOF | 4203 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
3798 | /* confdefs.h. */ | ||
3799 | _ACEOF | ||
3800 | cat confdefs.h >>conftest.$ac_ext | ||
3801 | cat >>conftest.$ac_ext <<_ACEOF | ||
3802 | /* end confdefs.h. */ | 4204 | /* end confdefs.h. */ |
3803 | #ifdef __STDC__ | 4205 | #ifdef __STDC__ |
3804 | # include <limits.h> | 4206 | # include <limits.h> |
@@ -3807,76 +4209,34 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
3807 | #endif | 4209 | #endif |
3808 | Syntax error | 4210 | Syntax error |
3809 | _ACEOF | 4211 | _ACEOF |
3810 | if { (ac_try="$ac_cpp conftest.$ac_ext" | 4212 | if ac_fn_c_try_cpp "$LINENO"; then : |
3811 | case "(($ac_try" in | ||
3812 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3813 | *) ac_try_echo=$ac_try;; | ||
3814 | esac | ||
3815 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3816 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
3817 | ac_status=$? | ||
3818 | grep -v '^ *+' conftest.er1 >conftest.err | ||
3819 | rm -f conftest.er1 | ||
3820 | cat conftest.err >&5 | ||
3821 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3822 | (exit $ac_status); } >/dev/null && { | ||
3823 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
3824 | test ! -s conftest.err | ||
3825 | }; then | ||
3826 | : | ||
3827 | else | ||
3828 | echo "$as_me: failed program was:" >&5 | ||
3829 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
3830 | 4213 | ||
4214 | else | ||
3831 | # Broken: fails on valid input. | 4215 | # Broken: fails on valid input. |
3832 | continue | 4216 | continue |
3833 | fi | 4217 | fi |
3834 | 4218 | rm -f conftest.err conftest.i conftest.$ac_ext | |
3835 | rm -f conftest.err conftest.$ac_ext | ||
3836 | 4219 | ||
3837 | # OK, works on sane cases. Now check whether nonexistent headers | 4220 | # OK, works on sane cases. Now check whether nonexistent headers |
3838 | # can be detected and how. | 4221 | # can be detected and how. |
3839 | cat >conftest.$ac_ext <<_ACEOF | 4222 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
3840 | /* confdefs.h. */ | ||
3841 | _ACEOF | ||
3842 | cat confdefs.h >>conftest.$ac_ext | ||
3843 | cat >>conftest.$ac_ext <<_ACEOF | ||
3844 | /* end confdefs.h. */ | 4223 | /* end confdefs.h. */ |
3845 | #include <ac_nonexistent.h> | 4224 | #include <ac_nonexistent.h> |
3846 | _ACEOF | 4225 | _ACEOF |
3847 | if { (ac_try="$ac_cpp conftest.$ac_ext" | 4226 | if ac_fn_c_try_cpp "$LINENO"; then : |
3848 | case "(($ac_try" in | ||
3849 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3850 | *) ac_try_echo=$ac_try;; | ||
3851 | esac | ||
3852 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3853 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
3854 | ac_status=$? | ||
3855 | grep -v '^ *+' conftest.er1 >conftest.err | ||
3856 | rm -f conftest.er1 | ||
3857 | cat conftest.err >&5 | ||
3858 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3859 | (exit $ac_status); } >/dev/null && { | ||
3860 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
3861 | test ! -s conftest.err | ||
3862 | }; then | ||
3863 | # Broken: success on invalid input. | 4227 | # Broken: success on invalid input. |
3864 | continue | 4228 | continue |
3865 | else | 4229 | else |
3866 | echo "$as_me: failed program was:" >&5 | ||
3867 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
3868 | |||
3869 | # Passes both tests. | 4230 | # Passes both tests. |
3870 | ac_preproc_ok=: | 4231 | ac_preproc_ok=: |
3871 | break | 4232 | break |
3872 | fi | 4233 | fi |
3873 | 4234 | rm -f conftest.err conftest.i conftest.$ac_ext | |
3874 | rm -f conftest.err conftest.$ac_ext | ||
3875 | 4235 | ||
3876 | done | 4236 | done |
3877 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 4237 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
3878 | rm -f conftest.err conftest.$ac_ext | 4238 | rm -f conftest.i conftest.err conftest.$ac_ext |
3879 | if $ac_preproc_ok; then | 4239 | if $ac_preproc_ok; then : |
3880 | break | 4240 | break |
3881 | fi | 4241 | fi |
3882 | 4242 | ||
@@ -3888,8 +4248,8 @@ fi | |||
3888 | else | 4248 | else |
3889 | ac_cv_prog_CPP=$CPP | 4249 | ac_cv_prog_CPP=$CPP |
3890 | fi | 4250 | fi |
3891 | { echo "$as_me:$LINENO: result: $CPP" >&5 | 4251 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 |
3892 | echo "${ECHO_T}$CPP" >&6; } | 4252 | $as_echo "$CPP" >&6; } |
3893 | ac_preproc_ok=false | 4253 | ac_preproc_ok=false |
3894 | for ac_c_preproc_warn_flag in '' yes | 4254 | for ac_c_preproc_warn_flag in '' yes |
3895 | do | 4255 | do |
@@ -3899,11 +4259,7 @@ do | |||
3899 | # <limits.h> exists even on freestanding compilers. | 4259 | # <limits.h> exists even on freestanding compilers. |
3900 | # On the NeXT, cc -E runs the code through the compiler's parser, | 4260 | # On the NeXT, cc -E runs the code through the compiler's parser, |
3901 | # not just through cpp. "Syntax error" is here to catch this case. | 4261 | # not just through cpp. "Syntax error" is here to catch this case. |
3902 | cat >conftest.$ac_ext <<_ACEOF | 4262 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
3903 | /* confdefs.h. */ | ||
3904 | _ACEOF | ||
3905 | cat confdefs.h >>conftest.$ac_ext | ||
3906 | cat >>conftest.$ac_ext <<_ACEOF | ||
3907 | /* end confdefs.h. */ | 4263 | /* end confdefs.h. */ |
3908 | #ifdef __STDC__ | 4264 | #ifdef __STDC__ |
3909 | # include <limits.h> | 4265 | # include <limits.h> |
@@ -3912,83 +4268,40 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
3912 | #endif | 4268 | #endif |
3913 | Syntax error | 4269 | Syntax error |
3914 | _ACEOF | 4270 | _ACEOF |
3915 | if { (ac_try="$ac_cpp conftest.$ac_ext" | 4271 | if ac_fn_c_try_cpp "$LINENO"; then : |
3916 | case "(($ac_try" in | ||
3917 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3918 | *) ac_try_echo=$ac_try;; | ||
3919 | esac | ||
3920 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3921 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
3922 | ac_status=$? | ||
3923 | grep -v '^ *+' conftest.er1 >conftest.err | ||
3924 | rm -f conftest.er1 | ||
3925 | cat conftest.err >&5 | ||
3926 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3927 | (exit $ac_status); } >/dev/null && { | ||
3928 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
3929 | test ! -s conftest.err | ||
3930 | }; then | ||
3931 | : | ||
3932 | else | ||
3933 | echo "$as_me: failed program was:" >&5 | ||
3934 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
3935 | 4272 | ||
4273 | else | ||
3936 | # Broken: fails on valid input. | 4274 | # Broken: fails on valid input. |
3937 | continue | 4275 | continue |
3938 | fi | 4276 | fi |
3939 | 4277 | rm -f conftest.err conftest.i conftest.$ac_ext | |
3940 | rm -f conftest.err conftest.$ac_ext | ||
3941 | 4278 | ||
3942 | # OK, works on sane cases. Now check whether nonexistent headers | 4279 | # OK, works on sane cases. Now check whether nonexistent headers |
3943 | # can be detected and how. | 4280 | # can be detected and how. |
3944 | cat >conftest.$ac_ext <<_ACEOF | 4281 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
3945 | /* confdefs.h. */ | ||
3946 | _ACEOF | ||
3947 | cat confdefs.h >>conftest.$ac_ext | ||
3948 | cat >>conftest.$ac_ext <<_ACEOF | ||
3949 | /* end confdefs.h. */ | 4282 | /* end confdefs.h. */ |
3950 | #include <ac_nonexistent.h> | 4283 | #include <ac_nonexistent.h> |
3951 | _ACEOF | 4284 | _ACEOF |
3952 | if { (ac_try="$ac_cpp conftest.$ac_ext" | 4285 | if ac_fn_c_try_cpp "$LINENO"; then : |
3953 | case "(($ac_try" in | ||
3954 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3955 | *) ac_try_echo=$ac_try;; | ||
3956 | esac | ||
3957 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
3958 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
3959 | ac_status=$? | ||
3960 | grep -v '^ *+' conftest.er1 >conftest.err | ||
3961 | rm -f conftest.er1 | ||
3962 | cat conftest.err >&5 | ||
3963 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3964 | (exit $ac_status); } >/dev/null && { | ||
3965 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
3966 | test ! -s conftest.err | ||
3967 | }; then | ||
3968 | # Broken: success on invalid input. | 4286 | # Broken: success on invalid input. |
3969 | continue | 4287 | continue |
3970 | else | 4288 | else |
3971 | echo "$as_me: failed program was:" >&5 | ||
3972 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
3973 | |||
3974 | # Passes both tests. | 4289 | # Passes both tests. |
3975 | ac_preproc_ok=: | 4290 | ac_preproc_ok=: |
3976 | break | 4291 | break |
3977 | fi | 4292 | fi |
3978 | 4293 | rm -f conftest.err conftest.i conftest.$ac_ext | |
3979 | rm -f conftest.err conftest.$ac_ext | ||
3980 | 4294 | ||
3981 | done | 4295 | done |
3982 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 4296 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
3983 | rm -f conftest.err conftest.$ac_ext | 4297 | rm -f conftest.i conftest.err conftest.$ac_ext |
3984 | if $ac_preproc_ok; then | 4298 | if $ac_preproc_ok; then : |
3985 | : | 4299 | |
3986 | else | 4300 | else |
3987 | { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check | 4301 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
3988 | See \`config.log' for more details." >&5 | 4302 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
3989 | echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check | 4303 | as_fn_error $? "C preprocessor \"$CPP\" fails sanity check |
3990 | See \`config.log' for more details." >&2;} | 4304 | See \`config.log' for more details" "$LINENO" 5; } |
3991 | { (exit 1); exit 1; }; } | ||
3992 | fi | 4305 | fi |
3993 | 4306 | ||
3994 | ac_ext=c | 4307 | ac_ext=c |
@@ -4000,10 +4313,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu | |||
4000 | if test -n "$ac_tool_prefix"; then | 4313 | if test -n "$ac_tool_prefix"; then |
4001 | # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. | 4314 | # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. |
4002 | set dummy ${ac_tool_prefix}ranlib; ac_word=$2 | 4315 | set dummy ${ac_tool_prefix}ranlib; ac_word=$2 |
4003 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4316 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4004 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4317 | $as_echo_n "checking for $ac_word... " >&6; } |
4005 | if test "${ac_cv_prog_RANLIB+set}" = set; then | 4318 | if ${ac_cv_prog_RANLIB+:} false; then : |
4006 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4319 | $as_echo_n "(cached) " >&6 |
4007 | else | 4320 | else |
4008 | if test -n "$RANLIB"; then | 4321 | if test -n "$RANLIB"; then |
4009 | ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. | 4322 | ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. |
@@ -4013,25 +4326,25 @@ for as_dir in $PATH | |||
4013 | do | 4326 | do |
4014 | IFS=$as_save_IFS | 4327 | IFS=$as_save_IFS |
4015 | test -z "$as_dir" && as_dir=. | 4328 | test -z "$as_dir" && as_dir=. |
4016 | for ac_exec_ext in '' $ac_executable_extensions; do | 4329 | for ac_exec_ext in '' $ac_executable_extensions; do |
4017 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 4330 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4018 | ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" | 4331 | ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" |
4019 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 4332 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4020 | break 2 | 4333 | break 2 |
4021 | fi | 4334 | fi |
4022 | done | 4335 | done |
4023 | done | 4336 | done |
4024 | IFS=$as_save_IFS | 4337 | IFS=$as_save_IFS |
4025 | 4338 | ||
4026 | fi | 4339 | fi |
4027 | fi | 4340 | fi |
4028 | RANLIB=$ac_cv_prog_RANLIB | 4341 | RANLIB=$ac_cv_prog_RANLIB |
4029 | if test -n "$RANLIB"; then | 4342 | if test -n "$RANLIB"; then |
4030 | { echo "$as_me:$LINENO: result: $RANLIB" >&5 | 4343 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 |
4031 | echo "${ECHO_T}$RANLIB" >&6; } | 4344 | $as_echo "$RANLIB" >&6; } |
4032 | else | 4345 | else |
4033 | { echo "$as_me:$LINENO: result: no" >&5 | 4346 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4034 | echo "${ECHO_T}no" >&6; } | 4347 | $as_echo "no" >&6; } |
4035 | fi | 4348 | fi |
4036 | 4349 | ||
4037 | 4350 | ||
@@ -4040,10 +4353,10 @@ if test -z "$ac_cv_prog_RANLIB"; then | |||
4040 | ac_ct_RANLIB=$RANLIB | 4353 | ac_ct_RANLIB=$RANLIB |
4041 | # Extract the first word of "ranlib", so it can be a program name with args. | 4354 | # Extract the first word of "ranlib", so it can be a program name with args. |
4042 | set dummy ranlib; ac_word=$2 | 4355 | set dummy ranlib; ac_word=$2 |
4043 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4356 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4044 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4357 | $as_echo_n "checking for $ac_word... " >&6; } |
4045 | if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then | 4358 | if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : |
4046 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4359 | $as_echo_n "(cached) " >&6 |
4047 | else | 4360 | else |
4048 | if test -n "$ac_ct_RANLIB"; then | 4361 | if test -n "$ac_ct_RANLIB"; then |
4049 | ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. | 4362 | ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. |
@@ -4053,25 +4366,25 @@ for as_dir in $PATH | |||
4053 | do | 4366 | do |
4054 | IFS=$as_save_IFS | 4367 | IFS=$as_save_IFS |
4055 | test -z "$as_dir" && as_dir=. | 4368 | test -z "$as_dir" && as_dir=. |
4056 | for ac_exec_ext in '' $ac_executable_extensions; do | 4369 | for ac_exec_ext in '' $ac_executable_extensions; do |
4057 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 4370 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4058 | ac_cv_prog_ac_ct_RANLIB="ranlib" | 4371 | ac_cv_prog_ac_ct_RANLIB="ranlib" |
4059 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 4372 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4060 | break 2 | 4373 | break 2 |
4061 | fi | 4374 | fi |
4062 | done | 4375 | done |
4063 | done | 4376 | done |
4064 | IFS=$as_save_IFS | 4377 | IFS=$as_save_IFS |
4065 | 4378 | ||
4066 | fi | 4379 | fi |
4067 | fi | 4380 | fi |
4068 | ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB | 4381 | ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB |
4069 | if test -n "$ac_ct_RANLIB"; then | 4382 | if test -n "$ac_ct_RANLIB"; then |
4070 | { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 | 4383 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 |
4071 | echo "${ECHO_T}$ac_ct_RANLIB" >&6; } | 4384 | $as_echo "$ac_ct_RANLIB" >&6; } |
4072 | else | 4385 | else |
4073 | { echo "$as_me:$LINENO: result: no" >&5 | 4386 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4074 | echo "${ECHO_T}no" >&6; } | 4387 | $as_echo "no" >&6; } |
4075 | fi | 4388 | fi |
4076 | 4389 | ||
4077 | if test "x$ac_ct_RANLIB" = x; then | 4390 | if test "x$ac_ct_RANLIB" = x; then |
@@ -4079,12 +4392,8 @@ fi | |||
4079 | else | 4392 | else |
4080 | case $cross_compiling:$ac_tool_warned in | 4393 | case $cross_compiling:$ac_tool_warned in |
4081 | yes:) | 4394 | yes:) |
4082 | { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools | 4395 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
4083 | whose name does not start with the host triplet. If you think this | 4396 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
4084 | configuration is useful to you, please write to autoconf@gnu.org." >&5 | ||
4085 | echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools | ||
4086 | whose name does not start with the host triplet. If you think this | ||
4087 | configuration is useful to you, please write to autoconf@gnu.org." >&2;} | ||
4088 | ac_tool_warned=yes ;; | 4397 | ac_tool_warned=yes ;; |
4089 | esac | 4398 | esac |
4090 | RANLIB=$ac_ct_RANLIB | 4399 | RANLIB=$ac_ct_RANLIB |
@@ -4106,22 +4415,23 @@ fi | |||
4106 | # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" | 4415 | # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" |
4107 | # OS/2's system install, which has a completely different semantic | 4416 | # OS/2's system install, which has a completely different semantic |
4108 | # ./install, which can be erroneously created by make from ./install.sh. | 4417 | # ./install, which can be erroneously created by make from ./install.sh. |
4109 | { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 | 4418 | # Reject install programs that cannot install multiple files. |
4110 | echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } | 4419 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 |
4420 | $as_echo_n "checking for a BSD-compatible install... " >&6; } | ||
4111 | if test -z "$INSTALL"; then | 4421 | if test -z "$INSTALL"; then |
4112 | if test "${ac_cv_path_install+set}" = set; then | 4422 | if ${ac_cv_path_install+:} false; then : |
4113 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4423 | $as_echo_n "(cached) " >&6 |
4114 | else | 4424 | else |
4115 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | 4425 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
4116 | for as_dir in $PATH | 4426 | for as_dir in $PATH |
4117 | do | 4427 | do |
4118 | IFS=$as_save_IFS | 4428 | IFS=$as_save_IFS |
4119 | test -z "$as_dir" && as_dir=. | 4429 | test -z "$as_dir" && as_dir=. |
4120 | # Account for people who put trailing slashes in PATH elements. | 4430 | # Account for people who put trailing slashes in PATH elements. |
4121 | case $as_dir/ in | 4431 | case $as_dir/ in #(( |
4122 | ./ | .// | /cC/* | \ | 4432 | ./ | .// | /[cC]/* | \ |
4123 | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ | 4433 | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ |
4124 | ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ | 4434 | ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ |
4125 | /usr/ucb/* ) ;; | 4435 | /usr/ucb/* ) ;; |
4126 | *) | 4436 | *) |
4127 | # OSF1 and SCO ODT 3.0 have their own names for install. | 4437 | # OSF1 and SCO ODT 3.0 have their own names for install. |
@@ -4129,7 +4439,7 @@ case $as_dir/ in | |||
4129 | # by default. | 4439 | # by default. |
4130 | for ac_prog in ginstall scoinst install; do | 4440 | for ac_prog in ginstall scoinst install; do |
4131 | for ac_exec_ext in '' $ac_executable_extensions; do | 4441 | for ac_exec_ext in '' $ac_executable_extensions; do |
4132 | if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then | 4442 | if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then |
4133 | if test $ac_prog = install && | 4443 | if test $ac_prog = install && |
4134 | grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then | 4444 | grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then |
4135 | # AIX install. It has an incompatible calling convention. | 4445 | # AIX install. It has an incompatible calling convention. |
@@ -4139,17 +4449,29 @@ case $as_dir/ in | |||
4139 | # program-specific install script used by HP pwplus--don't use. | 4449 | # program-specific install script used by HP pwplus--don't use. |
4140 | : | 4450 | : |
4141 | else | 4451 | else |
4142 | ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" | 4452 | rm -rf conftest.one conftest.two conftest.dir |
4143 | break 3 | 4453 | echo one > conftest.one |
4454 | echo two > conftest.two | ||
4455 | mkdir conftest.dir | ||
4456 | if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && | ||
4457 | test -s conftest.one && test -s conftest.two && | ||
4458 | test -s conftest.dir/conftest.one && | ||
4459 | test -s conftest.dir/conftest.two | ||
4460 | then | ||
4461 | ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" | ||
4462 | break 3 | ||
4463 | fi | ||
4144 | fi | 4464 | fi |
4145 | fi | 4465 | fi |
4146 | done | 4466 | done |
4147 | done | 4467 | done |
4148 | ;; | 4468 | ;; |
4149 | esac | 4469 | esac |
4150 | done | 4470 | |
4471 | done | ||
4151 | IFS=$as_save_IFS | 4472 | IFS=$as_save_IFS |
4152 | 4473 | ||
4474 | rm -rf conftest.one conftest.two conftest.dir | ||
4153 | 4475 | ||
4154 | fi | 4476 | fi |
4155 | if test "${ac_cv_path_install+set}" = set; then | 4477 | if test "${ac_cv_path_install+set}" = set; then |
@@ -4162,8 +4484,8 @@ fi | |||
4162 | INSTALL=$ac_install_sh | 4484 | INSTALL=$ac_install_sh |
4163 | fi | 4485 | fi |
4164 | fi | 4486 | fi |
4165 | { echo "$as_me:$LINENO: result: $INSTALL" >&5 | 4487 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 |
4166 | echo "${ECHO_T}$INSTALL" >&6; } | 4488 | $as_echo "$INSTALL" >&6; } |
4167 | 4489 | ||
4168 | # Use test -z because SunOS4 sh mishandles braces in ${var-val}. | 4490 | # Use test -z because SunOS4 sh mishandles braces in ${var-val}. |
4169 | # It thinks the first close brace ends the variable substitution. | 4491 | # It thinks the first close brace ends the variable substitution. |
@@ -4173,48 +4495,43 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' | |||
4173 | 4495 | ||
4174 | test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' | 4496 | test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' |
4175 | 4497 | ||
4176 | { echo "$as_me:$LINENO: checking for egrep" >&5 | 4498 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 |
4177 | echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } | 4499 | $as_echo_n "checking for egrep... " >&6; } |
4178 | if test "${ac_cv_path_EGREP+set}" = set; then | 4500 | if ${ac_cv_path_EGREP+:} false; then : |
4179 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4501 | $as_echo_n "(cached) " >&6 |
4180 | else | 4502 | else |
4181 | if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 | 4503 | if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 |
4182 | then ac_cv_path_EGREP="$GREP -E" | 4504 | then ac_cv_path_EGREP="$GREP -E" |
4183 | else | 4505 | else |
4184 | # Extract the first word of "egrep" to use in msg output | 4506 | if test -z "$EGREP"; then |
4185 | if test -z "$EGREP"; then | ||
4186 | set dummy egrep; ac_prog_name=$2 | ||
4187 | if test "${ac_cv_path_EGREP+set}" = set; then | ||
4188 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
4189 | else | ||
4190 | ac_path_EGREP_found=false | 4507 | ac_path_EGREP_found=false |
4191 | # Loop through the user's path and test for each of PROGNAME-LIST | 4508 | # Loop through the user's path and test for each of PROGNAME-LIST |
4192 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | 4509 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
4193 | for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin | 4510 | for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin |
4194 | do | 4511 | do |
4195 | IFS=$as_save_IFS | 4512 | IFS=$as_save_IFS |
4196 | test -z "$as_dir" && as_dir=. | 4513 | test -z "$as_dir" && as_dir=. |
4197 | for ac_prog in egrep; do | 4514 | for ac_prog in egrep; do |
4198 | for ac_exec_ext in '' $ac_executable_extensions; do | 4515 | for ac_exec_ext in '' $ac_executable_extensions; do |
4199 | ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" | 4516 | ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" |
4200 | { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue | 4517 | as_fn_executable_p "$ac_path_EGREP" || continue |
4201 | # Check for GNU ac_path_EGREP and select it if it is found. | 4518 | # Check for GNU ac_path_EGREP and select it if it is found. |
4202 | # Check for GNU $ac_path_EGREP | 4519 | # Check for GNU $ac_path_EGREP |
4203 | case `"$ac_path_EGREP" --version 2>&1` in | 4520 | case `"$ac_path_EGREP" --version 2>&1` in |
4204 | *GNU*) | 4521 | *GNU*) |
4205 | ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; | 4522 | ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; |
4206 | *) | 4523 | *) |
4207 | ac_count=0 | 4524 | ac_count=0 |
4208 | echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" | 4525 | $as_echo_n 0123456789 >"conftest.in" |
4209 | while : | 4526 | while : |
4210 | do | 4527 | do |
4211 | cat "conftest.in" "conftest.in" >"conftest.tmp" | 4528 | cat "conftest.in" "conftest.in" >"conftest.tmp" |
4212 | mv "conftest.tmp" "conftest.in" | 4529 | mv "conftest.tmp" "conftest.in" |
4213 | cp "conftest.in" "conftest.nl" | 4530 | cp "conftest.in" "conftest.nl" |
4214 | echo 'EGREP' >> "conftest.nl" | 4531 | $as_echo 'EGREP' >> "conftest.nl" |
4215 | "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break | 4532 | "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break |
4216 | diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break | 4533 | diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break |
4217 | ac_count=`expr $ac_count + 1` | 4534 | as_fn_arith $ac_count + 1 && ac_count=$as_val |
4218 | if test $ac_count -gt ${ac_path_EGREP_max-0}; then | 4535 | if test $ac_count -gt ${ac_path_EGREP_max-0}; then |
4219 | # Best one so far, save it but keep looking for a better one | 4536 | # Best one so far, save it but keep looking for a better one |
4220 | ac_cv_path_EGREP="$ac_path_EGREP" | 4537 | ac_cv_path_EGREP="$ac_path_EGREP" |
@@ -4226,33 +4543,22 @@ case `"$ac_path_EGREP" --version 2>&1` in | |||
4226 | rm -f conftest.in conftest.tmp conftest.nl conftest.out;; | 4543 | rm -f conftest.in conftest.tmp conftest.nl conftest.out;; |
4227 | esac | 4544 | esac |
4228 | 4545 | ||
4229 | 4546 | $ac_path_EGREP_found && break 3 | |
4230 | $ac_path_EGREP_found && break 3 | 4547 | done |
4548 | done | ||
4231 | done | 4549 | done |
4232 | done | ||
4233 | |||
4234 | done | ||
4235 | IFS=$as_save_IFS | 4550 | IFS=$as_save_IFS |
4236 | 4551 | if test -z "$ac_cv_path_EGREP"; then | |
4237 | 4552 | as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | |
4238 | fi | 4553 | fi |
4239 | |||
4240 | EGREP="$ac_cv_path_EGREP" | ||
4241 | if test -z "$EGREP"; then | ||
4242 | { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 | ||
4243 | echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} | ||
4244 | { (exit 1); exit 1; }; } | ||
4245 | fi | ||
4246 | |||
4247 | else | 4554 | else |
4248 | ac_cv_path_EGREP=$EGREP | 4555 | ac_cv_path_EGREP=$EGREP |
4249 | fi | 4556 | fi |
4250 | 4557 | ||
4251 | |||
4252 | fi | 4558 | fi |
4253 | fi | 4559 | fi |
4254 | { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 | 4560 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 |
4255 | echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } | 4561 | $as_echo "$ac_cv_path_EGREP" >&6; } |
4256 | EGREP="$ac_cv_path_EGREP" | 4562 | EGREP="$ac_cv_path_EGREP" |
4257 | 4563 | ||
4258 | 4564 | ||
@@ -4261,10 +4567,10 @@ if test -n "$ac_tool_prefix"; then | |||
4261 | do | 4567 | do |
4262 | # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. | 4568 | # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. |
4263 | set dummy $ac_tool_prefix$ac_prog; ac_word=$2 | 4569 | set dummy $ac_tool_prefix$ac_prog; ac_word=$2 |
4264 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4570 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4265 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4571 | $as_echo_n "checking for $ac_word... " >&6; } |
4266 | if test "${ac_cv_prog_AR+set}" = set; then | 4572 | if ${ac_cv_prog_AR+:} false; then : |
4267 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4573 | $as_echo_n "(cached) " >&6 |
4268 | else | 4574 | else |
4269 | if test -n "$AR"; then | 4575 | if test -n "$AR"; then |
4270 | ac_cv_prog_AR="$AR" # Let the user override the test. | 4576 | ac_cv_prog_AR="$AR" # Let the user override the test. |
@@ -4274,25 +4580,25 @@ for as_dir in $PATH | |||
4274 | do | 4580 | do |
4275 | IFS=$as_save_IFS | 4581 | IFS=$as_save_IFS |
4276 | test -z "$as_dir" && as_dir=. | 4582 | test -z "$as_dir" && as_dir=. |
4277 | for ac_exec_ext in '' $ac_executable_extensions; do | 4583 | for ac_exec_ext in '' $ac_executable_extensions; do |
4278 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 4584 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4279 | ac_cv_prog_AR="$ac_tool_prefix$ac_prog" | 4585 | ac_cv_prog_AR="$ac_tool_prefix$ac_prog" |
4280 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 4586 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4281 | break 2 | 4587 | break 2 |
4282 | fi | 4588 | fi |
4283 | done | 4589 | done |
4284 | done | 4590 | done |
4285 | IFS=$as_save_IFS | 4591 | IFS=$as_save_IFS |
4286 | 4592 | ||
4287 | fi | 4593 | fi |
4288 | fi | 4594 | fi |
4289 | AR=$ac_cv_prog_AR | 4595 | AR=$ac_cv_prog_AR |
4290 | if test -n "$AR"; then | 4596 | if test -n "$AR"; then |
4291 | { echo "$as_me:$LINENO: result: $AR" >&5 | 4597 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 |
4292 | echo "${ECHO_T}$AR" >&6; } | 4598 | $as_echo "$AR" >&6; } |
4293 | else | 4599 | else |
4294 | { echo "$as_me:$LINENO: result: no" >&5 | 4600 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4295 | echo "${ECHO_T}no" >&6; } | 4601 | $as_echo "no" >&6; } |
4296 | fi | 4602 | fi |
4297 | 4603 | ||
4298 | 4604 | ||
@@ -4305,10 +4611,10 @@ if test -z "$AR"; then | |||
4305 | do | 4611 | do |
4306 | # Extract the first word of "$ac_prog", so it can be a program name with args. | 4612 | # Extract the first word of "$ac_prog", so it can be a program name with args. |
4307 | set dummy $ac_prog; ac_word=$2 | 4613 | set dummy $ac_prog; ac_word=$2 |
4308 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4614 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4309 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4615 | $as_echo_n "checking for $ac_word... " >&6; } |
4310 | if test "${ac_cv_prog_ac_ct_AR+set}" = set; then | 4616 | if ${ac_cv_prog_ac_ct_AR+:} false; then : |
4311 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4617 | $as_echo_n "(cached) " >&6 |
4312 | else | 4618 | else |
4313 | if test -n "$ac_ct_AR"; then | 4619 | if test -n "$ac_ct_AR"; then |
4314 | ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. | 4620 | ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. |
@@ -4318,25 +4624,25 @@ for as_dir in $PATH | |||
4318 | do | 4624 | do |
4319 | IFS=$as_save_IFS | 4625 | IFS=$as_save_IFS |
4320 | test -z "$as_dir" && as_dir=. | 4626 | test -z "$as_dir" && as_dir=. |
4321 | for ac_exec_ext in '' $ac_executable_extensions; do | 4627 | for ac_exec_ext in '' $ac_executable_extensions; do |
4322 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 4628 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4323 | ac_cv_prog_ac_ct_AR="$ac_prog" | 4629 | ac_cv_prog_ac_ct_AR="$ac_prog" |
4324 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 4630 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4325 | break 2 | 4631 | break 2 |
4326 | fi | 4632 | fi |
4327 | done | 4633 | done |
4328 | done | 4634 | done |
4329 | IFS=$as_save_IFS | 4635 | IFS=$as_save_IFS |
4330 | 4636 | ||
4331 | fi | 4637 | fi |
4332 | fi | 4638 | fi |
4333 | ac_ct_AR=$ac_cv_prog_ac_ct_AR | 4639 | ac_ct_AR=$ac_cv_prog_ac_ct_AR |
4334 | if test -n "$ac_ct_AR"; then | 4640 | if test -n "$ac_ct_AR"; then |
4335 | { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 | 4641 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 |
4336 | echo "${ECHO_T}$ac_ct_AR" >&6; } | 4642 | $as_echo "$ac_ct_AR" >&6; } |
4337 | else | 4643 | else |
4338 | { echo "$as_me:$LINENO: result: no" >&5 | 4644 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4339 | echo "${ECHO_T}no" >&6; } | 4645 | $as_echo "no" >&6; } |
4340 | fi | 4646 | fi |
4341 | 4647 | ||
4342 | 4648 | ||
@@ -4348,12 +4654,8 @@ done | |||
4348 | else | 4654 | else |
4349 | case $cross_compiling:$ac_tool_warned in | 4655 | case $cross_compiling:$ac_tool_warned in |
4350 | yes:) | 4656 | yes:) |
4351 | { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools | 4657 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
4352 | whose name does not start with the host triplet. If you think this | 4658 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
4353 | configuration is useful to you, please write to autoconf@gnu.org." >&5 | ||
4354 | echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools | ||
4355 | whose name does not start with the host triplet. If you think this | ||
4356 | configuration is useful to you, please write to autoconf@gnu.org." >&2;} | ||
4357 | ac_tool_warned=yes ;; | 4659 | ac_tool_warned=yes ;; |
4358 | esac | 4660 | esac |
4359 | AR=$ac_ct_AR | 4661 | AR=$ac_ct_AR |
@@ -4362,10 +4664,10 @@ fi | |||
4362 | 4664 | ||
4363 | # Extract the first word of "cat", so it can be a program name with args. | 4665 | # Extract the first word of "cat", so it can be a program name with args. |
4364 | set dummy cat; ac_word=$2 | 4666 | set dummy cat; ac_word=$2 |
4365 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4667 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4366 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4668 | $as_echo_n "checking for $ac_word... " >&6; } |
4367 | if test "${ac_cv_path_CAT+set}" = set; then | 4669 | if ${ac_cv_path_CAT+:} false; then : |
4368 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4670 | $as_echo_n "(cached) " >&6 |
4369 | else | 4671 | else |
4370 | case $CAT in | 4672 | case $CAT in |
4371 | [\\/]* | ?:[\\/]*) | 4673 | [\\/]* | ?:[\\/]*) |
@@ -4377,14 +4679,14 @@ for as_dir in $PATH | |||
4377 | do | 4679 | do |
4378 | IFS=$as_save_IFS | 4680 | IFS=$as_save_IFS |
4379 | test -z "$as_dir" && as_dir=. | 4681 | test -z "$as_dir" && as_dir=. |
4380 | for ac_exec_ext in '' $ac_executable_extensions; do | 4682 | for ac_exec_ext in '' $ac_executable_extensions; do |
4381 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 4683 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4382 | ac_cv_path_CAT="$as_dir/$ac_word$ac_exec_ext" | 4684 | ac_cv_path_CAT="$as_dir/$ac_word$ac_exec_ext" |
4383 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 4685 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4384 | break 2 | 4686 | break 2 |
4385 | fi | 4687 | fi |
4386 | done | 4688 | done |
4387 | done | 4689 | done |
4388 | IFS=$as_save_IFS | 4690 | IFS=$as_save_IFS |
4389 | 4691 | ||
4390 | ;; | 4692 | ;; |
@@ -4392,20 +4694,20 @@ esac | |||
4392 | fi | 4694 | fi |
4393 | CAT=$ac_cv_path_CAT | 4695 | CAT=$ac_cv_path_CAT |
4394 | if test -n "$CAT"; then | 4696 | if test -n "$CAT"; then |
4395 | { echo "$as_me:$LINENO: result: $CAT" >&5 | 4697 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAT" >&5 |
4396 | echo "${ECHO_T}$CAT" >&6; } | 4698 | $as_echo "$CAT" >&6; } |
4397 | else | 4699 | else |
4398 | { echo "$as_me:$LINENO: result: no" >&5 | 4700 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4399 | echo "${ECHO_T}no" >&6; } | 4701 | $as_echo "no" >&6; } |
4400 | fi | 4702 | fi |
4401 | 4703 | ||
4402 | 4704 | ||
4403 | # Extract the first word of "kill", so it can be a program name with args. | 4705 | # Extract the first word of "kill", so it can be a program name with args. |
4404 | set dummy kill; ac_word=$2 | 4706 | set dummy kill; ac_word=$2 |
4405 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4707 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4406 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4708 | $as_echo_n "checking for $ac_word... " >&6; } |
4407 | if test "${ac_cv_path_KILL+set}" = set; then | 4709 | if ${ac_cv_path_KILL+:} false; then : |
4408 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4710 | $as_echo_n "(cached) " >&6 |
4409 | else | 4711 | else |
4410 | case $KILL in | 4712 | case $KILL in |
4411 | [\\/]* | ?:[\\/]*) | 4713 | [\\/]* | ?:[\\/]*) |
@@ -4417,14 +4719,14 @@ for as_dir in $PATH | |||
4417 | do | 4719 | do |
4418 | IFS=$as_save_IFS | 4720 | IFS=$as_save_IFS |
4419 | test -z "$as_dir" && as_dir=. | 4721 | test -z "$as_dir" && as_dir=. |
4420 | for ac_exec_ext in '' $ac_executable_extensions; do | 4722 | for ac_exec_ext in '' $ac_executable_extensions; do |
4421 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 4723 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4422 | ac_cv_path_KILL="$as_dir/$ac_word$ac_exec_ext" | 4724 | ac_cv_path_KILL="$as_dir/$ac_word$ac_exec_ext" |
4423 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 4725 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4424 | break 2 | 4726 | break 2 |
4425 | fi | 4727 | fi |
4426 | done | 4728 | done |
4427 | done | 4729 | done |
4428 | IFS=$as_save_IFS | 4730 | IFS=$as_save_IFS |
4429 | 4731 | ||
4430 | ;; | 4732 | ;; |
@@ -4432,11 +4734,11 @@ esac | |||
4432 | fi | 4734 | fi |
4433 | KILL=$ac_cv_path_KILL | 4735 | KILL=$ac_cv_path_KILL |
4434 | if test -n "$KILL"; then | 4736 | if test -n "$KILL"; then |
4435 | { echo "$as_me:$LINENO: result: $KILL" >&5 | 4737 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KILL" >&5 |
4436 | echo "${ECHO_T}$KILL" >&6; } | 4738 | $as_echo "$KILL" >&6; } |
4437 | else | 4739 | else |
4438 | { echo "$as_me:$LINENO: result: no" >&5 | 4740 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4439 | echo "${ECHO_T}no" >&6; } | 4741 | $as_echo "no" >&6; } |
4440 | fi | 4742 | fi |
4441 | 4743 | ||
4442 | 4744 | ||
@@ -4444,10 +4746,10 @@ for ac_prog in perl5 perl | |||
4444 | do | 4746 | do |
4445 | # Extract the first word of "$ac_prog", so it can be a program name with args. | 4747 | # Extract the first word of "$ac_prog", so it can be a program name with args. |
4446 | set dummy $ac_prog; ac_word=$2 | 4748 | set dummy $ac_prog; ac_word=$2 |
4447 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4749 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4448 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4750 | $as_echo_n "checking for $ac_word... " >&6; } |
4449 | if test "${ac_cv_path_PERL+set}" = set; then | 4751 | if ${ac_cv_path_PERL+:} false; then : |
4450 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4752 | $as_echo_n "(cached) " >&6 |
4451 | else | 4753 | else |
4452 | case $PERL in | 4754 | case $PERL in |
4453 | [\\/]* | ?:[\\/]*) | 4755 | [\\/]* | ?:[\\/]*) |
@@ -4459,14 +4761,14 @@ for as_dir in $PATH | |||
4459 | do | 4761 | do |
4460 | IFS=$as_save_IFS | 4762 | IFS=$as_save_IFS |
4461 | test -z "$as_dir" && as_dir=. | 4763 | test -z "$as_dir" && as_dir=. |
4462 | for ac_exec_ext in '' $ac_executable_extensions; do | 4764 | for ac_exec_ext in '' $ac_executable_extensions; do |
4463 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 4765 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4464 | ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" | 4766 | ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" |
4465 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 4767 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4466 | break 2 | 4768 | break 2 |
4467 | fi | 4769 | fi |
4468 | done | 4770 | done |
4469 | done | 4771 | done |
4470 | IFS=$as_save_IFS | 4772 | IFS=$as_save_IFS |
4471 | 4773 | ||
4472 | ;; | 4774 | ;; |
@@ -4474,11 +4776,11 @@ esac | |||
4474 | fi | 4776 | fi |
4475 | PERL=$ac_cv_path_PERL | 4777 | PERL=$ac_cv_path_PERL |
4476 | if test -n "$PERL"; then | 4778 | if test -n "$PERL"; then |
4477 | { echo "$as_me:$LINENO: result: $PERL" >&5 | 4779 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 |
4478 | echo "${ECHO_T}$PERL" >&6; } | 4780 | $as_echo "$PERL" >&6; } |
4479 | else | 4781 | else |
4480 | { echo "$as_me:$LINENO: result: no" >&5 | 4782 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4481 | echo "${ECHO_T}no" >&6; } | 4783 | $as_echo "no" >&6; } |
4482 | fi | 4784 | fi |
4483 | 4785 | ||
4484 | 4786 | ||
@@ -4487,10 +4789,10 @@ done | |||
4487 | 4789 | ||
4488 | # Extract the first word of "sed", so it can be a program name with args. | 4790 | # Extract the first word of "sed", so it can be a program name with args. |
4489 | set dummy sed; ac_word=$2 | 4791 | set dummy sed; ac_word=$2 |
4490 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4792 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4491 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4793 | $as_echo_n "checking for $ac_word... " >&6; } |
4492 | if test "${ac_cv_path_SED+set}" = set; then | 4794 | if ${ac_cv_path_SED+:} false; then : |
4493 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4795 | $as_echo_n "(cached) " >&6 |
4494 | else | 4796 | else |
4495 | case $SED in | 4797 | case $SED in |
4496 | [\\/]* | ?:[\\/]*) | 4798 | [\\/]* | ?:[\\/]*) |
@@ -4502,14 +4804,14 @@ for as_dir in $PATH | |||
4502 | do | 4804 | do |
4503 | IFS=$as_save_IFS | 4805 | IFS=$as_save_IFS |
4504 | test -z "$as_dir" && as_dir=. | 4806 | test -z "$as_dir" && as_dir=. |
4505 | for ac_exec_ext in '' $ac_executable_extensions; do | 4807 | for ac_exec_ext in '' $ac_executable_extensions; do |
4506 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 4808 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4507 | ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext" | 4809 | ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext" |
4508 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 4810 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4509 | break 2 | 4811 | break 2 |
4510 | fi | 4812 | fi |
4511 | done | 4813 | done |
4512 | done | 4814 | done |
4513 | IFS=$as_save_IFS | 4815 | IFS=$as_save_IFS |
4514 | 4816 | ||
4515 | ;; | 4817 | ;; |
@@ -4517,21 +4819,21 @@ esac | |||
4517 | fi | 4819 | fi |
4518 | SED=$ac_cv_path_SED | 4820 | SED=$ac_cv_path_SED |
4519 | if test -n "$SED"; then | 4821 | if test -n "$SED"; then |
4520 | { echo "$as_me:$LINENO: result: $SED" >&5 | 4822 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SED" >&5 |
4521 | echo "${ECHO_T}$SED" >&6; } | 4823 | $as_echo "$SED" >&6; } |
4522 | else | 4824 | else |
4523 | { echo "$as_me:$LINENO: result: no" >&5 | 4825 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4524 | echo "${ECHO_T}no" >&6; } | 4826 | $as_echo "no" >&6; } |
4525 | fi | 4827 | fi |
4526 | 4828 | ||
4527 | 4829 | ||
4528 | 4830 | ||
4529 | # Extract the first word of "ent", so it can be a program name with args. | 4831 | # Extract the first word of "ent", so it can be a program name with args. |
4530 | set dummy ent; ac_word=$2 | 4832 | set dummy ent; ac_word=$2 |
4531 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4833 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4532 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4834 | $as_echo_n "checking for $ac_word... " >&6; } |
4533 | if test "${ac_cv_path_ENT+set}" = set; then | 4835 | if ${ac_cv_path_ENT+:} false; then : |
4534 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4836 | $as_echo_n "(cached) " >&6 |
4535 | else | 4837 | else |
4536 | case $ENT in | 4838 | case $ENT in |
4537 | [\\/]* | ?:[\\/]*) | 4839 | [\\/]* | ?:[\\/]*) |
@@ -4543,14 +4845,14 @@ for as_dir in $PATH | |||
4543 | do | 4845 | do |
4544 | IFS=$as_save_IFS | 4846 | IFS=$as_save_IFS |
4545 | test -z "$as_dir" && as_dir=. | 4847 | test -z "$as_dir" && as_dir=. |
4546 | for ac_exec_ext in '' $ac_executable_extensions; do | 4848 | for ac_exec_ext in '' $ac_executable_extensions; do |
4547 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 4849 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4548 | ac_cv_path_ENT="$as_dir/$ac_word$ac_exec_ext" | 4850 | ac_cv_path_ENT="$as_dir/$ac_word$ac_exec_ext" |
4549 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 4851 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4550 | break 2 | 4852 | break 2 |
4551 | fi | 4853 | fi |
4552 | done | 4854 | done |
4553 | done | 4855 | done |
4554 | IFS=$as_save_IFS | 4856 | IFS=$as_save_IFS |
4555 | 4857 | ||
4556 | ;; | 4858 | ;; |
@@ -4558,21 +4860,21 @@ esac | |||
4558 | fi | 4860 | fi |
4559 | ENT=$ac_cv_path_ENT | 4861 | ENT=$ac_cv_path_ENT |
4560 | if test -n "$ENT"; then | 4862 | if test -n "$ENT"; then |
4561 | { echo "$as_me:$LINENO: result: $ENT" >&5 | 4863 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENT" >&5 |
4562 | echo "${ECHO_T}$ENT" >&6; } | 4864 | $as_echo "$ENT" >&6; } |
4563 | else | 4865 | else |
4564 | { echo "$as_me:$LINENO: result: no" >&5 | 4866 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4565 | echo "${ECHO_T}no" >&6; } | 4867 | $as_echo "no" >&6; } |
4566 | fi | 4868 | fi |
4567 | 4869 | ||
4568 | 4870 | ||
4569 | 4871 | ||
4570 | # Extract the first word of "bash", so it can be a program name with args. | 4872 | # Extract the first word of "bash", so it can be a program name with args. |
4571 | set dummy bash; ac_word=$2 | 4873 | set dummy bash; ac_word=$2 |
4572 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4874 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4573 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4875 | $as_echo_n "checking for $ac_word... " >&6; } |
4574 | if test "${ac_cv_path_TEST_MINUS_S_SH+set}" = set; then | 4876 | if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then : |
4575 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4877 | $as_echo_n "(cached) " >&6 |
4576 | else | 4878 | else |
4577 | case $TEST_MINUS_S_SH in | 4879 | case $TEST_MINUS_S_SH in |
4578 | [\\/]* | ?:[\\/]*) | 4880 | [\\/]* | ?:[\\/]*) |
@@ -4584,14 +4886,14 @@ for as_dir in $PATH | |||
4584 | do | 4886 | do |
4585 | IFS=$as_save_IFS | 4887 | IFS=$as_save_IFS |
4586 | test -z "$as_dir" && as_dir=. | 4888 | test -z "$as_dir" && as_dir=. |
4587 | for ac_exec_ext in '' $ac_executable_extensions; do | 4889 | for ac_exec_ext in '' $ac_executable_extensions; do |
4588 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 4890 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4589 | ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext" | 4891 | ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext" |
4590 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 4892 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4591 | break 2 | 4893 | break 2 |
4592 | fi | 4894 | fi |
4593 | done | 4895 | done |
4594 | done | 4896 | done |
4595 | IFS=$as_save_IFS | 4897 | IFS=$as_save_IFS |
4596 | 4898 | ||
4597 | ;; | 4899 | ;; |
@@ -4599,20 +4901,20 @@ esac | |||
4599 | fi | 4901 | fi |
4600 | TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH | 4902 | TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH |
4601 | if test -n "$TEST_MINUS_S_SH"; then | 4903 | if test -n "$TEST_MINUS_S_SH"; then |
4602 | { echo "$as_me:$LINENO: result: $TEST_MINUS_S_SH" >&5 | 4904 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5 |
4603 | echo "${ECHO_T}$TEST_MINUS_S_SH" >&6; } | 4905 | $as_echo "$TEST_MINUS_S_SH" >&6; } |
4604 | else | 4906 | else |
4605 | { echo "$as_me:$LINENO: result: no" >&5 | 4907 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4606 | echo "${ECHO_T}no" >&6; } | 4908 | $as_echo "no" >&6; } |
4607 | fi | 4909 | fi |
4608 | 4910 | ||
4609 | 4911 | ||
4610 | # Extract the first word of "ksh", so it can be a program name with args. | 4912 | # Extract the first word of "ksh", so it can be a program name with args. |
4611 | set dummy ksh; ac_word=$2 | 4913 | set dummy ksh; ac_word=$2 |
4612 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4914 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4613 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4915 | $as_echo_n "checking for $ac_word... " >&6; } |
4614 | if test "${ac_cv_path_TEST_MINUS_S_SH+set}" = set; then | 4916 | if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then : |
4615 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4917 | $as_echo_n "(cached) " >&6 |
4616 | else | 4918 | else |
4617 | case $TEST_MINUS_S_SH in | 4919 | case $TEST_MINUS_S_SH in |
4618 | [\\/]* | ?:[\\/]*) | 4920 | [\\/]* | ?:[\\/]*) |
@@ -4624,14 +4926,14 @@ for as_dir in $PATH | |||
4624 | do | 4926 | do |
4625 | IFS=$as_save_IFS | 4927 | IFS=$as_save_IFS |
4626 | test -z "$as_dir" && as_dir=. | 4928 | test -z "$as_dir" && as_dir=. |
4627 | for ac_exec_ext in '' $ac_executable_extensions; do | 4929 | for ac_exec_ext in '' $ac_executable_extensions; do |
4628 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 4930 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4629 | ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext" | 4931 | ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext" |
4630 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 4932 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4631 | break 2 | 4933 | break 2 |
4632 | fi | 4934 | fi |
4633 | done | 4935 | done |
4634 | done | 4936 | done |
4635 | IFS=$as_save_IFS | 4937 | IFS=$as_save_IFS |
4636 | 4938 | ||
4637 | ;; | 4939 | ;; |
@@ -4639,20 +4941,20 @@ esac | |||
4639 | fi | 4941 | fi |
4640 | TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH | 4942 | TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH |
4641 | if test -n "$TEST_MINUS_S_SH"; then | 4943 | if test -n "$TEST_MINUS_S_SH"; then |
4642 | { echo "$as_me:$LINENO: result: $TEST_MINUS_S_SH" >&5 | 4944 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5 |
4643 | echo "${ECHO_T}$TEST_MINUS_S_SH" >&6; } | 4945 | $as_echo "$TEST_MINUS_S_SH" >&6; } |
4644 | else | 4946 | else |
4645 | { echo "$as_me:$LINENO: result: no" >&5 | 4947 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4646 | echo "${ECHO_T}no" >&6; } | 4948 | $as_echo "no" >&6; } |
4647 | fi | 4949 | fi |
4648 | 4950 | ||
4649 | 4951 | ||
4650 | # Extract the first word of "sh", so it can be a program name with args. | 4952 | # Extract the first word of "sh", so it can be a program name with args. |
4651 | set dummy sh; ac_word=$2 | 4953 | set dummy sh; ac_word=$2 |
4652 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4954 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4653 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4955 | $as_echo_n "checking for $ac_word... " >&6; } |
4654 | if test "${ac_cv_path_TEST_MINUS_S_SH+set}" = set; then | 4956 | if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then : |
4655 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4957 | $as_echo_n "(cached) " >&6 |
4656 | else | 4958 | else |
4657 | case $TEST_MINUS_S_SH in | 4959 | case $TEST_MINUS_S_SH in |
4658 | [\\/]* | ?:[\\/]*) | 4960 | [\\/]* | ?:[\\/]*) |
@@ -4664,14 +4966,14 @@ for as_dir in $PATH | |||
4664 | do | 4966 | do |
4665 | IFS=$as_save_IFS | 4967 | IFS=$as_save_IFS |
4666 | test -z "$as_dir" && as_dir=. | 4968 | test -z "$as_dir" && as_dir=. |
4667 | for ac_exec_ext in '' $ac_executable_extensions; do | 4969 | for ac_exec_ext in '' $ac_executable_extensions; do |
4668 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 4970 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4669 | ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext" | 4971 | ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext" |
4670 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 4972 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4671 | break 2 | 4973 | break 2 |
4672 | fi | 4974 | fi |
4673 | done | 4975 | done |
4674 | done | 4976 | done |
4675 | IFS=$as_save_IFS | 4977 | IFS=$as_save_IFS |
4676 | 4978 | ||
4677 | ;; | 4979 | ;; |
@@ -4679,20 +4981,20 @@ esac | |||
4679 | fi | 4981 | fi |
4680 | TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH | 4982 | TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH |
4681 | if test -n "$TEST_MINUS_S_SH"; then | 4983 | if test -n "$TEST_MINUS_S_SH"; then |
4682 | { echo "$as_me:$LINENO: result: $TEST_MINUS_S_SH" >&5 | 4984 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5 |
4683 | echo "${ECHO_T}$TEST_MINUS_S_SH" >&6; } | 4985 | $as_echo "$TEST_MINUS_S_SH" >&6; } |
4684 | else | 4986 | else |
4685 | { echo "$as_me:$LINENO: result: no" >&5 | 4987 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4686 | echo "${ECHO_T}no" >&6; } | 4988 | $as_echo "no" >&6; } |
4687 | fi | 4989 | fi |
4688 | 4990 | ||
4689 | 4991 | ||
4690 | # Extract the first word of "sh", so it can be a program name with args. | 4992 | # Extract the first word of "sh", so it can be a program name with args. |
4691 | set dummy sh; ac_word=$2 | 4993 | set dummy sh; ac_word=$2 |
4692 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 4994 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4693 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 4995 | $as_echo_n "checking for $ac_word... " >&6; } |
4694 | if test "${ac_cv_path_SH+set}" = set; then | 4996 | if ${ac_cv_path_SH+:} false; then : |
4695 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 4997 | $as_echo_n "(cached) " >&6 |
4696 | else | 4998 | else |
4697 | case $SH in | 4999 | case $SH in |
4698 | [\\/]* | ?:[\\/]*) | 5000 | [\\/]* | ?:[\\/]*) |
@@ -4704,14 +5006,14 @@ for as_dir in $PATH | |||
4704 | do | 5006 | do |
4705 | IFS=$as_save_IFS | 5007 | IFS=$as_save_IFS |
4706 | test -z "$as_dir" && as_dir=. | 5008 | test -z "$as_dir" && as_dir=. |
4707 | for ac_exec_ext in '' $ac_executable_extensions; do | 5009 | for ac_exec_ext in '' $ac_executable_extensions; do |
4708 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 5010 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4709 | ac_cv_path_SH="$as_dir/$ac_word$ac_exec_ext" | 5011 | ac_cv_path_SH="$as_dir/$ac_word$ac_exec_ext" |
4710 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 5012 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4711 | break 2 | 5013 | break 2 |
4712 | fi | 5014 | fi |
4713 | done | 5015 | done |
4714 | done | 5016 | done |
4715 | IFS=$as_save_IFS | 5017 | IFS=$as_save_IFS |
4716 | 5018 | ||
4717 | ;; | 5019 | ;; |
@@ -4719,20 +5021,20 @@ esac | |||
4719 | fi | 5021 | fi |
4720 | SH=$ac_cv_path_SH | 5022 | SH=$ac_cv_path_SH |
4721 | if test -n "$SH"; then | 5023 | if test -n "$SH"; then |
4722 | { echo "$as_me:$LINENO: result: $SH" >&5 | 5024 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SH" >&5 |
4723 | echo "${ECHO_T}$SH" >&6; } | 5025 | $as_echo "$SH" >&6; } |
4724 | else | 5026 | else |
4725 | { echo "$as_me:$LINENO: result: no" >&5 | 5027 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4726 | echo "${ECHO_T}no" >&6; } | 5028 | $as_echo "no" >&6; } |
4727 | fi | 5029 | fi |
4728 | 5030 | ||
4729 | 5031 | ||
4730 | # Extract the first word of "groff", so it can be a program name with args. | 5032 | # Extract the first word of "groff", so it can be a program name with args. |
4731 | set dummy groff; ac_word=$2 | 5033 | set dummy groff; ac_word=$2 |
4732 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 5034 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4733 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 5035 | $as_echo_n "checking for $ac_word... " >&6; } |
4734 | if test "${ac_cv_path_GROFF+set}" = set; then | 5036 | if ${ac_cv_path_GROFF+:} false; then : |
4735 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 5037 | $as_echo_n "(cached) " >&6 |
4736 | else | 5038 | else |
4737 | case $GROFF in | 5039 | case $GROFF in |
4738 | [\\/]* | ?:[\\/]*) | 5040 | [\\/]* | ?:[\\/]*) |
@@ -4744,14 +5046,14 @@ for as_dir in $PATH | |||
4744 | do | 5046 | do |
4745 | IFS=$as_save_IFS | 5047 | IFS=$as_save_IFS |
4746 | test -z "$as_dir" && as_dir=. | 5048 | test -z "$as_dir" && as_dir=. |
4747 | for ac_exec_ext in '' $ac_executable_extensions; do | 5049 | for ac_exec_ext in '' $ac_executable_extensions; do |
4748 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 5050 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4749 | ac_cv_path_GROFF="$as_dir/$ac_word$ac_exec_ext" | 5051 | ac_cv_path_GROFF="$as_dir/$ac_word$ac_exec_ext" |
4750 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 5052 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4751 | break 2 | 5053 | break 2 |
4752 | fi | 5054 | fi |
4753 | done | 5055 | done |
4754 | done | 5056 | done |
4755 | IFS=$as_save_IFS | 5057 | IFS=$as_save_IFS |
4756 | 5058 | ||
4757 | ;; | 5059 | ;; |
@@ -4759,20 +5061,20 @@ esac | |||
4759 | fi | 5061 | fi |
4760 | GROFF=$ac_cv_path_GROFF | 5062 | GROFF=$ac_cv_path_GROFF |
4761 | if test -n "$GROFF"; then | 5063 | if test -n "$GROFF"; then |
4762 | { echo "$as_me:$LINENO: result: $GROFF" >&5 | 5064 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GROFF" >&5 |
4763 | echo "${ECHO_T}$GROFF" >&6; } | 5065 | $as_echo "$GROFF" >&6; } |
4764 | else | 5066 | else |
4765 | { echo "$as_me:$LINENO: result: no" >&5 | 5067 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4766 | echo "${ECHO_T}no" >&6; } | 5068 | $as_echo "no" >&6; } |
4767 | fi | 5069 | fi |
4768 | 5070 | ||
4769 | 5071 | ||
4770 | # Extract the first word of "nroff", so it can be a program name with args. | 5072 | # Extract the first word of "nroff", so it can be a program name with args. |
4771 | set dummy nroff; ac_word=$2 | 5073 | set dummy nroff; ac_word=$2 |
4772 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 5074 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4773 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 5075 | $as_echo_n "checking for $ac_word... " >&6; } |
4774 | if test "${ac_cv_path_NROFF+set}" = set; then | 5076 | if ${ac_cv_path_NROFF+:} false; then : |
4775 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 5077 | $as_echo_n "(cached) " >&6 |
4776 | else | 5078 | else |
4777 | case $NROFF in | 5079 | case $NROFF in |
4778 | [\\/]* | ?:[\\/]*) | 5080 | [\\/]* | ?:[\\/]*) |
@@ -4784,14 +5086,14 @@ for as_dir in $PATH | |||
4784 | do | 5086 | do |
4785 | IFS=$as_save_IFS | 5087 | IFS=$as_save_IFS |
4786 | test -z "$as_dir" && as_dir=. | 5088 | test -z "$as_dir" && as_dir=. |
4787 | for ac_exec_ext in '' $ac_executable_extensions; do | 5089 | for ac_exec_ext in '' $ac_executable_extensions; do |
4788 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 5090 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4789 | ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext" | 5091 | ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext" |
4790 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 5092 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4791 | break 2 | 5093 | break 2 |
4792 | fi | 5094 | fi |
4793 | done | 5095 | done |
4794 | done | 5096 | done |
4795 | IFS=$as_save_IFS | 5097 | IFS=$as_save_IFS |
4796 | 5098 | ||
4797 | ;; | 5099 | ;; |
@@ -4799,20 +5101,20 @@ esac | |||
4799 | fi | 5101 | fi |
4800 | NROFF=$ac_cv_path_NROFF | 5102 | NROFF=$ac_cv_path_NROFF |
4801 | if test -n "$NROFF"; then | 5103 | if test -n "$NROFF"; then |
4802 | { echo "$as_me:$LINENO: result: $NROFF" >&5 | 5104 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NROFF" >&5 |
4803 | echo "${ECHO_T}$NROFF" >&6; } | 5105 | $as_echo "$NROFF" >&6; } |
4804 | else | 5106 | else |
4805 | { echo "$as_me:$LINENO: result: no" >&5 | 5107 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4806 | echo "${ECHO_T}no" >&6; } | 5108 | $as_echo "no" >&6; } |
4807 | fi | 5109 | fi |
4808 | 5110 | ||
4809 | 5111 | ||
4810 | # Extract the first word of "mandoc", so it can be a program name with args. | 5112 | # Extract the first word of "mandoc", so it can be a program name with args. |
4811 | set dummy mandoc; ac_word=$2 | 5113 | set dummy mandoc; ac_word=$2 |
4812 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 5114 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4813 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 5115 | $as_echo_n "checking for $ac_word... " >&6; } |
4814 | if test "${ac_cv_path_MANDOC+set}" = set; then | 5116 | if ${ac_cv_path_MANDOC+:} false; then : |
4815 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 5117 | $as_echo_n "(cached) " >&6 |
4816 | else | 5118 | else |
4817 | case $MANDOC in | 5119 | case $MANDOC in |
4818 | [\\/]* | ?:[\\/]*) | 5120 | [\\/]* | ?:[\\/]*) |
@@ -4824,14 +5126,14 @@ for as_dir in $PATH | |||
4824 | do | 5126 | do |
4825 | IFS=$as_save_IFS | 5127 | IFS=$as_save_IFS |
4826 | test -z "$as_dir" && as_dir=. | 5128 | test -z "$as_dir" && as_dir=. |
4827 | for ac_exec_ext in '' $ac_executable_extensions; do | 5129 | for ac_exec_ext in '' $ac_executable_extensions; do |
4828 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 5130 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4829 | ac_cv_path_MANDOC="$as_dir/$ac_word$ac_exec_ext" | 5131 | ac_cv_path_MANDOC="$as_dir/$ac_word$ac_exec_ext" |
4830 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 5132 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4831 | break 2 | 5133 | break 2 |
4832 | fi | 5134 | fi |
4833 | done | 5135 | done |
4834 | done | 5136 | done |
4835 | IFS=$as_save_IFS | 5137 | IFS=$as_save_IFS |
4836 | 5138 | ||
4837 | ;; | 5139 | ;; |
@@ -4839,11 +5141,11 @@ esac | |||
4839 | fi | 5141 | fi |
4840 | MANDOC=$ac_cv_path_MANDOC | 5142 | MANDOC=$ac_cv_path_MANDOC |
4841 | if test -n "$MANDOC"; then | 5143 | if test -n "$MANDOC"; then |
4842 | { echo "$as_me:$LINENO: result: $MANDOC" >&5 | 5144 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANDOC" >&5 |
4843 | echo "${ECHO_T}$MANDOC" >&6; } | 5145 | $as_echo "$MANDOC" >&6; } |
4844 | else | 5146 | else |
4845 | { echo "$as_me:$LINENO: result: no" >&5 | 5147 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4846 | echo "${ECHO_T}no" >&6; } | 5148 | $as_echo "no" >&6; } |
4847 | fi | 5149 | fi |
4848 | 5150 | ||
4849 | 5151 | ||
@@ -4857,18 +5159,18 @@ elif test "x$NROFF" != "x" ; then | |||
4857 | elif test "x$GROFF" != "x" ; then | 5159 | elif test "x$GROFF" != "x" ; then |
4858 | MANFMT="$GROFF -mandoc -Tascii" | 5160 | MANFMT="$GROFF -mandoc -Tascii" |
4859 | else | 5161 | else |
4860 | { echo "$as_me:$LINENO: WARNING: no manpage formatted found" >&5 | 5162 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no manpage formatted found" >&5 |
4861 | echo "$as_me: WARNING: no manpage formatted found" >&2;} | 5163 | $as_echo "$as_me: WARNING: no manpage formatted found" >&2;} |
4862 | MANFMT="false" | 5164 | MANFMT="false" |
4863 | fi | 5165 | fi |
4864 | 5166 | ||
4865 | 5167 | ||
4866 | # Extract the first word of "groupadd", so it can be a program name with args. | 5168 | # Extract the first word of "groupadd", so it can be a program name with args. |
4867 | set dummy groupadd; ac_word=$2 | 5169 | set dummy groupadd; ac_word=$2 |
4868 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 5170 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4869 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 5171 | $as_echo_n "checking for $ac_word... " >&6; } |
4870 | if test "${ac_cv_path_PATH_GROUPADD_PROG+set}" = set; then | 5172 | if ${ac_cv_path_PATH_GROUPADD_PROG+:} false; then : |
4871 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 5173 | $as_echo_n "(cached) " >&6 |
4872 | else | 5174 | else |
4873 | case $PATH_GROUPADD_PROG in | 5175 | case $PATH_GROUPADD_PROG in |
4874 | [\\/]* | ?:[\\/]*) | 5176 | [\\/]* | ?:[\\/]*) |
@@ -4880,14 +5182,14 @@ for as_dir in /usr/sbin${PATH_SEPARATOR}/etc | |||
4880 | do | 5182 | do |
4881 | IFS=$as_save_IFS | 5183 | IFS=$as_save_IFS |
4882 | test -z "$as_dir" && as_dir=. | 5184 | test -z "$as_dir" && as_dir=. |
4883 | for ac_exec_ext in '' $ac_executable_extensions; do | 5185 | for ac_exec_ext in '' $ac_executable_extensions; do |
4884 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 5186 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4885 | ac_cv_path_PATH_GROUPADD_PROG="$as_dir/$ac_word$ac_exec_ext" | 5187 | ac_cv_path_PATH_GROUPADD_PROG="$as_dir/$ac_word$ac_exec_ext" |
4886 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 5188 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4887 | break 2 | 5189 | break 2 |
4888 | fi | 5190 | fi |
4889 | done | 5191 | done |
4890 | done | 5192 | done |
4891 | IFS=$as_save_IFS | 5193 | IFS=$as_save_IFS |
4892 | 5194 | ||
4893 | test -z "$ac_cv_path_PATH_GROUPADD_PROG" && ac_cv_path_PATH_GROUPADD_PROG="groupadd" | 5195 | test -z "$ac_cv_path_PATH_GROUPADD_PROG" && ac_cv_path_PATH_GROUPADD_PROG="groupadd" |
@@ -4896,20 +5198,20 @@ esac | |||
4896 | fi | 5198 | fi |
4897 | PATH_GROUPADD_PROG=$ac_cv_path_PATH_GROUPADD_PROG | 5199 | PATH_GROUPADD_PROG=$ac_cv_path_PATH_GROUPADD_PROG |
4898 | if test -n "$PATH_GROUPADD_PROG"; then | 5200 | if test -n "$PATH_GROUPADD_PROG"; then |
4899 | { echo "$as_me:$LINENO: result: $PATH_GROUPADD_PROG" >&5 | 5201 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_GROUPADD_PROG" >&5 |
4900 | echo "${ECHO_T}$PATH_GROUPADD_PROG" >&6; } | 5202 | $as_echo "$PATH_GROUPADD_PROG" >&6; } |
4901 | else | 5203 | else |
4902 | { echo "$as_me:$LINENO: result: no" >&5 | 5204 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4903 | echo "${ECHO_T}no" >&6; } | 5205 | $as_echo "no" >&6; } |
4904 | fi | 5206 | fi |
4905 | 5207 | ||
4906 | 5208 | ||
4907 | # Extract the first word of "useradd", so it can be a program name with args. | 5209 | # Extract the first word of "useradd", so it can be a program name with args. |
4908 | set dummy useradd; ac_word=$2 | 5210 | set dummy useradd; ac_word=$2 |
4909 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 5211 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4910 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 5212 | $as_echo_n "checking for $ac_word... " >&6; } |
4911 | if test "${ac_cv_path_PATH_USERADD_PROG+set}" = set; then | 5213 | if ${ac_cv_path_PATH_USERADD_PROG+:} false; then : |
4912 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 5214 | $as_echo_n "(cached) " >&6 |
4913 | else | 5215 | else |
4914 | case $PATH_USERADD_PROG in | 5216 | case $PATH_USERADD_PROG in |
4915 | [\\/]* | ?:[\\/]*) | 5217 | [\\/]* | ?:[\\/]*) |
@@ -4921,14 +5223,14 @@ for as_dir in /usr/sbin${PATH_SEPARATOR}/etc | |||
4921 | do | 5223 | do |
4922 | IFS=$as_save_IFS | 5224 | IFS=$as_save_IFS |
4923 | test -z "$as_dir" && as_dir=. | 5225 | test -z "$as_dir" && as_dir=. |
4924 | for ac_exec_ext in '' $ac_executable_extensions; do | 5226 | for ac_exec_ext in '' $ac_executable_extensions; do |
4925 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 5227 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4926 | ac_cv_path_PATH_USERADD_PROG="$as_dir/$ac_word$ac_exec_ext" | 5228 | ac_cv_path_PATH_USERADD_PROG="$as_dir/$ac_word$ac_exec_ext" |
4927 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 5229 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4928 | break 2 | 5230 | break 2 |
4929 | fi | 5231 | fi |
4930 | done | 5232 | done |
4931 | done | 5233 | done |
4932 | IFS=$as_save_IFS | 5234 | IFS=$as_save_IFS |
4933 | 5235 | ||
4934 | test -z "$ac_cv_path_PATH_USERADD_PROG" && ac_cv_path_PATH_USERADD_PROG="useradd" | 5236 | test -z "$ac_cv_path_PATH_USERADD_PROG" && ac_cv_path_PATH_USERADD_PROG="useradd" |
@@ -4937,20 +5239,20 @@ esac | |||
4937 | fi | 5239 | fi |
4938 | PATH_USERADD_PROG=$ac_cv_path_PATH_USERADD_PROG | 5240 | PATH_USERADD_PROG=$ac_cv_path_PATH_USERADD_PROG |
4939 | if test -n "$PATH_USERADD_PROG"; then | 5241 | if test -n "$PATH_USERADD_PROG"; then |
4940 | { echo "$as_me:$LINENO: result: $PATH_USERADD_PROG" >&5 | 5242 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_USERADD_PROG" >&5 |
4941 | echo "${ECHO_T}$PATH_USERADD_PROG" >&6; } | 5243 | $as_echo "$PATH_USERADD_PROG" >&6; } |
4942 | else | 5244 | else |
4943 | { echo "$as_me:$LINENO: result: no" >&5 | 5245 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4944 | echo "${ECHO_T}no" >&6; } | 5246 | $as_echo "no" >&6; } |
4945 | fi | 5247 | fi |
4946 | 5248 | ||
4947 | 5249 | ||
4948 | # Extract the first word of "pkgmk", so it can be a program name with args. | 5250 | # Extract the first word of "pkgmk", so it can be a program name with args. |
4949 | set dummy pkgmk; ac_word=$2 | 5251 | set dummy pkgmk; ac_word=$2 |
4950 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 5252 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
4951 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 5253 | $as_echo_n "checking for $ac_word... " >&6; } |
4952 | if test "${ac_cv_prog_MAKE_PACKAGE_SUPPORTED+set}" = set; then | 5254 | if ${ac_cv_prog_MAKE_PACKAGE_SUPPORTED+:} false; then : |
4953 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 5255 | $as_echo_n "(cached) " >&6 |
4954 | else | 5256 | else |
4955 | if test -n "$MAKE_PACKAGE_SUPPORTED"; then | 5257 | if test -n "$MAKE_PACKAGE_SUPPORTED"; then |
4956 | ac_cv_prog_MAKE_PACKAGE_SUPPORTED="$MAKE_PACKAGE_SUPPORTED" # Let the user override the test. | 5258 | ac_cv_prog_MAKE_PACKAGE_SUPPORTED="$MAKE_PACKAGE_SUPPORTED" # Let the user override the test. |
@@ -4960,14 +5262,14 @@ for as_dir in $PATH | |||
4960 | do | 5262 | do |
4961 | IFS=$as_save_IFS | 5263 | IFS=$as_save_IFS |
4962 | test -z "$as_dir" && as_dir=. | 5264 | test -z "$as_dir" && as_dir=. |
4963 | for ac_exec_ext in '' $ac_executable_extensions; do | 5265 | for ac_exec_ext in '' $ac_executable_extensions; do |
4964 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 5266 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
4965 | ac_cv_prog_MAKE_PACKAGE_SUPPORTED="yes" | 5267 | ac_cv_prog_MAKE_PACKAGE_SUPPORTED="yes" |
4966 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 5268 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
4967 | break 2 | 5269 | break 2 |
4968 | fi | 5270 | fi |
4969 | done | 5271 | done |
4970 | done | 5272 | done |
4971 | IFS=$as_save_IFS | 5273 | IFS=$as_save_IFS |
4972 | 5274 | ||
4973 | test -z "$ac_cv_prog_MAKE_PACKAGE_SUPPORTED" && ac_cv_prog_MAKE_PACKAGE_SUPPORTED="no" | 5275 | test -z "$ac_cv_prog_MAKE_PACKAGE_SUPPORTED" && ac_cv_prog_MAKE_PACKAGE_SUPPORTED="no" |
@@ -4975,11 +5277,11 @@ fi | |||
4975 | fi | 5277 | fi |
4976 | MAKE_PACKAGE_SUPPORTED=$ac_cv_prog_MAKE_PACKAGE_SUPPORTED | 5278 | MAKE_PACKAGE_SUPPORTED=$ac_cv_prog_MAKE_PACKAGE_SUPPORTED |
4977 | if test -n "$MAKE_PACKAGE_SUPPORTED"; then | 5279 | if test -n "$MAKE_PACKAGE_SUPPORTED"; then |
4978 | { echo "$as_me:$LINENO: result: $MAKE_PACKAGE_SUPPORTED" >&5 | 5280 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE_PACKAGE_SUPPORTED" >&5 |
4979 | echo "${ECHO_T}$MAKE_PACKAGE_SUPPORTED" >&6; } | 5281 | $as_echo "$MAKE_PACKAGE_SUPPORTED" >&6; } |
4980 | else | 5282 | else |
4981 | { echo "$as_me:$LINENO: result: no" >&5 | 5283 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
4982 | echo "${ECHO_T}no" >&6; } | 5284 | $as_echo "no" >&6; } |
4983 | fi | 5285 | fi |
4984 | 5286 | ||
4985 | 5287 | ||
@@ -4993,16 +5295,16 @@ fi | |||
4993 | 5295 | ||
4994 | # System features | 5296 | # System features |
4995 | # Check whether --enable-largefile was given. | 5297 | # Check whether --enable-largefile was given. |
4996 | if test "${enable_largefile+set}" = set; then | 5298 | if test "${enable_largefile+set}" = set; then : |
4997 | enableval=$enable_largefile; | 5299 | enableval=$enable_largefile; |
4998 | fi | 5300 | fi |
4999 | 5301 | ||
5000 | if test "$enable_largefile" != no; then | 5302 | if test "$enable_largefile" != no; then |
5001 | 5303 | ||
5002 | { echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 | 5304 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 |
5003 | echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6; } | 5305 | $as_echo_n "checking for special C compiler options needed for large files... " >&6; } |
5004 | if test "${ac_cv_sys_largefile_CC+set}" = set; then | 5306 | if ${ac_cv_sys_largefile_CC+:} false; then : |
5005 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 5307 | $as_echo_n "(cached) " >&6 |
5006 | else | 5308 | else |
5007 | ac_cv_sys_largefile_CC=no | 5309 | ac_cv_sys_largefile_CC=no |
5008 | if test "$GCC" != yes; then | 5310 | if test "$GCC" != yes; then |
@@ -5010,11 +5312,7 @@ else | |||
5010 | while :; do | 5312 | while :; do |
5011 | # IRIX 6.2 and later do not support large files by default, | 5313 | # IRIX 6.2 and later do not support large files by default, |
5012 | # so use the C compiler's -n32 option if that helps. | 5314 | # so use the C compiler's -n32 option if that helps. |
5013 | cat >conftest.$ac_ext <<_ACEOF | 5315 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
5014 | /* confdefs.h. */ | ||
5015 | _ACEOF | ||
5016 | cat confdefs.h >>conftest.$ac_ext | ||
5017 | cat >>conftest.$ac_ext <<_ACEOF | ||
5018 | /* end confdefs.h. */ | 5316 | /* end confdefs.h. */ |
5019 | #include <sys/types.h> | 5317 | #include <sys/types.h> |
5020 | /* Check that off_t can represent 2**63 - 1 correctly. | 5318 | /* Check that off_t can represent 2**63 - 1 correctly. |
@@ -5033,58 +5331,14 @@ main () | |||
5033 | return 0; | 5331 | return 0; |
5034 | } | 5332 | } |
5035 | _ACEOF | 5333 | _ACEOF |
5036 | rm -f conftest.$ac_objext | 5334 | if ac_fn_c_try_compile "$LINENO"; then : |
5037 | if { (ac_try="$ac_compile" | ||
5038 | case "(($ac_try" in | ||
5039 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
5040 | *) ac_try_echo=$ac_try;; | ||
5041 | esac | ||
5042 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
5043 | (eval "$ac_compile") 2>conftest.er1 | ||
5044 | ac_status=$? | ||
5045 | grep -v '^ *+' conftest.er1 >conftest.err | ||
5046 | rm -f conftest.er1 | ||
5047 | cat conftest.err >&5 | ||
5048 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
5049 | (exit $ac_status); } && { | ||
5050 | test -z "$ac_c_werror_flag" || | ||
5051 | test ! -s conftest.err | ||
5052 | } && test -s conftest.$ac_objext; then | ||
5053 | break | 5335 | break |
5054 | else | ||
5055 | echo "$as_me: failed program was:" >&5 | ||
5056 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
5057 | |||
5058 | |||
5059 | fi | 5336 | fi |
5060 | |||
5061 | rm -f core conftest.err conftest.$ac_objext | 5337 | rm -f core conftest.err conftest.$ac_objext |
5062 | CC="$CC -n32" | 5338 | CC="$CC -n32" |
5063 | rm -f conftest.$ac_objext | 5339 | if ac_fn_c_try_compile "$LINENO"; then : |
5064 | if { (ac_try="$ac_compile" | ||
5065 | case "(($ac_try" in | ||
5066 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
5067 | *) ac_try_echo=$ac_try;; | ||
5068 | esac | ||
5069 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
5070 | (eval "$ac_compile") 2>conftest.er1 | ||
5071 | ac_status=$? | ||
5072 | grep -v '^ *+' conftest.er1 >conftest.err | ||
5073 | rm -f conftest.er1 | ||
5074 | cat conftest.err >&5 | ||
5075 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
5076 | (exit $ac_status); } && { | ||
5077 | test -z "$ac_c_werror_flag" || | ||
5078 | test ! -s conftest.err | ||
5079 | } && test -s conftest.$ac_objext; then | ||
5080 | ac_cv_sys_largefile_CC=' -n32'; break | 5340 | ac_cv_sys_largefile_CC=' -n32'; break |
5081 | else | ||
5082 | echo "$as_me: failed program was:" >&5 | ||
5083 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
5084 | |||
5085 | |||
5086 | fi | 5341 | fi |
5087 | |||
5088 | rm -f core conftest.err conftest.$ac_objext | 5342 | rm -f core conftest.err conftest.$ac_objext |
5089 | break | 5343 | break |
5090 | done | 5344 | done |
@@ -5092,23 +5346,19 @@ rm -f core conftest.err conftest.$ac_objext | |||
5092 | rm -f conftest.$ac_ext | 5346 | rm -f conftest.$ac_ext |
5093 | fi | 5347 | fi |
5094 | fi | 5348 | fi |
5095 | { echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 | 5349 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 |
5096 | echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6; } | 5350 | $as_echo "$ac_cv_sys_largefile_CC" >&6; } |
5097 | if test "$ac_cv_sys_largefile_CC" != no; then | 5351 | if test "$ac_cv_sys_largefile_CC" != no; then |
5098 | CC=$CC$ac_cv_sys_largefile_CC | 5352 | CC=$CC$ac_cv_sys_largefile_CC |
5099 | fi | 5353 | fi |
5100 | 5354 | ||
5101 | { echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 | 5355 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 |
5102 | echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6; } | 5356 | $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } |
5103 | if test "${ac_cv_sys_file_offset_bits+set}" = set; then | 5357 | if ${ac_cv_sys_file_offset_bits+:} false; then : |
5104 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 5358 | $as_echo_n "(cached) " >&6 |
5105 | else | 5359 | else |
5106 | while :; do | 5360 | while :; do |
5107 | cat >conftest.$ac_ext <<_ACEOF | 5361 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
5108 | /* confdefs.h. */ | ||
5109 | _ACEOF | ||
5110 | cat confdefs.h >>conftest.$ac_ext | ||
5111 | cat >>conftest.$ac_ext <<_ACEOF | ||
5112 | /* end confdefs.h. */ | 5362 | /* end confdefs.h. */ |
5113 | #include <sys/types.h> | 5363 | #include <sys/types.h> |
5114 | /* Check that off_t can represent 2**63 - 1 correctly. | 5364 | /* Check that off_t can represent 2**63 - 1 correctly. |
@@ -5127,37 +5377,11 @@ main () | |||
5127 | return 0; | 5377 | return 0; |
5128 | } | 5378 | } |
5129 | _ACEOF | 5379 | _ACEOF |
5130 | rm -f conftest.$ac_objext | 5380 | if ac_fn_c_try_compile "$LINENO"; then : |
5131 | if { (ac_try="$ac_compile" | ||
5132 | case "(($ac_try" in | ||
5133 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
5134 | *) ac_try_echo=$ac_try;; | ||
5135 | esac | ||
5136 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
5137 | (eval "$ac_compile") 2>conftest.er1 | ||
5138 | ac_status=$? | ||
5139 | grep -v '^ *+' conftest.er1 >conftest.err | ||
5140 | rm -f conftest.er1 | ||
5141 | cat conftest.err >&5 | ||
5142 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
5143 | (exit $ac_status); } && { | ||
5144 | test -z "$ac_c_werror_flag" || | ||
5145 | test ! -s conftest.err | ||
5146 | } && test -s conftest.$ac_objext; then | ||
5147 | ac_cv_sys_file_offset_bits=no; break | 5381 | ac_cv_sys_file_offset_bits=no; break |
5148 | else | ||
5149 | echo "$as_me: failed program was:" >&5 | ||
5150 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
5151 | |||
5152 | |||
5153 | fi | 5382 | fi |
5154 | |||
5155 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 5383 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
5156 | cat >conftest.$ac_ext <<_ACEOF | 5384 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
5157 | /* confdefs.h. */ | ||
5158 | _ACEOF | ||
5159 | cat confdefs.h >>conftest.$ac_ext | ||
5160 | cat >>conftest.$ac_ext <<_ACEOF | ||
5161 | /* end confdefs.h. */ | 5385 | /* end confdefs.h. */ |
5162 | #define _FILE_OFFSET_BITS 64 | 5386 | #define _FILE_OFFSET_BITS 64 |
5163 | #include <sys/types.h> | 5387 | #include <sys/types.h> |
@@ -5177,38 +5401,16 @@ main () | |||
5177 | return 0; | 5401 | return 0; |
5178 | } | 5402 | } |
5179 | _ACEOF | 5403 | _ACEOF |
5180 | rm -f conftest.$ac_objext | 5404 | if ac_fn_c_try_compile "$LINENO"; then : |
5181 | if { (ac_try="$ac_compile" | ||
5182 | case "(($ac_try" in | ||
5183 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
5184 | *) ac_try_echo=$ac_try;; | ||
5185 | esac | ||
5186 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
5187 | (eval "$ac_compile") 2>conftest.er1 | ||
5188 | ac_status=$? | ||
5189 | grep -v '^ *+' conftest.er1 >conftest.err | ||
5190 | rm -f conftest.er1 | ||
5191 | cat conftest.err >&5 | ||
5192 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
5193 | (exit $ac_status); } && { | ||
5194 | test -z "$ac_c_werror_flag" || | ||
5195 | test ! -s conftest.err | ||
5196 | } && test -s conftest.$ac_objext; then | ||
5197 | ac_cv_sys_file_offset_bits=64; break | 5405 | ac_cv_sys_file_offset_bits=64; break |
5198 | else | ||
5199 | echo "$as_me: failed program was:" >&5 | ||
5200 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
5201 | |||
5202 | |||
5203 | fi | 5406 | fi |
5204 | |||
5205 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 5407 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
5206 | ac_cv_sys_file_offset_bits=unknown | 5408 | ac_cv_sys_file_offset_bits=unknown |
5207 | break | 5409 | break |
5208 | done | 5410 | done |
5209 | fi | 5411 | fi |
5210 | { echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 | 5412 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 |
5211 | echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6; } | 5413 | $as_echo "$ac_cv_sys_file_offset_bits" >&6; } |
5212 | case $ac_cv_sys_file_offset_bits in #( | 5414 | case $ac_cv_sys_file_offset_bits in #( |
5213 | no | unknown) ;; | 5415 | no | unknown) ;; |
5214 | *) | 5416 | *) |
@@ -5217,19 +5419,15 @@ cat >>confdefs.h <<_ACEOF | |||
5217 | _ACEOF | 5419 | _ACEOF |
5218 | ;; | 5420 | ;; |
5219 | esac | 5421 | esac |
5220 | rm -f conftest* | 5422 | rm -rf conftest* |
5221 | if test $ac_cv_sys_file_offset_bits = unknown; then | 5423 | if test $ac_cv_sys_file_offset_bits = unknown; then |
5222 | { echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 | 5424 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 |
5223 | echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6; } | 5425 | $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } |
5224 | if test "${ac_cv_sys_large_files+set}" = set; then | 5426 | if ${ac_cv_sys_large_files+:} false; then : |
5225 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 5427 | $as_echo_n "(cached) " >&6 |
5226 | else | 5428 | else |
5227 | while :; do | 5429 | while :; do |
5228 | cat >conftest.$ac_ext <<_ACEOF | 5430 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
5229 | /* confdefs.h. */ | ||
5230 | _ACEOF | ||
5231 | cat confdefs.h >>conftest.$ac_ext | ||
5232 | cat >>conftest.$ac_ext <<_ACEOF | ||
5233 | /* end confdefs.h. */ | 5431 | /* end confdefs.h. */ |
5234 | #include <sys/types.h> | 5432 | #include <sys/types.h> |
5235 | /* Check that off_t can represent 2**63 - 1 correctly. | 5433 | /* Check that off_t can represent 2**63 - 1 correctly. |
@@ -5248,37 +5446,11 @@ main () | |||
5248 | return 0; | 5446 | return 0; |
5249 | } | 5447 | } |
5250 | _ACEOF | 5448 | _ACEOF |
5251 | rm -f conftest.$ac_objext | 5449 | if ac_fn_c_try_compile "$LINENO"; then : |
5252 | if { (ac_try="$ac_compile" | ||
5253 | case "(($ac_try" in | ||
5254 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
5255 | *) ac_try_echo=$ac_try;; | ||
5256 | esac | ||
5257 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
5258 | (eval "$ac_compile") 2>conftest.er1 | ||
5259 | ac_status=$? | ||
5260 | grep -v '^ *+' conftest.er1 >conftest.err | ||
5261 | rm -f conftest.er1 | ||
5262 | cat conftest.err >&5 | ||
5263 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
5264 | (exit $ac_status); } && { | ||
5265 | test -z "$ac_c_werror_flag" || | ||
5266 | test ! -s conftest.err | ||
5267 | } && test -s conftest.$ac_objext; then | ||
5268 | ac_cv_sys_large_files=no; break | 5450 | ac_cv_sys_large_files=no; break |
5269 | else | ||
5270 | echo "$as_me: failed program was:" >&5 | ||
5271 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
5272 | |||
5273 | |||
5274 | fi | 5451 | fi |
5275 | |||
5276 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 5452 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
5277 | cat >conftest.$ac_ext <<_ACEOF | 5453 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
5278 | /* confdefs.h. */ | ||
5279 | _ACEOF | ||
5280 | cat confdefs.h >>conftest.$ac_ext | ||
5281 | cat >>conftest.$ac_ext <<_ACEOF | ||
5282 | /* end confdefs.h. */ | 5454 | /* end confdefs.h. */ |
5283 | #define _LARGE_FILES 1 | 5455 | #define _LARGE_FILES 1 |
5284 | #include <sys/types.h> | 5456 | #include <sys/types.h> |
@@ -5298,38 +5470,16 @@ main () | |||
5298 | return 0; | 5470 | return 0; |
5299 | } | 5471 | } |
5300 | _ACEOF | 5472 | _ACEOF |
5301 | rm -f conftest.$ac_objext | 5473 | if ac_fn_c_try_compile "$LINENO"; then : |
5302 | if { (ac_try="$ac_compile" | ||
5303 | case "(($ac_try" in | ||
5304 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
5305 | *) ac_try_echo=$ac_try;; | ||
5306 | esac | ||
5307 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
5308 | (eval "$ac_compile") 2>conftest.er1 | ||
5309 | ac_status=$? | ||
5310 | grep -v '^ *+' conftest.er1 >conftest.err | ||
5311 | rm -f conftest.er1 | ||
5312 | cat conftest.err >&5 | ||
5313 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
5314 | (exit $ac_status); } && { | ||
5315 | test -z "$ac_c_werror_flag" || | ||
5316 | test ! -s conftest.err | ||
5317 | } && test -s conftest.$ac_objext; then | ||
5318 | ac_cv_sys_large_files=1; break | 5474 | ac_cv_sys_large_files=1; break |
5319 | else | ||
5320 | echo "$as_me: failed program was:" >&5 | ||
5321 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
5322 | |||
5323 | |||
5324 | fi | 5475 | fi |
5325 | |||
5326 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 5476 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
5327 | ac_cv_sys_large_files=unknown | 5477 | ac_cv_sys_large_files=unknown |
5328 | break | 5478 | break |
5329 | done | 5479 | done |
5330 | fi | 5480 | fi |
5331 | { echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 | 5481 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 |
5332 | echo "${ECHO_T}$ac_cv_sys_large_files" >&6; } | 5482 | $as_echo "$ac_cv_sys_large_files" >&6; } |
5333 | case $ac_cv_sys_large_files in #( | 5483 | case $ac_cv_sys_large_files in #( |
5334 | no | unknown) ;; | 5484 | no | unknown) ;; |
5335 | *) | 5485 | *) |
@@ -5338,80 +5488,23 @@ cat >>confdefs.h <<_ACEOF | |||
5338 | _ACEOF | 5488 | _ACEOF |
5339 | ;; | 5489 | ;; |
5340 | esac | 5490 | esac |
5341 | rm -f conftest* | 5491 | rm -rf conftest* |
5342 | fi | 5492 | fi |
5343 | fi | ||
5344 | 5493 | ||
5345 | 5494 | ||
5346 | if test -z "$AR" ; then | ||
5347 | { { echo "$as_me:$LINENO: error: *** 'ar' missing, please install or fix your \$PATH ***" >&5 | ||
5348 | echo "$as_me: error: *** 'ar' missing, please install or fix your \$PATH ***" >&2;} | ||
5349 | { (exit 1); exit 1; }; } | ||
5350 | fi | 5495 | fi |
5351 | 5496 | ||
5352 | # Use LOGIN_PROGRAM from environment if possible | ||
5353 | if test ! -z "$LOGIN_PROGRAM" ; then | ||
5354 | |||
5355 | cat >>confdefs.h <<_ACEOF | ||
5356 | #define LOGIN_PROGRAM_FALLBACK "$LOGIN_PROGRAM" | ||
5357 | _ACEOF | ||
5358 | 5497 | ||
5359 | else | 5498 | if test -z "$AR" ; then |
5360 | # Search for login | 5499 | as_fn_error $? "*** 'ar' missing, please install or fix your \$PATH ***" "$LINENO" 5 |
5361 | # Extract the first word of "login", so it can be a program name with args. | ||
5362 | set dummy login; ac_word=$2 | ||
5363 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
5364 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | ||
5365 | if test "${ac_cv_path_LOGIN_PROGRAM_FALLBACK+set}" = set; then | ||
5366 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
5367 | else | ||
5368 | case $LOGIN_PROGRAM_FALLBACK in | ||
5369 | [\\/]* | ?:[\\/]*) | ||
5370 | ac_cv_path_LOGIN_PROGRAM_FALLBACK="$LOGIN_PROGRAM_FALLBACK" # Let the user override the test with a path. | ||
5371 | ;; | ||
5372 | *) | ||
5373 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
5374 | for as_dir in $PATH | ||
5375 | do | ||
5376 | IFS=$as_save_IFS | ||
5377 | test -z "$as_dir" && as_dir=. | ||
5378 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
5379 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | ||
5380 | ac_cv_path_LOGIN_PROGRAM_FALLBACK="$as_dir/$ac_word$ac_exec_ext" | ||
5381 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
5382 | break 2 | ||
5383 | fi | ||
5384 | done | ||
5385 | done | ||
5386 | IFS=$as_save_IFS | ||
5387 | |||
5388 | ;; | ||
5389 | esac | ||
5390 | fi | ||
5391 | LOGIN_PROGRAM_FALLBACK=$ac_cv_path_LOGIN_PROGRAM_FALLBACK | ||
5392 | if test -n "$LOGIN_PROGRAM_FALLBACK"; then | ||
5393 | { echo "$as_me:$LINENO: result: $LOGIN_PROGRAM_FALLBACK" >&5 | ||
5394 | echo "${ECHO_T}$LOGIN_PROGRAM_FALLBACK" >&6; } | ||
5395 | else | ||
5396 | { echo "$as_me:$LINENO: result: no" >&5 | ||
5397 | echo "${ECHO_T}no" >&6; } | ||
5398 | fi | ||
5399 | |||
5400 | |||
5401 | if test ! -z "$LOGIN_PROGRAM_FALLBACK" ; then | ||
5402 | cat >>confdefs.h <<_ACEOF | ||
5403 | #define LOGIN_PROGRAM_FALLBACK "$LOGIN_PROGRAM_FALLBACK" | ||
5404 | _ACEOF | ||
5405 | |||
5406 | fi | ||
5407 | fi | 5500 | fi |
5408 | 5501 | ||
5409 | # Extract the first word of "passwd", so it can be a program name with args. | 5502 | # Extract the first word of "passwd", so it can be a program name with args. |
5410 | set dummy passwd; ac_word=$2 | 5503 | set dummy passwd; ac_word=$2 |
5411 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 5504 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
5412 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 5505 | $as_echo_n "checking for $ac_word... " >&6; } |
5413 | if test "${ac_cv_path_PATH_PASSWD_PROG+set}" = set; then | 5506 | if ${ac_cv_path_PATH_PASSWD_PROG+:} false; then : |
5414 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 5507 | $as_echo_n "(cached) " >&6 |
5415 | else | 5508 | else |
5416 | case $PATH_PASSWD_PROG in | 5509 | case $PATH_PASSWD_PROG in |
5417 | [\\/]* | ?:[\\/]*) | 5510 | [\\/]* | ?:[\\/]*) |
@@ -5423,14 +5516,14 @@ for as_dir in $PATH | |||
5423 | do | 5516 | do |
5424 | IFS=$as_save_IFS | 5517 | IFS=$as_save_IFS |
5425 | test -z "$as_dir" && as_dir=. | 5518 | test -z "$as_dir" && as_dir=. |
5426 | for ac_exec_ext in '' $ac_executable_extensions; do | 5519 | for ac_exec_ext in '' $ac_executable_extensions; do |
5427 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 5520 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
5428 | ac_cv_path_PATH_PASSWD_PROG="$as_dir/$ac_word$ac_exec_ext" | 5521 | ac_cv_path_PATH_PASSWD_PROG="$as_dir/$ac_word$ac_exec_ext" |
5429 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 5522 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
5430 | break 2 | 5523 | break 2 |
5431 | fi | 5524 | fi |
5432 | done | 5525 | done |
5433 | done | 5526 | done |
5434 | IFS=$as_save_IFS | 5527 | IFS=$as_save_IFS |
5435 | 5528 | ||
5436 | ;; | 5529 | ;; |
@@ -5438,11 +5531,11 @@ esac | |||
5438 | fi | 5531 | fi |
5439 | PATH_PASSWD_PROG=$ac_cv_path_PATH_PASSWD_PROG | 5532 | PATH_PASSWD_PROG=$ac_cv_path_PATH_PASSWD_PROG |
5440 | if test -n "$PATH_PASSWD_PROG"; then | 5533 | if test -n "$PATH_PASSWD_PROG"; then |
5441 | { echo "$as_me:$LINENO: result: $PATH_PASSWD_PROG" >&5 | 5534 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_PASSWD_PROG" >&5 |
5442 | echo "${ECHO_T}$PATH_PASSWD_PROG" >&6; } | 5535 | $as_echo "$PATH_PASSWD_PROG" >&6; } |
5443 | else | 5536 | else |
5444 | { echo "$as_me:$LINENO: result: no" >&5 | 5537 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
5445 | echo "${ECHO_T}no" >&6; } | 5538 | $as_echo "no" >&6; } |
5446 | fi | 5539 | fi |
5447 | 5540 | ||
5448 | 5541 | ||
@@ -5459,18 +5552,14 @@ if test -z "$LD" ; then | |||
5459 | fi | 5552 | fi |
5460 | 5553 | ||
5461 | 5554 | ||
5462 | { echo "$as_me:$LINENO: checking for inline" >&5 | 5555 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 |
5463 | echo $ECHO_N "checking for inline... $ECHO_C" >&6; } | 5556 | $as_echo_n "checking for inline... " >&6; } |
5464 | if test "${ac_cv_c_inline+set}" = set; then | 5557 | if ${ac_cv_c_inline+:} false; then : |
5465 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 5558 | $as_echo_n "(cached) " >&6 |
5466 | else | 5559 | else |
5467 | ac_cv_c_inline=no | 5560 | ac_cv_c_inline=no |
5468 | for ac_kw in inline __inline__ __inline; do | 5561 | for ac_kw in inline __inline__ __inline; do |
5469 | cat >conftest.$ac_ext <<_ACEOF | 5562 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
5470 | /* confdefs.h. */ | ||
5471 | _ACEOF | ||
5472 | cat confdefs.h >>conftest.$ac_ext | ||
5473 | cat >>conftest.$ac_ext <<_ACEOF | ||
5474 | /* end confdefs.h. */ | 5563 | /* end confdefs.h. */ |
5475 | #ifndef __cplusplus | 5564 | #ifndef __cplusplus |
5476 | typedef int foo_t; | 5565 | typedef int foo_t; |
@@ -5479,39 +5568,16 @@ $ac_kw foo_t foo () {return 0; } | |||
5479 | #endif | 5568 | #endif |
5480 | 5569 | ||
5481 | _ACEOF | 5570 | _ACEOF |
5482 | rm -f conftest.$ac_objext | 5571 | if ac_fn_c_try_compile "$LINENO"; then : |
5483 | if { (ac_try="$ac_compile" | ||
5484 | case "(($ac_try" in | ||
5485 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
5486 | *) ac_try_echo=$ac_try;; | ||
5487 | esac | ||
5488 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
5489 | (eval "$ac_compile") 2>conftest.er1 | ||
5490 | ac_status=$? | ||
5491 | grep -v '^ *+' conftest.er1 >conftest.err | ||
5492 | rm -f conftest.er1 | ||
5493 | cat conftest.err >&5 | ||
5494 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
5495 | (exit $ac_status); } && { | ||
5496 | test -z "$ac_c_werror_flag" || | ||
5497 | test ! -s conftest.err | ||
5498 | } && test -s conftest.$ac_objext; then | ||
5499 | ac_cv_c_inline=$ac_kw | 5572 | ac_cv_c_inline=$ac_kw |
5500 | else | ||
5501 | echo "$as_me: failed program was:" >&5 | ||
5502 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
5503 | |||
5504 | |||
5505 | fi | 5573 | fi |
5506 | |||
5507 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 5574 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
5508 | test "$ac_cv_c_inline" != no && break | 5575 | test "$ac_cv_c_inline" != no && break |
5509 | done | 5576 | done |
5510 | 5577 | ||
5511 | fi | 5578 | fi |
5512 | { echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 | 5579 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 |
5513 | echo "${ECHO_T}$ac_cv_c_inline" >&6; } | 5580 | $as_echo "$ac_cv_c_inline" >&6; } |
5514 | |||
5515 | 5581 | ||
5516 | case $ac_cv_c_inline in | 5582 | case $ac_cv_c_inline in |
5517 | inline | yes) ;; | 5583 | inline | yes) ;; |
@@ -5529,254 +5595,49 @@ _ACEOF | |||
5529 | esac | 5595 | esac |
5530 | 5596 | ||
5531 | 5597 | ||
5532 | { echo "$as_me:$LINENO: checking whether LLONG_MAX is declared" >&5 | 5598 | ac_fn_c_check_decl "$LINENO" "LLONG_MAX" "ac_cv_have_decl_LLONG_MAX" "#include <limits.h> |
5533 | echo $ECHO_N "checking whether LLONG_MAX is declared... $ECHO_C" >&6; } | 5599 | " |
5534 | if test "${ac_cv_have_decl_LLONG_MAX+set}" = set; then | 5600 | if test "x$ac_cv_have_decl_LLONG_MAX" = xyes; then : |
5535 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
5536 | else | ||
5537 | cat >conftest.$ac_ext <<_ACEOF | ||
5538 | /* confdefs.h. */ | ||
5539 | _ACEOF | ||
5540 | cat confdefs.h >>conftest.$ac_ext | ||
5541 | cat >>conftest.$ac_ext <<_ACEOF | ||
5542 | /* end confdefs.h. */ | ||
5543 | #include <limits.h> | ||
5544 | |||
5545 | int | ||
5546 | main () | ||
5547 | { | ||
5548 | #ifndef LLONG_MAX | ||
5549 | (void) LLONG_MAX; | ||
5550 | #endif | ||
5551 | |||
5552 | ; | ||
5553 | return 0; | ||
5554 | } | ||
5555 | _ACEOF | ||
5556 | rm -f conftest.$ac_objext | ||
5557 | if { (ac_try="$ac_compile" | ||
5558 | case "(($ac_try" in | ||
5559 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
5560 | *) ac_try_echo=$ac_try;; | ||
5561 | esac | ||
5562 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
5563 | (eval "$ac_compile") 2>conftest.er1 | ||
5564 | ac_status=$? | ||
5565 | grep -v '^ *+' conftest.er1 >conftest.err | ||
5566 | rm -f conftest.er1 | ||
5567 | cat conftest.err >&5 | ||
5568 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
5569 | (exit $ac_status); } && { | ||
5570 | test -z "$ac_c_werror_flag" || | ||
5571 | test ! -s conftest.err | ||
5572 | } && test -s conftest.$ac_objext; then | ||
5573 | ac_cv_have_decl_LLONG_MAX=yes | ||
5574 | else | ||
5575 | echo "$as_me: failed program was:" >&5 | ||
5576 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
5577 | |||
5578 | ac_cv_have_decl_LLONG_MAX=no | ||
5579 | fi | ||
5580 | |||
5581 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
5582 | fi | ||
5583 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_LLONG_MAX" >&5 | ||
5584 | echo "${ECHO_T}$ac_cv_have_decl_LLONG_MAX" >&6; } | ||
5585 | if test $ac_cv_have_decl_LLONG_MAX = yes; then | ||
5586 | have_llong_max=1 | 5601 | have_llong_max=1 |
5587 | fi | 5602 | fi |
5588 | 5603 | ||
5589 | { echo "$as_me:$LINENO: checking whether SYSTR_POLICY_KILL is declared" >&5 | 5604 | ac_fn_c_check_decl "$LINENO" "SYSTR_POLICY_KILL" "ac_cv_have_decl_SYSTR_POLICY_KILL" " |
5590 | echo $ECHO_N "checking whether SYSTR_POLICY_KILL is declared... $ECHO_C" >&6; } | ||
5591 | if test "${ac_cv_have_decl_SYSTR_POLICY_KILL+set}" = set; then | ||
5592 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
5593 | else | ||
5594 | cat >conftest.$ac_ext <<_ACEOF | ||
5595 | /* confdefs.h. */ | ||
5596 | _ACEOF | ||
5597 | cat confdefs.h >>conftest.$ac_ext | ||
5598 | cat >>conftest.$ac_ext <<_ACEOF | ||
5599 | /* end confdefs.h. */ | ||
5600 | |||
5601 | #include <sys/types.h> | 5605 | #include <sys/types.h> |
5602 | #include <sys/param.h> | 5606 | #include <sys/param.h> |
5603 | #include <dev/systrace.h> | 5607 | #include <dev/systrace.h> |
5604 | 5608 | ||
5605 | 5609 | " | |
5606 | int | 5610 | if test "x$ac_cv_have_decl_SYSTR_POLICY_KILL" = xyes; then : |
5607 | main () | ||
5608 | { | ||
5609 | #ifndef SYSTR_POLICY_KILL | ||
5610 | (void) SYSTR_POLICY_KILL; | ||
5611 | #endif | ||
5612 | |||
5613 | ; | ||
5614 | return 0; | ||
5615 | } | ||
5616 | _ACEOF | ||
5617 | rm -f conftest.$ac_objext | ||
5618 | if { (ac_try="$ac_compile" | ||
5619 | case "(($ac_try" in | ||
5620 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
5621 | *) ac_try_echo=$ac_try;; | ||
5622 | esac | ||
5623 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
5624 | (eval "$ac_compile") 2>conftest.er1 | ||
5625 | ac_status=$? | ||
5626 | grep -v '^ *+' conftest.er1 >conftest.err | ||
5627 | rm -f conftest.er1 | ||
5628 | cat conftest.err >&5 | ||
5629 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
5630 | (exit $ac_status); } && { | ||
5631 | test -z "$ac_c_werror_flag" || | ||
5632 | test ! -s conftest.err | ||
5633 | } && test -s conftest.$ac_objext; then | ||
5634 | ac_cv_have_decl_SYSTR_POLICY_KILL=yes | ||
5635 | else | ||
5636 | echo "$as_me: failed program was:" >&5 | ||
5637 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
5638 | |||
5639 | ac_cv_have_decl_SYSTR_POLICY_KILL=no | ||
5640 | fi | ||
5641 | |||
5642 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
5643 | fi | ||
5644 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_SYSTR_POLICY_KILL" >&5 | ||
5645 | echo "${ECHO_T}$ac_cv_have_decl_SYSTR_POLICY_KILL" >&6; } | ||
5646 | if test $ac_cv_have_decl_SYSTR_POLICY_KILL = yes; then | ||
5647 | have_systr_policy_kill=1 | 5611 | have_systr_policy_kill=1 |
5648 | fi | 5612 | fi |
5649 | 5613 | ||
5650 | { echo "$as_me:$LINENO: checking whether RLIMIT_NPROC is declared" >&5 | 5614 | ac_fn_c_check_decl "$LINENO" "RLIMIT_NPROC" "ac_cv_have_decl_RLIMIT_NPROC" " |
5651 | echo $ECHO_N "checking whether RLIMIT_NPROC is declared... $ECHO_C" >&6; } | ||
5652 | if test "${ac_cv_have_decl_RLIMIT_NPROC+set}" = set; then | ||
5653 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
5654 | else | ||
5655 | cat >conftest.$ac_ext <<_ACEOF | ||
5656 | /* confdefs.h. */ | ||
5657 | _ACEOF | ||
5658 | cat confdefs.h >>conftest.$ac_ext | ||
5659 | cat >>conftest.$ac_ext <<_ACEOF | ||
5660 | /* end confdefs.h. */ | ||
5661 | |||
5662 | #include <sys/types.h> | 5615 | #include <sys/types.h> |
5663 | #include <sys/resource.h> | 5616 | #include <sys/resource.h> |
5664 | 5617 | ||
5618 | " | ||
5619 | if test "x$ac_cv_have_decl_RLIMIT_NPROC" = xyes; then : | ||
5665 | 5620 | ||
5666 | int | 5621 | $as_echo "#define HAVE_RLIMIT_NPROC /**/" >>confdefs.h |
5667 | main () | ||
5668 | { | ||
5669 | #ifndef RLIMIT_NPROC | ||
5670 | (void) RLIMIT_NPROC; | ||
5671 | #endif | ||
5672 | |||
5673 | ; | ||
5674 | return 0; | ||
5675 | } | ||
5676 | _ACEOF | ||
5677 | rm -f conftest.$ac_objext | ||
5678 | if { (ac_try="$ac_compile" | ||
5679 | case "(($ac_try" in | ||
5680 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
5681 | *) ac_try_echo=$ac_try;; | ||
5682 | esac | ||
5683 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
5684 | (eval "$ac_compile") 2>conftest.er1 | ||
5685 | ac_status=$? | ||
5686 | grep -v '^ *+' conftest.er1 >conftest.err | ||
5687 | rm -f conftest.er1 | ||
5688 | cat conftest.err >&5 | ||
5689 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
5690 | (exit $ac_status); } && { | ||
5691 | test -z "$ac_c_werror_flag" || | ||
5692 | test ! -s conftest.err | ||
5693 | } && test -s conftest.$ac_objext; then | ||
5694 | ac_cv_have_decl_RLIMIT_NPROC=yes | ||
5695 | else | ||
5696 | echo "$as_me: failed program was:" >&5 | ||
5697 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
5698 | |||
5699 | ac_cv_have_decl_RLIMIT_NPROC=no | ||
5700 | fi | ||
5701 | |||
5702 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
5703 | fi | ||
5704 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_RLIMIT_NPROC" >&5 | ||
5705 | echo "${ECHO_T}$ac_cv_have_decl_RLIMIT_NPROC" >&6; } | ||
5706 | if test $ac_cv_have_decl_RLIMIT_NPROC = yes; then | ||
5707 | |||
5708 | cat >>confdefs.h <<\_ACEOF | ||
5709 | #define HAVE_RLIMIT_NPROC | ||
5710 | _ACEOF | ||
5711 | 5622 | ||
5712 | fi | 5623 | fi |
5713 | 5624 | ||
5714 | { echo "$as_me:$LINENO: checking whether PR_SET_NO_NEW_PRIVS is declared" >&5 | 5625 | ac_fn_c_check_decl "$LINENO" "PR_SET_NO_NEW_PRIVS" "ac_cv_have_decl_PR_SET_NO_NEW_PRIVS" " |
5715 | echo $ECHO_N "checking whether PR_SET_NO_NEW_PRIVS is declared... $ECHO_C" >&6; } | ||
5716 | if test "${ac_cv_have_decl_PR_SET_NO_NEW_PRIVS+set}" = set; then | ||
5717 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
5718 | else | ||
5719 | cat >conftest.$ac_ext <<_ACEOF | ||
5720 | /* confdefs.h. */ | ||
5721 | _ACEOF | ||
5722 | cat confdefs.h >>conftest.$ac_ext | ||
5723 | cat >>conftest.$ac_ext <<_ACEOF | ||
5724 | /* end confdefs.h. */ | ||
5725 | |||
5726 | #include <sys/types.h> | 5626 | #include <sys/types.h> |
5727 | #include <linux/prctl.h> | 5627 | #include <linux/prctl.h> |
5728 | 5628 | ||
5729 | 5629 | " | |
5730 | int | 5630 | if test "x$ac_cv_have_decl_PR_SET_NO_NEW_PRIVS" = xyes; then : |
5731 | main () | ||
5732 | { | ||
5733 | #ifndef PR_SET_NO_NEW_PRIVS | ||
5734 | (void) PR_SET_NO_NEW_PRIVS; | ||
5735 | #endif | ||
5736 | |||
5737 | ; | ||
5738 | return 0; | ||
5739 | } | ||
5740 | _ACEOF | ||
5741 | rm -f conftest.$ac_objext | ||
5742 | if { (ac_try="$ac_compile" | ||
5743 | case "(($ac_try" in | ||
5744 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
5745 | *) ac_try_echo=$ac_try;; | ||
5746 | esac | ||
5747 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
5748 | (eval "$ac_compile") 2>conftest.er1 | ||
5749 | ac_status=$? | ||
5750 | grep -v '^ *+' conftest.er1 >conftest.err | ||
5751 | rm -f conftest.er1 | ||
5752 | cat conftest.err >&5 | ||
5753 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
5754 | (exit $ac_status); } && { | ||
5755 | test -z "$ac_c_werror_flag" || | ||
5756 | test ! -s conftest.err | ||
5757 | } && test -s conftest.$ac_objext; then | ||
5758 | ac_cv_have_decl_PR_SET_NO_NEW_PRIVS=yes | ||
5759 | else | ||
5760 | echo "$as_me: failed program was:" >&5 | ||
5761 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
5762 | |||
5763 | ac_cv_have_decl_PR_SET_NO_NEW_PRIVS=no | ||
5764 | fi | ||
5765 | |||
5766 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
5767 | fi | ||
5768 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_PR_SET_NO_NEW_PRIVS" >&5 | ||
5769 | echo "${ECHO_T}$ac_cv_have_decl_PR_SET_NO_NEW_PRIVS" >&6; } | ||
5770 | if test $ac_cv_have_decl_PR_SET_NO_NEW_PRIVS = yes; then | ||
5771 | have_linux_no_new_privs=1 | 5631 | have_linux_no_new_privs=1 |
5772 | fi | 5632 | fi |
5773 | 5633 | ||
5774 | 5634 | ||
5775 | openssl=yes | 5635 | openssl=yes |
5776 | ssh1=no | 5636 | ssh1=no |
5637 | COMMENT_OUT_RSA1="#no ssh1#" | ||
5777 | 5638 | ||
5778 | # Check whether --with-openssl was given. | 5639 | # Check whether --with-openssl was given. |
5779 | if test "${with_openssl+set}" = set; then | 5640 | if test "${with_openssl+set}" = set; then : |
5780 | withval=$with_openssl; if test "x$withval" = "xno" ; then | 5641 | withval=$with_openssl; if test "x$withval" = "xno" ; then |
5781 | openssl=no | 5642 | openssl=no |
5782 | ssh1=no | 5643 | ssh1=no |
@@ -5785,63 +5646,61 @@ if test "${with_openssl+set}" = set; then | |||
5785 | 5646 | ||
5786 | fi | 5647 | fi |
5787 | 5648 | ||
5788 | { echo "$as_me:$LINENO: checking whether OpenSSL will be used for cryptography" >&5 | 5649 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL will be used for cryptography" >&5 |
5789 | echo $ECHO_N "checking whether OpenSSL will be used for cryptography... $ECHO_C" >&6; } | 5650 | $as_echo_n "checking whether OpenSSL will be used for cryptography... " >&6; } |
5790 | if test "x$openssl" = "xyes" ; then | 5651 | if test "x$openssl" = "xyes" ; then |
5791 | { echo "$as_me:$LINENO: result: yes" >&5 | 5652 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
5792 | echo "${ECHO_T}yes" >&6; } | 5653 | $as_echo "yes" >&6; } |
5793 | 5654 | ||
5794 | cat >>confdefs.h <<_ACEOF | 5655 | cat >>confdefs.h <<_ACEOF |
5795 | #define WITH_OPENSSL 1 | 5656 | #define WITH_OPENSSL 1 |
5796 | _ACEOF | 5657 | _ACEOF |
5797 | 5658 | ||
5798 | else | 5659 | else |
5799 | { echo "$as_me:$LINENO: result: no" >&5 | 5660 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
5800 | echo "${ECHO_T}no" >&6; } | 5661 | $as_echo "no" >&6; } |
5801 | fi | 5662 | fi |
5802 | 5663 | ||
5803 | 5664 | ||
5804 | # Check whether --with-ssh1 was given. | 5665 | # Check whether --with-ssh1 was given. |
5805 | if test "${with_ssh1+set}" = set; then | 5666 | if test "${with_ssh1+set}" = set; then : |
5806 | withval=$with_ssh1; | 5667 | withval=$with_ssh1; |
5807 | if test "x$withval" = "xyes" ; then | 5668 | if test "x$withval" = "xyes" ; then |
5808 | if test "x$openssl" = "xno" ; then | 5669 | if test "x$openssl" = "xno" ; then |
5809 | { { echo "$as_me:$LINENO: error: Cannot enable SSH protocol 1 with OpenSSL disabled" >&5 | 5670 | as_fn_error $? "Cannot enable SSH protocol 1 with OpenSSL disabled" "$LINENO" 5 |
5810 | echo "$as_me: error: Cannot enable SSH protocol 1 with OpenSSL disabled" >&2;} | ||
5811 | { (exit 1); exit 1; }; } | ||
5812 | fi | 5671 | fi |
5813 | ssh1=yes | 5672 | ssh1=yes |
5673 | COMMENT_OUT_RSA1="" | ||
5814 | elif test "x$withval" = "xno" ; then | 5674 | elif test "x$withval" = "xno" ; then |
5815 | ssh1=no | 5675 | ssh1=no |
5816 | else | 5676 | else |
5817 | { { echo "$as_me:$LINENO: error: unknown --with-ssh1 argument" >&5 | 5677 | as_fn_error $? "unknown --with-ssh1 argument" "$LINENO" 5 |
5818 | echo "$as_me: error: unknown --with-ssh1 argument" >&2;} | ||
5819 | { (exit 1); exit 1; }; } | ||
5820 | fi | 5678 | fi |
5821 | 5679 | ||
5822 | 5680 | ||
5823 | fi | 5681 | fi |
5824 | 5682 | ||
5825 | { echo "$as_me:$LINENO: checking whether SSH protocol 1 support is enabled" >&5 | 5683 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether SSH protocol 1 support is enabled" >&5 |
5826 | echo $ECHO_N "checking whether SSH protocol 1 support is enabled... $ECHO_C" >&6; } | 5684 | $as_echo_n "checking whether SSH protocol 1 support is enabled... " >&6; } |
5827 | if test "x$ssh1" = "xyes" ; then | 5685 | if test "x$ssh1" = "xyes" ; then |
5828 | { echo "$as_me:$LINENO: result: yes" >&5 | 5686 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
5829 | echo "${ECHO_T}yes" >&6; } | 5687 | $as_echo "yes" >&6; } |
5830 | 5688 | ||
5831 | cat >>confdefs.h <<_ACEOF | 5689 | cat >>confdefs.h <<_ACEOF |
5832 | #define WITH_SSH1 1 | 5690 | #define WITH_SSH1 1 |
5833 | _ACEOF | 5691 | _ACEOF |
5834 | 5692 | ||
5693 | |||
5835 | else | 5694 | else |
5836 | { echo "$as_me:$LINENO: result: no" >&5 | 5695 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
5837 | echo "${ECHO_T}no" >&6; } | 5696 | $as_echo "no" >&6; } |
5838 | fi | 5697 | fi |
5839 | 5698 | ||
5840 | use_stack_protector=1 | 5699 | use_stack_protector=1 |
5841 | use_toolchain_hardening=1 | 5700 | use_toolchain_hardening=1 |
5842 | 5701 | ||
5843 | # Check whether --with-stackprotect was given. | 5702 | # Check whether --with-stackprotect was given. |
5844 | if test "${with_stackprotect+set}" = set; then | 5703 | if test "${with_stackprotect+set}" = set; then : |
5845 | withval=$with_stackprotect; | 5704 | withval=$with_stackprotect; |
5846 | if test "x$withval" = "xno"; then | 5705 | if test "x$withval" = "xno"; then |
5847 | use_stack_protector=0 | 5706 | use_stack_protector=0 |
@@ -5850,7 +5709,7 @@ fi | |||
5850 | 5709 | ||
5851 | 5710 | ||
5852 | # Check whether --with-hardening was given. | 5711 | # Check whether --with-hardening was given. |
5853 | if test "${with_hardening+set}" = set; then | 5712 | if test "${with_hardening+set}" = set; then : |
5854 | withval=$with_hardening; | 5713 | withval=$with_hardening; |
5855 | if test "x$withval" = "xno"; then | 5714 | if test "x$withval" = "xno"; then |
5856 | use_toolchain_hardening=0 | 5715 | use_toolchain_hardening=0 |
@@ -5860,64 +5719,36 @@ fi | |||
5860 | 5719 | ||
5861 | # We use -Werror for the tests only so that we catch warnings like "this is | 5720 | # We use -Werror for the tests only so that we catch warnings like "this is |
5862 | # on by default" for things like -fPIE. | 5721 | # on by default" for things like -fPIE. |
5863 | { echo "$as_me:$LINENO: checking if $CC supports -Werror" >&5 | 5722 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror" >&5 |
5864 | echo $ECHO_N "checking if $CC supports -Werror... $ECHO_C" >&6; } | 5723 | $as_echo_n "checking if $CC supports -Werror... " >&6; } |
5865 | saved_CFLAGS="$CFLAGS" | 5724 | saved_CFLAGS="$CFLAGS" |
5866 | CFLAGS="$CFLAGS -Werror" | 5725 | CFLAGS="$CFLAGS -Werror" |
5867 | cat >conftest.$ac_ext <<_ACEOF | 5726 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
5868 | /* confdefs.h. */ | ||
5869 | _ACEOF | ||
5870 | cat confdefs.h >>conftest.$ac_ext | ||
5871 | cat >>conftest.$ac_ext <<_ACEOF | ||
5872 | /* end confdefs.h. */ | 5727 | /* end confdefs.h. */ |
5873 | int main(void) { return 0; } | 5728 | int main(void) { return 0; } |
5874 | _ACEOF | 5729 | _ACEOF |
5875 | rm -f conftest.$ac_objext | 5730 | if ac_fn_c_try_compile "$LINENO"; then : |
5876 | if { (ac_try="$ac_compile" | 5731 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
5877 | case "(($ac_try" in | 5732 | $as_echo "yes" >&6; } |
5878 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
5879 | *) ac_try_echo=$ac_try;; | ||
5880 | esac | ||
5881 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
5882 | (eval "$ac_compile") 2>conftest.er1 | ||
5883 | ac_status=$? | ||
5884 | grep -v '^ *+' conftest.er1 >conftest.err | ||
5885 | rm -f conftest.er1 | ||
5886 | cat conftest.err >&5 | ||
5887 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
5888 | (exit $ac_status); } && { | ||
5889 | test -z "$ac_c_werror_flag" || | ||
5890 | test ! -s conftest.err | ||
5891 | } && test -s conftest.$ac_objext; then | ||
5892 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
5893 | echo "${ECHO_T}yes" >&6; } | ||
5894 | WERROR="-Werror" | 5733 | WERROR="-Werror" |
5895 | else | 5734 | else |
5896 | echo "$as_me: failed program was:" >&5 | 5735 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
5897 | sed 's/^/| /' conftest.$ac_ext >&5 | 5736 | $as_echo "no" >&6; } |
5898 | |||
5899 | { echo "$as_me:$LINENO: result: no" >&5 | ||
5900 | echo "${ECHO_T}no" >&6; } | ||
5901 | WERROR="" | 5737 | WERROR="" |
5902 | 5738 | ||
5903 | fi | 5739 | fi |
5904 | |||
5905 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 5740 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
5906 | CFLAGS="$saved_CFLAGS" | 5741 | CFLAGS="$saved_CFLAGS" |
5907 | 5742 | ||
5908 | if test "$GCC" = "yes" || test "$GCC" = "egcs"; then | 5743 | if test "$GCC" = "yes" || test "$GCC" = "egcs"; then |
5909 | { | 5744 | { |
5910 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -Qunused-arguments" >&5 | 5745 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Qunused-arguments" >&5 |
5911 | echo $ECHO_N "checking if $CC supports compile flag -Qunused-arguments... $ECHO_C" >&6; } | 5746 | $as_echo_n "checking if $CC supports compile flag -Qunused-arguments... " >&6; } |
5912 | saved_CFLAGS="$CFLAGS" | 5747 | saved_CFLAGS="$CFLAGS" |
5913 | CFLAGS="$CFLAGS $WERROR -Qunused-arguments" | 5748 | CFLAGS="$CFLAGS $WERROR -Qunused-arguments" |
5914 | _define_flag="" | 5749 | _define_flag="" |
5915 | test "x$_define_flag" = "x" && _define_flag="-Qunused-arguments" | 5750 | test "x$_define_flag" = "x" && _define_flag="-Qunused-arguments" |
5916 | cat >conftest.$ac_ext <<_ACEOF | 5751 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
5917 | /* confdefs.h. */ | ||
5918 | _ACEOF | ||
5919 | cat confdefs.h >>conftest.$ac_ext | ||
5920 | cat >>conftest.$ac_ext <<_ACEOF | ||
5921 | /* end confdefs.h. */ | 5752 | /* end confdefs.h. */ |
5922 | 5753 | ||
5923 | #include <stdlib.h> | 5754 | #include <stdlib.h> |
@@ -5933,58 +5764,34 @@ int main(int argc, char **argv) { | |||
5933 | } | 5764 | } |
5934 | 5765 | ||
5935 | _ACEOF | 5766 | _ACEOF |
5936 | rm -f conftest.$ac_objext | 5767 | if ac_fn_c_try_compile "$LINENO"; then : |
5937 | if { (ac_try="$ac_compile" | ||
5938 | case "(($ac_try" in | ||
5939 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
5940 | *) ac_try_echo=$ac_try;; | ||
5941 | esac | ||
5942 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
5943 | (eval "$ac_compile") 2>conftest.er1 | ||
5944 | ac_status=$? | ||
5945 | grep -v '^ *+' conftest.er1 >conftest.err | ||
5946 | rm -f conftest.er1 | ||
5947 | cat conftest.err >&5 | ||
5948 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
5949 | (exit $ac_status); } && { | ||
5950 | test -z "$ac_c_werror_flag" || | ||
5951 | test ! -s conftest.err | ||
5952 | } && test -s conftest.$ac_objext; then | ||
5953 | 5768 | ||
5954 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 5769 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
5955 | then | 5770 | then |
5956 | { echo "$as_me:$LINENO: result: no" >&5 | 5771 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
5957 | echo "${ECHO_T}no" >&6; } | 5772 | $as_echo "no" >&6; } |
5958 | CFLAGS="$saved_CFLAGS" | 5773 | CFLAGS="$saved_CFLAGS" |
5959 | else | 5774 | else |
5960 | { echo "$as_me:$LINENO: result: yes" >&5 | 5775 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
5961 | echo "${ECHO_T}yes" >&6; } | 5776 | $as_echo "yes" >&6; } |
5962 | CFLAGS="$saved_CFLAGS $_define_flag" | 5777 | CFLAGS="$saved_CFLAGS $_define_flag" |
5963 | fi | 5778 | fi |
5964 | else | 5779 | else |
5965 | echo "$as_me: failed program was:" >&5 | 5780 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
5966 | sed 's/^/| /' conftest.$ac_ext >&5 | 5781 | $as_echo "no" >&6; } |
5967 | |||
5968 | { echo "$as_me:$LINENO: result: no" >&5 | ||
5969 | echo "${ECHO_T}no" >&6; } | ||
5970 | CFLAGS="$saved_CFLAGS" | 5782 | CFLAGS="$saved_CFLAGS" |
5971 | 5783 | ||
5972 | fi | 5784 | fi |
5973 | |||
5974 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 5785 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
5975 | } | 5786 | } |
5976 | { | 5787 | { |
5977 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -Wunknown-warning-option" >&5 | 5788 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wunknown-warning-option" >&5 |
5978 | echo $ECHO_N "checking if $CC supports compile flag -Wunknown-warning-option... $ECHO_C" >&6; } | 5789 | $as_echo_n "checking if $CC supports compile flag -Wunknown-warning-option... " >&6; } |
5979 | saved_CFLAGS="$CFLAGS" | 5790 | saved_CFLAGS="$CFLAGS" |
5980 | CFLAGS="$CFLAGS $WERROR -Wunknown-warning-option" | 5791 | CFLAGS="$CFLAGS $WERROR -Wunknown-warning-option" |
5981 | _define_flag="" | 5792 | _define_flag="" |
5982 | test "x$_define_flag" = "x" && _define_flag="-Wunknown-warning-option" | 5793 | test "x$_define_flag" = "x" && _define_flag="-Wunknown-warning-option" |
5983 | cat >conftest.$ac_ext <<_ACEOF | 5794 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
5984 | /* confdefs.h. */ | ||
5985 | _ACEOF | ||
5986 | cat confdefs.h >>conftest.$ac_ext | ||
5987 | cat >>conftest.$ac_ext <<_ACEOF | ||
5988 | /* end confdefs.h. */ | 5795 | /* end confdefs.h. */ |
5989 | 5796 | ||
5990 | #include <stdlib.h> | 5797 | #include <stdlib.h> |
@@ -6000,58 +5807,34 @@ int main(int argc, char **argv) { | |||
6000 | } | 5807 | } |
6001 | 5808 | ||
6002 | _ACEOF | 5809 | _ACEOF |
6003 | rm -f conftest.$ac_objext | 5810 | if ac_fn_c_try_compile "$LINENO"; then : |
6004 | if { (ac_try="$ac_compile" | ||
6005 | case "(($ac_try" in | ||
6006 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6007 | *) ac_try_echo=$ac_try;; | ||
6008 | esac | ||
6009 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6010 | (eval "$ac_compile") 2>conftest.er1 | ||
6011 | ac_status=$? | ||
6012 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6013 | rm -f conftest.er1 | ||
6014 | cat conftest.err >&5 | ||
6015 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6016 | (exit $ac_status); } && { | ||
6017 | test -z "$ac_c_werror_flag" || | ||
6018 | test ! -s conftest.err | ||
6019 | } && test -s conftest.$ac_objext; then | ||
6020 | 5811 | ||
6021 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 5812 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
6022 | then | 5813 | then |
6023 | { echo "$as_me:$LINENO: result: no" >&5 | 5814 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6024 | echo "${ECHO_T}no" >&6; } | 5815 | $as_echo "no" >&6; } |
6025 | CFLAGS="$saved_CFLAGS" | 5816 | CFLAGS="$saved_CFLAGS" |
6026 | else | 5817 | else |
6027 | { echo "$as_me:$LINENO: result: yes" >&5 | 5818 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6028 | echo "${ECHO_T}yes" >&6; } | 5819 | $as_echo "yes" >&6; } |
6029 | CFLAGS="$saved_CFLAGS $_define_flag" | 5820 | CFLAGS="$saved_CFLAGS $_define_flag" |
6030 | fi | 5821 | fi |
6031 | else | 5822 | else |
6032 | echo "$as_me: failed program was:" >&5 | 5823 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6033 | sed 's/^/| /' conftest.$ac_ext >&5 | 5824 | $as_echo "no" >&6; } |
6034 | |||
6035 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6036 | echo "${ECHO_T}no" >&6; } | ||
6037 | CFLAGS="$saved_CFLAGS" | 5825 | CFLAGS="$saved_CFLAGS" |
6038 | 5826 | ||
6039 | fi | 5827 | fi |
6040 | |||
6041 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 5828 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
6042 | } | 5829 | } |
6043 | { | 5830 | { |
6044 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -Wall" >&5 | 5831 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wall" >&5 |
6045 | echo $ECHO_N "checking if $CC supports compile flag -Wall... $ECHO_C" >&6; } | 5832 | $as_echo_n "checking if $CC supports compile flag -Wall... " >&6; } |
6046 | saved_CFLAGS="$CFLAGS" | 5833 | saved_CFLAGS="$CFLAGS" |
6047 | CFLAGS="$CFLAGS $WERROR -Wall" | 5834 | CFLAGS="$CFLAGS $WERROR -Wall" |
6048 | _define_flag="" | 5835 | _define_flag="" |
6049 | test "x$_define_flag" = "x" && _define_flag="-Wall" | 5836 | test "x$_define_flag" = "x" && _define_flag="-Wall" |
6050 | cat >conftest.$ac_ext <<_ACEOF | 5837 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6051 | /* confdefs.h. */ | ||
6052 | _ACEOF | ||
6053 | cat confdefs.h >>conftest.$ac_ext | ||
6054 | cat >>conftest.$ac_ext <<_ACEOF | ||
6055 | /* end confdefs.h. */ | 5838 | /* end confdefs.h. */ |
6056 | 5839 | ||
6057 | #include <stdlib.h> | 5840 | #include <stdlib.h> |
@@ -6067,58 +5850,34 @@ int main(int argc, char **argv) { | |||
6067 | } | 5850 | } |
6068 | 5851 | ||
6069 | _ACEOF | 5852 | _ACEOF |
6070 | rm -f conftest.$ac_objext | 5853 | if ac_fn_c_try_compile "$LINENO"; then : |
6071 | if { (ac_try="$ac_compile" | ||
6072 | case "(($ac_try" in | ||
6073 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6074 | *) ac_try_echo=$ac_try;; | ||
6075 | esac | ||
6076 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6077 | (eval "$ac_compile") 2>conftest.er1 | ||
6078 | ac_status=$? | ||
6079 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6080 | rm -f conftest.er1 | ||
6081 | cat conftest.err >&5 | ||
6082 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6083 | (exit $ac_status); } && { | ||
6084 | test -z "$ac_c_werror_flag" || | ||
6085 | test ! -s conftest.err | ||
6086 | } && test -s conftest.$ac_objext; then | ||
6087 | 5854 | ||
6088 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 5855 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
6089 | then | 5856 | then |
6090 | { echo "$as_me:$LINENO: result: no" >&5 | 5857 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6091 | echo "${ECHO_T}no" >&6; } | 5858 | $as_echo "no" >&6; } |
6092 | CFLAGS="$saved_CFLAGS" | 5859 | CFLAGS="$saved_CFLAGS" |
6093 | else | 5860 | else |
6094 | { echo "$as_me:$LINENO: result: yes" >&5 | 5861 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6095 | echo "${ECHO_T}yes" >&6; } | 5862 | $as_echo "yes" >&6; } |
6096 | CFLAGS="$saved_CFLAGS $_define_flag" | 5863 | CFLAGS="$saved_CFLAGS $_define_flag" |
6097 | fi | 5864 | fi |
6098 | else | 5865 | else |
6099 | echo "$as_me: failed program was:" >&5 | 5866 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6100 | sed 's/^/| /' conftest.$ac_ext >&5 | 5867 | $as_echo "no" >&6; } |
6101 | |||
6102 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6103 | echo "${ECHO_T}no" >&6; } | ||
6104 | CFLAGS="$saved_CFLAGS" | 5868 | CFLAGS="$saved_CFLAGS" |
6105 | 5869 | ||
6106 | fi | 5870 | fi |
6107 | |||
6108 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 5871 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
6109 | } | 5872 | } |
6110 | { | 5873 | { |
6111 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -Wpointer-arith" >&5 | 5874 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wpointer-arith" >&5 |
6112 | echo $ECHO_N "checking if $CC supports compile flag -Wpointer-arith... $ECHO_C" >&6; } | 5875 | $as_echo_n "checking if $CC supports compile flag -Wpointer-arith... " >&6; } |
6113 | saved_CFLAGS="$CFLAGS" | 5876 | saved_CFLAGS="$CFLAGS" |
6114 | CFLAGS="$CFLAGS $WERROR -Wpointer-arith" | 5877 | CFLAGS="$CFLAGS $WERROR -Wpointer-arith" |
6115 | _define_flag="" | 5878 | _define_flag="" |
6116 | test "x$_define_flag" = "x" && _define_flag="-Wpointer-arith" | 5879 | test "x$_define_flag" = "x" && _define_flag="-Wpointer-arith" |
6117 | cat >conftest.$ac_ext <<_ACEOF | 5880 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6118 | /* confdefs.h. */ | ||
6119 | _ACEOF | ||
6120 | cat confdefs.h >>conftest.$ac_ext | ||
6121 | cat >>conftest.$ac_ext <<_ACEOF | ||
6122 | /* end confdefs.h. */ | 5881 | /* end confdefs.h. */ |
6123 | 5882 | ||
6124 | #include <stdlib.h> | 5883 | #include <stdlib.h> |
@@ -6134,58 +5893,34 @@ int main(int argc, char **argv) { | |||
6134 | } | 5893 | } |
6135 | 5894 | ||
6136 | _ACEOF | 5895 | _ACEOF |
6137 | rm -f conftest.$ac_objext | 5896 | if ac_fn_c_try_compile "$LINENO"; then : |
6138 | if { (ac_try="$ac_compile" | ||
6139 | case "(($ac_try" in | ||
6140 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6141 | *) ac_try_echo=$ac_try;; | ||
6142 | esac | ||
6143 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6144 | (eval "$ac_compile") 2>conftest.er1 | ||
6145 | ac_status=$? | ||
6146 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6147 | rm -f conftest.er1 | ||
6148 | cat conftest.err >&5 | ||
6149 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6150 | (exit $ac_status); } && { | ||
6151 | test -z "$ac_c_werror_flag" || | ||
6152 | test ! -s conftest.err | ||
6153 | } && test -s conftest.$ac_objext; then | ||
6154 | 5897 | ||
6155 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 5898 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
6156 | then | 5899 | then |
6157 | { echo "$as_me:$LINENO: result: no" >&5 | 5900 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6158 | echo "${ECHO_T}no" >&6; } | 5901 | $as_echo "no" >&6; } |
6159 | CFLAGS="$saved_CFLAGS" | 5902 | CFLAGS="$saved_CFLAGS" |
6160 | else | 5903 | else |
6161 | { echo "$as_me:$LINENO: result: yes" >&5 | 5904 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6162 | echo "${ECHO_T}yes" >&6; } | 5905 | $as_echo "yes" >&6; } |
6163 | CFLAGS="$saved_CFLAGS $_define_flag" | 5906 | CFLAGS="$saved_CFLAGS $_define_flag" |
6164 | fi | 5907 | fi |
6165 | else | 5908 | else |
6166 | echo "$as_me: failed program was:" >&5 | 5909 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6167 | sed 's/^/| /' conftest.$ac_ext >&5 | 5910 | $as_echo "no" >&6; } |
6168 | |||
6169 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6170 | echo "${ECHO_T}no" >&6; } | ||
6171 | CFLAGS="$saved_CFLAGS" | 5911 | CFLAGS="$saved_CFLAGS" |
6172 | 5912 | ||
6173 | fi | 5913 | fi |
6174 | |||
6175 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 5914 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
6176 | } | 5915 | } |
6177 | { | 5916 | { |
6178 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -Wuninitialized" >&5 | 5917 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wuninitialized" >&5 |
6179 | echo $ECHO_N "checking if $CC supports compile flag -Wuninitialized... $ECHO_C" >&6; } | 5918 | $as_echo_n "checking if $CC supports compile flag -Wuninitialized... " >&6; } |
6180 | saved_CFLAGS="$CFLAGS" | 5919 | saved_CFLAGS="$CFLAGS" |
6181 | CFLAGS="$CFLAGS $WERROR -Wuninitialized" | 5920 | CFLAGS="$CFLAGS $WERROR -Wuninitialized" |
6182 | _define_flag="" | 5921 | _define_flag="" |
6183 | test "x$_define_flag" = "x" && _define_flag="-Wuninitialized" | 5922 | test "x$_define_flag" = "x" && _define_flag="-Wuninitialized" |
6184 | cat >conftest.$ac_ext <<_ACEOF | 5923 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6185 | /* confdefs.h. */ | ||
6186 | _ACEOF | ||
6187 | cat confdefs.h >>conftest.$ac_ext | ||
6188 | cat >>conftest.$ac_ext <<_ACEOF | ||
6189 | /* end confdefs.h. */ | 5924 | /* end confdefs.h. */ |
6190 | 5925 | ||
6191 | #include <stdlib.h> | 5926 | #include <stdlib.h> |
@@ -6201,58 +5936,34 @@ int main(int argc, char **argv) { | |||
6201 | } | 5936 | } |
6202 | 5937 | ||
6203 | _ACEOF | 5938 | _ACEOF |
6204 | rm -f conftest.$ac_objext | 5939 | if ac_fn_c_try_compile "$LINENO"; then : |
6205 | if { (ac_try="$ac_compile" | ||
6206 | case "(($ac_try" in | ||
6207 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6208 | *) ac_try_echo=$ac_try;; | ||
6209 | esac | ||
6210 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6211 | (eval "$ac_compile") 2>conftest.er1 | ||
6212 | ac_status=$? | ||
6213 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6214 | rm -f conftest.er1 | ||
6215 | cat conftest.err >&5 | ||
6216 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6217 | (exit $ac_status); } && { | ||
6218 | test -z "$ac_c_werror_flag" || | ||
6219 | test ! -s conftest.err | ||
6220 | } && test -s conftest.$ac_objext; then | ||
6221 | 5940 | ||
6222 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 5941 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
6223 | then | 5942 | then |
6224 | { echo "$as_me:$LINENO: result: no" >&5 | 5943 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6225 | echo "${ECHO_T}no" >&6; } | 5944 | $as_echo "no" >&6; } |
6226 | CFLAGS="$saved_CFLAGS" | 5945 | CFLAGS="$saved_CFLAGS" |
6227 | else | 5946 | else |
6228 | { echo "$as_me:$LINENO: result: yes" >&5 | 5947 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6229 | echo "${ECHO_T}yes" >&6; } | 5948 | $as_echo "yes" >&6; } |
6230 | CFLAGS="$saved_CFLAGS $_define_flag" | 5949 | CFLAGS="$saved_CFLAGS $_define_flag" |
6231 | fi | 5950 | fi |
6232 | else | 5951 | else |
6233 | echo "$as_me: failed program was:" >&5 | 5952 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6234 | sed 's/^/| /' conftest.$ac_ext >&5 | 5953 | $as_echo "no" >&6; } |
6235 | |||
6236 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6237 | echo "${ECHO_T}no" >&6; } | ||
6238 | CFLAGS="$saved_CFLAGS" | 5954 | CFLAGS="$saved_CFLAGS" |
6239 | 5955 | ||
6240 | fi | 5956 | fi |
6241 | |||
6242 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 5957 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
6243 | } | 5958 | } |
6244 | { | 5959 | { |
6245 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -Wsign-compare" >&5 | 5960 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wsign-compare" >&5 |
6246 | echo $ECHO_N "checking if $CC supports compile flag -Wsign-compare... $ECHO_C" >&6; } | 5961 | $as_echo_n "checking if $CC supports compile flag -Wsign-compare... " >&6; } |
6247 | saved_CFLAGS="$CFLAGS" | 5962 | saved_CFLAGS="$CFLAGS" |
6248 | CFLAGS="$CFLAGS $WERROR -Wsign-compare" | 5963 | CFLAGS="$CFLAGS $WERROR -Wsign-compare" |
6249 | _define_flag="" | 5964 | _define_flag="" |
6250 | test "x$_define_flag" = "x" && _define_flag="-Wsign-compare" | 5965 | test "x$_define_flag" = "x" && _define_flag="-Wsign-compare" |
6251 | cat >conftest.$ac_ext <<_ACEOF | 5966 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6252 | /* confdefs.h. */ | ||
6253 | _ACEOF | ||
6254 | cat confdefs.h >>conftest.$ac_ext | ||
6255 | cat >>conftest.$ac_ext <<_ACEOF | ||
6256 | /* end confdefs.h. */ | 5967 | /* end confdefs.h. */ |
6257 | 5968 | ||
6258 | #include <stdlib.h> | 5969 | #include <stdlib.h> |
@@ -6268,58 +5979,34 @@ int main(int argc, char **argv) { | |||
6268 | } | 5979 | } |
6269 | 5980 | ||
6270 | _ACEOF | 5981 | _ACEOF |
6271 | rm -f conftest.$ac_objext | 5982 | if ac_fn_c_try_compile "$LINENO"; then : |
6272 | if { (ac_try="$ac_compile" | ||
6273 | case "(($ac_try" in | ||
6274 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6275 | *) ac_try_echo=$ac_try;; | ||
6276 | esac | ||
6277 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6278 | (eval "$ac_compile") 2>conftest.er1 | ||
6279 | ac_status=$? | ||
6280 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6281 | rm -f conftest.er1 | ||
6282 | cat conftest.err >&5 | ||
6283 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6284 | (exit $ac_status); } && { | ||
6285 | test -z "$ac_c_werror_flag" || | ||
6286 | test ! -s conftest.err | ||
6287 | } && test -s conftest.$ac_objext; then | ||
6288 | 5983 | ||
6289 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 5984 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
6290 | then | 5985 | then |
6291 | { echo "$as_me:$LINENO: result: no" >&5 | 5986 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6292 | echo "${ECHO_T}no" >&6; } | 5987 | $as_echo "no" >&6; } |
6293 | CFLAGS="$saved_CFLAGS" | 5988 | CFLAGS="$saved_CFLAGS" |
6294 | else | 5989 | else |
6295 | { echo "$as_me:$LINENO: result: yes" >&5 | 5990 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6296 | echo "${ECHO_T}yes" >&6; } | 5991 | $as_echo "yes" >&6; } |
6297 | CFLAGS="$saved_CFLAGS $_define_flag" | 5992 | CFLAGS="$saved_CFLAGS $_define_flag" |
6298 | fi | 5993 | fi |
6299 | else | 5994 | else |
6300 | echo "$as_me: failed program was:" >&5 | 5995 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6301 | sed 's/^/| /' conftest.$ac_ext >&5 | 5996 | $as_echo "no" >&6; } |
6302 | |||
6303 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6304 | echo "${ECHO_T}no" >&6; } | ||
6305 | CFLAGS="$saved_CFLAGS" | 5997 | CFLAGS="$saved_CFLAGS" |
6306 | 5998 | ||
6307 | fi | 5999 | fi |
6308 | |||
6309 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 6000 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
6310 | } | 6001 | } |
6311 | { | 6002 | { |
6312 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -Wformat-security" >&5 | 6003 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wformat-security" >&5 |
6313 | echo $ECHO_N "checking if $CC supports compile flag -Wformat-security... $ECHO_C" >&6; } | 6004 | $as_echo_n "checking if $CC supports compile flag -Wformat-security... " >&6; } |
6314 | saved_CFLAGS="$CFLAGS" | 6005 | saved_CFLAGS="$CFLAGS" |
6315 | CFLAGS="$CFLAGS $WERROR -Wformat-security" | 6006 | CFLAGS="$CFLAGS $WERROR -Wformat-security" |
6316 | _define_flag="" | 6007 | _define_flag="" |
6317 | test "x$_define_flag" = "x" && _define_flag="-Wformat-security" | 6008 | test "x$_define_flag" = "x" && _define_flag="-Wformat-security" |
6318 | cat >conftest.$ac_ext <<_ACEOF | 6009 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6319 | /* confdefs.h. */ | ||
6320 | _ACEOF | ||
6321 | cat confdefs.h >>conftest.$ac_ext | ||
6322 | cat >>conftest.$ac_ext <<_ACEOF | ||
6323 | /* end confdefs.h. */ | 6010 | /* end confdefs.h. */ |
6324 | 6011 | ||
6325 | #include <stdlib.h> | 6012 | #include <stdlib.h> |
@@ -6335,58 +6022,34 @@ int main(int argc, char **argv) { | |||
6335 | } | 6022 | } |
6336 | 6023 | ||
6337 | _ACEOF | 6024 | _ACEOF |
6338 | rm -f conftest.$ac_objext | 6025 | if ac_fn_c_try_compile "$LINENO"; then : |
6339 | if { (ac_try="$ac_compile" | ||
6340 | case "(($ac_try" in | ||
6341 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6342 | *) ac_try_echo=$ac_try;; | ||
6343 | esac | ||
6344 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6345 | (eval "$ac_compile") 2>conftest.er1 | ||
6346 | ac_status=$? | ||
6347 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6348 | rm -f conftest.er1 | ||
6349 | cat conftest.err >&5 | ||
6350 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6351 | (exit $ac_status); } && { | ||
6352 | test -z "$ac_c_werror_flag" || | ||
6353 | test ! -s conftest.err | ||
6354 | } && test -s conftest.$ac_objext; then | ||
6355 | 6026 | ||
6356 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 6027 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
6357 | then | 6028 | then |
6358 | { echo "$as_me:$LINENO: result: no" >&5 | 6029 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6359 | echo "${ECHO_T}no" >&6; } | 6030 | $as_echo "no" >&6; } |
6360 | CFLAGS="$saved_CFLAGS" | 6031 | CFLAGS="$saved_CFLAGS" |
6361 | else | 6032 | else |
6362 | { echo "$as_me:$LINENO: result: yes" >&5 | 6033 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6363 | echo "${ECHO_T}yes" >&6; } | 6034 | $as_echo "yes" >&6; } |
6364 | CFLAGS="$saved_CFLAGS $_define_flag" | 6035 | CFLAGS="$saved_CFLAGS $_define_flag" |
6365 | fi | 6036 | fi |
6366 | else | 6037 | else |
6367 | echo "$as_me: failed program was:" >&5 | 6038 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6368 | sed 's/^/| /' conftest.$ac_ext >&5 | 6039 | $as_echo "no" >&6; } |
6369 | |||
6370 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6371 | echo "${ECHO_T}no" >&6; } | ||
6372 | CFLAGS="$saved_CFLAGS" | 6040 | CFLAGS="$saved_CFLAGS" |
6373 | 6041 | ||
6374 | fi | 6042 | fi |
6375 | |||
6376 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 6043 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
6377 | } | 6044 | } |
6378 | { | 6045 | { |
6379 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -Wsizeof-pointer-memaccess" >&5 | 6046 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wsizeof-pointer-memaccess" >&5 |
6380 | echo $ECHO_N "checking if $CC supports compile flag -Wsizeof-pointer-memaccess... $ECHO_C" >&6; } | 6047 | $as_echo_n "checking if $CC supports compile flag -Wsizeof-pointer-memaccess... " >&6; } |
6381 | saved_CFLAGS="$CFLAGS" | 6048 | saved_CFLAGS="$CFLAGS" |
6382 | CFLAGS="$CFLAGS $WERROR -Wsizeof-pointer-memaccess" | 6049 | CFLAGS="$CFLAGS $WERROR -Wsizeof-pointer-memaccess" |
6383 | _define_flag="" | 6050 | _define_flag="" |
6384 | test "x$_define_flag" = "x" && _define_flag="-Wsizeof-pointer-memaccess" | 6051 | test "x$_define_flag" = "x" && _define_flag="-Wsizeof-pointer-memaccess" |
6385 | cat >conftest.$ac_ext <<_ACEOF | 6052 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6386 | /* confdefs.h. */ | ||
6387 | _ACEOF | ||
6388 | cat confdefs.h >>conftest.$ac_ext | ||
6389 | cat >>conftest.$ac_ext <<_ACEOF | ||
6390 | /* end confdefs.h. */ | 6053 | /* end confdefs.h. */ |
6391 | 6054 | ||
6392 | #include <stdlib.h> | 6055 | #include <stdlib.h> |
@@ -6402,58 +6065,34 @@ int main(int argc, char **argv) { | |||
6402 | } | 6065 | } |
6403 | 6066 | ||
6404 | _ACEOF | 6067 | _ACEOF |
6405 | rm -f conftest.$ac_objext | 6068 | if ac_fn_c_try_compile "$LINENO"; then : |
6406 | if { (ac_try="$ac_compile" | ||
6407 | case "(($ac_try" in | ||
6408 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6409 | *) ac_try_echo=$ac_try;; | ||
6410 | esac | ||
6411 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6412 | (eval "$ac_compile") 2>conftest.er1 | ||
6413 | ac_status=$? | ||
6414 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6415 | rm -f conftest.er1 | ||
6416 | cat conftest.err >&5 | ||
6417 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6418 | (exit $ac_status); } && { | ||
6419 | test -z "$ac_c_werror_flag" || | ||
6420 | test ! -s conftest.err | ||
6421 | } && test -s conftest.$ac_objext; then | ||
6422 | 6069 | ||
6423 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 6070 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
6424 | then | 6071 | then |
6425 | { echo "$as_me:$LINENO: result: no" >&5 | 6072 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6426 | echo "${ECHO_T}no" >&6; } | 6073 | $as_echo "no" >&6; } |
6427 | CFLAGS="$saved_CFLAGS" | 6074 | CFLAGS="$saved_CFLAGS" |
6428 | else | 6075 | else |
6429 | { echo "$as_me:$LINENO: result: yes" >&5 | 6076 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6430 | echo "${ECHO_T}yes" >&6; } | 6077 | $as_echo "yes" >&6; } |
6431 | CFLAGS="$saved_CFLAGS $_define_flag" | 6078 | CFLAGS="$saved_CFLAGS $_define_flag" |
6432 | fi | 6079 | fi |
6433 | else | 6080 | else |
6434 | echo "$as_me: failed program was:" >&5 | 6081 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6435 | sed 's/^/| /' conftest.$ac_ext >&5 | 6082 | $as_echo "no" >&6; } |
6436 | |||
6437 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6438 | echo "${ECHO_T}no" >&6; } | ||
6439 | CFLAGS="$saved_CFLAGS" | 6083 | CFLAGS="$saved_CFLAGS" |
6440 | 6084 | ||
6441 | fi | 6085 | fi |
6442 | |||
6443 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 6086 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
6444 | } | 6087 | } |
6445 | { | 6088 | { |
6446 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -Wpointer-sign" >&5 | 6089 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wpointer-sign" >&5 |
6447 | echo $ECHO_N "checking if $CC supports compile flag -Wpointer-sign... $ECHO_C" >&6; } | 6090 | $as_echo_n "checking if $CC supports compile flag -Wpointer-sign... " >&6; } |
6448 | saved_CFLAGS="$CFLAGS" | 6091 | saved_CFLAGS="$CFLAGS" |
6449 | CFLAGS="$CFLAGS $WERROR -Wpointer-sign" | 6092 | CFLAGS="$CFLAGS $WERROR -Wpointer-sign" |
6450 | _define_flag="-Wno-pointer-sign" | 6093 | _define_flag="-Wno-pointer-sign" |
6451 | test "x$_define_flag" = "x" && _define_flag="-Wpointer-sign" | 6094 | test "x$_define_flag" = "x" && _define_flag="-Wpointer-sign" |
6452 | cat >conftest.$ac_ext <<_ACEOF | 6095 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6453 | /* confdefs.h. */ | ||
6454 | _ACEOF | ||
6455 | cat confdefs.h >>conftest.$ac_ext | ||
6456 | cat >>conftest.$ac_ext <<_ACEOF | ||
6457 | /* end confdefs.h. */ | 6096 | /* end confdefs.h. */ |
6458 | 6097 | ||
6459 | #include <stdlib.h> | 6098 | #include <stdlib.h> |
@@ -6469,58 +6108,34 @@ int main(int argc, char **argv) { | |||
6469 | } | 6108 | } |
6470 | 6109 | ||
6471 | _ACEOF | 6110 | _ACEOF |
6472 | rm -f conftest.$ac_objext | 6111 | if ac_fn_c_try_compile "$LINENO"; then : |
6473 | if { (ac_try="$ac_compile" | ||
6474 | case "(($ac_try" in | ||
6475 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6476 | *) ac_try_echo=$ac_try;; | ||
6477 | esac | ||
6478 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6479 | (eval "$ac_compile") 2>conftest.er1 | ||
6480 | ac_status=$? | ||
6481 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6482 | rm -f conftest.er1 | ||
6483 | cat conftest.err >&5 | ||
6484 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6485 | (exit $ac_status); } && { | ||
6486 | test -z "$ac_c_werror_flag" || | ||
6487 | test ! -s conftest.err | ||
6488 | } && test -s conftest.$ac_objext; then | ||
6489 | 6112 | ||
6490 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 6113 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
6491 | then | 6114 | then |
6492 | { echo "$as_me:$LINENO: result: no" >&5 | 6115 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6493 | echo "${ECHO_T}no" >&6; } | 6116 | $as_echo "no" >&6; } |
6494 | CFLAGS="$saved_CFLAGS" | 6117 | CFLAGS="$saved_CFLAGS" |
6495 | else | 6118 | else |
6496 | { echo "$as_me:$LINENO: result: yes" >&5 | 6119 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6497 | echo "${ECHO_T}yes" >&6; } | 6120 | $as_echo "yes" >&6; } |
6498 | CFLAGS="$saved_CFLAGS $_define_flag" | 6121 | CFLAGS="$saved_CFLAGS $_define_flag" |
6499 | fi | 6122 | fi |
6500 | else | 6123 | else |
6501 | echo "$as_me: failed program was:" >&5 | 6124 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6502 | sed 's/^/| /' conftest.$ac_ext >&5 | 6125 | $as_echo "no" >&6; } |
6503 | |||
6504 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6505 | echo "${ECHO_T}no" >&6; } | ||
6506 | CFLAGS="$saved_CFLAGS" | 6126 | CFLAGS="$saved_CFLAGS" |
6507 | 6127 | ||
6508 | fi | 6128 | fi |
6509 | |||
6510 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 6129 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
6511 | } | 6130 | } |
6512 | { | 6131 | { |
6513 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -Wunused-result" >&5 | 6132 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wunused-result" >&5 |
6514 | echo $ECHO_N "checking if $CC supports compile flag -Wunused-result... $ECHO_C" >&6; } | 6133 | $as_echo_n "checking if $CC supports compile flag -Wunused-result... " >&6; } |
6515 | saved_CFLAGS="$CFLAGS" | 6134 | saved_CFLAGS="$CFLAGS" |
6516 | CFLAGS="$CFLAGS $WERROR -Wunused-result" | 6135 | CFLAGS="$CFLAGS $WERROR -Wunused-result" |
6517 | _define_flag="-Wno-unused-result" | 6136 | _define_flag="-Wno-unused-result" |
6518 | test "x$_define_flag" = "x" && _define_flag="-Wunused-result" | 6137 | test "x$_define_flag" = "x" && _define_flag="-Wunused-result" |
6519 | cat >conftest.$ac_ext <<_ACEOF | 6138 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6520 | /* confdefs.h. */ | ||
6521 | _ACEOF | ||
6522 | cat confdefs.h >>conftest.$ac_ext | ||
6523 | cat >>conftest.$ac_ext <<_ACEOF | ||
6524 | /* end confdefs.h. */ | 6139 | /* end confdefs.h. */ |
6525 | 6140 | ||
6526 | #include <stdlib.h> | 6141 | #include <stdlib.h> |
@@ -6536,58 +6151,34 @@ int main(int argc, char **argv) { | |||
6536 | } | 6151 | } |
6537 | 6152 | ||
6538 | _ACEOF | 6153 | _ACEOF |
6539 | rm -f conftest.$ac_objext | 6154 | if ac_fn_c_try_compile "$LINENO"; then : |
6540 | if { (ac_try="$ac_compile" | ||
6541 | case "(($ac_try" in | ||
6542 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6543 | *) ac_try_echo=$ac_try;; | ||
6544 | esac | ||
6545 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6546 | (eval "$ac_compile") 2>conftest.er1 | ||
6547 | ac_status=$? | ||
6548 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6549 | rm -f conftest.er1 | ||
6550 | cat conftest.err >&5 | ||
6551 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6552 | (exit $ac_status); } && { | ||
6553 | test -z "$ac_c_werror_flag" || | ||
6554 | test ! -s conftest.err | ||
6555 | } && test -s conftest.$ac_objext; then | ||
6556 | 6155 | ||
6557 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 6156 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
6558 | then | 6157 | then |
6559 | { echo "$as_me:$LINENO: result: no" >&5 | 6158 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6560 | echo "${ECHO_T}no" >&6; } | 6159 | $as_echo "no" >&6; } |
6561 | CFLAGS="$saved_CFLAGS" | 6160 | CFLAGS="$saved_CFLAGS" |
6562 | else | 6161 | else |
6563 | { echo "$as_me:$LINENO: result: yes" >&5 | 6162 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6564 | echo "${ECHO_T}yes" >&6; } | 6163 | $as_echo "yes" >&6; } |
6565 | CFLAGS="$saved_CFLAGS $_define_flag" | 6164 | CFLAGS="$saved_CFLAGS $_define_flag" |
6566 | fi | 6165 | fi |
6567 | else | 6166 | else |
6568 | echo "$as_me: failed program was:" >&5 | 6167 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6569 | sed 's/^/| /' conftest.$ac_ext >&5 | 6168 | $as_echo "no" >&6; } |
6570 | |||
6571 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6572 | echo "${ECHO_T}no" >&6; } | ||
6573 | CFLAGS="$saved_CFLAGS" | 6169 | CFLAGS="$saved_CFLAGS" |
6574 | 6170 | ||
6575 | fi | 6171 | fi |
6576 | |||
6577 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 6172 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
6578 | } | 6173 | } |
6579 | { | 6174 | { |
6580 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -fno-strict-aliasing" >&5 | 6175 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fno-strict-aliasing" >&5 |
6581 | echo $ECHO_N "checking if $CC supports compile flag -fno-strict-aliasing... $ECHO_C" >&6; } | 6176 | $as_echo_n "checking if $CC supports compile flag -fno-strict-aliasing... " >&6; } |
6582 | saved_CFLAGS="$CFLAGS" | 6177 | saved_CFLAGS="$CFLAGS" |
6583 | CFLAGS="$CFLAGS $WERROR -fno-strict-aliasing" | 6178 | CFLAGS="$CFLAGS $WERROR -fno-strict-aliasing" |
6584 | _define_flag="" | 6179 | _define_flag="" |
6585 | test "x$_define_flag" = "x" && _define_flag="-fno-strict-aliasing" | 6180 | test "x$_define_flag" = "x" && _define_flag="-fno-strict-aliasing" |
6586 | cat >conftest.$ac_ext <<_ACEOF | 6181 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6587 | /* confdefs.h. */ | ||
6588 | _ACEOF | ||
6589 | cat confdefs.h >>conftest.$ac_ext | ||
6590 | cat >>conftest.$ac_ext <<_ACEOF | ||
6591 | /* end confdefs.h. */ | 6182 | /* end confdefs.h. */ |
6592 | 6183 | ||
6593 | #include <stdlib.h> | 6184 | #include <stdlib.h> |
@@ -6603,58 +6194,34 @@ int main(int argc, char **argv) { | |||
6603 | } | 6194 | } |
6604 | 6195 | ||
6605 | _ACEOF | 6196 | _ACEOF |
6606 | rm -f conftest.$ac_objext | 6197 | if ac_fn_c_try_compile "$LINENO"; then : |
6607 | if { (ac_try="$ac_compile" | ||
6608 | case "(($ac_try" in | ||
6609 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6610 | *) ac_try_echo=$ac_try;; | ||
6611 | esac | ||
6612 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6613 | (eval "$ac_compile") 2>conftest.er1 | ||
6614 | ac_status=$? | ||
6615 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6616 | rm -f conftest.er1 | ||
6617 | cat conftest.err >&5 | ||
6618 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6619 | (exit $ac_status); } && { | ||
6620 | test -z "$ac_c_werror_flag" || | ||
6621 | test ! -s conftest.err | ||
6622 | } && test -s conftest.$ac_objext; then | ||
6623 | 6198 | ||
6624 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 6199 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
6625 | then | 6200 | then |
6626 | { echo "$as_me:$LINENO: result: no" >&5 | 6201 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6627 | echo "${ECHO_T}no" >&6; } | 6202 | $as_echo "no" >&6; } |
6628 | CFLAGS="$saved_CFLAGS" | 6203 | CFLAGS="$saved_CFLAGS" |
6629 | else | 6204 | else |
6630 | { echo "$as_me:$LINENO: result: yes" >&5 | 6205 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6631 | echo "${ECHO_T}yes" >&6; } | 6206 | $as_echo "yes" >&6; } |
6632 | CFLAGS="$saved_CFLAGS $_define_flag" | 6207 | CFLAGS="$saved_CFLAGS $_define_flag" |
6633 | fi | 6208 | fi |
6634 | else | 6209 | else |
6635 | echo "$as_me: failed program was:" >&5 | 6210 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6636 | sed 's/^/| /' conftest.$ac_ext >&5 | 6211 | $as_echo "no" >&6; } |
6637 | |||
6638 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6639 | echo "${ECHO_T}no" >&6; } | ||
6640 | CFLAGS="$saved_CFLAGS" | 6212 | CFLAGS="$saved_CFLAGS" |
6641 | 6213 | ||
6642 | fi | 6214 | fi |
6643 | |||
6644 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 6215 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
6645 | } | 6216 | } |
6646 | { | 6217 | { |
6647 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -D_FORTIFY_SOURCE=2" >&5 | 6218 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -D_FORTIFY_SOURCE=2" >&5 |
6648 | echo $ECHO_N "checking if $CC supports compile flag -D_FORTIFY_SOURCE=2... $ECHO_C" >&6; } | 6219 | $as_echo_n "checking if $CC supports compile flag -D_FORTIFY_SOURCE=2... " >&6; } |
6649 | saved_CFLAGS="$CFLAGS" | 6220 | saved_CFLAGS="$CFLAGS" |
6650 | CFLAGS="$CFLAGS $WERROR -D_FORTIFY_SOURCE=2" | 6221 | CFLAGS="$CFLAGS $WERROR -D_FORTIFY_SOURCE=2" |
6651 | _define_flag="" | 6222 | _define_flag="" |
6652 | test "x$_define_flag" = "x" && _define_flag="-D_FORTIFY_SOURCE=2" | 6223 | test "x$_define_flag" = "x" && _define_flag="-D_FORTIFY_SOURCE=2" |
6653 | cat >conftest.$ac_ext <<_ACEOF | 6224 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6654 | /* confdefs.h. */ | ||
6655 | _ACEOF | ||
6656 | cat confdefs.h >>conftest.$ac_ext | ||
6657 | cat >>conftest.$ac_ext <<_ACEOF | ||
6658 | /* end confdefs.h. */ | 6225 | /* end confdefs.h. */ |
6659 | 6226 | ||
6660 | #include <stdlib.h> | 6227 | #include <stdlib.h> |
@@ -6670,59 +6237,35 @@ int main(int argc, char **argv) { | |||
6670 | } | 6237 | } |
6671 | 6238 | ||
6672 | _ACEOF | 6239 | _ACEOF |
6673 | rm -f conftest.$ac_objext | 6240 | if ac_fn_c_try_compile "$LINENO"; then : |
6674 | if { (ac_try="$ac_compile" | ||
6675 | case "(($ac_try" in | ||
6676 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6677 | *) ac_try_echo=$ac_try;; | ||
6678 | esac | ||
6679 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6680 | (eval "$ac_compile") 2>conftest.er1 | ||
6681 | ac_status=$? | ||
6682 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6683 | rm -f conftest.er1 | ||
6684 | cat conftest.err >&5 | ||
6685 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6686 | (exit $ac_status); } && { | ||
6687 | test -z "$ac_c_werror_flag" || | ||
6688 | test ! -s conftest.err | ||
6689 | } && test -s conftest.$ac_objext; then | ||
6690 | 6241 | ||
6691 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 6242 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
6692 | then | 6243 | then |
6693 | { echo "$as_me:$LINENO: result: no" >&5 | 6244 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6694 | echo "${ECHO_T}no" >&6; } | 6245 | $as_echo "no" >&6; } |
6695 | CFLAGS="$saved_CFLAGS" | 6246 | CFLAGS="$saved_CFLAGS" |
6696 | else | 6247 | else |
6697 | { echo "$as_me:$LINENO: result: yes" >&5 | 6248 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6698 | echo "${ECHO_T}yes" >&6; } | 6249 | $as_echo "yes" >&6; } |
6699 | CFLAGS="$saved_CFLAGS $_define_flag" | 6250 | CFLAGS="$saved_CFLAGS $_define_flag" |
6700 | fi | 6251 | fi |
6701 | else | 6252 | else |
6702 | echo "$as_me: failed program was:" >&5 | 6253 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6703 | sed 's/^/| /' conftest.$ac_ext >&5 | 6254 | $as_echo "no" >&6; } |
6704 | |||
6705 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6706 | echo "${ECHO_T}no" >&6; } | ||
6707 | CFLAGS="$saved_CFLAGS" | 6255 | CFLAGS="$saved_CFLAGS" |
6708 | 6256 | ||
6709 | fi | 6257 | fi |
6710 | |||
6711 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 6258 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
6712 | } | 6259 | } |
6713 | if test "x$use_toolchain_hardening" = "x1"; then | 6260 | if test "x$use_toolchain_hardening" = "x1"; then |
6714 | { | 6261 | { |
6715 | { echo "$as_me:$LINENO: checking if $LD supports link flag -Wl,-z,relro" >&5 | 6262 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,relro" >&5 |
6716 | echo $ECHO_N "checking if $LD supports link flag -Wl,-z,relro... $ECHO_C" >&6; } | 6263 | $as_echo_n "checking if $LD supports link flag -Wl,-z,relro... " >&6; } |
6717 | saved_LDFLAGS="$LDFLAGS" | 6264 | saved_LDFLAGS="$LDFLAGS" |
6718 | LDFLAGS="$LDFLAGS $WERROR -Wl,-z,relro" | 6265 | LDFLAGS="$LDFLAGS $WERROR -Wl,-z,relro" |
6719 | _define_flag="" | 6266 | _define_flag="" |
6720 | test "x$_define_flag" = "x" && _define_flag="-Wl,-z,relro" | 6267 | test "x$_define_flag" = "x" && _define_flag="-Wl,-z,relro" |
6721 | cat >conftest.$ac_ext <<_ACEOF | 6268 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6722 | /* confdefs.h. */ | ||
6723 | _ACEOF | ||
6724 | cat confdefs.h >>conftest.$ac_ext | ||
6725 | cat >>conftest.$ac_ext <<_ACEOF | ||
6726 | /* end confdefs.h. */ | 6269 | /* end confdefs.h. */ |
6727 | 6270 | ||
6728 | #include <stdlib.h> | 6271 | #include <stdlib.h> |
@@ -6733,57 +6276,33 @@ int main(int argc, char **argv) { | |||
6733 | float l = i * 2.1; | 6276 | float l = i * 2.1; |
6734 | double m = l / 0.5; | 6277 | double m = l / 0.5; |
6735 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 6278 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
6736 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 6279 | long long p = n * o; |
6280 | printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p); | ||
6737 | exit(0); | 6281 | exit(0); |
6738 | } | 6282 | } |
6739 | 6283 | ||
6740 | _ACEOF | 6284 | _ACEOF |
6741 | rm -f conftest.$ac_objext conftest$ac_exeext | 6285 | if ac_fn_c_try_link "$LINENO"; then : |
6742 | if { (ac_try="$ac_link" | 6286 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6743 | case "(($ac_try" in | 6287 | $as_echo "yes" >&6; } |
6744 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6745 | *) ac_try_echo=$ac_try;; | ||
6746 | esac | ||
6747 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6748 | (eval "$ac_link") 2>conftest.er1 | ||
6749 | ac_status=$? | ||
6750 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6751 | rm -f conftest.er1 | ||
6752 | cat conftest.err >&5 | ||
6753 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6754 | (exit $ac_status); } && { | ||
6755 | test -z "$ac_c_werror_flag" || | ||
6756 | test ! -s conftest.err | ||
6757 | } && test -s conftest$ac_exeext && | ||
6758 | $as_test_x conftest$ac_exeext; then | ||
6759 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
6760 | echo "${ECHO_T}yes" >&6; } | ||
6761 | LDFLAGS="$saved_LDFLAGS $_define_flag" | 6288 | LDFLAGS="$saved_LDFLAGS $_define_flag" |
6762 | else | 6289 | else |
6763 | echo "$as_me: failed program was:" >&5 | 6290 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6764 | sed 's/^/| /' conftest.$ac_ext >&5 | 6291 | $as_echo "no" >&6; } |
6765 | |||
6766 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6767 | echo "${ECHO_T}no" >&6; } | ||
6768 | LDFLAGS="$saved_LDFLAGS" | 6292 | LDFLAGS="$saved_LDFLAGS" |
6769 | 6293 | ||
6770 | fi | 6294 | fi |
6771 | 6295 | rm -f core conftest.err conftest.$ac_objext \ | |
6772 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 6296 | conftest$ac_exeext conftest.$ac_ext |
6773 | conftest$ac_exeext conftest.$ac_ext | ||
6774 | } | 6297 | } |
6775 | { | 6298 | { |
6776 | { echo "$as_me:$LINENO: checking if $LD supports link flag -Wl,-z,now" >&5 | 6299 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,now" >&5 |
6777 | echo $ECHO_N "checking if $LD supports link flag -Wl,-z,now... $ECHO_C" >&6; } | 6300 | $as_echo_n "checking if $LD supports link flag -Wl,-z,now... " >&6; } |
6778 | saved_LDFLAGS="$LDFLAGS" | 6301 | saved_LDFLAGS="$LDFLAGS" |
6779 | LDFLAGS="$LDFLAGS $WERROR -Wl,-z,now" | 6302 | LDFLAGS="$LDFLAGS $WERROR -Wl,-z,now" |
6780 | _define_flag="" | 6303 | _define_flag="" |
6781 | test "x$_define_flag" = "x" && _define_flag="-Wl,-z,now" | 6304 | test "x$_define_flag" = "x" && _define_flag="-Wl,-z,now" |
6782 | cat >conftest.$ac_ext <<_ACEOF | 6305 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6783 | /* confdefs.h. */ | ||
6784 | _ACEOF | ||
6785 | cat confdefs.h >>conftest.$ac_ext | ||
6786 | cat >>conftest.$ac_ext <<_ACEOF | ||
6787 | /* end confdefs.h. */ | 6306 | /* end confdefs.h. */ |
6788 | 6307 | ||
6789 | #include <stdlib.h> | 6308 | #include <stdlib.h> |
@@ -6794,57 +6313,33 @@ int main(int argc, char **argv) { | |||
6794 | float l = i * 2.1; | 6313 | float l = i * 2.1; |
6795 | double m = l / 0.5; | 6314 | double m = l / 0.5; |
6796 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 6315 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
6797 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 6316 | long long p = n * o; |
6317 | printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p); | ||
6798 | exit(0); | 6318 | exit(0); |
6799 | } | 6319 | } |
6800 | 6320 | ||
6801 | _ACEOF | 6321 | _ACEOF |
6802 | rm -f conftest.$ac_objext conftest$ac_exeext | 6322 | if ac_fn_c_try_link "$LINENO"; then : |
6803 | if { (ac_try="$ac_link" | 6323 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6804 | case "(($ac_try" in | 6324 | $as_echo "yes" >&6; } |
6805 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6806 | *) ac_try_echo=$ac_try;; | ||
6807 | esac | ||
6808 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6809 | (eval "$ac_link") 2>conftest.er1 | ||
6810 | ac_status=$? | ||
6811 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6812 | rm -f conftest.er1 | ||
6813 | cat conftest.err >&5 | ||
6814 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6815 | (exit $ac_status); } && { | ||
6816 | test -z "$ac_c_werror_flag" || | ||
6817 | test ! -s conftest.err | ||
6818 | } && test -s conftest$ac_exeext && | ||
6819 | $as_test_x conftest$ac_exeext; then | ||
6820 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
6821 | echo "${ECHO_T}yes" >&6; } | ||
6822 | LDFLAGS="$saved_LDFLAGS $_define_flag" | 6325 | LDFLAGS="$saved_LDFLAGS $_define_flag" |
6823 | else | 6326 | else |
6824 | echo "$as_me: failed program was:" >&5 | 6327 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6825 | sed 's/^/| /' conftest.$ac_ext >&5 | 6328 | $as_echo "no" >&6; } |
6826 | |||
6827 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6828 | echo "${ECHO_T}no" >&6; } | ||
6829 | LDFLAGS="$saved_LDFLAGS" | 6329 | LDFLAGS="$saved_LDFLAGS" |
6830 | 6330 | ||
6831 | fi | 6331 | fi |
6832 | 6332 | rm -f core conftest.err conftest.$ac_objext \ | |
6833 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 6333 | conftest$ac_exeext conftest.$ac_ext |
6834 | conftest$ac_exeext conftest.$ac_ext | ||
6835 | } | 6334 | } |
6836 | { | 6335 | { |
6837 | { echo "$as_me:$LINENO: checking if $LD supports link flag -Wl,-z,noexecstack" >&5 | 6336 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,noexecstack" >&5 |
6838 | echo $ECHO_N "checking if $LD supports link flag -Wl,-z,noexecstack... $ECHO_C" >&6; } | 6337 | $as_echo_n "checking if $LD supports link flag -Wl,-z,noexecstack... " >&6; } |
6839 | saved_LDFLAGS="$LDFLAGS" | 6338 | saved_LDFLAGS="$LDFLAGS" |
6840 | LDFLAGS="$LDFLAGS $WERROR -Wl,-z,noexecstack" | 6339 | LDFLAGS="$LDFLAGS $WERROR -Wl,-z,noexecstack" |
6841 | _define_flag="" | 6340 | _define_flag="" |
6842 | test "x$_define_flag" = "x" && _define_flag="-Wl,-z,noexecstack" | 6341 | test "x$_define_flag" = "x" && _define_flag="-Wl,-z,noexecstack" |
6843 | cat >conftest.$ac_ext <<_ACEOF | 6342 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6844 | /* confdefs.h. */ | ||
6845 | _ACEOF | ||
6846 | cat confdefs.h >>conftest.$ac_ext | ||
6847 | cat >>conftest.$ac_ext <<_ACEOF | ||
6848 | /* end confdefs.h. */ | 6343 | /* end confdefs.h. */ |
6849 | 6344 | ||
6850 | #include <stdlib.h> | 6345 | #include <stdlib.h> |
@@ -6855,44 +6350,24 @@ int main(int argc, char **argv) { | |||
6855 | float l = i * 2.1; | 6350 | float l = i * 2.1; |
6856 | double m = l / 0.5; | 6351 | double m = l / 0.5; |
6857 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 6352 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
6858 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 6353 | long long p = n * o; |
6354 | printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p); | ||
6859 | exit(0); | 6355 | exit(0); |
6860 | } | 6356 | } |
6861 | 6357 | ||
6862 | _ACEOF | 6358 | _ACEOF |
6863 | rm -f conftest.$ac_objext conftest$ac_exeext | 6359 | if ac_fn_c_try_link "$LINENO"; then : |
6864 | if { (ac_try="$ac_link" | 6360 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6865 | case "(($ac_try" in | 6361 | $as_echo "yes" >&6; } |
6866 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6867 | *) ac_try_echo=$ac_try;; | ||
6868 | esac | ||
6869 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6870 | (eval "$ac_link") 2>conftest.er1 | ||
6871 | ac_status=$? | ||
6872 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6873 | rm -f conftest.er1 | ||
6874 | cat conftest.err >&5 | ||
6875 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6876 | (exit $ac_status); } && { | ||
6877 | test -z "$ac_c_werror_flag" || | ||
6878 | test ! -s conftest.err | ||
6879 | } && test -s conftest$ac_exeext && | ||
6880 | $as_test_x conftest$ac_exeext; then | ||
6881 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
6882 | echo "${ECHO_T}yes" >&6; } | ||
6883 | LDFLAGS="$saved_LDFLAGS $_define_flag" | 6362 | LDFLAGS="$saved_LDFLAGS $_define_flag" |
6884 | else | 6363 | else |
6885 | echo "$as_me: failed program was:" >&5 | 6364 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6886 | sed 's/^/| /' conftest.$ac_ext >&5 | 6365 | $as_echo "no" >&6; } |
6887 | |||
6888 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6889 | echo "${ECHO_T}no" >&6; } | ||
6890 | LDFLAGS="$saved_LDFLAGS" | 6366 | LDFLAGS="$saved_LDFLAGS" |
6891 | 6367 | ||
6892 | fi | 6368 | fi |
6893 | 6369 | rm -f core conftest.err conftest.$ac_objext \ | |
6894 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 6370 | conftest$ac_exeext conftest.$ac_ext |
6895 | conftest$ac_exeext conftest.$ac_ext | ||
6896 | } | 6371 | } |
6897 | # NB. -ftrapv expects certain support functions to be present in | 6372 | # NB. -ftrapv expects certain support functions to be present in |
6898 | # the compiler library (libgcc or similar) to detect integer operations | 6373 | # the compiler library (libgcc or similar) to detect integer operations |
@@ -6900,17 +6375,13 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | |||
6900 | # actually links. The test program compiled/linked includes a number | 6375 | # actually links. The test program compiled/linked includes a number |
6901 | # of integer operations that should exercise this. | 6376 | # of integer operations that should exercise this. |
6902 | { | 6377 | { |
6903 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -ftrapv and linking succeeds" >&5 | 6378 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -ftrapv and linking succeeds" >&5 |
6904 | echo $ECHO_N "checking if $CC supports compile flag -ftrapv and linking succeeds... $ECHO_C" >&6; } | 6379 | $as_echo_n "checking if $CC supports compile flag -ftrapv and linking succeeds... " >&6; } |
6905 | saved_CFLAGS="$CFLAGS" | 6380 | saved_CFLAGS="$CFLAGS" |
6906 | CFLAGS="$CFLAGS $WERROR -ftrapv" | 6381 | CFLAGS="$CFLAGS $WERROR -ftrapv" |
6907 | _define_flag="" | 6382 | _define_flag="" |
6908 | test "x$_define_flag" = "x" && _define_flag="-ftrapv" | 6383 | test "x$_define_flag" = "x" && _define_flag="-ftrapv" |
6909 | cat >conftest.$ac_ext <<_ACEOF | 6384 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6910 | /* confdefs.h. */ | ||
6911 | _ACEOF | ||
6912 | cat confdefs.h >>conftest.$ac_ext | ||
6913 | cat >>conftest.$ac_ext <<_ACEOF | ||
6914 | /* end confdefs.h. */ | 6385 | /* end confdefs.h. */ |
6915 | 6386 | ||
6916 | #include <stdlib.h> | 6387 | #include <stdlib.h> |
@@ -6921,56 +6392,36 @@ int main(int argc, char **argv) { | |||
6921 | float l = i * 2.1; | 6392 | float l = i * 2.1; |
6922 | double m = l / 0.5; | 6393 | double m = l / 0.5; |
6923 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 6394 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
6924 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 6395 | long long int p = n * o; |
6396 | printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p); | ||
6925 | exit(0); | 6397 | exit(0); |
6926 | } | 6398 | } |
6927 | 6399 | ||
6928 | _ACEOF | 6400 | _ACEOF |
6929 | rm -f conftest.$ac_objext conftest$ac_exeext | 6401 | if ac_fn_c_try_link "$LINENO"; then : |
6930 | if { (ac_try="$ac_link" | ||
6931 | case "(($ac_try" in | ||
6932 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
6933 | *) ac_try_echo=$ac_try;; | ||
6934 | esac | ||
6935 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
6936 | (eval "$ac_link") 2>conftest.er1 | ||
6937 | ac_status=$? | ||
6938 | grep -v '^ *+' conftest.er1 >conftest.err | ||
6939 | rm -f conftest.er1 | ||
6940 | cat conftest.err >&5 | ||
6941 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
6942 | (exit $ac_status); } && { | ||
6943 | test -z "$ac_c_werror_flag" || | ||
6944 | test ! -s conftest.err | ||
6945 | } && test -s conftest$ac_exeext && | ||
6946 | $as_test_x conftest$ac_exeext; then | ||
6947 | 6402 | ||
6948 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 6403 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
6949 | then | 6404 | then |
6950 | { echo "$as_me:$LINENO: result: no" >&5 | 6405 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6951 | echo "${ECHO_T}no" >&6; } | 6406 | $as_echo "no" >&6; } |
6952 | CFLAGS="$saved_CFLAGS" | 6407 | CFLAGS="$saved_CFLAGS" |
6953 | else | 6408 | else |
6954 | { echo "$as_me:$LINENO: result: yes" >&5 | 6409 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
6955 | echo "${ECHO_T}yes" >&6; } | 6410 | $as_echo "yes" >&6; } |
6956 | CFLAGS="$saved_CFLAGS $_define_flag" | 6411 | CFLAGS="$saved_CFLAGS $_define_flag" |
6957 | fi | 6412 | fi |
6958 | else | 6413 | else |
6959 | echo "$as_me: failed program was:" >&5 | 6414 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6960 | sed 's/^/| /' conftest.$ac_ext >&5 | 6415 | $as_echo "no" >&6; } |
6961 | |||
6962 | { echo "$as_me:$LINENO: result: no" >&5 | ||
6963 | echo "${ECHO_T}no" >&6; } | ||
6964 | CFLAGS="$saved_CFLAGS" | 6416 | CFLAGS="$saved_CFLAGS" |
6965 | 6417 | ||
6966 | fi | 6418 | fi |
6967 | 6419 | rm -f core conftest.err conftest.$ac_objext \ | |
6968 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 6420 | conftest$ac_exeext conftest.$ac_ext |
6969 | conftest$ac_exeext conftest.$ac_ext | ||
6970 | } | 6421 | } |
6971 | fi | 6422 | fi |
6972 | { echo "$as_me:$LINENO: checking gcc version" >&5 | 6423 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking gcc version" >&5 |
6973 | echo $ECHO_N "checking gcc version... $ECHO_C" >&6; } | 6424 | $as_echo_n "checking gcc version... " >&6; } |
6974 | GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'` | 6425 | GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'` |
6975 | case $GCC_VER in | 6426 | case $GCC_VER in |
6976 | 1.*) no_attrib_nonnull=1 ;; | 6427 | 1.*) no_attrib_nonnull=1 ;; |
@@ -6980,18 +6431,14 @@ echo $ECHO_N "checking gcc version... $ECHO_C" >&6; } | |||
6980 | 2.*) no_attrib_nonnull=1 ;; | 6431 | 2.*) no_attrib_nonnull=1 ;; |
6981 | *) ;; | 6432 | *) ;; |
6982 | esac | 6433 | esac |
6983 | { echo "$as_me:$LINENO: result: $GCC_VER" >&5 | 6434 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_VER" >&5 |
6984 | echo "${ECHO_T}$GCC_VER" >&6; } | 6435 | $as_echo "$GCC_VER" >&6; } |
6985 | 6436 | ||
6986 | { echo "$as_me:$LINENO: checking if $CC accepts -fno-builtin-memset" >&5 | 6437 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC accepts -fno-builtin-memset" >&5 |
6987 | echo $ECHO_N "checking if $CC accepts -fno-builtin-memset... $ECHO_C" >&6; } | 6438 | $as_echo_n "checking if $CC accepts -fno-builtin-memset... " >&6; } |
6988 | saved_CFLAGS="$CFLAGS" | 6439 | saved_CFLAGS="$CFLAGS" |
6989 | CFLAGS="$CFLAGS -fno-builtin-memset" | 6440 | CFLAGS="$CFLAGS -fno-builtin-memset" |
6990 | cat >conftest.$ac_ext <<_ACEOF | 6441 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
6991 | /* confdefs.h. */ | ||
6992 | _ACEOF | ||
6993 | cat confdefs.h >>conftest.$ac_ext | ||
6994 | cat >>conftest.$ac_ext <<_ACEOF | ||
6995 | /* end confdefs.h. */ | 6442 | /* end confdefs.h. */ |
6996 | #include <string.h> | 6443 | #include <string.h> |
6997 | int | 6444 | int |
@@ -7002,38 +6449,17 @@ main () | |||
7002 | return 0; | 6449 | return 0; |
7003 | } | 6450 | } |
7004 | _ACEOF | 6451 | _ACEOF |
7005 | rm -f conftest.$ac_objext conftest$ac_exeext | 6452 | if ac_fn_c_try_link "$LINENO"; then : |
7006 | if { (ac_try="$ac_link" | 6453 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
7007 | case "(($ac_try" in | 6454 | $as_echo "yes" >&6; } |
7008 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
7009 | *) ac_try_echo=$ac_try;; | ||
7010 | esac | ||
7011 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
7012 | (eval "$ac_link") 2>conftest.er1 | ||
7013 | ac_status=$? | ||
7014 | grep -v '^ *+' conftest.er1 >conftest.err | ||
7015 | rm -f conftest.er1 | ||
7016 | cat conftest.err >&5 | ||
7017 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
7018 | (exit $ac_status); } && { | ||
7019 | test -z "$ac_c_werror_flag" || | ||
7020 | test ! -s conftest.err | ||
7021 | } && test -s conftest$ac_exeext && | ||
7022 | $as_test_x conftest$ac_exeext; then | ||
7023 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
7024 | echo "${ECHO_T}yes" >&6; } | ||
7025 | else | 6455 | else |
7026 | echo "$as_me: failed program was:" >&5 | 6456 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
7027 | sed 's/^/| /' conftest.$ac_ext >&5 | 6457 | $as_echo "no" >&6; } |
7028 | |||
7029 | { echo "$as_me:$LINENO: result: no" >&5 | ||
7030 | echo "${ECHO_T}no" >&6; } | ||
7031 | CFLAGS="$saved_CFLAGS" | 6458 | CFLAGS="$saved_CFLAGS" |
7032 | 6459 | ||
7033 | fi | 6460 | fi |
7034 | 6461 | rm -f core conftest.err conftest.$ac_objext \ | |
7035 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 6462 | conftest$ac_exeext conftest.$ac_ext |
7036 | conftest$ac_exeext conftest.$ac_ext | ||
7037 | 6463 | ||
7038 | # -fstack-protector-all doesn't always work for some GCC versions | 6464 | # -fstack-protector-all doesn't always work for some GCC versions |
7039 | # and/or platforms, so we test if we can. If it's not supported | 6465 | # and/or platforms, so we test if we can. If it's not supported |
@@ -7041,17 +6467,13 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | |||
7041 | if test "x$use_stack_protector" = "x1"; then | 6467 | if test "x$use_stack_protector" = "x1"; then |
7042 | for t in -fstack-protector-strong -fstack-protector-all \ | 6468 | for t in -fstack-protector-strong -fstack-protector-all \ |
7043 | -fstack-protector; do | 6469 | -fstack-protector; do |
7044 | { echo "$as_me:$LINENO: checking if $CC supports $t" >&5 | 6470 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports $t" >&5 |
7045 | echo $ECHO_N "checking if $CC supports $t... $ECHO_C" >&6; } | 6471 | $as_echo_n "checking if $CC supports $t... " >&6; } |
7046 | saved_CFLAGS="$CFLAGS" | 6472 | saved_CFLAGS="$CFLAGS" |
7047 | saved_LDFLAGS="$LDFLAGS" | 6473 | saved_LDFLAGS="$LDFLAGS" |
7048 | CFLAGS="$CFLAGS $t -Werror" | 6474 | CFLAGS="$CFLAGS $t -Werror" |
7049 | LDFLAGS="$LDFLAGS $t -Werror" | 6475 | LDFLAGS="$LDFLAGS $t -Werror" |
7050 | cat >conftest.$ac_ext <<_ACEOF | 6476 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
7051 | /* confdefs.h. */ | ||
7052 | _ACEOF | ||
7053 | cat confdefs.h >>conftest.$ac_ext | ||
7054 | cat >>conftest.$ac_ext <<_ACEOF | ||
7055 | /* end confdefs.h. */ | 6477 | /* end confdefs.h. */ |
7056 | #include <stdio.h> | 6478 | #include <stdio.h> |
7057 | int | 6479 | int |
@@ -7065,41 +6487,20 @@ main () | |||
7065 | return 0; | 6487 | return 0; |
7066 | } | 6488 | } |
7067 | _ACEOF | 6489 | _ACEOF |
7068 | rm -f conftest.$ac_objext conftest$ac_exeext | 6490 | if ac_fn_c_try_link "$LINENO"; then : |
7069 | if { (ac_try="$ac_link" | 6491 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
7070 | case "(($ac_try" in | 6492 | $as_echo "yes" >&6; } |
7071 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
7072 | *) ac_try_echo=$ac_try;; | ||
7073 | esac | ||
7074 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
7075 | (eval "$ac_link") 2>conftest.er1 | ||
7076 | ac_status=$? | ||
7077 | grep -v '^ *+' conftest.er1 >conftest.err | ||
7078 | rm -f conftest.er1 | ||
7079 | cat conftest.err >&5 | ||
7080 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
7081 | (exit $ac_status); } && { | ||
7082 | test -z "$ac_c_werror_flag" || | ||
7083 | test ! -s conftest.err | ||
7084 | } && test -s conftest$ac_exeext && | ||
7085 | $as_test_x conftest$ac_exeext; then | ||
7086 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
7087 | echo "${ECHO_T}yes" >&6; } | ||
7088 | CFLAGS="$saved_CFLAGS $t" | 6493 | CFLAGS="$saved_CFLAGS $t" |
7089 | LDFLAGS="$saved_LDFLAGS $t" | 6494 | LDFLAGS="$saved_LDFLAGS $t" |
7090 | { echo "$as_me:$LINENO: checking if $t works" >&5 | 6495 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $t works" >&5 |
7091 | echo $ECHO_N "checking if $t works... $ECHO_C" >&6; } | 6496 | $as_echo_n "checking if $t works... " >&6; } |
7092 | if test "$cross_compiling" = yes; then | 6497 | if test "$cross_compiling" = yes; then : |
7093 | { echo "$as_me:$LINENO: WARNING: cross compiling: cannot test" >&5 | 6498 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: cannot test" >&5 |
7094 | echo "$as_me: WARNING: cross compiling: cannot test" >&2;} | 6499 | $as_echo "$as_me: WARNING: cross compiling: cannot test" >&2;} |
7095 | break | 6500 | break |
7096 | 6501 | ||
7097 | else | 6502 | else |
7098 | cat >conftest.$ac_ext <<_ACEOF | 6503 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
7099 | /* confdefs.h. */ | ||
7100 | _ACEOF | ||
7101 | cat confdefs.h >>conftest.$ac_ext | ||
7102 | cat >>conftest.$ac_ext <<_ACEOF | ||
7103 | /* end confdefs.h. */ | 6504 | /* end confdefs.h. */ |
7104 | #include <stdio.h> | 6505 | #include <stdio.h> |
7105 | int | 6506 | int |
@@ -7113,54 +6514,26 @@ main () | |||
7113 | return 0; | 6514 | return 0; |
7114 | } | 6515 | } |
7115 | _ACEOF | 6516 | _ACEOF |
7116 | rm -f conftest$ac_exeext | 6517 | if ac_fn_c_try_run "$LINENO"; then : |
7117 | if { (ac_try="$ac_link" | 6518 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
7118 | case "(($ac_try" in | 6519 | $as_echo "yes" >&6; } |
7119 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
7120 | *) ac_try_echo=$ac_try;; | ||
7121 | esac | ||
7122 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
7123 | (eval "$ac_link") 2>&5 | ||
7124 | ac_status=$? | ||
7125 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
7126 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
7127 | { (case "(($ac_try" in | ||
7128 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
7129 | *) ac_try_echo=$ac_try;; | ||
7130 | esac | ||
7131 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
7132 | (eval "$ac_try") 2>&5 | ||
7133 | ac_status=$? | ||
7134 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
7135 | (exit $ac_status); }; }; then | ||
7136 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
7137 | echo "${ECHO_T}yes" >&6; } | ||
7138 | break | 6520 | break |
7139 | else | 6521 | else |
7140 | echo "$as_me: program exited with status $ac_status" >&5 | 6522 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
7141 | echo "$as_me: failed program was:" >&5 | 6523 | $as_echo "no" >&6; } |
7142 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
7143 | |||
7144 | ( exit $ac_status ) | ||
7145 | { echo "$as_me:$LINENO: result: no" >&5 | ||
7146 | echo "${ECHO_T}no" >&6; } | ||
7147 | fi | 6524 | fi |
7148 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 6525 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
6526 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
7149 | fi | 6527 | fi |
7150 | 6528 | ||
7151 | 6529 | ||
7152 | |||
7153 | else | 6530 | else |
7154 | echo "$as_me: failed program was:" >&5 | 6531 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
7155 | sed 's/^/| /' conftest.$ac_ext >&5 | 6532 | $as_echo "no" >&6; } |
7156 | |||
7157 | { echo "$as_me:$LINENO: result: no" >&5 | ||
7158 | echo "${ECHO_T}no" >&6; } | ||
7159 | 6533 | ||
7160 | fi | 6534 | fi |
7161 | 6535 | rm -f core conftest.err conftest.$ac_objext \ | |
7162 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 6536 | conftest$ac_exeext conftest.$ac_ext |
7163 | conftest$ac_exeext conftest.$ac_ext | ||
7164 | CFLAGS="$saved_CFLAGS" | 6537 | CFLAGS="$saved_CFLAGS" |
7165 | LDFLAGS="$saved_LDFLAGS" | 6538 | LDFLAGS="$saved_LDFLAGS" |
7166 | done | 6539 | done |
@@ -7171,61 +6544,10 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | |||
7171 | unset ac_cv_have_decl_LLONG_MAX | 6544 | unset ac_cv_have_decl_LLONG_MAX |
7172 | saved_CFLAGS="$CFLAGS" | 6545 | saved_CFLAGS="$CFLAGS" |
7173 | CFLAGS="$CFLAGS -std=gnu99" | 6546 | CFLAGS="$CFLAGS -std=gnu99" |
7174 | { echo "$as_me:$LINENO: checking whether LLONG_MAX is declared" >&5 | 6547 | ac_fn_c_check_decl "$LINENO" "LLONG_MAX" "ac_cv_have_decl_LLONG_MAX" "#include <limits.h> |
7175 | echo $ECHO_N "checking whether LLONG_MAX is declared... $ECHO_C" >&6; } | ||
7176 | if test "${ac_cv_have_decl_LLONG_MAX+set}" = set; then | ||
7177 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
7178 | else | ||
7179 | cat >conftest.$ac_ext <<_ACEOF | ||
7180 | /* confdefs.h. */ | ||
7181 | _ACEOF | ||
7182 | cat confdefs.h >>conftest.$ac_ext | ||
7183 | cat >>conftest.$ac_ext <<_ACEOF | ||
7184 | /* end confdefs.h. */ | ||
7185 | #include <limits.h> | ||
7186 | |||
7187 | |||
7188 | int | ||
7189 | main () | ||
7190 | { | ||
7191 | #ifndef LLONG_MAX | ||
7192 | (void) LLONG_MAX; | ||
7193 | #endif | ||
7194 | |||
7195 | ; | ||
7196 | return 0; | ||
7197 | } | ||
7198 | _ACEOF | ||
7199 | rm -f conftest.$ac_objext | ||
7200 | if { (ac_try="$ac_compile" | ||
7201 | case "(($ac_try" in | ||
7202 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
7203 | *) ac_try_echo=$ac_try;; | ||
7204 | esac | ||
7205 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
7206 | (eval "$ac_compile") 2>conftest.er1 | ||
7207 | ac_status=$? | ||
7208 | grep -v '^ *+' conftest.er1 >conftest.err | ||
7209 | rm -f conftest.er1 | ||
7210 | cat conftest.err >&5 | ||
7211 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
7212 | (exit $ac_status); } && { | ||
7213 | test -z "$ac_c_werror_flag" || | ||
7214 | test ! -s conftest.err | ||
7215 | } && test -s conftest.$ac_objext; then | ||
7216 | ac_cv_have_decl_LLONG_MAX=yes | ||
7217 | else | ||
7218 | echo "$as_me: failed program was:" >&5 | ||
7219 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
7220 | |||
7221 | ac_cv_have_decl_LLONG_MAX=no | ||
7222 | fi | ||
7223 | 6548 | ||
7224 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 6549 | " |
7225 | fi | 6550 | if test "x$ac_cv_have_decl_LLONG_MAX" = xyes; then : |
7226 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_LLONG_MAX" >&5 | ||
7227 | echo "${ECHO_T}$ac_cv_have_decl_LLONG_MAX" >&6; } | ||
7228 | if test $ac_cv_have_decl_LLONG_MAX = yes; then | ||
7229 | have_llong_max=1 | 6551 | have_llong_max=1 |
7230 | else | 6552 | else |
7231 | CFLAGS="$saved_CFLAGS" | 6553 | CFLAGS="$saved_CFLAGS" |
@@ -7234,13 +6556,9 @@ fi | |||
7234 | fi | 6556 | fi |
7235 | fi | 6557 | fi |
7236 | 6558 | ||
7237 | { echo "$as_me:$LINENO: checking if compiler allows __attribute__ on return types" >&5 | 6559 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows __attribute__ on return types" >&5 |
7238 | echo $ECHO_N "checking if compiler allows __attribute__ on return types... $ECHO_C" >&6; } | 6560 | $as_echo_n "checking if compiler allows __attribute__ on return types... " >&6; } |
7239 | cat >conftest.$ac_ext <<_ACEOF | 6561 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
7240 | /* confdefs.h. */ | ||
7241 | _ACEOF | ||
7242 | cat confdefs.h >>conftest.$ac_ext | ||
7243 | cat >>conftest.$ac_ext <<_ACEOF | ||
7244 | /* end confdefs.h. */ | 6562 | /* end confdefs.h. */ |
7245 | 6563 | ||
7246 | #include <stdlib.h> | 6564 | #include <stdlib.h> |
@@ -7253,52 +6571,28 @@ main () | |||
7253 | return 0; | 6571 | return 0; |
7254 | } | 6572 | } |
7255 | _ACEOF | 6573 | _ACEOF |
7256 | rm -f conftest.$ac_objext | 6574 | if ac_fn_c_try_compile "$LINENO"; then : |
7257 | if { (ac_try="$ac_compile" | 6575 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
7258 | case "(($ac_try" in | 6576 | $as_echo "yes" >&6; } |
7259 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
7260 | *) ac_try_echo=$ac_try;; | ||
7261 | esac | ||
7262 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
7263 | (eval "$ac_compile") 2>conftest.er1 | ||
7264 | ac_status=$? | ||
7265 | grep -v '^ *+' conftest.er1 >conftest.err | ||
7266 | rm -f conftest.er1 | ||
7267 | cat conftest.err >&5 | ||
7268 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
7269 | (exit $ac_status); } && { | ||
7270 | test -z "$ac_c_werror_flag" || | ||
7271 | test ! -s conftest.err | ||
7272 | } && test -s conftest.$ac_objext; then | ||
7273 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
7274 | echo "${ECHO_T}yes" >&6; } | ||
7275 | else | 6577 | else |
7276 | echo "$as_me: failed program was:" >&5 | 6578 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
7277 | sed 's/^/| /' conftest.$ac_ext >&5 | 6579 | $as_echo "no" >&6; } |
7278 | |||
7279 | { echo "$as_me:$LINENO: result: no" >&5 | ||
7280 | echo "${ECHO_T}no" >&6; } | ||
7281 | 6580 | ||
7282 | cat >>confdefs.h <<\_ACEOF | 6581 | $as_echo "#define NO_ATTRIBUTE_ON_RETURN_TYPE 1" >>confdefs.h |
7283 | #define NO_ATTRIBUTE_ON_RETURN_TYPE 1 | ||
7284 | _ACEOF | ||
7285 | 6582 | ||
7286 | 6583 | ||
7287 | fi | 6584 | fi |
7288 | |||
7289 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 6585 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
7290 | 6586 | ||
7291 | if test "x$no_attrib_nonnull" != "x1" ; then | 6587 | if test "x$no_attrib_nonnull" != "x1" ; then |
7292 | 6588 | ||
7293 | cat >>confdefs.h <<\_ACEOF | 6589 | $as_echo "#define HAVE_ATTRIBUTE__NONNULL__ 1" >>confdefs.h |
7294 | #define HAVE_ATTRIBUTE__NONNULL__ 1 | ||
7295 | _ACEOF | ||
7296 | 6590 | ||
7297 | fi | 6591 | fi |
7298 | 6592 | ||
7299 | 6593 | ||
7300 | # Check whether --with-rpath was given. | 6594 | # Check whether --with-rpath was given. |
7301 | if test "${with_rpath+set}" = set; then | 6595 | if test "${with_rpath+set}" = set; then : |
7302 | withval=$with_rpath; | 6596 | withval=$with_rpath; |
7303 | if test "x$withval" = "xno" ; then | 6597 | if test "x$withval" = "xno" ; then |
7304 | need_dash_r="" | 6598 | need_dash_r="" |
@@ -7314,7 +6608,7 @@ fi | |||
7314 | # Allow user to specify flags | 6608 | # Allow user to specify flags |
7315 | 6609 | ||
7316 | # Check whether --with-cflags was given. | 6610 | # Check whether --with-cflags was given. |
7317 | if test "${with_cflags+set}" = set; then | 6611 | if test "${with_cflags+set}" = set; then : |
7318 | withval=$with_cflags; | 6612 | withval=$with_cflags; |
7319 | if test -n "$withval" && test "x$withval" != "xno" && \ | 6613 | if test -n "$withval" && test "x$withval" != "xno" && \ |
7320 | test "x${withval}" != "xyes"; then | 6614 | test "x${withval}" != "xyes"; then |
@@ -7326,7 +6620,7 @@ fi | |||
7326 | 6620 | ||
7327 | 6621 | ||
7328 | # Check whether --with-cppflags was given. | 6622 | # Check whether --with-cppflags was given. |
7329 | if test "${with_cppflags+set}" = set; then | 6623 | if test "${with_cppflags+set}" = set; then : |
7330 | withval=$with_cppflags; | 6624 | withval=$with_cppflags; |
7331 | if test -n "$withval" && test "x$withval" != "xno" && \ | 6625 | if test -n "$withval" && test "x$withval" != "xno" && \ |
7332 | test "x${withval}" != "xyes"; then | 6626 | test "x${withval}" != "xyes"; then |
@@ -7338,7 +6632,7 @@ fi | |||
7338 | 6632 | ||
7339 | 6633 | ||
7340 | # Check whether --with-ldflags was given. | 6634 | # Check whether --with-ldflags was given. |
7341 | if test "${with_ldflags+set}" = set; then | 6635 | if test "${with_ldflags+set}" = set; then : |
7342 | withval=$with_ldflags; | 6636 | withval=$with_ldflags; |
7343 | if test -n "$withval" && test "x$withval" != "xno" && \ | 6637 | if test -n "$withval" && test "x$withval" != "xno" && \ |
7344 | test "x${withval}" != "xyes"; then | 6638 | test "x${withval}" != "xyes"; then |
@@ -7350,7 +6644,7 @@ fi | |||
7350 | 6644 | ||
7351 | 6645 | ||
7352 | # Check whether --with-libs was given. | 6646 | # Check whether --with-libs was given. |
7353 | if test "${with_libs+set}" = set; then | 6647 | if test "${with_libs+set}" = set; then : |
7354 | withval=$with_libs; | 6648 | withval=$with_libs; |
7355 | if test -n "$withval" && test "x$withval" != "xno" && \ | 6649 | if test -n "$withval" && test "x$withval" != "xno" && \ |
7356 | test "x${withval}" != "xyes"; then | 6650 | test "x${withval}" != "xyes"; then |
@@ -7362,7 +6656,7 @@ fi | |||
7362 | 6656 | ||
7363 | 6657 | ||
7364 | # Check whether --with-Werror was given. | 6658 | # Check whether --with-Werror was given. |
7365 | if test "${with_Werror+set}" = set; then | 6659 | if test "${with_Werror+set}" = set; then : |
7366 | withval=$with_Werror; | 6660 | withval=$with_Werror; |
7367 | if test -n "$withval" && test "x$withval" != "xno"; then | 6661 | if test -n "$withval" && test "x$withval" != "xno"; then |
7368 | werror_flags="-Werror" | 6662 | werror_flags="-Werror" |
@@ -7375,76 +6669,6 @@ if test "${with_Werror+set}" = set; then | |||
7375 | fi | 6669 | fi |
7376 | 6670 | ||
7377 | 6671 | ||
7378 | |||
7379 | |||
7380 | |||
7381 | |||
7382 | |||
7383 | |||
7384 | |||
7385 | |||
7386 | |||
7387 | |||
7388 | |||
7389 | |||
7390 | |||
7391 | |||
7392 | |||
7393 | |||
7394 | |||
7395 | |||
7396 | |||
7397 | |||
7398 | |||
7399 | |||
7400 | |||
7401 | |||
7402 | |||
7403 | |||
7404 | |||
7405 | |||
7406 | |||
7407 | |||
7408 | |||
7409 | |||
7410 | |||
7411 | |||
7412 | |||
7413 | |||
7414 | |||
7415 | |||
7416 | |||
7417 | |||
7418 | |||
7419 | |||
7420 | |||
7421 | |||
7422 | |||
7423 | |||
7424 | |||
7425 | |||
7426 | |||
7427 | |||
7428 | |||
7429 | |||
7430 | |||
7431 | |||
7432 | |||
7433 | |||
7434 | |||
7435 | |||
7436 | |||
7437 | |||
7438 | |||
7439 | |||
7440 | |||
7441 | |||
7442 | |||
7443 | |||
7444 | |||
7445 | |||
7446 | |||
7447 | |||
7448 | for ac_header in \ | 6672 | for ac_header in \ |
7449 | blf.h \ | 6673 | blf.h \ |
7450 | bstring.h \ | 6674 | bstring.h \ |
@@ -7495,6 +6719,7 @@ for ac_header in \ | |||
7495 | sys/poll.h \ | 6719 | sys/poll.h \ |
7496 | sys/prctl.h \ | 6720 | sys/prctl.h \ |
7497 | sys/pstat.h \ | 6721 | sys/pstat.h \ |
6722 | sys/ptrace.h \ | ||
7498 | sys/select.h \ | 6723 | sys/select.h \ |
7499 | sys/stat.h \ | 6724 | sys/stat.h \ |
7500 | sys/stream.h \ | 6725 | sys/stream.h \ |
@@ -7517,143 +6742,12 @@ for ac_header in \ | |||
7517 | vis.h \ | 6742 | vis.h \ |
7518 | wchar.h \ | 6743 | wchar.h \ |
7519 | 6744 | ||
7520 | do | 6745 | do : |
7521 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 6746 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
7522 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | 6747 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
7523 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | 6748 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
7524 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
7525 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
7526 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
7527 | fi | ||
7528 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
7529 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
7530 | echo "${ECHO_T}$ac_res" >&6; } | ||
7531 | else | ||
7532 | # Is the header compilable? | ||
7533 | { echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
7534 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } | ||
7535 | cat >conftest.$ac_ext <<_ACEOF | ||
7536 | /* confdefs.h. */ | ||
7537 | _ACEOF | ||
7538 | cat confdefs.h >>conftest.$ac_ext | ||
7539 | cat >>conftest.$ac_ext <<_ACEOF | ||
7540 | /* end confdefs.h. */ | ||
7541 | $ac_includes_default | ||
7542 | #include <$ac_header> | ||
7543 | _ACEOF | ||
7544 | rm -f conftest.$ac_objext | ||
7545 | if { (ac_try="$ac_compile" | ||
7546 | case "(($ac_try" in | ||
7547 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
7548 | *) ac_try_echo=$ac_try;; | ||
7549 | esac | ||
7550 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
7551 | (eval "$ac_compile") 2>conftest.er1 | ||
7552 | ac_status=$? | ||
7553 | grep -v '^ *+' conftest.er1 >conftest.err | ||
7554 | rm -f conftest.er1 | ||
7555 | cat conftest.err >&5 | ||
7556 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
7557 | (exit $ac_status); } && { | ||
7558 | test -z "$ac_c_werror_flag" || | ||
7559 | test ! -s conftest.err | ||
7560 | } && test -s conftest.$ac_objext; then | ||
7561 | ac_header_compiler=yes | ||
7562 | else | ||
7563 | echo "$as_me: failed program was:" >&5 | ||
7564 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
7565 | |||
7566 | ac_header_compiler=no | ||
7567 | fi | ||
7568 | |||
7569 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
7570 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
7571 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
7572 | |||
7573 | # Is the header present? | ||
7574 | { echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
7575 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } | ||
7576 | cat >conftest.$ac_ext <<_ACEOF | ||
7577 | /* confdefs.h. */ | ||
7578 | _ACEOF | ||
7579 | cat confdefs.h >>conftest.$ac_ext | ||
7580 | cat >>conftest.$ac_ext <<_ACEOF | ||
7581 | /* end confdefs.h. */ | ||
7582 | #include <$ac_header> | ||
7583 | _ACEOF | ||
7584 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
7585 | case "(($ac_try" in | ||
7586 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
7587 | *) ac_try_echo=$ac_try;; | ||
7588 | esac | ||
7589 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
7590 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
7591 | ac_status=$? | ||
7592 | grep -v '^ *+' conftest.er1 >conftest.err | ||
7593 | rm -f conftest.er1 | ||
7594 | cat conftest.err >&5 | ||
7595 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
7596 | (exit $ac_status); } >/dev/null && { | ||
7597 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
7598 | test ! -s conftest.err | ||
7599 | }; then | ||
7600 | ac_header_preproc=yes | ||
7601 | else | ||
7602 | echo "$as_me: failed program was:" >&5 | ||
7603 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
7604 | |||
7605 | ac_header_preproc=no | ||
7606 | fi | ||
7607 | |||
7608 | rm -f conftest.err conftest.$ac_ext | ||
7609 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
7610 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
7611 | |||
7612 | # So? What about this header? | ||
7613 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
7614 | yes:no: ) | ||
7615 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
7616 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
7617 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
7618 | echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
7619 | ac_header_preproc=yes | ||
7620 | ;; | ||
7621 | no:yes:* ) | ||
7622 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
7623 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
7624 | { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
7625 | echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
7626 | { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
7627 | echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
7628 | { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
7629 | echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
7630 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
7631 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
7632 | { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
7633 | echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
7634 | ( cat <<\_ASBOX | ||
7635 | ## ------------------------------------------- ## | ||
7636 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
7637 | ## ------------------------------------------- ## | ||
7638 | _ASBOX | ||
7639 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
7640 | ;; | ||
7641 | esac | ||
7642 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
7643 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
7644 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
7645 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
7646 | else | ||
7647 | eval "$as_ac_Header=\$ac_header_preproc" | ||
7648 | fi | ||
7649 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
7650 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
7651 | echo "${ECHO_T}$ac_res" >&6; } | ||
7652 | |||
7653 | fi | ||
7654 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
7655 | cat >>confdefs.h <<_ACEOF | 6749 | cat >>confdefs.h <<_ACEOF |
7656 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 6750 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
7657 | _ACEOF | 6751 | _ACEOF |
7658 | 6752 | ||
7659 | fi | 6753 | fi |
@@ -7662,62 +6756,17 @@ done | |||
7662 | 6756 | ||
7663 | 6757 | ||
7664 | # lastlog.h requires sys/time.h to be included first on Solaris | 6758 | # lastlog.h requires sys/time.h to be included first on Solaris |
7665 | |||
7666 | for ac_header in lastlog.h | 6759 | for ac_header in lastlog.h |
7667 | do | 6760 | do : |
7668 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 6761 | ac_fn_c_check_header_compile "$LINENO" "lastlog.h" "ac_cv_header_lastlog_h" " |
7669 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
7670 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
7671 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
7672 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
7673 | else | ||
7674 | cat >conftest.$ac_ext <<_ACEOF | ||
7675 | /* confdefs.h. */ | ||
7676 | _ACEOF | ||
7677 | cat confdefs.h >>conftest.$ac_ext | ||
7678 | cat >>conftest.$ac_ext <<_ACEOF | ||
7679 | /* end confdefs.h. */ | ||
7680 | |||
7681 | #ifdef HAVE_SYS_TIME_H | 6762 | #ifdef HAVE_SYS_TIME_H |
7682 | # include <sys/time.h> | 6763 | # include <sys/time.h> |
7683 | #endif | 6764 | #endif |
7684 | 6765 | ||
7685 | 6766 | " | |
7686 | #include <$ac_header> | 6767 | if test "x$ac_cv_header_lastlog_h" = xyes; then : |
7687 | _ACEOF | ||
7688 | rm -f conftest.$ac_objext | ||
7689 | if { (ac_try="$ac_compile" | ||
7690 | case "(($ac_try" in | ||
7691 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
7692 | *) ac_try_echo=$ac_try;; | ||
7693 | esac | ||
7694 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
7695 | (eval "$ac_compile") 2>conftest.er1 | ||
7696 | ac_status=$? | ||
7697 | grep -v '^ *+' conftest.er1 >conftest.err | ||
7698 | rm -f conftest.er1 | ||
7699 | cat conftest.err >&5 | ||
7700 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
7701 | (exit $ac_status); } && { | ||
7702 | test -z "$ac_c_werror_flag" || | ||
7703 | test ! -s conftest.err | ||
7704 | } && test -s conftest.$ac_objext; then | ||
7705 | eval "$as_ac_Header=yes" | ||
7706 | else | ||
7707 | echo "$as_me: failed program was:" >&5 | ||
7708 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
7709 | |||
7710 | eval "$as_ac_Header=no" | ||
7711 | fi | ||
7712 | |||
7713 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
7714 | fi | ||
7715 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
7716 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
7717 | echo "${ECHO_T}$ac_res" >&6; } | ||
7718 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
7719 | cat >>confdefs.h <<_ACEOF | 6768 | cat >>confdefs.h <<_ACEOF |
7720 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 6769 | #define HAVE_LASTLOG_H 1 |
7721 | _ACEOF | 6770 | _ACEOF |
7722 | 6771 | ||
7723 | fi | 6772 | fi |
@@ -7726,62 +6775,17 @@ done | |||
7726 | 6775 | ||
7727 | 6776 | ||
7728 | # sys/ptms.h requires sys/stream.h to be included first on Solaris | 6777 | # sys/ptms.h requires sys/stream.h to be included first on Solaris |
7729 | |||
7730 | for ac_header in sys/ptms.h | 6778 | for ac_header in sys/ptms.h |
7731 | do | 6779 | do : |
7732 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 6780 | ac_fn_c_check_header_compile "$LINENO" "sys/ptms.h" "ac_cv_header_sys_ptms_h" " |
7733 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
7734 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
7735 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
7736 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
7737 | else | ||
7738 | cat >conftest.$ac_ext <<_ACEOF | ||
7739 | /* confdefs.h. */ | ||
7740 | _ACEOF | ||
7741 | cat confdefs.h >>conftest.$ac_ext | ||
7742 | cat >>conftest.$ac_ext <<_ACEOF | ||
7743 | /* end confdefs.h. */ | ||
7744 | |||
7745 | #ifdef HAVE_SYS_STREAM_H | 6781 | #ifdef HAVE_SYS_STREAM_H |
7746 | # include <sys/stream.h> | 6782 | # include <sys/stream.h> |
7747 | #endif | 6783 | #endif |
7748 | 6784 | ||
7749 | 6785 | " | |
7750 | #include <$ac_header> | 6786 | if test "x$ac_cv_header_sys_ptms_h" = xyes; then : |
7751 | _ACEOF | ||
7752 | rm -f conftest.$ac_objext | ||
7753 | if { (ac_try="$ac_compile" | ||
7754 | case "(($ac_try" in | ||
7755 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
7756 | *) ac_try_echo=$ac_try;; | ||
7757 | esac | ||
7758 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
7759 | (eval "$ac_compile") 2>conftest.er1 | ||
7760 | ac_status=$? | ||
7761 | grep -v '^ *+' conftest.er1 >conftest.err | ||
7762 | rm -f conftest.er1 | ||
7763 | cat conftest.err >&5 | ||
7764 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
7765 | (exit $ac_status); } && { | ||
7766 | test -z "$ac_c_werror_flag" || | ||
7767 | test ! -s conftest.err | ||
7768 | } && test -s conftest.$ac_objext; then | ||
7769 | eval "$as_ac_Header=yes" | ||
7770 | else | ||
7771 | echo "$as_me: failed program was:" >&5 | ||
7772 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
7773 | |||
7774 | eval "$as_ac_Header=no" | ||
7775 | fi | ||
7776 | |||
7777 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
7778 | fi | ||
7779 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
7780 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
7781 | echo "${ECHO_T}$ac_res" >&6; } | ||
7782 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
7783 | cat >>confdefs.h <<_ACEOF | 6787 | cat >>confdefs.h <<_ACEOF |
7784 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 6788 | #define HAVE_SYS_PTMS_H 1 |
7785 | _ACEOF | 6789 | _ACEOF |
7786 | 6790 | ||
7787 | fi | 6791 | fi |
@@ -7790,60 +6794,15 @@ done | |||
7790 | 6794 | ||
7791 | 6795 | ||
7792 | # login_cap.h requires sys/types.h on NetBSD | 6796 | # login_cap.h requires sys/types.h on NetBSD |
7793 | |||
7794 | for ac_header in login_cap.h | 6797 | for ac_header in login_cap.h |
7795 | do | 6798 | do : |
7796 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 6799 | ac_fn_c_check_header_compile "$LINENO" "login_cap.h" "ac_cv_header_login_cap_h" " |
7797 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
7798 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
7799 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
7800 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
7801 | else | ||
7802 | cat >conftest.$ac_ext <<_ACEOF | ||
7803 | /* confdefs.h. */ | ||
7804 | _ACEOF | ||
7805 | cat confdefs.h >>conftest.$ac_ext | ||
7806 | cat >>conftest.$ac_ext <<_ACEOF | ||
7807 | /* end confdefs.h. */ | ||
7808 | |||
7809 | #include <sys/types.h> | 6800 | #include <sys/types.h> |
7810 | 6801 | ||
7811 | 6802 | " | |
7812 | #include <$ac_header> | 6803 | if test "x$ac_cv_header_login_cap_h" = xyes; then : |
7813 | _ACEOF | ||
7814 | rm -f conftest.$ac_objext | ||
7815 | if { (ac_try="$ac_compile" | ||
7816 | case "(($ac_try" in | ||
7817 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
7818 | *) ac_try_echo=$ac_try;; | ||
7819 | esac | ||
7820 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
7821 | (eval "$ac_compile") 2>conftest.er1 | ||
7822 | ac_status=$? | ||
7823 | grep -v '^ *+' conftest.er1 >conftest.err | ||
7824 | rm -f conftest.er1 | ||
7825 | cat conftest.err >&5 | ||
7826 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
7827 | (exit $ac_status); } && { | ||
7828 | test -z "$ac_c_werror_flag" || | ||
7829 | test ! -s conftest.err | ||
7830 | } && test -s conftest.$ac_objext; then | ||
7831 | eval "$as_ac_Header=yes" | ||
7832 | else | ||
7833 | echo "$as_me: failed program was:" >&5 | ||
7834 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
7835 | |||
7836 | eval "$as_ac_Header=no" | ||
7837 | fi | ||
7838 | |||
7839 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
7840 | fi | ||
7841 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
7842 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
7843 | echo "${ECHO_T}$ac_res" >&6; } | ||
7844 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
7845 | cat >>confdefs.h <<_ACEOF | 6804 | cat >>confdefs.h <<_ACEOF |
7846 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 6805 | #define HAVE_LOGIN_CAP_H 1 |
7847 | _ACEOF | 6806 | _ACEOF |
7848 | 6807 | ||
7849 | fi | 6808 | fi |
@@ -7852,60 +6811,15 @@ done | |||
7852 | 6811 | ||
7853 | 6812 | ||
7854 | # older BSDs need sys/param.h before sys/mount.h | 6813 | # older BSDs need sys/param.h before sys/mount.h |
7855 | |||
7856 | for ac_header in sys/mount.h | 6814 | for ac_header in sys/mount.h |
7857 | do | 6815 | do : |
7858 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 6816 | ac_fn_c_check_header_compile "$LINENO" "sys/mount.h" "ac_cv_header_sys_mount_h" " |
7859 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
7860 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
7861 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
7862 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
7863 | else | ||
7864 | cat >conftest.$ac_ext <<_ACEOF | ||
7865 | /* confdefs.h. */ | ||
7866 | _ACEOF | ||
7867 | cat confdefs.h >>conftest.$ac_ext | ||
7868 | cat >>conftest.$ac_ext <<_ACEOF | ||
7869 | /* end confdefs.h. */ | ||
7870 | |||
7871 | #include <sys/param.h> | 6817 | #include <sys/param.h> |
7872 | 6818 | ||
7873 | 6819 | " | |
7874 | #include <$ac_header> | 6820 | if test "x$ac_cv_header_sys_mount_h" = xyes; then : |
7875 | _ACEOF | ||
7876 | rm -f conftest.$ac_objext | ||
7877 | if { (ac_try="$ac_compile" | ||
7878 | case "(($ac_try" in | ||
7879 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
7880 | *) ac_try_echo=$ac_try;; | ||
7881 | esac | ||
7882 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
7883 | (eval "$ac_compile") 2>conftest.er1 | ||
7884 | ac_status=$? | ||
7885 | grep -v '^ *+' conftest.er1 >conftest.err | ||
7886 | rm -f conftest.er1 | ||
7887 | cat conftest.err >&5 | ||
7888 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
7889 | (exit $ac_status); } && { | ||
7890 | test -z "$ac_c_werror_flag" || | ||
7891 | test ! -s conftest.err | ||
7892 | } && test -s conftest.$ac_objext; then | ||
7893 | eval "$as_ac_Header=yes" | ||
7894 | else | ||
7895 | echo "$as_me: failed program was:" >&5 | ||
7896 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
7897 | |||
7898 | eval "$as_ac_Header=no" | ||
7899 | fi | ||
7900 | |||
7901 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
7902 | fi | ||
7903 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
7904 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
7905 | echo "${ECHO_T}$ac_res" >&6; } | ||
7906 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
7907 | cat >>confdefs.h <<_ACEOF | 6821 | cat >>confdefs.h <<_ACEOF |
7908 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 6822 | #define HAVE_SYS_MOUNT_H 1 |
7909 | _ACEOF | 6823 | _ACEOF |
7910 | 6824 | ||
7911 | fi | 6825 | fi |
@@ -7914,61 +6828,16 @@ done | |||
7914 | 6828 | ||
7915 | 6829 | ||
7916 | # Android requires sys/socket.h to be included before sys/un.h | 6830 | # Android requires sys/socket.h to be included before sys/un.h |
7917 | |||
7918 | for ac_header in sys/un.h | 6831 | for ac_header in sys/un.h |
7919 | do | 6832 | do : |
7920 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 6833 | ac_fn_c_check_header_compile "$LINENO" "sys/un.h" "ac_cv_header_sys_un_h" " |
7921 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
7922 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
7923 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
7924 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
7925 | else | ||
7926 | cat >conftest.$ac_ext <<_ACEOF | ||
7927 | /* confdefs.h. */ | ||
7928 | _ACEOF | ||
7929 | cat confdefs.h >>conftest.$ac_ext | ||
7930 | cat >>conftest.$ac_ext <<_ACEOF | ||
7931 | /* end confdefs.h. */ | ||
7932 | |||
7933 | #include <sys/types.h> | 6834 | #include <sys/types.h> |
7934 | #include <sys/socket.h> | 6835 | #include <sys/socket.h> |
7935 | 6836 | ||
7936 | 6837 | " | |
7937 | #include <$ac_header> | 6838 | if test "x$ac_cv_header_sys_un_h" = xyes; then : |
7938 | _ACEOF | ||
7939 | rm -f conftest.$ac_objext | ||
7940 | if { (ac_try="$ac_compile" | ||
7941 | case "(($ac_try" in | ||
7942 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
7943 | *) ac_try_echo=$ac_try;; | ||
7944 | esac | ||
7945 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
7946 | (eval "$ac_compile") 2>conftest.er1 | ||
7947 | ac_status=$? | ||
7948 | grep -v '^ *+' conftest.er1 >conftest.err | ||
7949 | rm -f conftest.er1 | ||
7950 | cat conftest.err >&5 | ||
7951 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
7952 | (exit $ac_status); } && { | ||
7953 | test -z "$ac_c_werror_flag" || | ||
7954 | test ! -s conftest.err | ||
7955 | } && test -s conftest.$ac_objext; then | ||
7956 | eval "$as_ac_Header=yes" | ||
7957 | else | ||
7958 | echo "$as_me: failed program was:" >&5 | ||
7959 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
7960 | |||
7961 | eval "$as_ac_Header=no" | ||
7962 | fi | ||
7963 | |||
7964 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
7965 | fi | ||
7966 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
7967 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
7968 | echo "${ECHO_T}$ac_res" >&6; } | ||
7969 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
7970 | cat >>confdefs.h <<_ACEOF | 6839 | cat >>confdefs.h <<_ACEOF |
7971 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 6840 | #define HAVE_SYS_UN_H 1 |
7972 | _ACEOF | 6841 | _ACEOF |
7973 | 6842 | ||
7974 | fi | 6843 | fi |
@@ -7994,13 +6863,9 @@ case "$host" in | |||
7994 | # particularly with older versions of vac or xlc. | 6863 | # particularly with older versions of vac or xlc. |
7995 | # It also throws errors about null macro argments, but these are | 6864 | # It also throws errors about null macro argments, but these are |
7996 | # not fatal. | 6865 | # not fatal. |
7997 | { echo "$as_me:$LINENO: checking if compiler allows macro redefinitions" >&5 | 6866 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows macro redefinitions" >&5 |
7998 | echo $ECHO_N "checking if compiler allows macro redefinitions... $ECHO_C" >&6; } | 6867 | $as_echo_n "checking if compiler allows macro redefinitions... " >&6; } |
7999 | cat >conftest.$ac_ext <<_ACEOF | 6868 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
8000 | /* confdefs.h. */ | ||
8001 | _ACEOF | ||
8002 | cat confdefs.h >>conftest.$ac_ext | ||
8003 | cat >>conftest.$ac_ext <<_ACEOF | ||
8004 | /* end confdefs.h. */ | 6869 | /* end confdefs.h. */ |
8005 | 6870 | ||
8006 | #define testmacro foo | 6871 | #define testmacro foo |
@@ -8013,31 +6878,12 @@ main () | |||
8013 | return 0; | 6878 | return 0; |
8014 | } | 6879 | } |
8015 | _ACEOF | 6880 | _ACEOF |
8016 | rm -f conftest.$ac_objext | 6881 | if ac_fn_c_try_compile "$LINENO"; then : |
8017 | if { (ac_try="$ac_compile" | 6882 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
8018 | case "(($ac_try" in | 6883 | $as_echo "yes" >&6; } |
8019 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
8020 | *) ac_try_echo=$ac_try;; | ||
8021 | esac | ||
8022 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
8023 | (eval "$ac_compile") 2>conftest.er1 | ||
8024 | ac_status=$? | ||
8025 | grep -v '^ *+' conftest.er1 >conftest.err | ||
8026 | rm -f conftest.er1 | ||
8027 | cat conftest.err >&5 | ||
8028 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
8029 | (exit $ac_status); } && { | ||
8030 | test -z "$ac_c_werror_flag" || | ||
8031 | test ! -s conftest.err | ||
8032 | } && test -s conftest.$ac_objext; then | ||
8033 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
8034 | echo "${ECHO_T}yes" >&6; } | ||
8035 | else | 6884 | else |
8036 | echo "$as_me: failed program was:" >&5 | 6885 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
8037 | sed 's/^/| /' conftest.$ac_ext >&5 | 6886 | $as_echo "no" >&6; } |
8038 | |||
8039 | { echo "$as_me:$LINENO: result: no" >&5 | ||
8040 | echo "${ECHO_T}no" >&6; } | ||
8041 | CC="`echo $CC | sed 's/-qlanglvl\=ansi//g'`" | 6887 | CC="`echo $CC | sed 's/-qlanglvl\=ansi//g'`" |
8042 | LD="`echo $LD | sed 's/-qlanglvl\=ansi//g'`" | 6888 | LD="`echo $LD | sed 's/-qlanglvl\=ansi//g'`" |
8043 | CFLAGS="`echo $CFLAGS | sed 's/-qlanglvl\=ansi//g'`" | 6889 | CFLAGS="`echo $CFLAGS | sed 's/-qlanglvl\=ansi//g'`" |
@@ -8045,11 +6891,10 @@ echo "${ECHO_T}no" >&6; } | |||
8045 | 6891 | ||
8046 | 6892 | ||
8047 | fi | 6893 | fi |
8048 | |||
8049 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 6894 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
8050 | 6895 | ||
8051 | { echo "$as_me:$LINENO: checking how to specify blibpath for linker ($LD)" >&5 | 6896 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to specify blibpath for linker ($LD)" >&5 |
8052 | echo $ECHO_N "checking how to specify blibpath for linker ($LD)... $ECHO_C" >&6; } | 6897 | $as_echo_n "checking how to specify blibpath for linker ($LD)... " >&6; } |
8053 | if (test -z "$blibpath"); then | 6898 | if (test -z "$blibpath"); then |
8054 | blibpath="/usr/lib:/lib" | 6899 | blibpath="/usr/lib:/lib" |
8055 | fi | 6900 | fi |
@@ -8062,11 +6907,7 @@ echo $ECHO_N "checking how to specify blibpath for linker ($LD)... $ECHO_C" >&6; | |||
8062 | for tryflags in $flags ;do | 6907 | for tryflags in $flags ;do |
8063 | if (test -z "$blibflags"); then | 6908 | if (test -z "$blibflags"); then |
8064 | LDFLAGS="$saved_LDFLAGS $tryflags$blibpath" | 6909 | LDFLAGS="$saved_LDFLAGS $tryflags$blibpath" |
8065 | cat >conftest.$ac_ext <<_ACEOF | 6910 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
8066 | /* confdefs.h. */ | ||
8067 | _ACEOF | ||
8068 | cat confdefs.h >>conftest.$ac_ext | ||
8069 | cat >>conftest.$ac_ext <<_ACEOF | ||
8070 | /* end confdefs.h. */ | 6911 | /* end confdefs.h. */ |
8071 | 6912 | ||
8072 | int | 6913 | int |
@@ -8077,147 +6918,36 @@ main () | |||
8077 | return 0; | 6918 | return 0; |
8078 | } | 6919 | } |
8079 | _ACEOF | 6920 | _ACEOF |
8080 | rm -f conftest.$ac_objext conftest$ac_exeext | 6921 | if ac_fn_c_try_link "$LINENO"; then : |
8081 | if { (ac_try="$ac_link" | ||
8082 | case "(($ac_try" in | ||
8083 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
8084 | *) ac_try_echo=$ac_try;; | ||
8085 | esac | ||
8086 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
8087 | (eval "$ac_link") 2>conftest.er1 | ||
8088 | ac_status=$? | ||
8089 | grep -v '^ *+' conftest.er1 >conftest.err | ||
8090 | rm -f conftest.er1 | ||
8091 | cat conftest.err >&5 | ||
8092 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
8093 | (exit $ac_status); } && { | ||
8094 | test -z "$ac_c_werror_flag" || | ||
8095 | test ! -s conftest.err | ||
8096 | } && test -s conftest$ac_exeext && | ||
8097 | $as_test_x conftest$ac_exeext; then | ||
8098 | blibflags=$tryflags | 6922 | blibflags=$tryflags |
8099 | else | ||
8100 | echo "$as_me: failed program was:" >&5 | ||
8101 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
8102 | |||
8103 | |||
8104 | fi | 6923 | fi |
8105 | 6924 | rm -f core conftest.err conftest.$ac_objext \ | |
8106 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 6925 | conftest$ac_exeext conftest.$ac_ext |
8107 | conftest$ac_exeext conftest.$ac_ext | ||
8108 | fi | 6926 | fi |
8109 | done | 6927 | done |
8110 | if (test -z "$blibflags"); then | 6928 | if (test -z "$blibflags"); then |
8111 | { echo "$as_me:$LINENO: result: not found" >&5 | 6929 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 |
8112 | echo "${ECHO_T}not found" >&6; } | 6930 | $as_echo "not found" >&6; } |
8113 | { { echo "$as_me:$LINENO: error: *** must be able to specify blibpath on AIX - check config.log" >&5 | 6931 | as_fn_error $? "*** must be able to specify blibpath on AIX - check config.log" "$LINENO" 5 |
8114 | echo "$as_me: error: *** must be able to specify blibpath on AIX - check config.log" >&2;} | ||
8115 | { (exit 1); exit 1; }; } | ||
8116 | else | 6932 | else |
8117 | { echo "$as_me:$LINENO: result: $blibflags" >&5 | 6933 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $blibflags" >&5 |
8118 | echo "${ECHO_T}$blibflags" >&6; } | 6934 | $as_echo "$blibflags" >&6; } |
8119 | fi | 6935 | fi |
8120 | LDFLAGS="$saved_LDFLAGS" | 6936 | LDFLAGS="$saved_LDFLAGS" |
8121 | { echo "$as_me:$LINENO: checking for authenticate" >&5 | 6937 | ac_fn_c_check_func "$LINENO" "authenticate" "ac_cv_func_authenticate" |
8122 | echo $ECHO_N "checking for authenticate... $ECHO_C" >&6; } | 6938 | if test "x$ac_cv_func_authenticate" = xyes; then : |
8123 | if test "${ac_cv_func_authenticate+set}" = set; then | ||
8124 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
8125 | else | ||
8126 | cat >conftest.$ac_ext <<_ACEOF | ||
8127 | /* confdefs.h. */ | ||
8128 | _ACEOF | ||
8129 | cat confdefs.h >>conftest.$ac_ext | ||
8130 | cat >>conftest.$ac_ext <<_ACEOF | ||
8131 | /* end confdefs.h. */ | ||
8132 | /* Define authenticate to an innocuous variant, in case <limits.h> declares authenticate. | ||
8133 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
8134 | #define authenticate innocuous_authenticate | ||
8135 | |||
8136 | /* System header to define __stub macros and hopefully few prototypes, | ||
8137 | which can conflict with char authenticate (); below. | ||
8138 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
8139 | <limits.h> exists even on freestanding compilers. */ | ||
8140 | 6939 | ||
8141 | #ifdef __STDC__ | 6940 | $as_echo "#define WITH_AIXAUTHENTICATE 1" >>confdefs.h |
8142 | # include <limits.h> | ||
8143 | #else | ||
8144 | # include <assert.h> | ||
8145 | #endif | ||
8146 | |||
8147 | #undef authenticate | ||
8148 | |||
8149 | /* Override any GCC internal prototype to avoid an error. | ||
8150 | Use char because int might match the return type of a GCC | ||
8151 | builtin and then its argument prototype would still apply. */ | ||
8152 | #ifdef __cplusplus | ||
8153 | extern "C" | ||
8154 | #endif | ||
8155 | char authenticate (); | ||
8156 | /* The GNU C library defines this for functions which it implements | ||
8157 | to always fail with ENOSYS. Some functions are actually named | ||
8158 | something starting with __ and the normal name is an alias. */ | ||
8159 | #if defined __stub_authenticate || defined __stub___authenticate | ||
8160 | choke me | ||
8161 | #endif | ||
8162 | |||
8163 | int | ||
8164 | main () | ||
8165 | { | ||
8166 | return authenticate (); | ||
8167 | ; | ||
8168 | return 0; | ||
8169 | } | ||
8170 | _ACEOF | ||
8171 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
8172 | if { (ac_try="$ac_link" | ||
8173 | case "(($ac_try" in | ||
8174 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
8175 | *) ac_try_echo=$ac_try;; | ||
8176 | esac | ||
8177 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
8178 | (eval "$ac_link") 2>conftest.er1 | ||
8179 | ac_status=$? | ||
8180 | grep -v '^ *+' conftest.er1 >conftest.err | ||
8181 | rm -f conftest.er1 | ||
8182 | cat conftest.err >&5 | ||
8183 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
8184 | (exit $ac_status); } && { | ||
8185 | test -z "$ac_c_werror_flag" || | ||
8186 | test ! -s conftest.err | ||
8187 | } && test -s conftest$ac_exeext && | ||
8188 | $as_test_x conftest$ac_exeext; then | ||
8189 | ac_cv_func_authenticate=yes | ||
8190 | else | ||
8191 | echo "$as_me: failed program was:" >&5 | ||
8192 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
8193 | |||
8194 | ac_cv_func_authenticate=no | ||
8195 | fi | ||
8196 | |||
8197 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
8198 | conftest$ac_exeext conftest.$ac_ext | ||
8199 | fi | ||
8200 | { echo "$as_me:$LINENO: result: $ac_cv_func_authenticate" >&5 | ||
8201 | echo "${ECHO_T}$ac_cv_func_authenticate" >&6; } | ||
8202 | if test $ac_cv_func_authenticate = yes; then | ||
8203 | |||
8204 | cat >>confdefs.h <<\_ACEOF | ||
8205 | #define WITH_AIXAUTHENTICATE 1 | ||
8206 | _ACEOF | ||
8207 | 6941 | ||
8208 | else | 6942 | else |
8209 | { echo "$as_me:$LINENO: checking for authenticate in -ls" >&5 | 6943 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for authenticate in -ls" >&5 |
8210 | echo $ECHO_N "checking for authenticate in -ls... $ECHO_C" >&6; } | 6944 | $as_echo_n "checking for authenticate in -ls... " >&6; } |
8211 | if test "${ac_cv_lib_s_authenticate+set}" = set; then | 6945 | if ${ac_cv_lib_s_authenticate+:} false; then : |
8212 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 6946 | $as_echo_n "(cached) " >&6 |
8213 | else | 6947 | else |
8214 | ac_check_lib_save_LIBS=$LIBS | 6948 | ac_check_lib_save_LIBS=$LIBS |
8215 | LIBS="-ls $LIBS" | 6949 | LIBS="-ls $LIBS" |
8216 | cat >conftest.$ac_ext <<_ACEOF | 6950 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
8217 | /* confdefs.h. */ | ||
8218 | _ACEOF | ||
8219 | cat confdefs.h >>conftest.$ac_ext | ||
8220 | cat >>conftest.$ac_ext <<_ACEOF | ||
8221 | /* end confdefs.h. */ | 6951 | /* end confdefs.h. */ |
8222 | 6952 | ||
8223 | /* Override any GCC internal prototype to avoid an error. | 6953 | /* Override any GCC internal prototype to avoid an error. |
@@ -8235,42 +6965,19 @@ return authenticate (); | |||
8235 | return 0; | 6965 | return 0; |
8236 | } | 6966 | } |
8237 | _ACEOF | 6967 | _ACEOF |
8238 | rm -f conftest.$ac_objext conftest$ac_exeext | 6968 | if ac_fn_c_try_link "$LINENO"; then : |
8239 | if { (ac_try="$ac_link" | ||
8240 | case "(($ac_try" in | ||
8241 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
8242 | *) ac_try_echo=$ac_try;; | ||
8243 | esac | ||
8244 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
8245 | (eval "$ac_link") 2>conftest.er1 | ||
8246 | ac_status=$? | ||
8247 | grep -v '^ *+' conftest.er1 >conftest.err | ||
8248 | rm -f conftest.er1 | ||
8249 | cat conftest.err >&5 | ||
8250 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
8251 | (exit $ac_status); } && { | ||
8252 | test -z "$ac_c_werror_flag" || | ||
8253 | test ! -s conftest.err | ||
8254 | } && test -s conftest$ac_exeext && | ||
8255 | $as_test_x conftest$ac_exeext; then | ||
8256 | ac_cv_lib_s_authenticate=yes | 6969 | ac_cv_lib_s_authenticate=yes |
8257 | else | 6970 | else |
8258 | echo "$as_me: failed program was:" >&5 | 6971 | ac_cv_lib_s_authenticate=no |
8259 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
8260 | |||
8261 | ac_cv_lib_s_authenticate=no | ||
8262 | fi | 6972 | fi |
8263 | 6973 | rm -f core conftest.err conftest.$ac_objext \ | |
8264 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 6974 | conftest$ac_exeext conftest.$ac_ext |
8265 | conftest$ac_exeext conftest.$ac_ext | ||
8266 | LIBS=$ac_check_lib_save_LIBS | 6975 | LIBS=$ac_check_lib_save_LIBS |
8267 | fi | 6976 | fi |
8268 | { echo "$as_me:$LINENO: result: $ac_cv_lib_s_authenticate" >&5 | 6977 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_s_authenticate" >&5 |
8269 | echo "${ECHO_T}$ac_cv_lib_s_authenticate" >&6; } | 6978 | $as_echo "$ac_cv_lib_s_authenticate" >&6; } |
8270 | if test $ac_cv_lib_s_authenticate = yes; then | 6979 | if test "x$ac_cv_lib_s_authenticate" = xyes; then : |
8271 | cat >>confdefs.h <<\_ACEOF | 6980 | $as_echo "#define WITH_AIXAUTHENTICATE 1" >>confdefs.h |
8272 | #define WITH_AIXAUTHENTICATE 1 | ||
8273 | _ACEOF | ||
8274 | 6981 | ||
8275 | LIBS="$LIBS -ls" | 6982 | LIBS="$LIBS -ls" |
8276 | 6983 | ||
@@ -8279,410 +6986,78 @@ fi | |||
8279 | 6986 | ||
8280 | fi | 6987 | fi |
8281 | 6988 | ||
8282 | { echo "$as_me:$LINENO: checking whether authenticate is declared" >&5 | 6989 | ac_fn_c_check_decl "$LINENO" "authenticate" "ac_cv_have_decl_authenticate" "#include <usersec.h> |
8283 | echo $ECHO_N "checking whether authenticate is declared... $ECHO_C" >&6; } | 6990 | " |
8284 | if test "${ac_cv_have_decl_authenticate+set}" = set; then | 6991 | if test "x$ac_cv_have_decl_authenticate" = xyes; then : |
8285 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 6992 | ac_have_decl=1 |
8286 | else | ||
8287 | cat >conftest.$ac_ext <<_ACEOF | ||
8288 | /* confdefs.h. */ | ||
8289 | _ACEOF | ||
8290 | cat confdefs.h >>conftest.$ac_ext | ||
8291 | cat >>conftest.$ac_ext <<_ACEOF | ||
8292 | /* end confdefs.h. */ | ||
8293 | #include <usersec.h> | ||
8294 | |||
8295 | int | ||
8296 | main () | ||
8297 | { | ||
8298 | #ifndef authenticate | ||
8299 | (void) authenticate; | ||
8300 | #endif | ||
8301 | |||
8302 | ; | ||
8303 | return 0; | ||
8304 | } | ||
8305 | _ACEOF | ||
8306 | rm -f conftest.$ac_objext | ||
8307 | if { (ac_try="$ac_compile" | ||
8308 | case "(($ac_try" in | ||
8309 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
8310 | *) ac_try_echo=$ac_try;; | ||
8311 | esac | ||
8312 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
8313 | (eval "$ac_compile") 2>conftest.er1 | ||
8314 | ac_status=$? | ||
8315 | grep -v '^ *+' conftest.er1 >conftest.err | ||
8316 | rm -f conftest.er1 | ||
8317 | cat conftest.err >&5 | ||
8318 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
8319 | (exit $ac_status); } && { | ||
8320 | test -z "$ac_c_werror_flag" || | ||
8321 | test ! -s conftest.err | ||
8322 | } && test -s conftest.$ac_objext; then | ||
8323 | ac_cv_have_decl_authenticate=yes | ||
8324 | else | 6993 | else |
8325 | echo "$as_me: failed program was:" >&5 | 6994 | ac_have_decl=0 |
8326 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
8327 | |||
8328 | ac_cv_have_decl_authenticate=no | ||
8329 | fi | ||
8330 | |||
8331 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
8332 | fi | 6995 | fi |
8333 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_authenticate" >&5 | ||
8334 | echo "${ECHO_T}$ac_cv_have_decl_authenticate" >&6; } | ||
8335 | if test $ac_cv_have_decl_authenticate = yes; then | ||
8336 | 6996 | ||
8337 | cat >>confdefs.h <<_ACEOF | 6997 | cat >>confdefs.h <<_ACEOF |
8338 | #define HAVE_DECL_AUTHENTICATE 1 | 6998 | #define HAVE_DECL_AUTHENTICATE $ac_have_decl |
8339 | _ACEOF | ||
8340 | |||
8341 | |||
8342 | else | ||
8343 | cat >>confdefs.h <<_ACEOF | ||
8344 | #define HAVE_DECL_AUTHENTICATE 0 | ||
8345 | _ACEOF | 6999 | _ACEOF |
8346 | 7000 | ac_fn_c_check_decl "$LINENO" "loginrestrictions" "ac_cv_have_decl_loginrestrictions" "#include <usersec.h> | |
8347 | 7001 | " | |
8348 | fi | 7002 | if test "x$ac_cv_have_decl_loginrestrictions" = xyes; then : |
8349 | { echo "$as_me:$LINENO: checking whether loginrestrictions is declared" >&5 | 7003 | ac_have_decl=1 |
8350 | echo $ECHO_N "checking whether loginrestrictions is declared... $ECHO_C" >&6; } | ||
8351 | if test "${ac_cv_have_decl_loginrestrictions+set}" = set; then | ||
8352 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
8353 | else | ||
8354 | cat >conftest.$ac_ext <<_ACEOF | ||
8355 | /* confdefs.h. */ | ||
8356 | _ACEOF | ||
8357 | cat confdefs.h >>conftest.$ac_ext | ||
8358 | cat >>conftest.$ac_ext <<_ACEOF | ||
8359 | /* end confdefs.h. */ | ||
8360 | #include <usersec.h> | ||
8361 | |||
8362 | int | ||
8363 | main () | ||
8364 | { | ||
8365 | #ifndef loginrestrictions | ||
8366 | (void) loginrestrictions; | ||
8367 | #endif | ||
8368 | |||
8369 | ; | ||
8370 | return 0; | ||
8371 | } | ||
8372 | _ACEOF | ||
8373 | rm -f conftest.$ac_objext | ||
8374 | if { (ac_try="$ac_compile" | ||
8375 | case "(($ac_try" in | ||
8376 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
8377 | *) ac_try_echo=$ac_try;; | ||
8378 | esac | ||
8379 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
8380 | (eval "$ac_compile") 2>conftest.er1 | ||
8381 | ac_status=$? | ||
8382 | grep -v '^ *+' conftest.er1 >conftest.err | ||
8383 | rm -f conftest.er1 | ||
8384 | cat conftest.err >&5 | ||
8385 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
8386 | (exit $ac_status); } && { | ||
8387 | test -z "$ac_c_werror_flag" || | ||
8388 | test ! -s conftest.err | ||
8389 | } && test -s conftest.$ac_objext; then | ||
8390 | ac_cv_have_decl_loginrestrictions=yes | ||
8391 | else | 7004 | else |
8392 | echo "$as_me: failed program was:" >&5 | 7005 | ac_have_decl=0 |
8393 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
8394 | |||
8395 | ac_cv_have_decl_loginrestrictions=no | ||
8396 | fi | 7006 | fi |
8397 | 7007 | ||
8398 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
8399 | fi | ||
8400 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_loginrestrictions" >&5 | ||
8401 | echo "${ECHO_T}$ac_cv_have_decl_loginrestrictions" >&6; } | ||
8402 | if test $ac_cv_have_decl_loginrestrictions = yes; then | ||
8403 | |||
8404 | cat >>confdefs.h <<_ACEOF | 7008 | cat >>confdefs.h <<_ACEOF |
8405 | #define HAVE_DECL_LOGINRESTRICTIONS 1 | 7009 | #define HAVE_DECL_LOGINRESTRICTIONS $ac_have_decl |
8406 | _ACEOF | ||
8407 | |||
8408 | |||
8409 | else | ||
8410 | cat >>confdefs.h <<_ACEOF | ||
8411 | #define HAVE_DECL_LOGINRESTRICTIONS 0 | ||
8412 | _ACEOF | ||
8413 | |||
8414 | |||
8415 | fi | ||
8416 | { echo "$as_me:$LINENO: checking whether loginsuccess is declared" >&5 | ||
8417 | echo $ECHO_N "checking whether loginsuccess is declared... $ECHO_C" >&6; } | ||
8418 | if test "${ac_cv_have_decl_loginsuccess+set}" = set; then | ||
8419 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
8420 | else | ||
8421 | cat >conftest.$ac_ext <<_ACEOF | ||
8422 | /* confdefs.h. */ | ||
8423 | _ACEOF | ||
8424 | cat confdefs.h >>conftest.$ac_ext | ||
8425 | cat >>conftest.$ac_ext <<_ACEOF | ||
8426 | /* end confdefs.h. */ | ||
8427 | #include <usersec.h> | ||
8428 | |||
8429 | int | ||
8430 | main () | ||
8431 | { | ||
8432 | #ifndef loginsuccess | ||
8433 | (void) loginsuccess; | ||
8434 | #endif | ||
8435 | |||
8436 | ; | ||
8437 | return 0; | ||
8438 | } | ||
8439 | _ACEOF | 7010 | _ACEOF |
8440 | rm -f conftest.$ac_objext | 7011 | ac_fn_c_check_decl "$LINENO" "loginsuccess" "ac_cv_have_decl_loginsuccess" "#include <usersec.h> |
8441 | if { (ac_try="$ac_compile" | 7012 | " |
8442 | case "(($ac_try" in | 7013 | if test "x$ac_cv_have_decl_loginsuccess" = xyes; then : |
8443 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | 7014 | ac_have_decl=1 |
8444 | *) ac_try_echo=$ac_try;; | ||
8445 | esac | ||
8446 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
8447 | (eval "$ac_compile") 2>conftest.er1 | ||
8448 | ac_status=$? | ||
8449 | grep -v '^ *+' conftest.er1 >conftest.err | ||
8450 | rm -f conftest.er1 | ||
8451 | cat conftest.err >&5 | ||
8452 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
8453 | (exit $ac_status); } && { | ||
8454 | test -z "$ac_c_werror_flag" || | ||
8455 | test ! -s conftest.err | ||
8456 | } && test -s conftest.$ac_objext; then | ||
8457 | ac_cv_have_decl_loginsuccess=yes | ||
8458 | else | 7015 | else |
8459 | echo "$as_me: failed program was:" >&5 | 7016 | ac_have_decl=0 |
8460 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
8461 | |||
8462 | ac_cv_have_decl_loginsuccess=no | ||
8463 | fi | 7017 | fi |
8464 | 7018 | ||
8465 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
8466 | fi | ||
8467 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_loginsuccess" >&5 | ||
8468 | echo "${ECHO_T}$ac_cv_have_decl_loginsuccess" >&6; } | ||
8469 | if test $ac_cv_have_decl_loginsuccess = yes; then | ||
8470 | |||
8471 | cat >>confdefs.h <<_ACEOF | 7019 | cat >>confdefs.h <<_ACEOF |
8472 | #define HAVE_DECL_LOGINSUCCESS 1 | 7020 | #define HAVE_DECL_LOGINSUCCESS $ac_have_decl |
8473 | _ACEOF | ||
8474 | |||
8475 | |||
8476 | else | ||
8477 | cat >>confdefs.h <<_ACEOF | ||
8478 | #define HAVE_DECL_LOGINSUCCESS 0 | ||
8479 | _ACEOF | ||
8480 | |||
8481 | |||
8482 | fi | ||
8483 | { echo "$as_me:$LINENO: checking whether passwdexpired is declared" >&5 | ||
8484 | echo $ECHO_N "checking whether passwdexpired is declared... $ECHO_C" >&6; } | ||
8485 | if test "${ac_cv_have_decl_passwdexpired+set}" = set; then | ||
8486 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
8487 | else | ||
8488 | cat >conftest.$ac_ext <<_ACEOF | ||
8489 | /* confdefs.h. */ | ||
8490 | _ACEOF | ||
8491 | cat confdefs.h >>conftest.$ac_ext | ||
8492 | cat >>conftest.$ac_ext <<_ACEOF | ||
8493 | /* end confdefs.h. */ | ||
8494 | #include <usersec.h> | ||
8495 | |||
8496 | int | ||
8497 | main () | ||
8498 | { | ||
8499 | #ifndef passwdexpired | ||
8500 | (void) passwdexpired; | ||
8501 | #endif | ||
8502 | |||
8503 | ; | ||
8504 | return 0; | ||
8505 | } | ||
8506 | _ACEOF | 7021 | _ACEOF |
8507 | rm -f conftest.$ac_objext | 7022 | ac_fn_c_check_decl "$LINENO" "passwdexpired" "ac_cv_have_decl_passwdexpired" "#include <usersec.h> |
8508 | if { (ac_try="$ac_compile" | 7023 | " |
8509 | case "(($ac_try" in | 7024 | if test "x$ac_cv_have_decl_passwdexpired" = xyes; then : |
8510 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | 7025 | ac_have_decl=1 |
8511 | *) ac_try_echo=$ac_try;; | ||
8512 | esac | ||
8513 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
8514 | (eval "$ac_compile") 2>conftest.er1 | ||
8515 | ac_status=$? | ||
8516 | grep -v '^ *+' conftest.er1 >conftest.err | ||
8517 | rm -f conftest.er1 | ||
8518 | cat conftest.err >&5 | ||
8519 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
8520 | (exit $ac_status); } && { | ||
8521 | test -z "$ac_c_werror_flag" || | ||
8522 | test ! -s conftest.err | ||
8523 | } && test -s conftest.$ac_objext; then | ||
8524 | ac_cv_have_decl_passwdexpired=yes | ||
8525 | else | 7026 | else |
8526 | echo "$as_me: failed program was:" >&5 | 7027 | ac_have_decl=0 |
8527 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
8528 | |||
8529 | ac_cv_have_decl_passwdexpired=no | ||
8530 | fi | 7028 | fi |
8531 | 7029 | ||
8532 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
8533 | fi | ||
8534 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_passwdexpired" >&5 | ||
8535 | echo "${ECHO_T}$ac_cv_have_decl_passwdexpired" >&6; } | ||
8536 | if test $ac_cv_have_decl_passwdexpired = yes; then | ||
8537 | |||
8538 | cat >>confdefs.h <<_ACEOF | 7030 | cat >>confdefs.h <<_ACEOF |
8539 | #define HAVE_DECL_PASSWDEXPIRED 1 | 7031 | #define HAVE_DECL_PASSWDEXPIRED $ac_have_decl |
8540 | _ACEOF | ||
8541 | |||
8542 | |||
8543 | else | ||
8544 | cat >>confdefs.h <<_ACEOF | ||
8545 | #define HAVE_DECL_PASSWDEXPIRED 0 | ||
8546 | _ACEOF | ||
8547 | |||
8548 | |||
8549 | fi | ||
8550 | { echo "$as_me:$LINENO: checking whether setauthdb is declared" >&5 | ||
8551 | echo $ECHO_N "checking whether setauthdb is declared... $ECHO_C" >&6; } | ||
8552 | if test "${ac_cv_have_decl_setauthdb+set}" = set; then | ||
8553 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
8554 | else | ||
8555 | cat >conftest.$ac_ext <<_ACEOF | ||
8556 | /* confdefs.h. */ | ||
8557 | _ACEOF | ||
8558 | cat confdefs.h >>conftest.$ac_ext | ||
8559 | cat >>conftest.$ac_ext <<_ACEOF | ||
8560 | /* end confdefs.h. */ | ||
8561 | #include <usersec.h> | ||
8562 | |||
8563 | int | ||
8564 | main () | ||
8565 | { | ||
8566 | #ifndef setauthdb | ||
8567 | (void) setauthdb; | ||
8568 | #endif | ||
8569 | |||
8570 | ; | ||
8571 | return 0; | ||
8572 | } | ||
8573 | _ACEOF | 7032 | _ACEOF |
8574 | rm -f conftest.$ac_objext | 7033 | ac_fn_c_check_decl "$LINENO" "setauthdb" "ac_cv_have_decl_setauthdb" "#include <usersec.h> |
8575 | if { (ac_try="$ac_compile" | 7034 | " |
8576 | case "(($ac_try" in | 7035 | if test "x$ac_cv_have_decl_setauthdb" = xyes; then : |
8577 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | 7036 | ac_have_decl=1 |
8578 | *) ac_try_echo=$ac_try;; | ||
8579 | esac | ||
8580 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
8581 | (eval "$ac_compile") 2>conftest.er1 | ||
8582 | ac_status=$? | ||
8583 | grep -v '^ *+' conftest.er1 >conftest.err | ||
8584 | rm -f conftest.er1 | ||
8585 | cat conftest.err >&5 | ||
8586 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
8587 | (exit $ac_status); } && { | ||
8588 | test -z "$ac_c_werror_flag" || | ||
8589 | test ! -s conftest.err | ||
8590 | } && test -s conftest.$ac_objext; then | ||
8591 | ac_cv_have_decl_setauthdb=yes | ||
8592 | else | 7037 | else |
8593 | echo "$as_me: failed program was:" >&5 | 7038 | ac_have_decl=0 |
8594 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
8595 | |||
8596 | ac_cv_have_decl_setauthdb=no | ||
8597 | fi | 7039 | fi |
8598 | 7040 | ||
8599 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
8600 | fi | ||
8601 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_setauthdb" >&5 | ||
8602 | echo "${ECHO_T}$ac_cv_have_decl_setauthdb" >&6; } | ||
8603 | if test $ac_cv_have_decl_setauthdb = yes; then | ||
8604 | |||
8605 | cat >>confdefs.h <<_ACEOF | 7041 | cat >>confdefs.h <<_ACEOF |
8606 | #define HAVE_DECL_SETAUTHDB 1 | 7042 | #define HAVE_DECL_SETAUTHDB $ac_have_decl |
8607 | _ACEOF | ||
8608 | |||
8609 | |||
8610 | else | ||
8611 | cat >>confdefs.h <<_ACEOF | ||
8612 | #define HAVE_DECL_SETAUTHDB 0 | ||
8613 | _ACEOF | ||
8614 | |||
8615 | |||
8616 | fi | ||
8617 | |||
8618 | |||
8619 | { echo "$as_me:$LINENO: checking whether loginfailed is declared" >&5 | ||
8620 | echo $ECHO_N "checking whether loginfailed is declared... $ECHO_C" >&6; } | ||
8621 | if test "${ac_cv_have_decl_loginfailed+set}" = set; then | ||
8622 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
8623 | else | ||
8624 | cat >conftest.$ac_ext <<_ACEOF | ||
8625 | /* confdefs.h. */ | ||
8626 | _ACEOF | 7043 | _ACEOF |
8627 | cat confdefs.h >>conftest.$ac_ext | ||
8628 | cat >>conftest.$ac_ext <<_ACEOF | ||
8629 | /* end confdefs.h. */ | ||
8630 | #include <usersec.h> | ||
8631 | |||
8632 | 7044 | ||
8633 | int | 7045 | ac_fn_c_check_decl "$LINENO" "loginfailed" "ac_cv_have_decl_loginfailed" "#include <usersec.h> |
8634 | main () | ||
8635 | { | ||
8636 | #ifndef loginfailed | ||
8637 | (void) loginfailed; | ||
8638 | #endif | ||
8639 | 7046 | ||
8640 | ; | 7047 | " |
8641 | return 0; | 7048 | if test "x$ac_cv_have_decl_loginfailed" = xyes; then : |
8642 | } | 7049 | ac_have_decl=1 |
8643 | _ACEOF | ||
8644 | rm -f conftest.$ac_objext | ||
8645 | if { (ac_try="$ac_compile" | ||
8646 | case "(($ac_try" in | ||
8647 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
8648 | *) ac_try_echo=$ac_try;; | ||
8649 | esac | ||
8650 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
8651 | (eval "$ac_compile") 2>conftest.er1 | ||
8652 | ac_status=$? | ||
8653 | grep -v '^ *+' conftest.er1 >conftest.err | ||
8654 | rm -f conftest.er1 | ||
8655 | cat conftest.err >&5 | ||
8656 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
8657 | (exit $ac_status); } && { | ||
8658 | test -z "$ac_c_werror_flag" || | ||
8659 | test ! -s conftest.err | ||
8660 | } && test -s conftest.$ac_objext; then | ||
8661 | ac_cv_have_decl_loginfailed=yes | ||
8662 | else | 7050 | else |
8663 | echo "$as_me: failed program was:" >&5 | 7051 | ac_have_decl=0 |
8664 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
8665 | |||
8666 | ac_cv_have_decl_loginfailed=no | ||
8667 | fi | ||
8668 | |||
8669 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
8670 | fi | 7052 | fi |
8671 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_loginfailed" >&5 | ||
8672 | echo "${ECHO_T}$ac_cv_have_decl_loginfailed" >&6; } | ||
8673 | if test $ac_cv_have_decl_loginfailed = yes; then | ||
8674 | 7053 | ||
8675 | cat >>confdefs.h <<_ACEOF | 7054 | cat >>confdefs.h <<_ACEOF |
8676 | #define HAVE_DECL_LOGINFAILED 1 | 7055 | #define HAVE_DECL_LOGINFAILED $ac_have_decl |
8677 | _ACEOF | ||
8678 | |||
8679 | { echo "$as_me:$LINENO: checking if loginfailed takes 4 arguments" >&5 | ||
8680 | echo $ECHO_N "checking if loginfailed takes 4 arguments... $ECHO_C" >&6; } | ||
8681 | cat >conftest.$ac_ext <<_ACEOF | ||
8682 | /* confdefs.h. */ | ||
8683 | _ACEOF | 7056 | _ACEOF |
8684 | cat confdefs.h >>conftest.$ac_ext | 7057 | if test $ac_have_decl = 1; then : |
8685 | cat >>conftest.$ac_ext <<_ACEOF | 7058 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if loginfailed takes 4 arguments" >&5 |
7059 | $as_echo_n "checking if loginfailed takes 4 arguments... " >&6; } | ||
7060 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
8686 | /* end confdefs.h. */ | 7061 | /* end confdefs.h. */ |
8687 | #include <usersec.h> | 7062 | #include <usersec.h> |
8688 | int | 7063 | int |
@@ -8693,328 +7068,119 @@ main () | |||
8693 | return 0; | 7068 | return 0; |
8694 | } | 7069 | } |
8695 | _ACEOF | 7070 | _ACEOF |
8696 | rm -f conftest.$ac_objext | 7071 | if ac_fn_c_try_compile "$LINENO"; then : |
8697 | if { (ac_try="$ac_compile" | 7072 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
8698 | case "(($ac_try" in | 7073 | $as_echo "yes" >&6; } |
8699 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
8700 | *) ac_try_echo=$ac_try;; | ||
8701 | esac | ||
8702 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
8703 | (eval "$ac_compile") 2>conftest.er1 | ||
8704 | ac_status=$? | ||
8705 | grep -v '^ *+' conftest.er1 >conftest.err | ||
8706 | rm -f conftest.er1 | ||
8707 | cat conftest.err >&5 | ||
8708 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
8709 | (exit $ac_status); } && { | ||
8710 | test -z "$ac_c_werror_flag" || | ||
8711 | test ! -s conftest.err | ||
8712 | } && test -s conftest.$ac_objext; then | ||
8713 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
8714 | echo "${ECHO_T}yes" >&6; } | ||
8715 | 7074 | ||
8716 | cat >>confdefs.h <<\_ACEOF | 7075 | $as_echo "#define AIX_LOGINFAILED_4ARG 1" >>confdefs.h |
8717 | #define AIX_LOGINFAILED_4ARG 1 | ||
8718 | _ACEOF | ||
8719 | 7076 | ||
8720 | else | 7077 | else |
8721 | echo "$as_me: failed program was:" >&5 | 7078 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
8722 | sed 's/^/| /' conftest.$ac_ext >&5 | 7079 | $as_echo "no" >&6; } |
8723 | |||
8724 | { echo "$as_me:$LINENO: result: no" >&5 | ||
8725 | echo "${ECHO_T}no" >&6; } | ||
8726 | 7080 | ||
8727 | fi | 7081 | fi |
8728 | |||
8729 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 7082 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
8730 | else | ||
8731 | cat >>confdefs.h <<_ACEOF | ||
8732 | #define HAVE_DECL_LOGINFAILED 0 | ||
8733 | _ACEOF | ||
8734 | |||
8735 | |||
8736 | fi | ||
8737 | |||
8738 | |||
8739 | |||
8740 | |||
8741 | for ac_func in getgrset setauthdb | ||
8742 | do | ||
8743 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
8744 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
8745 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
8746 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
8747 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
8748 | else | ||
8749 | cat >conftest.$ac_ext <<_ACEOF | ||
8750 | /* confdefs.h. */ | ||
8751 | _ACEOF | ||
8752 | cat confdefs.h >>conftest.$ac_ext | ||
8753 | cat >>conftest.$ac_ext <<_ACEOF | ||
8754 | /* end confdefs.h. */ | ||
8755 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
8756 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
8757 | #define $ac_func innocuous_$ac_func | ||
8758 | |||
8759 | /* System header to define __stub macros and hopefully few prototypes, | ||
8760 | which can conflict with char $ac_func (); below. | ||
8761 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
8762 | <limits.h> exists even on freestanding compilers. */ | ||
8763 | |||
8764 | #ifdef __STDC__ | ||
8765 | # include <limits.h> | ||
8766 | #else | ||
8767 | # include <assert.h> | ||
8768 | #endif | ||
8769 | |||
8770 | #undef $ac_func | ||
8771 | |||
8772 | /* Override any GCC internal prototype to avoid an error. | ||
8773 | Use char because int might match the return type of a GCC | ||
8774 | builtin and then its argument prototype would still apply. */ | ||
8775 | #ifdef __cplusplus | ||
8776 | extern "C" | ||
8777 | #endif | ||
8778 | char $ac_func (); | ||
8779 | /* The GNU C library defines this for functions which it implements | ||
8780 | to always fail with ENOSYS. Some functions are actually named | ||
8781 | something starting with __ and the normal name is an alias. */ | ||
8782 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
8783 | choke me | ||
8784 | #endif | ||
8785 | |||
8786 | int | ||
8787 | main () | ||
8788 | { | ||
8789 | return $ac_func (); | ||
8790 | ; | ||
8791 | return 0; | ||
8792 | } | ||
8793 | _ACEOF | ||
8794 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
8795 | if { (ac_try="$ac_link" | ||
8796 | case "(($ac_try" in | ||
8797 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
8798 | *) ac_try_echo=$ac_try;; | ||
8799 | esac | ||
8800 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
8801 | (eval "$ac_link") 2>conftest.er1 | ||
8802 | ac_status=$? | ||
8803 | grep -v '^ *+' conftest.er1 >conftest.err | ||
8804 | rm -f conftest.er1 | ||
8805 | cat conftest.err >&5 | ||
8806 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
8807 | (exit $ac_status); } && { | ||
8808 | test -z "$ac_c_werror_flag" || | ||
8809 | test ! -s conftest.err | ||
8810 | } && test -s conftest$ac_exeext && | ||
8811 | $as_test_x conftest$ac_exeext; then | ||
8812 | eval "$as_ac_var=yes" | ||
8813 | else | ||
8814 | echo "$as_me: failed program was:" >&5 | ||
8815 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
8816 | |||
8817 | eval "$as_ac_var=no" | ||
8818 | fi | 7083 | fi |
8819 | 7084 | ||
8820 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 7085 | for ac_func in getgrset setauthdb |
8821 | conftest$ac_exeext conftest.$ac_ext | 7086 | do : |
8822 | fi | 7087 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
8823 | ac_res=`eval echo '${'$as_ac_var'}'` | 7088 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
8824 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | 7089 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
8825 | echo "${ECHO_T}$ac_res" >&6; } | ||
8826 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
8827 | cat >>confdefs.h <<_ACEOF | 7090 | cat >>confdefs.h <<_ACEOF |
8828 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 7091 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
8829 | _ACEOF | 7092 | _ACEOF |
8830 | 7093 | ||
8831 | fi | 7094 | fi |
8832 | done | 7095 | done |
8833 | 7096 | ||
8834 | { echo "$as_me:$LINENO: checking whether F_CLOSEM is declared" >&5 | 7097 | ac_fn_c_check_decl "$LINENO" "F_CLOSEM" "ac_cv_have_decl_F_CLOSEM" " #include <limits.h> |
8835 | echo $ECHO_N "checking whether F_CLOSEM is declared... $ECHO_C" >&6; } | ||
8836 | if test "${ac_cv_have_decl_F_CLOSEM+set}" = set; then | ||
8837 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
8838 | else | ||
8839 | cat >conftest.$ac_ext <<_ACEOF | ||
8840 | /* confdefs.h. */ | ||
8841 | _ACEOF | ||
8842 | cat confdefs.h >>conftest.$ac_ext | ||
8843 | cat >>conftest.$ac_ext <<_ACEOF | ||
8844 | /* end confdefs.h. */ | ||
8845 | #include <limits.h> | ||
8846 | #include <fcntl.h> | 7098 | #include <fcntl.h> |
8847 | 7099 | ||
7100 | " | ||
7101 | if test "x$ac_cv_have_decl_F_CLOSEM" = xyes; then : | ||
8848 | 7102 | ||
8849 | int | 7103 | $as_echo "#define HAVE_FCNTL_CLOSEM 1" >>confdefs.h |
8850 | main () | ||
8851 | { | ||
8852 | #ifndef F_CLOSEM | ||
8853 | (void) F_CLOSEM; | ||
8854 | #endif | ||
8855 | |||
8856 | ; | ||
8857 | return 0; | ||
8858 | } | ||
8859 | _ACEOF | ||
8860 | rm -f conftest.$ac_objext | ||
8861 | if { (ac_try="$ac_compile" | ||
8862 | case "(($ac_try" in | ||
8863 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
8864 | *) ac_try_echo=$ac_try;; | ||
8865 | esac | ||
8866 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
8867 | (eval "$ac_compile") 2>conftest.er1 | ||
8868 | ac_status=$? | ||
8869 | grep -v '^ *+' conftest.er1 >conftest.err | ||
8870 | rm -f conftest.er1 | ||
8871 | cat conftest.err >&5 | ||
8872 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
8873 | (exit $ac_status); } && { | ||
8874 | test -z "$ac_c_werror_flag" || | ||
8875 | test ! -s conftest.err | ||
8876 | } && test -s conftest.$ac_objext; then | ||
8877 | ac_cv_have_decl_F_CLOSEM=yes | ||
8878 | else | ||
8879 | echo "$as_me: failed program was:" >&5 | ||
8880 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
8881 | |||
8882 | ac_cv_have_decl_F_CLOSEM=no | ||
8883 | fi | ||
8884 | |||
8885 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
8886 | fi | ||
8887 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_F_CLOSEM" >&5 | ||
8888 | echo "${ECHO_T}$ac_cv_have_decl_F_CLOSEM" >&6; } | ||
8889 | if test $ac_cv_have_decl_F_CLOSEM = yes; then | ||
8890 | |||
8891 | cat >>confdefs.h <<\_ACEOF | ||
8892 | #define HAVE_FCNTL_CLOSEM 1 | ||
8893 | _ACEOF | ||
8894 | 7104 | ||
8895 | fi | 7105 | fi |
8896 | 7106 | ||
8897 | check_for_aix_broken_getaddrinfo=1 | 7107 | check_for_aix_broken_getaddrinfo=1 |
8898 | 7108 | ||
8899 | cat >>confdefs.h <<\_ACEOF | 7109 | $as_echo "#define BROKEN_REALPATH 1" >>confdefs.h |
8900 | #define BROKEN_REALPATH 1 | ||
8901 | _ACEOF | ||
8902 | 7110 | ||
8903 | 7111 | ||
8904 | cat >>confdefs.h <<\_ACEOF | 7112 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
8905 | #define SETEUID_BREAKS_SETUID 1 | ||
8906 | _ACEOF | ||
8907 | 7113 | ||
8908 | 7114 | ||
8909 | cat >>confdefs.h <<\_ACEOF | 7115 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
8910 | #define BROKEN_SETREUID 1 | ||
8911 | _ACEOF | ||
8912 | 7116 | ||
8913 | 7117 | ||
8914 | cat >>confdefs.h <<\_ACEOF | 7118 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
8915 | #define BROKEN_SETREGID 1 | ||
8916 | _ACEOF | ||
8917 | 7119 | ||
8918 | 7120 | ||
8919 | cat >>confdefs.h <<\_ACEOF | 7121 | $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h |
8920 | #define DISABLE_LASTLOG 1 | ||
8921 | _ACEOF | ||
8922 | 7122 | ||
8923 | 7123 | ||
8924 | cat >>confdefs.h <<\_ACEOF | 7124 | $as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h |
8925 | #define LOGIN_NEEDS_UTMPX 1 | ||
8926 | _ACEOF | ||
8927 | 7125 | ||
8928 | 7126 | ||
8929 | cat >>confdefs.h <<\_ACEOF | 7127 | $as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h |
8930 | #define SPT_TYPE SPT_REUSEARGV | ||
8931 | _ACEOF | ||
8932 | 7128 | ||
8933 | 7129 | ||
8934 | cat >>confdefs.h <<\_ACEOF | 7130 | $as_echo "#define SSHPAM_CHAUTHTOK_NEEDS_RUID 1" >>confdefs.h |
8935 | #define SSHPAM_CHAUTHTOK_NEEDS_RUID 1 | ||
8936 | _ACEOF | ||
8937 | 7131 | ||
8938 | 7132 | ||
8939 | cat >>confdefs.h <<\_ACEOF | 7133 | $as_echo "#define PTY_ZEROREAD 1" >>confdefs.h |
8940 | #define PTY_ZEROREAD 1 | ||
8941 | _ACEOF | ||
8942 | 7134 | ||
8943 | 7135 | ||
8944 | cat >>confdefs.h <<\_ACEOF | 7136 | $as_echo "#define PLATFORM_SYS_DIR_UID 2" >>confdefs.h |
8945 | #define PLATFORM_SYS_DIR_UID 2 | ||
8946 | _ACEOF | ||
8947 | 7137 | ||
8948 | ;; | 7138 | ;; |
8949 | *-*-android*) | 7139 | *-*-android*) |
8950 | 7140 | ||
8951 | cat >>confdefs.h <<\_ACEOF | 7141 | $as_echo "#define DISABLE_UTMP 1" >>confdefs.h |
8952 | #define DISABLE_UTMP 1 | ||
8953 | _ACEOF | ||
8954 | 7142 | ||
8955 | 7143 | ||
8956 | cat >>confdefs.h <<\_ACEOF | 7144 | $as_echo "#define DISABLE_WTMP 1" >>confdefs.h |
8957 | #define DISABLE_WTMP 1 | ||
8958 | _ACEOF | ||
8959 | 7145 | ||
8960 | ;; | 7146 | ;; |
8961 | *-*-cygwin*) | 7147 | *-*-cygwin*) |
8962 | check_for_libcrypt_later=1 | 7148 | check_for_libcrypt_later=1 |
8963 | LIBS="$LIBS /usr/lib/textreadmode.o" | 7149 | LIBS="$LIBS /usr/lib/textreadmode.o" |
8964 | 7150 | ||
8965 | cat >>confdefs.h <<\_ACEOF | 7151 | $as_echo "#define HAVE_CYGWIN 1" >>confdefs.h |
8966 | #define HAVE_CYGWIN 1 | ||
8967 | _ACEOF | ||
8968 | 7152 | ||
8969 | 7153 | ||
8970 | cat >>confdefs.h <<\_ACEOF | 7154 | $as_echo "#define USE_PIPES 1" >>confdefs.h |
8971 | #define USE_PIPES 1 | ||
8972 | _ACEOF | ||
8973 | 7155 | ||
8974 | 7156 | ||
8975 | cat >>confdefs.h <<\_ACEOF | 7157 | $as_echo "#define NO_UID_RESTORATION_TEST 1" >>confdefs.h |
8976 | #define NO_UID_RESTORATION_TEST 1 | ||
8977 | _ACEOF | ||
8978 | 7158 | ||
8979 | 7159 | ||
8980 | cat >>confdefs.h <<\_ACEOF | 7160 | $as_echo "#define DISABLE_SHADOW 1" >>confdefs.h |
8981 | #define DISABLE_SHADOW 1 | ||
8982 | _ACEOF | ||
8983 | 7161 | ||
8984 | 7162 | ||
8985 | cat >>confdefs.h <<\_ACEOF | 7163 | $as_echo "#define NO_X11_UNIX_SOCKETS 1" >>confdefs.h |
8986 | #define NO_X11_UNIX_SOCKETS 1 | ||
8987 | _ACEOF | ||
8988 | 7164 | ||
8989 | 7165 | ||
8990 | cat >>confdefs.h <<\_ACEOF | 7166 | $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h |
8991 | #define DISABLE_FD_PASSING 1 | ||
8992 | _ACEOF | ||
8993 | 7167 | ||
8994 | 7168 | ||
8995 | cat >>confdefs.h <<\_ACEOF | 7169 | $as_echo "#define SSH_IOBUFSZ 65535" >>confdefs.h |
8996 | #define SSH_IOBUFSZ 65535 | ||
8997 | _ACEOF | ||
8998 | 7170 | ||
8999 | 7171 | ||
9000 | cat >>confdefs.h <<\_ACEOF | 7172 | $as_echo "#define FILESYSTEM_NO_BACKSLASH 1" >>confdefs.h |
9001 | #define FILESYSTEM_NO_BACKSLASH 1 | ||
9002 | _ACEOF | ||
9003 | 7173 | ||
9004 | # Cygwin defines optargs, optargs as declspec(dllimport) for historical | 7174 | # Cygwin defines optargs, optargs as declspec(dllimport) for historical |
9005 | # reasons which cause compile warnings, so we disable those warnings. | 7175 | # reasons which cause compile warnings, so we disable those warnings. |
9006 | { | 7176 | { |
9007 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -Wno-attributes" >&5 | 7177 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wno-attributes" >&5 |
9008 | echo $ECHO_N "checking if $CC supports compile flag -Wno-attributes... $ECHO_C" >&6; } | 7178 | $as_echo_n "checking if $CC supports compile flag -Wno-attributes... " >&6; } |
9009 | saved_CFLAGS="$CFLAGS" | 7179 | saved_CFLAGS="$CFLAGS" |
9010 | CFLAGS="$CFLAGS $WERROR -Wno-attributes" | 7180 | CFLAGS="$CFLAGS $WERROR -Wno-attributes" |
9011 | _define_flag="" | 7181 | _define_flag="" |
9012 | test "x$_define_flag" = "x" && _define_flag="-Wno-attributes" | 7182 | test "x$_define_flag" = "x" && _define_flag="-Wno-attributes" |
9013 | cat >conftest.$ac_ext <<_ACEOF | 7183 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
9014 | /* confdefs.h. */ | ||
9015 | _ACEOF | ||
9016 | cat confdefs.h >>conftest.$ac_ext | ||
9017 | cat >>conftest.$ac_ext <<_ACEOF | ||
9018 | /* end confdefs.h. */ | 7184 | /* end confdefs.h. */ |
9019 | 7185 | ||
9020 | #include <stdlib.h> | 7186 | #include <stdlib.h> |
@@ -9030,79 +7196,47 @@ int main(int argc, char **argv) { | |||
9030 | } | 7196 | } |
9031 | 7197 | ||
9032 | _ACEOF | 7198 | _ACEOF |
9033 | rm -f conftest.$ac_objext | 7199 | if ac_fn_c_try_compile "$LINENO"; then : |
9034 | if { (ac_try="$ac_compile" | ||
9035 | case "(($ac_try" in | ||
9036 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
9037 | *) ac_try_echo=$ac_try;; | ||
9038 | esac | ||
9039 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
9040 | (eval "$ac_compile") 2>conftest.er1 | ||
9041 | ac_status=$? | ||
9042 | grep -v '^ *+' conftest.er1 >conftest.err | ||
9043 | rm -f conftest.er1 | ||
9044 | cat conftest.err >&5 | ||
9045 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9046 | (exit $ac_status); } && { | ||
9047 | test -z "$ac_c_werror_flag" || | ||
9048 | test ! -s conftest.err | ||
9049 | } && test -s conftest.$ac_objext; then | ||
9050 | 7200 | ||
9051 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 7201 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
9052 | then | 7202 | then |
9053 | { echo "$as_me:$LINENO: result: no" >&5 | 7203 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
9054 | echo "${ECHO_T}no" >&6; } | 7204 | $as_echo "no" >&6; } |
9055 | CFLAGS="$saved_CFLAGS" | 7205 | CFLAGS="$saved_CFLAGS" |
9056 | else | 7206 | else |
9057 | { echo "$as_me:$LINENO: result: yes" >&5 | 7207 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
9058 | echo "${ECHO_T}yes" >&6; } | 7208 | $as_echo "yes" >&6; } |
9059 | CFLAGS="$saved_CFLAGS $_define_flag" | 7209 | CFLAGS="$saved_CFLAGS $_define_flag" |
9060 | fi | 7210 | fi |
9061 | else | 7211 | else |
9062 | echo "$as_me: failed program was:" >&5 | 7212 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
9063 | sed 's/^/| /' conftest.$ac_ext >&5 | 7213 | $as_echo "no" >&6; } |
9064 | |||
9065 | { echo "$as_me:$LINENO: result: no" >&5 | ||
9066 | echo "${ECHO_T}no" >&6; } | ||
9067 | CFLAGS="$saved_CFLAGS" | 7214 | CFLAGS="$saved_CFLAGS" |
9068 | 7215 | ||
9069 | fi | 7216 | fi |
9070 | |||
9071 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 7217 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
9072 | } | 7218 | } |
9073 | ;; | 7219 | ;; |
9074 | *-*-dgux*) | 7220 | *-*-dgux*) |
9075 | 7221 | ||
9076 | cat >>confdefs.h <<\_ACEOF | 7222 | $as_echo "#define IP_TOS_IS_BROKEN 1" >>confdefs.h |
9077 | #define IP_TOS_IS_BROKEN 1 | ||
9078 | _ACEOF | ||
9079 | 7223 | ||
9080 | cat >>confdefs.h <<\_ACEOF | 7224 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
9081 | #define SETEUID_BREAKS_SETUID 1 | ||
9082 | _ACEOF | ||
9083 | 7225 | ||
9084 | cat >>confdefs.h <<\_ACEOF | 7226 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
9085 | #define BROKEN_SETREUID 1 | ||
9086 | _ACEOF | ||
9087 | 7227 | ||
9088 | cat >>confdefs.h <<\_ACEOF | 7228 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
9089 | #define BROKEN_SETREGID 1 | ||
9090 | _ACEOF | ||
9091 | 7229 | ||
9092 | ;; | 7230 | ;; |
9093 | *-*-darwin*) | 7231 | *-*-darwin*) |
9094 | use_pie=auto | 7232 | use_pie=auto |
9095 | { echo "$as_me:$LINENO: checking if we have working getaddrinfo" >&5 | 7233 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we have working getaddrinfo" >&5 |
9096 | echo $ECHO_N "checking if we have working getaddrinfo... $ECHO_C" >&6; } | 7234 | $as_echo_n "checking if we have working getaddrinfo... " >&6; } |
9097 | if test "$cross_compiling" = yes; then | 7235 | if test "$cross_compiling" = yes; then : |
9098 | { echo "$as_me:$LINENO: result: assume it is working" >&5 | 7236 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: assume it is working" >&5 |
9099 | echo "${ECHO_T}assume it is working" >&6; } | 7237 | $as_echo "assume it is working" >&6; } |
9100 | else | 7238 | else |
9101 | cat >conftest.$ac_ext <<_ACEOF | 7239 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
9102 | /* confdefs.h. */ | ||
9103 | _ACEOF | ||
9104 | cat confdefs.h >>conftest.$ac_ext | ||
9105 | cat >>conftest.$ac_ext <<_ACEOF | ||
9106 | /* end confdefs.h. */ | 7240 | /* end confdefs.h. */ |
9107 | #include <mach-o/dyld.h> | 7241 | #include <mach-o/dyld.h> |
9108 | main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | 7242 | main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) |
@@ -9112,63 +7246,29 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | |||
9112 | } | 7246 | } |
9113 | 7247 | ||
9114 | _ACEOF | 7248 | _ACEOF |
9115 | rm -f conftest$ac_exeext | 7249 | if ac_fn_c_try_run "$LINENO"; then : |
9116 | if { (ac_try="$ac_link" | 7250 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: working" >&5 |
9117 | case "(($ac_try" in | 7251 | $as_echo "working" >&6; } |
9118 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
9119 | *) ac_try_echo=$ac_try;; | ||
9120 | esac | ||
9121 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
9122 | (eval "$ac_link") 2>&5 | ||
9123 | ac_status=$? | ||
9124 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9125 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
9126 | { (case "(($ac_try" in | ||
9127 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
9128 | *) ac_try_echo=$ac_try;; | ||
9129 | esac | ||
9130 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
9131 | (eval "$ac_try") 2>&5 | ||
9132 | ac_status=$? | ||
9133 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9134 | (exit $ac_status); }; }; then | ||
9135 | { echo "$as_me:$LINENO: result: working" >&5 | ||
9136 | echo "${ECHO_T}working" >&6; } | ||
9137 | else | 7252 | else |
9138 | echo "$as_me: program exited with status $ac_status" >&5 | 7253 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: buggy" >&5 |
9139 | echo "$as_me: failed program was:" >&5 | 7254 | $as_echo "buggy" >&6; } |
9140 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
9141 | |||
9142 | ( exit $ac_status ) | ||
9143 | { echo "$as_me:$LINENO: result: buggy" >&5 | ||
9144 | echo "${ECHO_T}buggy" >&6; } | ||
9145 | 7255 | ||
9146 | cat >>confdefs.h <<\_ACEOF | 7256 | $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h |
9147 | #define BROKEN_GETADDRINFO 1 | ||
9148 | _ACEOF | ||
9149 | 7257 | ||
9150 | 7258 | ||
9151 | fi | 7259 | fi |
9152 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 7260 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
7261 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
9153 | fi | 7262 | fi |
9154 | 7263 | ||
7264 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h | ||
9155 | 7265 | ||
9156 | cat >>confdefs.h <<\_ACEOF | 7266 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
9157 | #define SETEUID_BREAKS_SETUID 1 | ||
9158 | _ACEOF | ||
9159 | 7267 | ||
9160 | cat >>confdefs.h <<\_ACEOF | 7268 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
9161 | #define BROKEN_SETREUID 1 | ||
9162 | _ACEOF | ||
9163 | 7269 | ||
9164 | cat >>confdefs.h <<\_ACEOF | ||
9165 | #define BROKEN_SETREGID 1 | ||
9166 | _ACEOF | ||
9167 | 7270 | ||
9168 | 7271 | $as_echo "#define BROKEN_GLOB 1" >>confdefs.h | |
9169 | cat >>confdefs.h <<\_ACEOF | ||
9170 | #define BROKEN_GLOB 1 | ||
9171 | _ACEOF | ||
9172 | 7272 | ||
9173 | 7273 | ||
9174 | cat >>confdefs.h <<_ACEOF | 7274 | cat >>confdefs.h <<_ACEOF |
@@ -9176,346 +7276,63 @@ cat >>confdefs.h <<_ACEOF | |||
9176 | _ACEOF | 7276 | _ACEOF |
9177 | 7277 | ||
9178 | 7278 | ||
9179 | cat >>confdefs.h <<\_ACEOF | 7279 | $as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h |
9180 | #define SSH_TUN_FREEBSD 1 | ||
9181 | _ACEOF | ||
9182 | |||
9183 | |||
9184 | cat >>confdefs.h <<\_ACEOF | ||
9185 | #define SSH_TUN_COMPAT_AF 1 | ||
9186 | _ACEOF | ||
9187 | 7280 | ||
9188 | 7281 | ||
9189 | cat >>confdefs.h <<\_ACEOF | 7282 | $as_echo "#define SSH_TUN_COMPAT_AF 1" >>confdefs.h |
9190 | #define SSH_TUN_PREPEND_AF 1 | ||
9191 | _ACEOF | ||
9192 | 7283 | ||
9193 | 7284 | ||
9194 | { echo "$as_me:$LINENO: checking whether AU_IPv4 is declared" >&5 | 7285 | $as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h |
9195 | echo $ECHO_N "checking whether AU_IPv4 is declared... $ECHO_C" >&6; } | ||
9196 | if test "${ac_cv_have_decl_AU_IPv4+set}" = set; then | ||
9197 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
9198 | else | ||
9199 | cat >conftest.$ac_ext <<_ACEOF | ||
9200 | /* confdefs.h. */ | ||
9201 | _ACEOF | ||
9202 | cat confdefs.h >>conftest.$ac_ext | ||
9203 | cat >>conftest.$ac_ext <<_ACEOF | ||
9204 | /* end confdefs.h. */ | ||
9205 | $ac_includes_default | ||
9206 | int | ||
9207 | main () | ||
9208 | { | ||
9209 | #ifndef AU_IPv4 | ||
9210 | (void) AU_IPv4; | ||
9211 | #endif | ||
9212 | 7286 | ||
9213 | ; | ||
9214 | return 0; | ||
9215 | } | ||
9216 | _ACEOF | ||
9217 | rm -f conftest.$ac_objext | ||
9218 | if { (ac_try="$ac_compile" | ||
9219 | case "(($ac_try" in | ||
9220 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
9221 | *) ac_try_echo=$ac_try;; | ||
9222 | esac | ||
9223 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
9224 | (eval "$ac_compile") 2>conftest.er1 | ||
9225 | ac_status=$? | ||
9226 | grep -v '^ *+' conftest.er1 >conftest.err | ||
9227 | rm -f conftest.er1 | ||
9228 | cat conftest.err >&5 | ||
9229 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9230 | (exit $ac_status); } && { | ||
9231 | test -z "$ac_c_werror_flag" || | ||
9232 | test ! -s conftest.err | ||
9233 | } && test -s conftest.$ac_objext; then | ||
9234 | ac_cv_have_decl_AU_IPv4=yes | ||
9235 | else | ||
9236 | echo "$as_me: failed program was:" >&5 | ||
9237 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
9238 | 7287 | ||
9239 | ac_cv_have_decl_AU_IPv4=no | 7288 | ac_fn_c_check_decl "$LINENO" "AU_IPv4" "ac_cv_have_decl_AU_IPv4" "$ac_includes_default" |
9240 | fi | 7289 | if test "x$ac_cv_have_decl_AU_IPv4" = xyes; then : |
9241 | 7290 | ||
9242 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
9243 | fi | ||
9244 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_AU_IPv4" >&5 | ||
9245 | echo "${ECHO_T}$ac_cv_have_decl_AU_IPv4" >&6; } | ||
9246 | if test $ac_cv_have_decl_AU_IPv4 = yes; then | ||
9247 | : | ||
9248 | else | 7291 | else |
9249 | 7292 | ||
9250 | cat >>confdefs.h <<\_ACEOF | 7293 | $as_echo "#define AU_IPv4 0" >>confdefs.h |
9251 | #define AU_IPv4 0 | ||
9252 | _ACEOF | ||
9253 | 7294 | ||
9254 | #include <bsm/audit.h> | 7295 | #include <bsm/audit.h> |
9255 | 7296 | ||
9256 | cat >>confdefs.h <<\_ACEOF | 7297 | $as_echo "#define LASTLOG_WRITE_PUTUTXLINE 1" >>confdefs.h |
9257 | #define LASTLOG_WRITE_PUTUTXLINE 1 | ||
9258 | _ACEOF | ||
9259 | 7298 | ||
9260 | 7299 | ||
9261 | fi | 7300 | fi |
9262 | 7301 | ||
9263 | 7302 | ||
9264 | cat >>confdefs.h <<\_ACEOF | 7303 | $as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h |
9265 | #define SPT_TYPE SPT_REUSEARGV | ||
9266 | _ACEOF | ||
9267 | |||
9268 | |||
9269 | for ac_func in sandbox_init | ||
9270 | do | ||
9271 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
9272 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
9273 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
9274 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
9275 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
9276 | else | ||
9277 | cat >conftest.$ac_ext <<_ACEOF | ||
9278 | /* confdefs.h. */ | ||
9279 | _ACEOF | ||
9280 | cat confdefs.h >>conftest.$ac_ext | ||
9281 | cat >>conftest.$ac_ext <<_ACEOF | ||
9282 | /* end confdefs.h. */ | ||
9283 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
9284 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
9285 | #define $ac_func innocuous_$ac_func | ||
9286 | |||
9287 | /* System header to define __stub macros and hopefully few prototypes, | ||
9288 | which can conflict with char $ac_func (); below. | ||
9289 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
9290 | <limits.h> exists even on freestanding compilers. */ | ||
9291 | 7304 | ||
9292 | #ifdef __STDC__ | 7305 | for ac_func in sandbox_init |
9293 | # include <limits.h> | 7306 | do : |
9294 | #else | 7307 | ac_fn_c_check_func "$LINENO" "sandbox_init" "ac_cv_func_sandbox_init" |
9295 | # include <assert.h> | 7308 | if test "x$ac_cv_func_sandbox_init" = xyes; then : |
9296 | #endif | ||
9297 | |||
9298 | #undef $ac_func | ||
9299 | |||
9300 | /* Override any GCC internal prototype to avoid an error. | ||
9301 | Use char because int might match the return type of a GCC | ||
9302 | builtin and then its argument prototype would still apply. */ | ||
9303 | #ifdef __cplusplus | ||
9304 | extern "C" | ||
9305 | #endif | ||
9306 | char $ac_func (); | ||
9307 | /* The GNU C library defines this for functions which it implements | ||
9308 | to always fail with ENOSYS. Some functions are actually named | ||
9309 | something starting with __ and the normal name is an alias. */ | ||
9310 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
9311 | choke me | ||
9312 | #endif | ||
9313 | |||
9314 | int | ||
9315 | main () | ||
9316 | { | ||
9317 | return $ac_func (); | ||
9318 | ; | ||
9319 | return 0; | ||
9320 | } | ||
9321 | _ACEOF | ||
9322 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
9323 | if { (ac_try="$ac_link" | ||
9324 | case "(($ac_try" in | ||
9325 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
9326 | *) ac_try_echo=$ac_try;; | ||
9327 | esac | ||
9328 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
9329 | (eval "$ac_link") 2>conftest.er1 | ||
9330 | ac_status=$? | ||
9331 | grep -v '^ *+' conftest.er1 >conftest.err | ||
9332 | rm -f conftest.er1 | ||
9333 | cat conftest.err >&5 | ||
9334 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9335 | (exit $ac_status); } && { | ||
9336 | test -z "$ac_c_werror_flag" || | ||
9337 | test ! -s conftest.err | ||
9338 | } && test -s conftest$ac_exeext && | ||
9339 | $as_test_x conftest$ac_exeext; then | ||
9340 | eval "$as_ac_var=yes" | ||
9341 | else | ||
9342 | echo "$as_me: failed program was:" >&5 | ||
9343 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
9344 | |||
9345 | eval "$as_ac_var=no" | ||
9346 | fi | ||
9347 | |||
9348 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
9349 | conftest$ac_exeext conftest.$ac_ext | ||
9350 | fi | ||
9351 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
9352 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
9353 | echo "${ECHO_T}$ac_res" >&6; } | ||
9354 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
9355 | cat >>confdefs.h <<_ACEOF | 7309 | cat >>confdefs.h <<_ACEOF |
9356 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 7310 | #define HAVE_SANDBOX_INIT 1 |
9357 | _ACEOF | 7311 | _ACEOF |
9358 | 7312 | ||
9359 | fi | 7313 | fi |
9360 | done | 7314 | done |
9361 | 7315 | ||
9362 | 7316 | for ac_header in sandbox.h | |
9363 | for ac_header in sandbox.h | 7317 | do : |
9364 | do | 7318 | ac_fn_c_check_header_mongrel "$LINENO" "sandbox.h" "ac_cv_header_sandbox_h" "$ac_includes_default" |
9365 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 7319 | if test "x$ac_cv_header_sandbox_h" = xyes; then : |
9366 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
9367 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
9368 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
9369 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
9370 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
9371 | fi | ||
9372 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
9373 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
9374 | echo "${ECHO_T}$ac_res" >&6; } | ||
9375 | else | ||
9376 | # Is the header compilable? | ||
9377 | { echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
9378 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } | ||
9379 | cat >conftest.$ac_ext <<_ACEOF | ||
9380 | /* confdefs.h. */ | ||
9381 | _ACEOF | ||
9382 | cat confdefs.h >>conftest.$ac_ext | ||
9383 | cat >>conftest.$ac_ext <<_ACEOF | ||
9384 | /* end confdefs.h. */ | ||
9385 | $ac_includes_default | ||
9386 | #include <$ac_header> | ||
9387 | _ACEOF | ||
9388 | rm -f conftest.$ac_objext | ||
9389 | if { (ac_try="$ac_compile" | ||
9390 | case "(($ac_try" in | ||
9391 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
9392 | *) ac_try_echo=$ac_try;; | ||
9393 | esac | ||
9394 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
9395 | (eval "$ac_compile") 2>conftest.er1 | ||
9396 | ac_status=$? | ||
9397 | grep -v '^ *+' conftest.er1 >conftest.err | ||
9398 | rm -f conftest.er1 | ||
9399 | cat conftest.err >&5 | ||
9400 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9401 | (exit $ac_status); } && { | ||
9402 | test -z "$ac_c_werror_flag" || | ||
9403 | test ! -s conftest.err | ||
9404 | } && test -s conftest.$ac_objext; then | ||
9405 | ac_header_compiler=yes | ||
9406 | else | ||
9407 | echo "$as_me: failed program was:" >&5 | ||
9408 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
9409 | |||
9410 | ac_header_compiler=no | ||
9411 | fi | ||
9412 | |||
9413 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
9414 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
9415 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
9416 | |||
9417 | # Is the header present? | ||
9418 | { echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
9419 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } | ||
9420 | cat >conftest.$ac_ext <<_ACEOF | ||
9421 | /* confdefs.h. */ | ||
9422 | _ACEOF | ||
9423 | cat confdefs.h >>conftest.$ac_ext | ||
9424 | cat >>conftest.$ac_ext <<_ACEOF | ||
9425 | /* end confdefs.h. */ | ||
9426 | #include <$ac_header> | ||
9427 | _ACEOF | ||
9428 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
9429 | case "(($ac_try" in | ||
9430 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
9431 | *) ac_try_echo=$ac_try;; | ||
9432 | esac | ||
9433 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
9434 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
9435 | ac_status=$? | ||
9436 | grep -v '^ *+' conftest.er1 >conftest.err | ||
9437 | rm -f conftest.er1 | ||
9438 | cat conftest.err >&5 | ||
9439 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9440 | (exit $ac_status); } >/dev/null && { | ||
9441 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
9442 | test ! -s conftest.err | ||
9443 | }; then | ||
9444 | ac_header_preproc=yes | ||
9445 | else | ||
9446 | echo "$as_me: failed program was:" >&5 | ||
9447 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
9448 | |||
9449 | ac_header_preproc=no | ||
9450 | fi | ||
9451 | |||
9452 | rm -f conftest.err conftest.$ac_ext | ||
9453 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
9454 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
9455 | |||
9456 | # So? What about this header? | ||
9457 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
9458 | yes:no: ) | ||
9459 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
9460 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
9461 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
9462 | echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
9463 | ac_header_preproc=yes | ||
9464 | ;; | ||
9465 | no:yes:* ) | ||
9466 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
9467 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
9468 | { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
9469 | echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
9470 | { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
9471 | echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
9472 | { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
9473 | echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
9474 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
9475 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
9476 | { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
9477 | echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
9478 | ( cat <<\_ASBOX | ||
9479 | ## ------------------------------------------- ## | ||
9480 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
9481 | ## ------------------------------------------- ## | ||
9482 | _ASBOX | ||
9483 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
9484 | ;; | ||
9485 | esac | ||
9486 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
9487 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
9488 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
9489 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
9490 | else | ||
9491 | eval "$as_ac_Header=\$ac_header_preproc" | ||
9492 | fi | ||
9493 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
9494 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
9495 | echo "${ECHO_T}$ac_res" >&6; } | ||
9496 | |||
9497 | fi | ||
9498 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
9499 | cat >>confdefs.h <<_ACEOF | 7320 | cat >>confdefs.h <<_ACEOF |
9500 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 7321 | #define HAVE_SANDBOX_H 1 |
9501 | _ACEOF | 7322 | _ACEOF |
9502 | 7323 | ||
9503 | fi | 7324 | fi |
9504 | 7325 | ||
9505 | done | 7326 | done |
9506 | 7327 | ||
9507 | { echo "$as_me:$LINENO: checking for sandbox_apply in -lsandbox" >&5 | 7328 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sandbox_apply in -lsandbox" >&5 |
9508 | echo $ECHO_N "checking for sandbox_apply in -lsandbox... $ECHO_C" >&6; } | 7329 | $as_echo_n "checking for sandbox_apply in -lsandbox... " >&6; } |
9509 | if test "${ac_cv_lib_sandbox_sandbox_apply+set}" = set; then | 7330 | if ${ac_cv_lib_sandbox_sandbox_apply+:} false; then : |
9510 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 7331 | $as_echo_n "(cached) " >&6 |
9511 | else | 7332 | else |
9512 | ac_check_lib_save_LIBS=$LIBS | 7333 | ac_check_lib_save_LIBS=$LIBS |
9513 | LIBS="-lsandbox $LIBS" | 7334 | LIBS="-lsandbox $LIBS" |
9514 | cat >conftest.$ac_ext <<_ACEOF | 7335 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
9515 | /* confdefs.h. */ | ||
9516 | _ACEOF | ||
9517 | cat confdefs.h >>conftest.$ac_ext | ||
9518 | cat >>conftest.$ac_ext <<_ACEOF | ||
9519 | /* end confdefs.h. */ | 7336 | /* end confdefs.h. */ |
9520 | 7337 | ||
9521 | /* Override any GCC internal prototype to avoid an error. | 7338 | /* Override any GCC internal prototype to avoid an error. |
@@ -9533,39 +7350,18 @@ return sandbox_apply (); | |||
9533 | return 0; | 7350 | return 0; |
9534 | } | 7351 | } |
9535 | _ACEOF | 7352 | _ACEOF |
9536 | rm -f conftest.$ac_objext conftest$ac_exeext | 7353 | if ac_fn_c_try_link "$LINENO"; then : |
9537 | if { (ac_try="$ac_link" | ||
9538 | case "(($ac_try" in | ||
9539 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
9540 | *) ac_try_echo=$ac_try;; | ||
9541 | esac | ||
9542 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
9543 | (eval "$ac_link") 2>conftest.er1 | ||
9544 | ac_status=$? | ||
9545 | grep -v '^ *+' conftest.er1 >conftest.err | ||
9546 | rm -f conftest.er1 | ||
9547 | cat conftest.err >&5 | ||
9548 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9549 | (exit $ac_status); } && { | ||
9550 | test -z "$ac_c_werror_flag" || | ||
9551 | test ! -s conftest.err | ||
9552 | } && test -s conftest$ac_exeext && | ||
9553 | $as_test_x conftest$ac_exeext; then | ||
9554 | ac_cv_lib_sandbox_sandbox_apply=yes | 7354 | ac_cv_lib_sandbox_sandbox_apply=yes |
9555 | else | 7355 | else |
9556 | echo "$as_me: failed program was:" >&5 | 7356 | ac_cv_lib_sandbox_sandbox_apply=no |
9557 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
9558 | |||
9559 | ac_cv_lib_sandbox_sandbox_apply=no | ||
9560 | fi | 7357 | fi |
9561 | 7358 | rm -f core conftest.err conftest.$ac_objext \ | |
9562 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 7359 | conftest$ac_exeext conftest.$ac_ext |
9563 | conftest$ac_exeext conftest.$ac_ext | ||
9564 | LIBS=$ac_check_lib_save_LIBS | 7360 | LIBS=$ac_check_lib_save_LIBS |
9565 | fi | 7361 | fi |
9566 | { echo "$as_me:$LINENO: result: $ac_cv_lib_sandbox_sandbox_apply" >&5 | 7362 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sandbox_sandbox_apply" >&5 |
9567 | echo "${ECHO_T}$ac_cv_lib_sandbox_sandbox_apply" >&6; } | 7363 | $as_echo "$ac_cv_lib_sandbox_sandbox_apply" >&6; } |
9568 | if test $ac_cv_lib_sandbox_sandbox_apply = yes; then | 7364 | if test "x$ac_cv_lib_sandbox_sandbox_apply" = xyes; then : |
9569 | 7365 | ||
9570 | SSHDLIBS="$SSHDLIBS -lsandbox" | 7366 | SSHDLIBS="$SSHDLIBS -lsandbox" |
9571 | 7367 | ||
@@ -9577,20 +7373,15 @@ fi | |||
9577 | TEST_MALLOC_OPTIONS="AFGJPRX" | 7373 | TEST_MALLOC_OPTIONS="AFGJPRX" |
9578 | ;; | 7374 | ;; |
9579 | *-*-haiku*) | 7375 | *-*-haiku*) |
9580 | LIBS="$LIBS -lbsd " | 7376 | LIBS="$LIBS -lbsd " |
9581 | 7377 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lnetwork" >&5 | |
9582 | { echo "$as_me:$LINENO: checking for socket in -lnetwork" >&5 | 7378 | $as_echo_n "checking for socket in -lnetwork... " >&6; } |
9583 | echo $ECHO_N "checking for socket in -lnetwork... $ECHO_C" >&6; } | 7379 | if ${ac_cv_lib_network_socket+:} false; then : |
9584 | if test "${ac_cv_lib_network_socket+set}" = set; then | 7380 | $as_echo_n "(cached) " >&6 |
9585 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
9586 | else | 7381 | else |
9587 | ac_check_lib_save_LIBS=$LIBS | 7382 | ac_check_lib_save_LIBS=$LIBS |
9588 | LIBS="-lnetwork $LIBS" | 7383 | LIBS="-lnetwork $LIBS" |
9589 | cat >conftest.$ac_ext <<_ACEOF | 7384 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
9590 | /* confdefs.h. */ | ||
9591 | _ACEOF | ||
9592 | cat confdefs.h >>conftest.$ac_ext | ||
9593 | cat >>conftest.$ac_ext <<_ACEOF | ||
9594 | /* end confdefs.h. */ | 7385 | /* end confdefs.h. */ |
9595 | 7386 | ||
9596 | /* Override any GCC internal prototype to avoid an error. | 7387 | /* Override any GCC internal prototype to avoid an error. |
@@ -9608,39 +7399,18 @@ return socket (); | |||
9608 | return 0; | 7399 | return 0; |
9609 | } | 7400 | } |
9610 | _ACEOF | 7401 | _ACEOF |
9611 | rm -f conftest.$ac_objext conftest$ac_exeext | 7402 | if ac_fn_c_try_link "$LINENO"; then : |
9612 | if { (ac_try="$ac_link" | ||
9613 | case "(($ac_try" in | ||
9614 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
9615 | *) ac_try_echo=$ac_try;; | ||
9616 | esac | ||
9617 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
9618 | (eval "$ac_link") 2>conftest.er1 | ||
9619 | ac_status=$? | ||
9620 | grep -v '^ *+' conftest.er1 >conftest.err | ||
9621 | rm -f conftest.er1 | ||
9622 | cat conftest.err >&5 | ||
9623 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9624 | (exit $ac_status); } && { | ||
9625 | test -z "$ac_c_werror_flag" || | ||
9626 | test ! -s conftest.err | ||
9627 | } && test -s conftest$ac_exeext && | ||
9628 | $as_test_x conftest$ac_exeext; then | ||
9629 | ac_cv_lib_network_socket=yes | 7403 | ac_cv_lib_network_socket=yes |
9630 | else | 7404 | else |
9631 | echo "$as_me: failed program was:" >&5 | 7405 | ac_cv_lib_network_socket=no |
9632 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
9633 | |||
9634 | ac_cv_lib_network_socket=no | ||
9635 | fi | 7406 | fi |
9636 | 7407 | rm -f core conftest.err conftest.$ac_objext \ | |
9637 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 7408 | conftest$ac_exeext conftest.$ac_ext |
9638 | conftest$ac_exeext conftest.$ac_ext | ||
9639 | LIBS=$ac_check_lib_save_LIBS | 7409 | LIBS=$ac_check_lib_save_LIBS |
9640 | fi | 7410 | fi |
9641 | { echo "$as_me:$LINENO: result: $ac_cv_lib_network_socket" >&5 | 7411 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_network_socket" >&5 |
9642 | echo "${ECHO_T}$ac_cv_lib_network_socket" >&6; } | 7412 | $as_echo "$ac_cv_lib_network_socket" >&6; } |
9643 | if test $ac_cv_lib_network_socket = yes; then | 7413 | if test "x$ac_cv_lib_network_socket" = xyes; then : |
9644 | cat >>confdefs.h <<_ACEOF | 7414 | cat >>confdefs.h <<_ACEOF |
9645 | #define HAVE_LIBNETWORK 1 | 7415 | #define HAVE_LIBNETWORK 1 |
9646 | _ACEOF | 7416 | _ACEOF |
@@ -9649,58 +7419,36 @@ _ACEOF | |||
9649 | 7419 | ||
9650 | fi | 7420 | fi |
9651 | 7421 | ||
9652 | cat >>confdefs.h <<\_ACEOF | 7422 | $as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h |
9653 | #define HAVE_U_INT64_T 1 | ||
9654 | _ACEOF | ||
9655 | 7423 | ||
9656 | MANTYPE=man | 7424 | MANTYPE=man |
9657 | ;; | 7425 | ;; |
9658 | *-*-hpux*) | 7426 | *-*-hpux*) |
9659 | # first we define all of the options common to all HP-UX releases | 7427 | # first we define all of the options common to all HP-UX releases |
9660 | CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1" | 7428 | CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1" |
9661 | IPADDR_IN_DISPLAY=yes | 7429 | IPADDR_IN_DISPLAY=yes |
9662 | cat >>confdefs.h <<\_ACEOF | 7430 | $as_echo "#define USE_PIPES 1" >>confdefs.h |
9663 | #define USE_PIPES 1 | ||
9664 | _ACEOF | ||
9665 | 7431 | ||
7432 | $as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h | ||
9666 | 7433 | ||
9667 | cat >>confdefs.h <<\_ACEOF | ||
9668 | #define LOGIN_NO_ENDOPT 1 | ||
9669 | _ACEOF | ||
9670 | 7434 | ||
9671 | cat >>confdefs.h <<\_ACEOF | 7435 | $as_echo "#define LOCKED_PASSWD_STRING \"*\"" >>confdefs.h |
9672 | #define LOGIN_NEEDS_UTMPX 1 | ||
9673 | _ACEOF | ||
9674 | 7436 | ||
7437 | $as_echo "#define SPT_TYPE SPT_PSTAT" >>confdefs.h | ||
9675 | 7438 | ||
9676 | cat >>confdefs.h <<\_ACEOF | ||
9677 | #define LOCKED_PASSWD_STRING "*" | ||
9678 | _ACEOF | ||
9679 | 7439 | ||
9680 | cat >>confdefs.h <<\_ACEOF | 7440 | $as_echo "#define PLATFORM_SYS_DIR_UID 2" >>confdefs.h |
9681 | #define SPT_TYPE SPT_PSTAT | ||
9682 | _ACEOF | ||
9683 | |||
9684 | |||
9685 | cat >>confdefs.h <<\_ACEOF | ||
9686 | #define PLATFORM_SYS_DIR_UID 2 | ||
9687 | _ACEOF | ||
9688 | 7441 | ||
9689 | maildir="/var/mail" | 7442 | maildir="/var/mail" |
9690 | LIBS="$LIBS -lsec" | 7443 | LIBS="$LIBS -lsec" |
9691 | 7444 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for t_error in -lxnet" >&5 | |
9692 | { echo "$as_me:$LINENO: checking for t_error in -lxnet" >&5 | 7445 | $as_echo_n "checking for t_error in -lxnet... " >&6; } |
9693 | echo $ECHO_N "checking for t_error in -lxnet... $ECHO_C" >&6; } | 7446 | if ${ac_cv_lib_xnet_t_error+:} false; then : |
9694 | if test "${ac_cv_lib_xnet_t_error+set}" = set; then | 7447 | $as_echo_n "(cached) " >&6 |
9695 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
9696 | else | 7448 | else |
9697 | ac_check_lib_save_LIBS=$LIBS | 7449 | ac_check_lib_save_LIBS=$LIBS |
9698 | LIBS="-lxnet $LIBS" | 7450 | LIBS="-lxnet $LIBS" |
9699 | cat >conftest.$ac_ext <<_ACEOF | 7451 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
9700 | /* confdefs.h. */ | ||
9701 | _ACEOF | ||
9702 | cat confdefs.h >>conftest.$ac_ext | ||
9703 | cat >>conftest.$ac_ext <<_ACEOF | ||
9704 | /* end confdefs.h. */ | 7452 | /* end confdefs.h. */ |
9705 | 7453 | ||
9706 | /* Override any GCC internal prototype to avoid an error. | 7454 | /* Override any GCC internal prototype to avoid an error. |
@@ -9718,39 +7466,18 @@ return t_error (); | |||
9718 | return 0; | 7466 | return 0; |
9719 | } | 7467 | } |
9720 | _ACEOF | 7468 | _ACEOF |
9721 | rm -f conftest.$ac_objext conftest$ac_exeext | 7469 | if ac_fn_c_try_link "$LINENO"; then : |
9722 | if { (ac_try="$ac_link" | ||
9723 | case "(($ac_try" in | ||
9724 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
9725 | *) ac_try_echo=$ac_try;; | ||
9726 | esac | ||
9727 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
9728 | (eval "$ac_link") 2>conftest.er1 | ||
9729 | ac_status=$? | ||
9730 | grep -v '^ *+' conftest.er1 >conftest.err | ||
9731 | rm -f conftest.er1 | ||
9732 | cat conftest.err >&5 | ||
9733 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9734 | (exit $ac_status); } && { | ||
9735 | test -z "$ac_c_werror_flag" || | ||
9736 | test ! -s conftest.err | ||
9737 | } && test -s conftest$ac_exeext && | ||
9738 | $as_test_x conftest$ac_exeext; then | ||
9739 | ac_cv_lib_xnet_t_error=yes | 7470 | ac_cv_lib_xnet_t_error=yes |
9740 | else | 7471 | else |
9741 | echo "$as_me: failed program was:" >&5 | 7472 | ac_cv_lib_xnet_t_error=no |
9742 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
9743 | |||
9744 | ac_cv_lib_xnet_t_error=no | ||
9745 | fi | 7473 | fi |
9746 | 7474 | rm -f core conftest.err conftest.$ac_objext \ | |
9747 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 7475 | conftest$ac_exeext conftest.$ac_ext |
9748 | conftest$ac_exeext conftest.$ac_ext | ||
9749 | LIBS=$ac_check_lib_save_LIBS | 7476 | LIBS=$ac_check_lib_save_LIBS |
9750 | fi | 7477 | fi |
9751 | { echo "$as_me:$LINENO: result: $ac_cv_lib_xnet_t_error" >&5 | 7478 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xnet_t_error" >&5 |
9752 | echo "${ECHO_T}$ac_cv_lib_xnet_t_error" >&6; } | 7479 | $as_echo "$ac_cv_lib_xnet_t_error" >&6; } |
9753 | if test $ac_cv_lib_xnet_t_error = yes; then | 7480 | if test "x$ac_cv_lib_xnet_t_error" = xyes; then : |
9754 | cat >>confdefs.h <<_ACEOF | 7481 | cat >>confdefs.h <<_ACEOF |
9755 | #define HAVE_LIBXNET 1 | 7482 | #define HAVE_LIBXNET 1 |
9756 | _ACEOF | 7483 | _ACEOF |
@@ -9758,9 +7485,7 @@ _ACEOF | |||
9758 | LIBS="-lxnet $LIBS" | 7485 | LIBS="-lxnet $LIBS" |
9759 | 7486 | ||
9760 | else | 7487 | else |
9761 | { { echo "$as_me:$LINENO: error: *** -lxnet needed on HP-UX - check config.log ***" >&5 | 7488 | as_fn_error $? "*** -lxnet needed on HP-UX - check config.log ***" "$LINENO" 5 |
9762 | echo "$as_me: error: *** -lxnet needed on HP-UX - check config.log ***" >&2;} | ||
9763 | { (exit 1); exit 1; }; } | ||
9764 | fi | 7489 | fi |
9765 | 7490 | ||
9766 | 7491 | ||
@@ -9773,19 +7498,13 @@ fi | |||
9773 | ;; | 7498 | ;; |
9774 | *-*-hpux11*) | 7499 | *-*-hpux11*) |
9775 | 7500 | ||
9776 | cat >>confdefs.h <<\_ACEOF | 7501 | $as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h |
9777 | #define PAM_SUN_CODEBASE 1 | ||
9778 | _ACEOF | ||
9779 | 7502 | ||
9780 | 7503 | ||
9781 | cat >>confdefs.h <<\_ACEOF | 7504 | $as_echo "#define DISABLE_UTMP 1" >>confdefs.h |
9782 | #define DISABLE_UTMP 1 | ||
9783 | _ACEOF | ||
9784 | 7505 | ||
9785 | 7506 | ||
9786 | cat >>confdefs.h <<\_ACEOF | 7507 | $as_echo "#define USE_BTMP 1" >>confdefs.h |
9787 | #define USE_BTMP 1 | ||
9788 | _ACEOF | ||
9789 | 7508 | ||
9790 | check_for_hpux_broken_getaddrinfo=1 | 7509 | check_for_hpux_broken_getaddrinfo=1 |
9791 | check_for_conflicting_getspnam=1 | 7510 | check_for_conflicting_getspnam=1 |
@@ -9796,9 +7515,7 @@ _ACEOF | |||
9796 | case "$host" in | 7515 | case "$host" in |
9797 | *-*-hpux10.26) | 7516 | *-*-hpux10.26) |
9798 | 7517 | ||
9799 | cat >>confdefs.h <<\_ACEOF | 7518 | $as_echo "#define HAVE_SECUREWARE 1" >>confdefs.h |
9800 | #define HAVE_SECUREWARE 1 | ||
9801 | _ACEOF | ||
9802 | 7519 | ||
9803 | disable_ptmx_check=yes | 7520 | disable_ptmx_check=yes |
9804 | LIBS="$LIBS -lsecpw" | 7521 | LIBS="$LIBS -lsecpw" |
@@ -9808,191 +7525,67 @@ _ACEOF | |||
9808 | *-*-irix5*) | 7525 | *-*-irix5*) |
9809 | PATH="$PATH:/usr/etc" | 7526 | PATH="$PATH:/usr/etc" |
9810 | 7527 | ||
9811 | cat >>confdefs.h <<\_ACEOF | 7528 | $as_echo "#define BROKEN_INET_NTOA 1" >>confdefs.h |
9812 | #define BROKEN_INET_NTOA 1 | ||
9813 | _ACEOF | ||
9814 | 7529 | ||
9815 | cat >>confdefs.h <<\_ACEOF | 7530 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
9816 | #define SETEUID_BREAKS_SETUID 1 | ||
9817 | _ACEOF | ||
9818 | 7531 | ||
9819 | cat >>confdefs.h <<\_ACEOF | 7532 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
9820 | #define BROKEN_SETREUID 1 | ||
9821 | _ACEOF | ||
9822 | 7533 | ||
9823 | cat >>confdefs.h <<\_ACEOF | 7534 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
9824 | #define BROKEN_SETREGID 1 | ||
9825 | _ACEOF | ||
9826 | 7535 | ||
9827 | 7536 | ||
9828 | cat >>confdefs.h <<\_ACEOF | 7537 | $as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h |
9829 | #define WITH_ABBREV_NO_TTY 1 | ||
9830 | _ACEOF | ||
9831 | 7538 | ||
9832 | cat >>confdefs.h <<\_ACEOF | 7539 | $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h |
9833 | #define LOCKED_PASSWD_STRING "*LK*" | ||
9834 | _ACEOF | ||
9835 | 7540 | ||
9836 | ;; | 7541 | ;; |
9837 | *-*-irix6*) | 7542 | *-*-irix6*) |
9838 | PATH="$PATH:/usr/etc" | 7543 | PATH="$PATH:/usr/etc" |
9839 | 7544 | ||
9840 | cat >>confdefs.h <<\_ACEOF | 7545 | $as_echo "#define WITH_IRIX_ARRAY 1" >>confdefs.h |
9841 | #define WITH_IRIX_ARRAY 1 | ||
9842 | _ACEOF | ||
9843 | |||
9844 | 7546 | ||
9845 | cat >>confdefs.h <<\_ACEOF | ||
9846 | #define WITH_IRIX_PROJECT 1 | ||
9847 | _ACEOF | ||
9848 | |||
9849 | |||
9850 | cat >>confdefs.h <<\_ACEOF | ||
9851 | #define WITH_IRIX_AUDIT 1 | ||
9852 | _ACEOF | ||
9853 | |||
9854 | { echo "$as_me:$LINENO: checking for jlimit_startjob" >&5 | ||
9855 | echo $ECHO_N "checking for jlimit_startjob... $ECHO_C" >&6; } | ||
9856 | if test "${ac_cv_func_jlimit_startjob+set}" = set; then | ||
9857 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
9858 | else | ||
9859 | cat >conftest.$ac_ext <<_ACEOF | ||
9860 | /* confdefs.h. */ | ||
9861 | _ACEOF | ||
9862 | cat confdefs.h >>conftest.$ac_ext | ||
9863 | cat >>conftest.$ac_ext <<_ACEOF | ||
9864 | /* end confdefs.h. */ | ||
9865 | /* Define jlimit_startjob to an innocuous variant, in case <limits.h> declares jlimit_startjob. | ||
9866 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
9867 | #define jlimit_startjob innocuous_jlimit_startjob | ||
9868 | |||
9869 | /* System header to define __stub macros and hopefully few prototypes, | ||
9870 | which can conflict with char jlimit_startjob (); below. | ||
9871 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
9872 | <limits.h> exists even on freestanding compilers. */ | ||
9873 | 7547 | ||
9874 | #ifdef __STDC__ | 7548 | $as_echo "#define WITH_IRIX_PROJECT 1" >>confdefs.h |
9875 | # include <limits.h> | ||
9876 | #else | ||
9877 | # include <assert.h> | ||
9878 | #endif | ||
9879 | |||
9880 | #undef jlimit_startjob | ||
9881 | |||
9882 | /* Override any GCC internal prototype to avoid an error. | ||
9883 | Use char because int might match the return type of a GCC | ||
9884 | builtin and then its argument prototype would still apply. */ | ||
9885 | #ifdef __cplusplus | ||
9886 | extern "C" | ||
9887 | #endif | ||
9888 | char jlimit_startjob (); | ||
9889 | /* The GNU C library defines this for functions which it implements | ||
9890 | to always fail with ENOSYS. Some functions are actually named | ||
9891 | something starting with __ and the normal name is an alias. */ | ||
9892 | #if defined __stub_jlimit_startjob || defined __stub___jlimit_startjob | ||
9893 | choke me | ||
9894 | #endif | ||
9895 | 7549 | ||
9896 | int | ||
9897 | main () | ||
9898 | { | ||
9899 | return jlimit_startjob (); | ||
9900 | ; | ||
9901 | return 0; | ||
9902 | } | ||
9903 | _ACEOF | ||
9904 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
9905 | if { (ac_try="$ac_link" | ||
9906 | case "(($ac_try" in | ||
9907 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
9908 | *) ac_try_echo=$ac_try;; | ||
9909 | esac | ||
9910 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
9911 | (eval "$ac_link") 2>conftest.er1 | ||
9912 | ac_status=$? | ||
9913 | grep -v '^ *+' conftest.er1 >conftest.err | ||
9914 | rm -f conftest.er1 | ||
9915 | cat conftest.err >&5 | ||
9916 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9917 | (exit $ac_status); } && { | ||
9918 | test -z "$ac_c_werror_flag" || | ||
9919 | test ! -s conftest.err | ||
9920 | } && test -s conftest$ac_exeext && | ||
9921 | $as_test_x conftest$ac_exeext; then | ||
9922 | ac_cv_func_jlimit_startjob=yes | ||
9923 | else | ||
9924 | echo "$as_me: failed program was:" >&5 | ||
9925 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
9926 | 7550 | ||
9927 | ac_cv_func_jlimit_startjob=no | 7551 | $as_echo "#define WITH_IRIX_AUDIT 1" >>confdefs.h |
9928 | fi | ||
9929 | 7552 | ||
9930 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 7553 | ac_fn_c_check_func "$LINENO" "jlimit_startjob" "ac_cv_func_jlimit_startjob" |
9931 | conftest$ac_exeext conftest.$ac_ext | 7554 | if test "x$ac_cv_func_jlimit_startjob" = xyes; then : |
9932 | fi | ||
9933 | { echo "$as_me:$LINENO: result: $ac_cv_func_jlimit_startjob" >&5 | ||
9934 | echo "${ECHO_T}$ac_cv_func_jlimit_startjob" >&6; } | ||
9935 | if test $ac_cv_func_jlimit_startjob = yes; then | ||
9936 | 7555 | ||
9937 | cat >>confdefs.h <<\_ACEOF | 7556 | $as_echo "#define WITH_IRIX_JOBS 1" >>confdefs.h |
9938 | #define WITH_IRIX_JOBS 1 | ||
9939 | _ACEOF | ||
9940 | 7557 | ||
9941 | fi | 7558 | fi |
9942 | 7559 | ||
9943 | cat >>confdefs.h <<\_ACEOF | 7560 | $as_echo "#define BROKEN_INET_NTOA 1" >>confdefs.h |
9944 | #define BROKEN_INET_NTOA 1 | ||
9945 | _ACEOF | ||
9946 | 7561 | ||
9947 | cat >>confdefs.h <<\_ACEOF | 7562 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
9948 | #define SETEUID_BREAKS_SETUID 1 | ||
9949 | _ACEOF | ||
9950 | 7563 | ||
9951 | cat >>confdefs.h <<\_ACEOF | 7564 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
9952 | #define BROKEN_SETREUID 1 | ||
9953 | _ACEOF | ||
9954 | 7565 | ||
9955 | cat >>confdefs.h <<\_ACEOF | 7566 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
9956 | #define BROKEN_SETREGID 1 | ||
9957 | _ACEOF | ||
9958 | 7567 | ||
9959 | 7568 | ||
9960 | cat >>confdefs.h <<\_ACEOF | 7569 | $as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h |
9961 | #define BROKEN_UPDWTMPX 1 | ||
9962 | _ACEOF | ||
9963 | 7570 | ||
9964 | cat >>confdefs.h <<\_ACEOF | 7571 | $as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h |
9965 | #define WITH_ABBREV_NO_TTY 1 | ||
9966 | _ACEOF | ||
9967 | 7572 | ||
9968 | cat >>confdefs.h <<\_ACEOF | 7573 | $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h |
9969 | #define LOCKED_PASSWD_STRING "*LK*" | ||
9970 | _ACEOF | ||
9971 | 7574 | ||
9972 | ;; | 7575 | ;; |
9973 | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu) | 7576 | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu) |
9974 | check_for_libcrypt_later=1 | 7577 | check_for_libcrypt_later=1 |
9975 | cat >>confdefs.h <<\_ACEOF | 7578 | $as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h |
9976 | #define PAM_TTY_KLUDGE 1 | ||
9977 | _ACEOF | ||
9978 | 7579 | ||
9979 | cat >>confdefs.h <<\_ACEOF | 7580 | $as_echo "#define LOCKED_PASSWD_PREFIX \"!\"" >>confdefs.h |
9980 | #define LOCKED_PASSWD_PREFIX "!" | ||
9981 | _ACEOF | ||
9982 | 7581 | ||
9983 | cat >>confdefs.h <<\_ACEOF | 7582 | $as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h |
9984 | #define SPT_TYPE SPT_REUSEARGV | ||
9985 | _ACEOF | ||
9986 | 7583 | ||
9987 | 7584 | ||
9988 | cat >>confdefs.h <<\_ACEOF | 7585 | $as_echo "#define _PATH_BTMP \"/var/log/btmp\"" >>confdefs.h |
9989 | #define _PATH_BTMP "/var/log/btmp" | ||
9990 | _ACEOF | ||
9991 | 7586 | ||
9992 | 7587 | ||
9993 | cat >>confdefs.h <<\_ACEOF | 7588 | $as_echo "#define USE_BTMP 1" >>confdefs.h |
9994 | #define USE_BTMP 1 | ||
9995 | _ACEOF | ||
9996 | 7589 | ||
9997 | ;; | 7590 | ;; |
9998 | *-*-linux*) | 7591 | *-*-linux*) |
@@ -10001,188 +7594,39 @@ _ACEOF | |||
10001 | check_for_libcrypt_later=1 | 7594 | check_for_libcrypt_later=1 |
10002 | check_for_openpty_ctty_bug=1 | 7595 | check_for_openpty_ctty_bug=1 |
10003 | 7596 | ||
10004 | cat >>confdefs.h <<\_ACEOF | 7597 | $as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h |
10005 | #define PAM_TTY_KLUDGE 1 | ||
10006 | _ACEOF | ||
10007 | 7598 | ||
10008 | 7599 | ||
10009 | cat >>confdefs.h <<\_ACEOF | 7600 | $as_echo "#define LOCKED_PASSWD_PREFIX \"!\"" >>confdefs.h |
10010 | #define LOCKED_PASSWD_PREFIX "!" | ||
10011 | _ACEOF | ||
10012 | 7601 | ||
10013 | cat >>confdefs.h <<\_ACEOF | 7602 | $as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h |
10014 | #define SPT_TYPE SPT_REUSEARGV | ||
10015 | _ACEOF | ||
10016 | 7603 | ||
10017 | 7604 | ||
10018 | cat >>confdefs.h <<\_ACEOF | 7605 | $as_echo "#define LINK_OPNOTSUPP_ERRNO EPERM" >>confdefs.h |
10019 | #define LINK_OPNOTSUPP_ERRNO EPERM | ||
10020 | _ACEOF | ||
10021 | 7606 | ||
10022 | 7607 | ||
10023 | cat >>confdefs.h <<\_ACEOF | 7608 | $as_echo "#define _PATH_BTMP \"/var/log/btmp\"" >>confdefs.h |
10024 | #define _PATH_BTMP "/var/log/btmp" | ||
10025 | _ACEOF | ||
10026 | 7609 | ||
10027 | cat >>confdefs.h <<\_ACEOF | 7610 | $as_echo "#define USE_BTMP 1" >>confdefs.h |
10028 | #define USE_BTMP 1 | ||
10029 | _ACEOF | ||
10030 | 7611 | ||
10031 | 7612 | ||
10032 | cat >>confdefs.h <<\_ACEOF | 7613 | $as_echo "#define LINUX_OOM_ADJUST 1" >>confdefs.h |
10033 | #define LINUX_OOM_ADJUST 1 | ||
10034 | _ACEOF | ||
10035 | 7614 | ||
10036 | inet6_default_4in6=yes | 7615 | inet6_default_4in6=yes |
10037 | case `uname -r` in | 7616 | case `uname -r` in |
10038 | 1.*|2.0.*) | 7617 | 1.*|2.0.*) |
10039 | 7618 | ||
10040 | cat >>confdefs.h <<\_ACEOF | 7619 | $as_echo "#define BROKEN_CMSG_TYPE 1" >>confdefs.h |
10041 | #define BROKEN_CMSG_TYPE 1 | ||
10042 | _ACEOF | ||
10043 | 7620 | ||
10044 | ;; | 7621 | ;; |
10045 | esac | 7622 | esac |
10046 | # tun(4) forwarding compat code | 7623 | # tun(4) forwarding compat code |
10047 | 7624 | for ac_header in linux/if_tun.h | |
10048 | for ac_header in linux/if_tun.h | 7625 | do : |
10049 | do | 7626 | ac_fn_c_check_header_mongrel "$LINENO" "linux/if_tun.h" "ac_cv_header_linux_if_tun_h" "$ac_includes_default" |
10050 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 7627 | if test "x$ac_cv_header_linux_if_tun_h" = xyes; then : |
10051 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
10052 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
10053 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
10054 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
10055 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
10056 | fi | ||
10057 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
10058 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
10059 | echo "${ECHO_T}$ac_res" >&6; } | ||
10060 | else | ||
10061 | # Is the header compilable? | ||
10062 | { echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
10063 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } | ||
10064 | cat >conftest.$ac_ext <<_ACEOF | ||
10065 | /* confdefs.h. */ | ||
10066 | _ACEOF | ||
10067 | cat confdefs.h >>conftest.$ac_ext | ||
10068 | cat >>conftest.$ac_ext <<_ACEOF | ||
10069 | /* end confdefs.h. */ | ||
10070 | $ac_includes_default | ||
10071 | #include <$ac_header> | ||
10072 | _ACEOF | ||
10073 | rm -f conftest.$ac_objext | ||
10074 | if { (ac_try="$ac_compile" | ||
10075 | case "(($ac_try" in | ||
10076 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
10077 | *) ac_try_echo=$ac_try;; | ||
10078 | esac | ||
10079 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
10080 | (eval "$ac_compile") 2>conftest.er1 | ||
10081 | ac_status=$? | ||
10082 | grep -v '^ *+' conftest.er1 >conftest.err | ||
10083 | rm -f conftest.er1 | ||
10084 | cat conftest.err >&5 | ||
10085 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
10086 | (exit $ac_status); } && { | ||
10087 | test -z "$ac_c_werror_flag" || | ||
10088 | test ! -s conftest.err | ||
10089 | } && test -s conftest.$ac_objext; then | ||
10090 | ac_header_compiler=yes | ||
10091 | else | ||
10092 | echo "$as_me: failed program was:" >&5 | ||
10093 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
10094 | |||
10095 | ac_header_compiler=no | ||
10096 | fi | ||
10097 | |||
10098 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
10099 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
10100 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
10101 | |||
10102 | # Is the header present? | ||
10103 | { echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
10104 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } | ||
10105 | cat >conftest.$ac_ext <<_ACEOF | ||
10106 | /* confdefs.h. */ | ||
10107 | _ACEOF | ||
10108 | cat confdefs.h >>conftest.$ac_ext | ||
10109 | cat >>conftest.$ac_ext <<_ACEOF | ||
10110 | /* end confdefs.h. */ | ||
10111 | #include <$ac_header> | ||
10112 | _ACEOF | ||
10113 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
10114 | case "(($ac_try" in | ||
10115 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
10116 | *) ac_try_echo=$ac_try;; | ||
10117 | esac | ||
10118 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
10119 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
10120 | ac_status=$? | ||
10121 | grep -v '^ *+' conftest.er1 >conftest.err | ||
10122 | rm -f conftest.er1 | ||
10123 | cat conftest.err >&5 | ||
10124 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
10125 | (exit $ac_status); } >/dev/null && { | ||
10126 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
10127 | test ! -s conftest.err | ||
10128 | }; then | ||
10129 | ac_header_preproc=yes | ||
10130 | else | ||
10131 | echo "$as_me: failed program was:" >&5 | ||
10132 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
10133 | |||
10134 | ac_header_preproc=no | ||
10135 | fi | ||
10136 | |||
10137 | rm -f conftest.err conftest.$ac_ext | ||
10138 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
10139 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
10140 | |||
10141 | # So? What about this header? | ||
10142 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
10143 | yes:no: ) | ||
10144 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
10145 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
10146 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
10147 | echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
10148 | ac_header_preproc=yes | ||
10149 | ;; | ||
10150 | no:yes:* ) | ||
10151 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
10152 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
10153 | { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
10154 | echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
10155 | { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
10156 | echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
10157 | { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
10158 | echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
10159 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
10160 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
10161 | { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
10162 | echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
10163 | ( cat <<\_ASBOX | ||
10164 | ## ------------------------------------------- ## | ||
10165 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
10166 | ## ------------------------------------------- ## | ||
10167 | _ASBOX | ||
10168 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
10169 | ;; | ||
10170 | esac | ||
10171 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
10172 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
10173 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
10174 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
10175 | else | ||
10176 | eval "$as_ac_Header=\$ac_header_preproc" | ||
10177 | fi | ||
10178 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
10179 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
10180 | echo "${ECHO_T}$ac_res" >&6; } | ||
10181 | |||
10182 | fi | ||
10183 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
10184 | cat >>confdefs.h <<_ACEOF | 7628 | cat >>confdefs.h <<_ACEOF |
10185 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 7629 | #define HAVE_LINUX_IF_TUN_H 1 |
10186 | _ACEOF | 7630 | _ACEOF |
10187 | 7631 | ||
10188 | fi | 7632 | fi |
@@ -10191,177 +7635,31 @@ done | |||
10191 | 7635 | ||
10192 | if test "x$ac_cv_header_linux_if_tun_h" = "xyes" ; then | 7636 | if test "x$ac_cv_header_linux_if_tun_h" = "xyes" ; then |
10193 | 7637 | ||
10194 | cat >>confdefs.h <<\_ACEOF | 7638 | $as_echo "#define SSH_TUN_LINUX 1" >>confdefs.h |
10195 | #define SSH_TUN_LINUX 1 | ||
10196 | _ACEOF | ||
10197 | 7639 | ||
10198 | 7640 | ||
10199 | cat >>confdefs.h <<\_ACEOF | 7641 | $as_echo "#define SSH_TUN_COMPAT_AF 1" >>confdefs.h |
10200 | #define SSH_TUN_COMPAT_AF 1 | ||
10201 | _ACEOF | ||
10202 | 7642 | ||
10203 | 7643 | ||
10204 | cat >>confdefs.h <<\_ACEOF | 7644 | $as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h |
10205 | #define SSH_TUN_PREPEND_AF 1 | ||
10206 | _ACEOF | ||
10207 | 7645 | ||
10208 | fi | 7646 | fi |
10209 | 7647 | for ac_header in linux/seccomp.h linux/filter.h linux/audit.h | |
10210 | 7648 | do : | |
10211 | 7649 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | |
10212 | for ac_header in linux/seccomp.h linux/filter.h linux/audit.h | 7650 | ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include <linux/types.h> |
10213 | do | 7651 | " |
10214 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 7652 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
10215 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
10216 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
10217 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
10218 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
10219 | else | ||
10220 | cat >conftest.$ac_ext <<_ACEOF | ||
10221 | /* confdefs.h. */ | ||
10222 | _ACEOF | ||
10223 | cat confdefs.h >>conftest.$ac_ext | ||
10224 | cat >>conftest.$ac_ext <<_ACEOF | ||
10225 | /* end confdefs.h. */ | ||
10226 | #include <linux/types.h> | ||
10227 | |||
10228 | #include <$ac_header> | ||
10229 | _ACEOF | ||
10230 | rm -f conftest.$ac_objext | ||
10231 | if { (ac_try="$ac_compile" | ||
10232 | case "(($ac_try" in | ||
10233 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
10234 | *) ac_try_echo=$ac_try;; | ||
10235 | esac | ||
10236 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
10237 | (eval "$ac_compile") 2>conftest.er1 | ||
10238 | ac_status=$? | ||
10239 | grep -v '^ *+' conftest.er1 >conftest.err | ||
10240 | rm -f conftest.er1 | ||
10241 | cat conftest.err >&5 | ||
10242 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
10243 | (exit $ac_status); } && { | ||
10244 | test -z "$ac_c_werror_flag" || | ||
10245 | test ! -s conftest.err | ||
10246 | } && test -s conftest.$ac_objext; then | ||
10247 | eval "$as_ac_Header=yes" | ||
10248 | else | ||
10249 | echo "$as_me: failed program was:" >&5 | ||
10250 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
10251 | |||
10252 | eval "$as_ac_Header=no" | ||
10253 | fi | ||
10254 | |||
10255 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
10256 | fi | ||
10257 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
10258 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
10259 | echo "${ECHO_T}$ac_res" >&6; } | ||
10260 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
10261 | cat >>confdefs.h <<_ACEOF | 7653 | cat >>confdefs.h <<_ACEOF |
10262 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 7654 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
10263 | _ACEOF | 7655 | _ACEOF |
10264 | 7656 | ||
10265 | fi | 7657 | fi |
10266 | 7658 | ||
10267 | done | 7659 | done |
10268 | 7660 | ||
10269 | 7661 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for seccomp architecture" >&5 | |
10270 | for ac_func in prctl | 7662 | $as_echo_n "checking for seccomp architecture... " >&6; } |
10271 | do | ||
10272 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
10273 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
10274 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
10275 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
10276 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
10277 | else | ||
10278 | cat >conftest.$ac_ext <<_ACEOF | ||
10279 | /* confdefs.h. */ | ||
10280 | _ACEOF | ||
10281 | cat confdefs.h >>conftest.$ac_ext | ||
10282 | cat >>conftest.$ac_ext <<_ACEOF | ||
10283 | /* end confdefs.h. */ | ||
10284 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
10285 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
10286 | #define $ac_func innocuous_$ac_func | ||
10287 | |||
10288 | /* System header to define __stub macros and hopefully few prototypes, | ||
10289 | which can conflict with char $ac_func (); below. | ||
10290 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
10291 | <limits.h> exists even on freestanding compilers. */ | ||
10292 | |||
10293 | #ifdef __STDC__ | ||
10294 | # include <limits.h> | ||
10295 | #else | ||
10296 | # include <assert.h> | ||
10297 | #endif | ||
10298 | |||
10299 | #undef $ac_func | ||
10300 | |||
10301 | /* Override any GCC internal prototype to avoid an error. | ||
10302 | Use char because int might match the return type of a GCC | ||
10303 | builtin and then its argument prototype would still apply. */ | ||
10304 | #ifdef __cplusplus | ||
10305 | extern "C" | ||
10306 | #endif | ||
10307 | char $ac_func (); | ||
10308 | /* The GNU C library defines this for functions which it implements | ||
10309 | to always fail with ENOSYS. Some functions are actually named | ||
10310 | something starting with __ and the normal name is an alias. */ | ||
10311 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
10312 | choke me | ||
10313 | #endif | ||
10314 | |||
10315 | int | ||
10316 | main () | ||
10317 | { | ||
10318 | return $ac_func (); | ||
10319 | ; | ||
10320 | return 0; | ||
10321 | } | ||
10322 | _ACEOF | ||
10323 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
10324 | if { (ac_try="$ac_link" | ||
10325 | case "(($ac_try" in | ||
10326 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
10327 | *) ac_try_echo=$ac_try;; | ||
10328 | esac | ||
10329 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
10330 | (eval "$ac_link") 2>conftest.er1 | ||
10331 | ac_status=$? | ||
10332 | grep -v '^ *+' conftest.er1 >conftest.err | ||
10333 | rm -f conftest.er1 | ||
10334 | cat conftest.err >&5 | ||
10335 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
10336 | (exit $ac_status); } && { | ||
10337 | test -z "$ac_c_werror_flag" || | ||
10338 | test ! -s conftest.err | ||
10339 | } && test -s conftest$ac_exeext && | ||
10340 | $as_test_x conftest$ac_exeext; then | ||
10341 | eval "$as_ac_var=yes" | ||
10342 | else | ||
10343 | echo "$as_me: failed program was:" >&5 | ||
10344 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
10345 | |||
10346 | eval "$as_ac_var=no" | ||
10347 | fi | ||
10348 | |||
10349 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
10350 | conftest$ac_exeext conftest.$ac_ext | ||
10351 | fi | ||
10352 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
10353 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
10354 | echo "${ECHO_T}$ac_res" >&6; } | ||
10355 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
10356 | cat >>confdefs.h <<_ACEOF | ||
10357 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | ||
10358 | _ACEOF | ||
10359 | |||
10360 | fi | ||
10361 | done | ||
10362 | |||
10363 | { echo "$as_me:$LINENO: checking for seccomp architecture" >&5 | ||
10364 | echo $ECHO_N "checking for seccomp architecture... $ECHO_C" >&6; } | ||
10365 | seccomp_audit_arch= | 7663 | seccomp_audit_arch= |
10366 | case "$host" in | 7664 | case "$host" in |
10367 | x86_64-*) | 7665 | x86_64-*) |
@@ -10402,23 +7700,21 @@ echo $ECHO_N "checking for seccomp architecture... $ECHO_C" >&6; } | |||
10402 | ;; | 7700 | ;; |
10403 | esac | 7701 | esac |
10404 | if test "x$seccomp_audit_arch" != "x" ; then | 7702 | if test "x$seccomp_audit_arch" != "x" ; then |
10405 | { echo "$as_me:$LINENO: result: \"$seccomp_audit_arch\"" >&5 | 7703 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$seccomp_audit_arch\"" >&5 |
10406 | echo "${ECHO_T}\"$seccomp_audit_arch\"" >&6; } | 7704 | $as_echo "\"$seccomp_audit_arch\"" >&6; } |
10407 | 7705 | ||
10408 | cat >>confdefs.h <<_ACEOF | 7706 | cat >>confdefs.h <<_ACEOF |
10409 | #define SECCOMP_AUDIT_ARCH $seccomp_audit_arch | 7707 | #define SECCOMP_AUDIT_ARCH $seccomp_audit_arch |
10410 | _ACEOF | 7708 | _ACEOF |
10411 | 7709 | ||
10412 | else | 7710 | else |
10413 | { echo "$as_me:$LINENO: result: architecture not supported" >&5 | 7711 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: architecture not supported" >&5 |
10414 | echo "${ECHO_T}architecture not supported" >&6; } | 7712 | $as_echo "architecture not supported" >&6; } |
10415 | fi | 7713 | fi |
10416 | ;; | 7714 | ;; |
10417 | mips-sony-bsd|mips-sony-newsos4) | 7715 | mips-sony-bsd|mips-sony-newsos4) |
10418 | 7716 | ||
10419 | cat >>confdefs.h <<\_ACEOF | 7717 | $as_echo "#define NEED_SETPGRP 1" >>confdefs.h |
10420 | #define NEED_SETPGRP 1 | ||
10421 | _ACEOF | ||
10422 | 7718 | ||
10423 | SONY=1 | 7719 | SONY=1 |
10424 | ;; | 7720 | ;; |
@@ -10429,352 +7725,60 @@ _ACEOF | |||
10429 | fi | 7725 | fi |
10430 | CPPFLAGS="$CPPFLAGS -D_OPENBSD_SOURCE" | 7726 | CPPFLAGS="$CPPFLAGS -D_OPENBSD_SOURCE" |
10431 | 7727 | ||
10432 | cat >>confdefs.h <<\_ACEOF | 7728 | $as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h |
10433 | #define SSH_TUN_FREEBSD 1 | ||
10434 | _ACEOF | ||
10435 | |||
10436 | if test "${ac_cv_header_net_if_tap_h+set}" = set; then | ||
10437 | { echo "$as_me:$LINENO: checking for net/if_tap.h" >&5 | ||
10438 | echo $ECHO_N "checking for net/if_tap.h... $ECHO_C" >&6; } | ||
10439 | if test "${ac_cv_header_net_if_tap_h+set}" = set; then | ||
10440 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
10441 | fi | ||
10442 | { echo "$as_me:$LINENO: result: $ac_cv_header_net_if_tap_h" >&5 | ||
10443 | echo "${ECHO_T}$ac_cv_header_net_if_tap_h" >&6; } | ||
10444 | else | ||
10445 | # Is the header compilable? | ||
10446 | { echo "$as_me:$LINENO: checking net/if_tap.h usability" >&5 | ||
10447 | echo $ECHO_N "checking net/if_tap.h usability... $ECHO_C" >&6; } | ||
10448 | cat >conftest.$ac_ext <<_ACEOF | ||
10449 | /* confdefs.h. */ | ||
10450 | _ACEOF | ||
10451 | cat confdefs.h >>conftest.$ac_ext | ||
10452 | cat >>conftest.$ac_ext <<_ACEOF | ||
10453 | /* end confdefs.h. */ | ||
10454 | $ac_includes_default | ||
10455 | #include <net/if_tap.h> | ||
10456 | _ACEOF | ||
10457 | rm -f conftest.$ac_objext | ||
10458 | if { (ac_try="$ac_compile" | ||
10459 | case "(($ac_try" in | ||
10460 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
10461 | *) ac_try_echo=$ac_try;; | ||
10462 | esac | ||
10463 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
10464 | (eval "$ac_compile") 2>conftest.er1 | ||
10465 | ac_status=$? | ||
10466 | grep -v '^ *+' conftest.er1 >conftest.err | ||
10467 | rm -f conftest.er1 | ||
10468 | cat conftest.err >&5 | ||
10469 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
10470 | (exit $ac_status); } && { | ||
10471 | test -z "$ac_c_werror_flag" || | ||
10472 | test ! -s conftest.err | ||
10473 | } && test -s conftest.$ac_objext; then | ||
10474 | ac_header_compiler=yes | ||
10475 | else | ||
10476 | echo "$as_me: failed program was:" >&5 | ||
10477 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
10478 | |||
10479 | ac_header_compiler=no | ||
10480 | fi | ||
10481 | |||
10482 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
10483 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
10484 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
10485 | |||
10486 | # Is the header present? | ||
10487 | { echo "$as_me:$LINENO: checking net/if_tap.h presence" >&5 | ||
10488 | echo $ECHO_N "checking net/if_tap.h presence... $ECHO_C" >&6; } | ||
10489 | cat >conftest.$ac_ext <<_ACEOF | ||
10490 | /* confdefs.h. */ | ||
10491 | _ACEOF | ||
10492 | cat confdefs.h >>conftest.$ac_ext | ||
10493 | cat >>conftest.$ac_ext <<_ACEOF | ||
10494 | /* end confdefs.h. */ | ||
10495 | #include <net/if_tap.h> | ||
10496 | _ACEOF | ||
10497 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
10498 | case "(($ac_try" in | ||
10499 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
10500 | *) ac_try_echo=$ac_try;; | ||
10501 | esac | ||
10502 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
10503 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
10504 | ac_status=$? | ||
10505 | grep -v '^ *+' conftest.er1 >conftest.err | ||
10506 | rm -f conftest.er1 | ||
10507 | cat conftest.err >&5 | ||
10508 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
10509 | (exit $ac_status); } >/dev/null && { | ||
10510 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
10511 | test ! -s conftest.err | ||
10512 | }; then | ||
10513 | ac_header_preproc=yes | ||
10514 | else | ||
10515 | echo "$as_me: failed program was:" >&5 | ||
10516 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
10517 | |||
10518 | ac_header_preproc=no | ||
10519 | fi | ||
10520 | |||
10521 | rm -f conftest.err conftest.$ac_ext | ||
10522 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
10523 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
10524 | 7729 | ||
10525 | # So? What about this header? | 7730 | ac_fn_c_check_header_mongrel "$LINENO" "net/if_tap.h" "ac_cv_header_net_if_tap_h" "$ac_includes_default" |
10526 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | 7731 | if test "x$ac_cv_header_net_if_tap_h" = xyes; then : |
10527 | yes:no: ) | ||
10528 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
10529 | echo "$as_me: WARNING: net/if_tap.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
10530 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: proceeding with the compiler's result" >&5 | ||
10531 | echo "$as_me: WARNING: net/if_tap.h: proceeding with the compiler's result" >&2;} | ||
10532 | ac_header_preproc=yes | ||
10533 | ;; | ||
10534 | no:yes:* ) | ||
10535 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: present but cannot be compiled" >&5 | ||
10536 | echo "$as_me: WARNING: net/if_tap.h: present but cannot be compiled" >&2;} | ||
10537 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: check for missing prerequisite headers?" >&5 | ||
10538 | echo "$as_me: WARNING: net/if_tap.h: check for missing prerequisite headers?" >&2;} | ||
10539 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: see the Autoconf documentation" >&5 | ||
10540 | echo "$as_me: WARNING: net/if_tap.h: see the Autoconf documentation" >&2;} | ||
10541 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: section \"Present But Cannot Be Compiled\"" >&5 | ||
10542 | echo "$as_me: WARNING: net/if_tap.h: section \"Present But Cannot Be Compiled\"" >&2;} | ||
10543 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: proceeding with the preprocessor's result" >&5 | ||
10544 | echo "$as_me: WARNING: net/if_tap.h: proceeding with the preprocessor's result" >&2;} | ||
10545 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: in the future, the compiler will take precedence" >&5 | ||
10546 | echo "$as_me: WARNING: net/if_tap.h: in the future, the compiler will take precedence" >&2;} | ||
10547 | ( cat <<\_ASBOX | ||
10548 | ## ------------------------------------------- ## | ||
10549 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
10550 | ## ------------------------------------------- ## | ||
10551 | _ASBOX | ||
10552 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
10553 | ;; | ||
10554 | esac | ||
10555 | { echo "$as_me:$LINENO: checking for net/if_tap.h" >&5 | ||
10556 | echo $ECHO_N "checking for net/if_tap.h... $ECHO_C" >&6; } | ||
10557 | if test "${ac_cv_header_net_if_tap_h+set}" = set; then | ||
10558 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
10559 | else | ||
10560 | ac_cv_header_net_if_tap_h=$ac_header_preproc | ||
10561 | fi | ||
10562 | { echo "$as_me:$LINENO: result: $ac_cv_header_net_if_tap_h" >&5 | ||
10563 | echo "${ECHO_T}$ac_cv_header_net_if_tap_h" >&6; } | ||
10564 | 7732 | ||
10565 | fi | ||
10566 | if test $ac_cv_header_net_if_tap_h = yes; then | ||
10567 | : | ||
10568 | else | 7733 | else |
10569 | 7734 | ||
10570 | cat >>confdefs.h <<\_ACEOF | 7735 | $as_echo "#define SSH_TUN_NO_L2 1" >>confdefs.h |
10571 | #define SSH_TUN_NO_L2 1 | ||
10572 | _ACEOF | ||
10573 | 7736 | ||
10574 | fi | 7737 | fi |
10575 | 7738 | ||
10576 | 7739 | ||
10577 | 7740 | ||
10578 | cat >>confdefs.h <<\_ACEOF | 7741 | $as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h |
10579 | #define SSH_TUN_PREPEND_AF 1 | ||
10580 | _ACEOF | ||
10581 | 7742 | ||
10582 | TEST_MALLOC_OPTIONS="AJRX" | 7743 | TEST_MALLOC_OPTIONS="AJRX" |
10583 | 7744 | ||
10584 | cat >>confdefs.h <<\_ACEOF | 7745 | $as_echo "#define BROKEN_READ_COMPARISON 1" >>confdefs.h |
10585 | #define BROKEN_STRNVIS 1 | ||
10586 | _ACEOF | ||
10587 | |||
10588 | |||
10589 | cat >>confdefs.h <<\_ACEOF | ||
10590 | #define BROKEN_READ_COMPARISON 1 | ||
10591 | _ACEOF | ||
10592 | 7746 | ||
10593 | ;; | 7747 | ;; |
10594 | *-*-freebsd*) | 7748 | *-*-freebsd*) |
10595 | check_for_libcrypt_later=1 | 7749 | check_for_libcrypt_later=1 |
10596 | 7750 | ||
10597 | cat >>confdefs.h <<\_ACEOF | 7751 | $as_echo "#define LOCKED_PASSWD_PREFIX \"*LOCKED*\"" >>confdefs.h |
10598 | #define LOCKED_PASSWD_PREFIX "*LOCKED*" | ||
10599 | _ACEOF | ||
10600 | |||
10601 | |||
10602 | cat >>confdefs.h <<\_ACEOF | ||
10603 | #define SSH_TUN_FREEBSD 1 | ||
10604 | _ACEOF | ||
10605 | |||
10606 | if test "${ac_cv_header_net_if_tap_h+set}" = set; then | ||
10607 | { echo "$as_me:$LINENO: checking for net/if_tap.h" >&5 | ||
10608 | echo $ECHO_N "checking for net/if_tap.h... $ECHO_C" >&6; } | ||
10609 | if test "${ac_cv_header_net_if_tap_h+set}" = set; then | ||
10610 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
10611 | fi | ||
10612 | { echo "$as_me:$LINENO: result: $ac_cv_header_net_if_tap_h" >&5 | ||
10613 | echo "${ECHO_T}$ac_cv_header_net_if_tap_h" >&6; } | ||
10614 | else | ||
10615 | # Is the header compilable? | ||
10616 | { echo "$as_me:$LINENO: checking net/if_tap.h usability" >&5 | ||
10617 | echo $ECHO_N "checking net/if_tap.h usability... $ECHO_C" >&6; } | ||
10618 | cat >conftest.$ac_ext <<_ACEOF | ||
10619 | /* confdefs.h. */ | ||
10620 | _ACEOF | ||
10621 | cat confdefs.h >>conftest.$ac_ext | ||
10622 | cat >>conftest.$ac_ext <<_ACEOF | ||
10623 | /* end confdefs.h. */ | ||
10624 | $ac_includes_default | ||
10625 | #include <net/if_tap.h> | ||
10626 | _ACEOF | ||
10627 | rm -f conftest.$ac_objext | ||
10628 | if { (ac_try="$ac_compile" | ||
10629 | case "(($ac_try" in | ||
10630 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
10631 | *) ac_try_echo=$ac_try;; | ||
10632 | esac | ||
10633 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
10634 | (eval "$ac_compile") 2>conftest.er1 | ||
10635 | ac_status=$? | ||
10636 | grep -v '^ *+' conftest.er1 >conftest.err | ||
10637 | rm -f conftest.er1 | ||
10638 | cat conftest.err >&5 | ||
10639 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
10640 | (exit $ac_status); } && { | ||
10641 | test -z "$ac_c_werror_flag" || | ||
10642 | test ! -s conftest.err | ||
10643 | } && test -s conftest.$ac_objext; then | ||
10644 | ac_header_compiler=yes | ||
10645 | else | ||
10646 | echo "$as_me: failed program was:" >&5 | ||
10647 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
10648 | |||
10649 | ac_header_compiler=no | ||
10650 | fi | ||
10651 | |||
10652 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
10653 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
10654 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
10655 | |||
10656 | # Is the header present? | ||
10657 | { echo "$as_me:$LINENO: checking net/if_tap.h presence" >&5 | ||
10658 | echo $ECHO_N "checking net/if_tap.h presence... $ECHO_C" >&6; } | ||
10659 | cat >conftest.$ac_ext <<_ACEOF | ||
10660 | /* confdefs.h. */ | ||
10661 | _ACEOF | ||
10662 | cat confdefs.h >>conftest.$ac_ext | ||
10663 | cat >>conftest.$ac_ext <<_ACEOF | ||
10664 | /* end confdefs.h. */ | ||
10665 | #include <net/if_tap.h> | ||
10666 | _ACEOF | ||
10667 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
10668 | case "(($ac_try" in | ||
10669 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
10670 | *) ac_try_echo=$ac_try;; | ||
10671 | esac | ||
10672 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
10673 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
10674 | ac_status=$? | ||
10675 | grep -v '^ *+' conftest.er1 >conftest.err | ||
10676 | rm -f conftest.er1 | ||
10677 | cat conftest.err >&5 | ||
10678 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
10679 | (exit $ac_status); } >/dev/null && { | ||
10680 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
10681 | test ! -s conftest.err | ||
10682 | }; then | ||
10683 | ac_header_preproc=yes | ||
10684 | else | ||
10685 | echo "$as_me: failed program was:" >&5 | ||
10686 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
10687 | 7752 | ||
10688 | ac_header_preproc=no | ||
10689 | fi | ||
10690 | 7753 | ||
10691 | rm -f conftest.err conftest.$ac_ext | 7754 | $as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h |
10692 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
10693 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
10694 | 7755 | ||
10695 | # So? What about this header? | 7756 | ac_fn_c_check_header_mongrel "$LINENO" "net/if_tap.h" "ac_cv_header_net_if_tap_h" "$ac_includes_default" |
10696 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | 7757 | if test "x$ac_cv_header_net_if_tap_h" = xyes; then : |
10697 | yes:no: ) | ||
10698 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
10699 | echo "$as_me: WARNING: net/if_tap.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
10700 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: proceeding with the compiler's result" >&5 | ||
10701 | echo "$as_me: WARNING: net/if_tap.h: proceeding with the compiler's result" >&2;} | ||
10702 | ac_header_preproc=yes | ||
10703 | ;; | ||
10704 | no:yes:* ) | ||
10705 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: present but cannot be compiled" >&5 | ||
10706 | echo "$as_me: WARNING: net/if_tap.h: present but cannot be compiled" >&2;} | ||
10707 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: check for missing prerequisite headers?" >&5 | ||
10708 | echo "$as_me: WARNING: net/if_tap.h: check for missing prerequisite headers?" >&2;} | ||
10709 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: see the Autoconf documentation" >&5 | ||
10710 | echo "$as_me: WARNING: net/if_tap.h: see the Autoconf documentation" >&2;} | ||
10711 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: section \"Present But Cannot Be Compiled\"" >&5 | ||
10712 | echo "$as_me: WARNING: net/if_tap.h: section \"Present But Cannot Be Compiled\"" >&2;} | ||
10713 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: proceeding with the preprocessor's result" >&5 | ||
10714 | echo "$as_me: WARNING: net/if_tap.h: proceeding with the preprocessor's result" >&2;} | ||
10715 | { echo "$as_me:$LINENO: WARNING: net/if_tap.h: in the future, the compiler will take precedence" >&5 | ||
10716 | echo "$as_me: WARNING: net/if_tap.h: in the future, the compiler will take precedence" >&2;} | ||
10717 | ( cat <<\_ASBOX | ||
10718 | ## ------------------------------------------- ## | ||
10719 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
10720 | ## ------------------------------------------- ## | ||
10721 | _ASBOX | ||
10722 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
10723 | ;; | ||
10724 | esac | ||
10725 | { echo "$as_me:$LINENO: checking for net/if_tap.h" >&5 | ||
10726 | echo $ECHO_N "checking for net/if_tap.h... $ECHO_C" >&6; } | ||
10727 | if test "${ac_cv_header_net_if_tap_h+set}" = set; then | ||
10728 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
10729 | else | ||
10730 | ac_cv_header_net_if_tap_h=$ac_header_preproc | ||
10731 | fi | ||
10732 | { echo "$as_me:$LINENO: result: $ac_cv_header_net_if_tap_h" >&5 | ||
10733 | echo "${ECHO_T}$ac_cv_header_net_if_tap_h" >&6; } | ||
10734 | 7758 | ||
10735 | fi | ||
10736 | if test $ac_cv_header_net_if_tap_h = yes; then | ||
10737 | : | ||
10738 | else | 7759 | else |
10739 | 7760 | ||
10740 | cat >>confdefs.h <<\_ACEOF | 7761 | $as_echo "#define SSH_TUN_NO_L2 1" >>confdefs.h |
10741 | #define SSH_TUN_NO_L2 1 | ||
10742 | _ACEOF | ||
10743 | 7762 | ||
10744 | fi | 7763 | fi |
10745 | 7764 | ||
10746 | 7765 | ||
10747 | 7766 | ||
10748 | cat >>confdefs.h <<\_ACEOF | 7767 | $as_echo "#define BROKEN_GLOB 1" >>confdefs.h |
10749 | #define BROKEN_GLOB 1 | ||
10750 | _ACEOF | ||
10751 | |||
10752 | |||
10753 | cat >>confdefs.h <<\_ACEOF | ||
10754 | #define BROKEN_STRNVIS 1 | ||
10755 | _ACEOF | ||
10756 | 7768 | ||
10757 | TEST_MALLOC_OPTIONS="AJRX" | 7769 | TEST_MALLOC_OPTIONS="AJRX" |
10758 | # Preauth crypto occasionally uses file descriptors for crypto offload | 7770 | # Preauth crypto occasionally uses file descriptors for crypto offload |
10759 | # and will crash if they cannot be opened. | 7771 | # and will crash if they cannot be opened. |
10760 | 7772 | ||
10761 | cat >>confdefs.h <<\_ACEOF | 7773 | $as_echo "#define SANDBOX_SKIP_RLIMIT_NOFILE 1" >>confdefs.h |
10762 | #define SANDBOX_SKIP_RLIMIT_NOFILE 1 | ||
10763 | _ACEOF | ||
10764 | 7774 | ||
10765 | ;; | 7775 | ;; |
10766 | *-*-bsdi*) | 7776 | *-*-bsdi*) |
10767 | cat >>confdefs.h <<\_ACEOF | 7777 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
10768 | #define SETEUID_BREAKS_SETUID 1 | ||
10769 | _ACEOF | ||
10770 | 7778 | ||
10771 | cat >>confdefs.h <<\_ACEOF | 7779 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
10772 | #define BROKEN_SETREUID 1 | ||
10773 | _ACEOF | ||
10774 | 7780 | ||
10775 | cat >>confdefs.h <<\_ACEOF | 7781 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
10776 | #define BROKEN_SETREGID 1 | ||
10777 | _ACEOF | ||
10778 | 7782 | ||
10779 | ;; | 7783 | ;; |
10780 | *-next-*) | 7784 | *-next-*) |
@@ -10783,45 +7787,29 @@ _ACEOF | |||
10783 | conf_wtmp_location=/usr/adm/wtmp | 7787 | conf_wtmp_location=/usr/adm/wtmp |
10784 | maildir=/usr/spool/mail | 7788 | maildir=/usr/spool/mail |
10785 | 7789 | ||
10786 | cat >>confdefs.h <<\_ACEOF | 7790 | $as_echo "#define HAVE_NEXT 1" >>confdefs.h |
10787 | #define HAVE_NEXT 1 | ||
10788 | _ACEOF | ||
10789 | 7791 | ||
10790 | cat >>confdefs.h <<\_ACEOF | 7792 | $as_echo "#define BROKEN_REALPATH 1" >>confdefs.h |
10791 | #define BROKEN_REALPATH 1 | ||
10792 | _ACEOF | ||
10793 | 7793 | ||
10794 | cat >>confdefs.h <<\_ACEOF | 7794 | $as_echo "#define USE_PIPES 1" >>confdefs.h |
10795 | #define USE_PIPES 1 | ||
10796 | _ACEOF | ||
10797 | 7795 | ||
10798 | 7796 | ||
10799 | cat >>confdefs.h <<\_ACEOF | 7797 | $as_echo "#define BROKEN_SAVED_UIDS 1" >>confdefs.h |
10800 | #define BROKEN_SAVED_UIDS 1 | ||
10801 | _ACEOF | ||
10802 | 7798 | ||
10803 | ;; | 7799 | ;; |
10804 | *-*-openbsd*) | 7800 | *-*-openbsd*) |
10805 | use_pie=auto | 7801 | use_pie=auto |
10806 | 7802 | ||
10807 | cat >>confdefs.h <<\_ACEOF | 7803 | $as_echo "#define HAVE_ATTRIBUTE__SENTINEL__ 1" >>confdefs.h |
10808 | #define HAVE_ATTRIBUTE__SENTINEL__ 1 | ||
10809 | _ACEOF | ||
10810 | 7804 | ||
10811 | 7805 | ||
10812 | cat >>confdefs.h <<\_ACEOF | 7806 | $as_echo "#define HAVE_ATTRIBUTE__BOUNDED__ 1" >>confdefs.h |
10813 | #define HAVE_ATTRIBUTE__BOUNDED__ 1 | ||
10814 | _ACEOF | ||
10815 | 7807 | ||
10816 | 7808 | ||
10817 | cat >>confdefs.h <<\_ACEOF | 7809 | $as_echo "#define SSH_TUN_OPENBSD 1" >>confdefs.h |
10818 | #define SSH_TUN_OPENBSD 1 | ||
10819 | _ACEOF | ||
10820 | 7810 | ||
10821 | 7811 | ||
10822 | cat >>confdefs.h <<\_ACEOF | 7812 | $as_echo "#define SYSLOG_R_SAFE_IN_SIGHAND 1" >>confdefs.h |
10823 | #define SYSLOG_R_SAFE_IN_SIGHAND 1 | ||
10824 | _ACEOF | ||
10825 | 7813 | ||
10826 | TEST_MALLOC_OPTIONS="AFGJPRX" | 7814 | TEST_MALLOC_OPTIONS="AFGJPRX" |
10827 | ;; | 7815 | ;; |
@@ -10829,491 +7817,84 @@ _ACEOF | |||
10829 | if test "x$withval" != "xno" ; then | 7817 | if test "x$withval" != "xno" ; then |
10830 | need_dash_r=1 | 7818 | need_dash_r=1 |
10831 | fi | 7819 | fi |
10832 | cat >>confdefs.h <<\_ACEOF | 7820 | $as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h |
10833 | #define PAM_SUN_CODEBASE 1 | ||
10834 | _ACEOF | ||
10835 | 7821 | ||
10836 | cat >>confdefs.h <<\_ACEOF | 7822 | $as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h |
10837 | #define LOGIN_NEEDS_UTMPX 1 | ||
10838 | _ACEOF | ||
10839 | 7823 | ||
7824 | $as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h | ||
10840 | 7825 | ||
10841 | cat >>confdefs.h <<\_ACEOF | ||
10842 | #define LOGIN_NEEDS_TERM 1 | ||
10843 | _ACEOF | ||
10844 | 7826 | ||
10845 | cat >>confdefs.h <<\_ACEOF | 7827 | $as_echo "#define SSHPAM_CHAUTHTOK_NEEDS_RUID 1" >>confdefs.h |
10846 | #define PAM_TTY_KLUDGE 1 | ||
10847 | _ACEOF | ||
10848 | 7828 | ||
10849 | 7829 | $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h | |
10850 | cat >>confdefs.h <<\_ACEOF | ||
10851 | #define SSHPAM_CHAUTHTOK_NEEDS_RUID 1 | ||
10852 | _ACEOF | ||
10853 | |||
10854 | cat >>confdefs.h <<\_ACEOF | ||
10855 | #define LOCKED_PASSWD_STRING "*LK*" | ||
10856 | _ACEOF | ||
10857 | 7830 | ||
10858 | # Pushing STREAMS modules will cause sshd to acquire a controlling tty. | 7831 | # Pushing STREAMS modules will cause sshd to acquire a controlling tty. |
10859 | 7832 | ||
10860 | cat >>confdefs.h <<\_ACEOF | 7833 | $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h |
10861 | #define SSHD_ACQUIRES_CTTY 1 | ||
10862 | _ACEOF | ||
10863 | 7834 | ||
10864 | 7835 | ||
10865 | cat >>confdefs.h <<\_ACEOF | 7836 | $as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h |
10866 | #define PASSWD_NEEDS_USERNAME 1 | ||
10867 | _ACEOF | ||
10868 | 7837 | ||
10869 | 7838 | ||
10870 | cat >>confdefs.h <<\_ACEOF | 7839 | $as_echo "#define BROKEN_TCGETATTR_ICANON 1" >>confdefs.h |
10871 | #define BROKEN_TCGETATTR_ICANON 1 | ||
10872 | _ACEOF | ||
10873 | 7840 | ||
10874 | external_path_file=/etc/default/login | 7841 | external_path_file=/etc/default/login |
10875 | # hardwire lastlog location (can't detect it on some versions) | 7842 | # hardwire lastlog location (can't detect it on some versions) |
10876 | conf_lastlog_location="/var/adm/lastlog" | 7843 | conf_lastlog_location="/var/adm/lastlog" |
10877 | { echo "$as_me:$LINENO: checking for obsolete utmp and wtmp in solaris2.x" >&5 | 7844 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for obsolete utmp and wtmp in solaris2.x" >&5 |
10878 | echo $ECHO_N "checking for obsolete utmp and wtmp in solaris2.x... $ECHO_C" >&6; } | 7845 | $as_echo_n "checking for obsolete utmp and wtmp in solaris2.x... " >&6; } |
10879 | sol2ver=`echo "$host"| sed -e 's/.*[0-9]\.//'` | 7846 | sol2ver=`echo "$host"| sed -e 's/.*[0-9]\.//'` |
10880 | if test "$sol2ver" -ge 8; then | 7847 | if test "$sol2ver" -ge 8; then |
10881 | { echo "$as_me:$LINENO: result: yes" >&5 | 7848 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
10882 | echo "${ECHO_T}yes" >&6; } | 7849 | $as_echo "yes" >&6; } |
10883 | cat >>confdefs.h <<\_ACEOF | 7850 | $as_echo "#define DISABLE_UTMP 1" >>confdefs.h |
10884 | #define DISABLE_UTMP 1 | ||
10885 | _ACEOF | ||
10886 | 7851 | ||
10887 | 7852 | ||
10888 | cat >>confdefs.h <<\_ACEOF | 7853 | $as_echo "#define DISABLE_WTMP 1" >>confdefs.h |
10889 | #define DISABLE_WTMP 1 | ||
10890 | _ACEOF | ||
10891 | 7854 | ||
10892 | else | 7855 | else |
10893 | { echo "$as_me:$LINENO: result: no" >&5 | 7856 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
10894 | echo "${ECHO_T}no" >&6; } | 7857 | $as_echo "no" >&6; } |
10895 | fi | 7858 | fi |
10896 | 7859 | for ac_func in setpflags | |
10897 | for ac_func in setpflags | 7860 | do : |
10898 | do | 7861 | ac_fn_c_check_func "$LINENO" "setpflags" "ac_cv_func_setpflags" |
10899 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 7862 | if test "x$ac_cv_func_setpflags" = xyes; then : |
10900 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
10901 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
10902 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
10903 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
10904 | else | ||
10905 | cat >conftest.$ac_ext <<_ACEOF | ||
10906 | /* confdefs.h. */ | ||
10907 | _ACEOF | ||
10908 | cat confdefs.h >>conftest.$ac_ext | ||
10909 | cat >>conftest.$ac_ext <<_ACEOF | ||
10910 | /* end confdefs.h. */ | ||
10911 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
10912 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
10913 | #define $ac_func innocuous_$ac_func | ||
10914 | |||
10915 | /* System header to define __stub macros and hopefully few prototypes, | ||
10916 | which can conflict with char $ac_func (); below. | ||
10917 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
10918 | <limits.h> exists even on freestanding compilers. */ | ||
10919 | |||
10920 | #ifdef __STDC__ | ||
10921 | # include <limits.h> | ||
10922 | #else | ||
10923 | # include <assert.h> | ||
10924 | #endif | ||
10925 | |||
10926 | #undef $ac_func | ||
10927 | |||
10928 | /* Override any GCC internal prototype to avoid an error. | ||
10929 | Use char because int might match the return type of a GCC | ||
10930 | builtin and then its argument prototype would still apply. */ | ||
10931 | #ifdef __cplusplus | ||
10932 | extern "C" | ||
10933 | #endif | ||
10934 | char $ac_func (); | ||
10935 | /* The GNU C library defines this for functions which it implements | ||
10936 | to always fail with ENOSYS. Some functions are actually named | ||
10937 | something starting with __ and the normal name is an alias. */ | ||
10938 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
10939 | choke me | ||
10940 | #endif | ||
10941 | |||
10942 | int | ||
10943 | main () | ||
10944 | { | ||
10945 | return $ac_func (); | ||
10946 | ; | ||
10947 | return 0; | ||
10948 | } | ||
10949 | _ACEOF | ||
10950 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
10951 | if { (ac_try="$ac_link" | ||
10952 | case "(($ac_try" in | ||
10953 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
10954 | *) ac_try_echo=$ac_try;; | ||
10955 | esac | ||
10956 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
10957 | (eval "$ac_link") 2>conftest.er1 | ||
10958 | ac_status=$? | ||
10959 | grep -v '^ *+' conftest.er1 >conftest.err | ||
10960 | rm -f conftest.er1 | ||
10961 | cat conftest.err >&5 | ||
10962 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
10963 | (exit $ac_status); } && { | ||
10964 | test -z "$ac_c_werror_flag" || | ||
10965 | test ! -s conftest.err | ||
10966 | } && test -s conftest$ac_exeext && | ||
10967 | $as_test_x conftest$ac_exeext; then | ||
10968 | eval "$as_ac_var=yes" | ||
10969 | else | ||
10970 | echo "$as_me: failed program was:" >&5 | ||
10971 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
10972 | |||
10973 | eval "$as_ac_var=no" | ||
10974 | fi | ||
10975 | |||
10976 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
10977 | conftest$ac_exeext conftest.$ac_ext | ||
10978 | fi | ||
10979 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
10980 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
10981 | echo "${ECHO_T}$ac_res" >&6; } | ||
10982 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
10983 | cat >>confdefs.h <<_ACEOF | 7863 | cat >>confdefs.h <<_ACEOF |
10984 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 7864 | #define HAVE_SETPFLAGS 1 |
10985 | _ACEOF | 7865 | _ACEOF |
10986 | 7866 | ||
10987 | fi | 7867 | fi |
10988 | done | 7868 | done |
10989 | 7869 | ||
10990 | 7870 | for ac_func in setppriv | |
10991 | for ac_func in setppriv | 7871 | do : |
10992 | do | 7872 | ac_fn_c_check_func "$LINENO" "setppriv" "ac_cv_func_setppriv" |
10993 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 7873 | if test "x$ac_cv_func_setppriv" = xyes; then : |
10994 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
10995 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
10996 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
10997 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
10998 | else | ||
10999 | cat >conftest.$ac_ext <<_ACEOF | ||
11000 | /* confdefs.h. */ | ||
11001 | _ACEOF | ||
11002 | cat confdefs.h >>conftest.$ac_ext | ||
11003 | cat >>conftest.$ac_ext <<_ACEOF | ||
11004 | /* end confdefs.h. */ | ||
11005 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
11006 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
11007 | #define $ac_func innocuous_$ac_func | ||
11008 | |||
11009 | /* System header to define __stub macros and hopefully few prototypes, | ||
11010 | which can conflict with char $ac_func (); below. | ||
11011 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
11012 | <limits.h> exists even on freestanding compilers. */ | ||
11013 | |||
11014 | #ifdef __STDC__ | ||
11015 | # include <limits.h> | ||
11016 | #else | ||
11017 | # include <assert.h> | ||
11018 | #endif | ||
11019 | |||
11020 | #undef $ac_func | ||
11021 | |||
11022 | /* Override any GCC internal prototype to avoid an error. | ||
11023 | Use char because int might match the return type of a GCC | ||
11024 | builtin and then its argument prototype would still apply. */ | ||
11025 | #ifdef __cplusplus | ||
11026 | extern "C" | ||
11027 | #endif | ||
11028 | char $ac_func (); | ||
11029 | /* The GNU C library defines this for functions which it implements | ||
11030 | to always fail with ENOSYS. Some functions are actually named | ||
11031 | something starting with __ and the normal name is an alias. */ | ||
11032 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
11033 | choke me | ||
11034 | #endif | ||
11035 | |||
11036 | int | ||
11037 | main () | ||
11038 | { | ||
11039 | return $ac_func (); | ||
11040 | ; | ||
11041 | return 0; | ||
11042 | } | ||
11043 | _ACEOF | ||
11044 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
11045 | if { (ac_try="$ac_link" | ||
11046 | case "(($ac_try" in | ||
11047 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
11048 | *) ac_try_echo=$ac_try;; | ||
11049 | esac | ||
11050 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
11051 | (eval "$ac_link") 2>conftest.er1 | ||
11052 | ac_status=$? | ||
11053 | grep -v '^ *+' conftest.er1 >conftest.err | ||
11054 | rm -f conftest.er1 | ||
11055 | cat conftest.err >&5 | ||
11056 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
11057 | (exit $ac_status); } && { | ||
11058 | test -z "$ac_c_werror_flag" || | ||
11059 | test ! -s conftest.err | ||
11060 | } && test -s conftest$ac_exeext && | ||
11061 | $as_test_x conftest$ac_exeext; then | ||
11062 | eval "$as_ac_var=yes" | ||
11063 | else | ||
11064 | echo "$as_me: failed program was:" >&5 | ||
11065 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
11066 | |||
11067 | eval "$as_ac_var=no" | ||
11068 | fi | ||
11069 | |||
11070 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
11071 | conftest$ac_exeext conftest.$ac_ext | ||
11072 | fi | ||
11073 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
11074 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
11075 | echo "${ECHO_T}$ac_res" >&6; } | ||
11076 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
11077 | cat >>confdefs.h <<_ACEOF | 7874 | cat >>confdefs.h <<_ACEOF |
11078 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 7875 | #define HAVE_SETPPRIV 1 |
11079 | _ACEOF | 7876 | _ACEOF |
11080 | 7877 | ||
11081 | fi | 7878 | fi |
11082 | done | 7879 | done |
11083 | 7880 | ||
11084 | 7881 | for ac_func in priv_basicset | |
11085 | for ac_func in priv_basicset | 7882 | do : |
11086 | do | 7883 | ac_fn_c_check_func "$LINENO" "priv_basicset" "ac_cv_func_priv_basicset" |
11087 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 7884 | if test "x$ac_cv_func_priv_basicset" = xyes; then : |
11088 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
11089 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
11090 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
11091 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
11092 | else | ||
11093 | cat >conftest.$ac_ext <<_ACEOF | ||
11094 | /* confdefs.h. */ | ||
11095 | _ACEOF | ||
11096 | cat confdefs.h >>conftest.$ac_ext | ||
11097 | cat >>conftest.$ac_ext <<_ACEOF | ||
11098 | /* end confdefs.h. */ | ||
11099 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
11100 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
11101 | #define $ac_func innocuous_$ac_func | ||
11102 | |||
11103 | /* System header to define __stub macros and hopefully few prototypes, | ||
11104 | which can conflict with char $ac_func (); below. | ||
11105 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
11106 | <limits.h> exists even on freestanding compilers. */ | ||
11107 | |||
11108 | #ifdef __STDC__ | ||
11109 | # include <limits.h> | ||
11110 | #else | ||
11111 | # include <assert.h> | ||
11112 | #endif | ||
11113 | |||
11114 | #undef $ac_func | ||
11115 | |||
11116 | /* Override any GCC internal prototype to avoid an error. | ||
11117 | Use char because int might match the return type of a GCC | ||
11118 | builtin and then its argument prototype would still apply. */ | ||
11119 | #ifdef __cplusplus | ||
11120 | extern "C" | ||
11121 | #endif | ||
11122 | char $ac_func (); | ||
11123 | /* The GNU C library defines this for functions which it implements | ||
11124 | to always fail with ENOSYS. Some functions are actually named | ||
11125 | something starting with __ and the normal name is an alias. */ | ||
11126 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
11127 | choke me | ||
11128 | #endif | ||
11129 | |||
11130 | int | ||
11131 | main () | ||
11132 | { | ||
11133 | return $ac_func (); | ||
11134 | ; | ||
11135 | return 0; | ||
11136 | } | ||
11137 | _ACEOF | ||
11138 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
11139 | if { (ac_try="$ac_link" | ||
11140 | case "(($ac_try" in | ||
11141 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
11142 | *) ac_try_echo=$ac_try;; | ||
11143 | esac | ||
11144 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
11145 | (eval "$ac_link") 2>conftest.er1 | ||
11146 | ac_status=$? | ||
11147 | grep -v '^ *+' conftest.er1 >conftest.err | ||
11148 | rm -f conftest.er1 | ||
11149 | cat conftest.err >&5 | ||
11150 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
11151 | (exit $ac_status); } && { | ||
11152 | test -z "$ac_c_werror_flag" || | ||
11153 | test ! -s conftest.err | ||
11154 | } && test -s conftest$ac_exeext && | ||
11155 | $as_test_x conftest$ac_exeext; then | ||
11156 | eval "$as_ac_var=yes" | ||
11157 | else | ||
11158 | echo "$as_me: failed program was:" >&5 | ||
11159 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
11160 | |||
11161 | eval "$as_ac_var=no" | ||
11162 | fi | ||
11163 | |||
11164 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
11165 | conftest$ac_exeext conftest.$ac_ext | ||
11166 | fi | ||
11167 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
11168 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
11169 | echo "${ECHO_T}$ac_res" >&6; } | ||
11170 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
11171 | cat >>confdefs.h <<_ACEOF | 7885 | cat >>confdefs.h <<_ACEOF |
11172 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 7886 | #define HAVE_PRIV_BASICSET 1 |
11173 | _ACEOF | 7887 | _ACEOF |
11174 | 7888 | ||
11175 | fi | 7889 | fi |
11176 | done | 7890 | done |
11177 | 7891 | ||
11178 | 7892 | for ac_header in priv.h | |
11179 | for ac_header in priv.h | 7893 | do : |
11180 | do | 7894 | ac_fn_c_check_header_mongrel "$LINENO" "priv.h" "ac_cv_header_priv_h" "$ac_includes_default" |
11181 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 7895 | if test "x$ac_cv_header_priv_h" = xyes; then : |
11182 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
11183 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
11184 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
11185 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
11186 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
11187 | fi | ||
11188 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
11189 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
11190 | echo "${ECHO_T}$ac_res" >&6; } | ||
11191 | else | ||
11192 | # Is the header compilable? | ||
11193 | { echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
11194 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } | ||
11195 | cat >conftest.$ac_ext <<_ACEOF | ||
11196 | /* confdefs.h. */ | ||
11197 | _ACEOF | ||
11198 | cat confdefs.h >>conftest.$ac_ext | ||
11199 | cat >>conftest.$ac_ext <<_ACEOF | ||
11200 | /* end confdefs.h. */ | ||
11201 | $ac_includes_default | ||
11202 | #include <$ac_header> | ||
11203 | _ACEOF | ||
11204 | rm -f conftest.$ac_objext | ||
11205 | if { (ac_try="$ac_compile" | ||
11206 | case "(($ac_try" in | ||
11207 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
11208 | *) ac_try_echo=$ac_try;; | ||
11209 | esac | ||
11210 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
11211 | (eval "$ac_compile") 2>conftest.er1 | ||
11212 | ac_status=$? | ||
11213 | grep -v '^ *+' conftest.er1 >conftest.err | ||
11214 | rm -f conftest.er1 | ||
11215 | cat conftest.err >&5 | ||
11216 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
11217 | (exit $ac_status); } && { | ||
11218 | test -z "$ac_c_werror_flag" || | ||
11219 | test ! -s conftest.err | ||
11220 | } && test -s conftest.$ac_objext; then | ||
11221 | ac_header_compiler=yes | ||
11222 | else | ||
11223 | echo "$as_me: failed program was:" >&5 | ||
11224 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
11225 | |||
11226 | ac_header_compiler=no | ||
11227 | fi | ||
11228 | |||
11229 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
11230 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
11231 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
11232 | |||
11233 | # Is the header present? | ||
11234 | { echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
11235 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } | ||
11236 | cat >conftest.$ac_ext <<_ACEOF | ||
11237 | /* confdefs.h. */ | ||
11238 | _ACEOF | ||
11239 | cat confdefs.h >>conftest.$ac_ext | ||
11240 | cat >>conftest.$ac_ext <<_ACEOF | ||
11241 | /* end confdefs.h. */ | ||
11242 | #include <$ac_header> | ||
11243 | _ACEOF | ||
11244 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
11245 | case "(($ac_try" in | ||
11246 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
11247 | *) ac_try_echo=$ac_try;; | ||
11248 | esac | ||
11249 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
11250 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
11251 | ac_status=$? | ||
11252 | grep -v '^ *+' conftest.er1 >conftest.err | ||
11253 | rm -f conftest.er1 | ||
11254 | cat conftest.err >&5 | ||
11255 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
11256 | (exit $ac_status); } >/dev/null && { | ||
11257 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
11258 | test ! -s conftest.err | ||
11259 | }; then | ||
11260 | ac_header_preproc=yes | ||
11261 | else | ||
11262 | echo "$as_me: failed program was:" >&5 | ||
11263 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
11264 | |||
11265 | ac_header_preproc=no | ||
11266 | fi | ||
11267 | |||
11268 | rm -f conftest.err conftest.$ac_ext | ||
11269 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
11270 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
11271 | |||
11272 | # So? What about this header? | ||
11273 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
11274 | yes:no: ) | ||
11275 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
11276 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
11277 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
11278 | echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
11279 | ac_header_preproc=yes | ||
11280 | ;; | ||
11281 | no:yes:* ) | ||
11282 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
11283 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
11284 | { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
11285 | echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
11286 | { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
11287 | echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
11288 | { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
11289 | echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
11290 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
11291 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
11292 | { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
11293 | echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
11294 | ( cat <<\_ASBOX | ||
11295 | ## ------------------------------------------- ## | ||
11296 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
11297 | ## ------------------------------------------- ## | ||
11298 | _ASBOX | ||
11299 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
11300 | ;; | ||
11301 | esac | ||
11302 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
11303 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
11304 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
11305 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
11306 | else | ||
11307 | eval "$as_ac_Header=\$ac_header_preproc" | ||
11308 | fi | ||
11309 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
11310 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
11311 | echo "${ECHO_T}$ac_res" >&6; } | ||
11312 | |||
11313 | fi | ||
11314 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
11315 | cat >>confdefs.h <<_ACEOF | 7896 | cat >>confdefs.h <<_ACEOF |
11316 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 7897 | #define HAVE_PRIV_H 1 |
11317 | _ACEOF | 7898 | _ACEOF |
11318 | 7899 | ||
11319 | fi | 7900 | fi |
@@ -11322,20 +7903,16 @@ done | |||
11322 | 7903 | ||
11323 | 7904 | ||
11324 | # Check whether --with-solaris-contracts was given. | 7905 | # Check whether --with-solaris-contracts was given. |
11325 | if test "${with_solaris_contracts+set}" = set; then | 7906 | if test "${with_solaris_contracts+set}" = set; then : |
11326 | withval=$with_solaris_contracts; | 7907 | withval=$with_solaris_contracts; |
11327 | { echo "$as_me:$LINENO: checking for ct_tmpl_activate in -lcontract" >&5 | 7908 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ct_tmpl_activate in -lcontract" >&5 |
11328 | echo $ECHO_N "checking for ct_tmpl_activate in -lcontract... $ECHO_C" >&6; } | 7909 | $as_echo_n "checking for ct_tmpl_activate in -lcontract... " >&6; } |
11329 | if test "${ac_cv_lib_contract_ct_tmpl_activate+set}" = set; then | 7910 | if ${ac_cv_lib_contract_ct_tmpl_activate+:} false; then : |
11330 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 7911 | $as_echo_n "(cached) " >&6 |
11331 | else | 7912 | else |
11332 | ac_check_lib_save_LIBS=$LIBS | 7913 | ac_check_lib_save_LIBS=$LIBS |
11333 | LIBS="-lcontract $LIBS" | 7914 | LIBS="-lcontract $LIBS" |
11334 | cat >conftest.$ac_ext <<_ACEOF | 7915 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
11335 | /* confdefs.h. */ | ||
11336 | _ACEOF | ||
11337 | cat confdefs.h >>conftest.$ac_ext | ||
11338 | cat >>conftest.$ac_ext <<_ACEOF | ||
11339 | /* end confdefs.h. */ | 7916 | /* end confdefs.h. */ |
11340 | 7917 | ||
11341 | /* Override any GCC internal prototype to avoid an error. | 7918 | /* Override any GCC internal prototype to avoid an error. |
@@ -11353,43 +7930,20 @@ return ct_tmpl_activate (); | |||
11353 | return 0; | 7930 | return 0; |
11354 | } | 7931 | } |
11355 | _ACEOF | 7932 | _ACEOF |
11356 | rm -f conftest.$ac_objext conftest$ac_exeext | 7933 | if ac_fn_c_try_link "$LINENO"; then : |
11357 | if { (ac_try="$ac_link" | ||
11358 | case "(($ac_try" in | ||
11359 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
11360 | *) ac_try_echo=$ac_try;; | ||
11361 | esac | ||
11362 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
11363 | (eval "$ac_link") 2>conftest.er1 | ||
11364 | ac_status=$? | ||
11365 | grep -v '^ *+' conftest.er1 >conftest.err | ||
11366 | rm -f conftest.er1 | ||
11367 | cat conftest.err >&5 | ||
11368 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
11369 | (exit $ac_status); } && { | ||
11370 | test -z "$ac_c_werror_flag" || | ||
11371 | test ! -s conftest.err | ||
11372 | } && test -s conftest$ac_exeext && | ||
11373 | $as_test_x conftest$ac_exeext; then | ||
11374 | ac_cv_lib_contract_ct_tmpl_activate=yes | 7934 | ac_cv_lib_contract_ct_tmpl_activate=yes |
11375 | else | 7935 | else |
11376 | echo "$as_me: failed program was:" >&5 | 7936 | ac_cv_lib_contract_ct_tmpl_activate=no |
11377 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
11378 | |||
11379 | ac_cv_lib_contract_ct_tmpl_activate=no | ||
11380 | fi | 7937 | fi |
11381 | 7938 | rm -f core conftest.err conftest.$ac_objext \ | |
11382 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 7939 | conftest$ac_exeext conftest.$ac_ext |
11383 | conftest$ac_exeext conftest.$ac_ext | ||
11384 | LIBS=$ac_check_lib_save_LIBS | 7940 | LIBS=$ac_check_lib_save_LIBS |
11385 | fi | 7941 | fi |
11386 | { echo "$as_me:$LINENO: result: $ac_cv_lib_contract_ct_tmpl_activate" >&5 | 7942 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_contract_ct_tmpl_activate" >&5 |
11387 | echo "${ECHO_T}$ac_cv_lib_contract_ct_tmpl_activate" >&6; } | 7943 | $as_echo "$ac_cv_lib_contract_ct_tmpl_activate" >&6; } |
11388 | if test $ac_cv_lib_contract_ct_tmpl_activate = yes; then | 7944 | if test "x$ac_cv_lib_contract_ct_tmpl_activate" = xyes; then : |
11389 | 7945 | ||
11390 | cat >>confdefs.h <<\_ACEOF | 7946 | $as_echo "#define USE_SOLARIS_PROCESS_CONTRACTS 1" >>confdefs.h |
11391 | #define USE_SOLARIS_PROCESS_CONTRACTS 1 | ||
11392 | _ACEOF | ||
11393 | 7947 | ||
11394 | LIBS="$LIBS -lcontract" | 7948 | LIBS="$LIBS -lcontract" |
11395 | SPC_MSG="yes" | 7949 | SPC_MSG="yes" |
@@ -11400,20 +7954,16 @@ fi | |||
11400 | 7954 | ||
11401 | 7955 | ||
11402 | # Check whether --with-solaris-projects was given. | 7956 | # Check whether --with-solaris-projects was given. |
11403 | if test "${with_solaris_projects+set}" = set; then | 7957 | if test "${with_solaris_projects+set}" = set; then : |
11404 | withval=$with_solaris_projects; | 7958 | withval=$with_solaris_projects; |
11405 | { echo "$as_me:$LINENO: checking for setproject in -lproject" >&5 | 7959 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setproject in -lproject" >&5 |
11406 | echo $ECHO_N "checking for setproject in -lproject... $ECHO_C" >&6; } | 7960 | $as_echo_n "checking for setproject in -lproject... " >&6; } |
11407 | if test "${ac_cv_lib_project_setproject+set}" = set; then | 7961 | if ${ac_cv_lib_project_setproject+:} false; then : |
11408 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 7962 | $as_echo_n "(cached) " >&6 |
11409 | else | 7963 | else |
11410 | ac_check_lib_save_LIBS=$LIBS | 7964 | ac_check_lib_save_LIBS=$LIBS |
11411 | LIBS="-lproject $LIBS" | 7965 | LIBS="-lproject $LIBS" |
11412 | cat >conftest.$ac_ext <<_ACEOF | 7966 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
11413 | /* confdefs.h. */ | ||
11414 | _ACEOF | ||
11415 | cat confdefs.h >>conftest.$ac_ext | ||
11416 | cat >>conftest.$ac_ext <<_ACEOF | ||
11417 | /* end confdefs.h. */ | 7967 | /* end confdefs.h. */ |
11418 | 7968 | ||
11419 | /* Override any GCC internal prototype to avoid an error. | 7969 | /* Override any GCC internal prototype to avoid an error. |
@@ -11431,43 +7981,20 @@ return setproject (); | |||
11431 | return 0; | 7981 | return 0; |
11432 | } | 7982 | } |
11433 | _ACEOF | 7983 | _ACEOF |
11434 | rm -f conftest.$ac_objext conftest$ac_exeext | 7984 | if ac_fn_c_try_link "$LINENO"; then : |
11435 | if { (ac_try="$ac_link" | ||
11436 | case "(($ac_try" in | ||
11437 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
11438 | *) ac_try_echo=$ac_try;; | ||
11439 | esac | ||
11440 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
11441 | (eval "$ac_link") 2>conftest.er1 | ||
11442 | ac_status=$? | ||
11443 | grep -v '^ *+' conftest.er1 >conftest.err | ||
11444 | rm -f conftest.er1 | ||
11445 | cat conftest.err >&5 | ||
11446 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
11447 | (exit $ac_status); } && { | ||
11448 | test -z "$ac_c_werror_flag" || | ||
11449 | test ! -s conftest.err | ||
11450 | } && test -s conftest$ac_exeext && | ||
11451 | $as_test_x conftest$ac_exeext; then | ||
11452 | ac_cv_lib_project_setproject=yes | 7985 | ac_cv_lib_project_setproject=yes |
11453 | else | 7986 | else |
11454 | echo "$as_me: failed program was:" >&5 | 7987 | ac_cv_lib_project_setproject=no |
11455 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
11456 | |||
11457 | ac_cv_lib_project_setproject=no | ||
11458 | fi | 7988 | fi |
11459 | 7989 | rm -f core conftest.err conftest.$ac_objext \ | |
11460 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 7990 | conftest$ac_exeext conftest.$ac_ext |
11461 | conftest$ac_exeext conftest.$ac_ext | ||
11462 | LIBS=$ac_check_lib_save_LIBS | 7991 | LIBS=$ac_check_lib_save_LIBS |
11463 | fi | 7992 | fi |
11464 | { echo "$as_me:$LINENO: result: $ac_cv_lib_project_setproject" >&5 | 7993 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_project_setproject" >&5 |
11465 | echo "${ECHO_T}$ac_cv_lib_project_setproject" >&6; } | 7994 | $as_echo "$ac_cv_lib_project_setproject" >&6; } |
11466 | if test $ac_cv_lib_project_setproject = yes; then | 7995 | if test "x$ac_cv_lib_project_setproject" = xyes; then : |
11467 | 7996 | ||
11468 | cat >>confdefs.h <<\_ACEOF | 7997 | $as_echo "#define USE_SOLARIS_PROJECTS 1" >>confdefs.h |
11469 | #define USE_SOLARIS_PROJECTS 1 | ||
11470 | _ACEOF | ||
11471 | 7998 | ||
11472 | LIBS="$LIBS -lproject" | 7999 | LIBS="$LIBS -lproject" |
11473 | SP_MSG="yes" | 8000 | SP_MSG="yes" |
@@ -11478,32 +8005,26 @@ fi | |||
11478 | 8005 | ||
11479 | 8006 | ||
11480 | # Check whether --with-solaris-privs was given. | 8007 | # Check whether --with-solaris-privs was given. |
11481 | if test "${with_solaris_privs+set}" = set; then | 8008 | if test "${with_solaris_privs+set}" = set; then : |
11482 | withval=$with_solaris_privs; | 8009 | withval=$with_solaris_privs; |
11483 | { echo "$as_me:$LINENO: checking for Solaris/Illumos privilege support" >&5 | 8010 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris/Illumos privilege support" >&5 |
11484 | echo $ECHO_N "checking for Solaris/Illumos privilege support... $ECHO_C" >&6; } | 8011 | $as_echo_n "checking for Solaris/Illumos privilege support... " >&6; } |
11485 | if test "x$ac_cv_func_setppriv" = "xyes" -a \ | 8012 | if test "x$ac_cv_func_setppriv" = "xyes" -a \ |
11486 | "x$ac_cv_header_priv_h" = "xyes" ; then | 8013 | "x$ac_cv_header_priv_h" = "xyes" ; then |
11487 | SOLARIS_PRIVS=yes | 8014 | SOLARIS_PRIVS=yes |
11488 | { echo "$as_me:$LINENO: result: found" >&5 | 8015 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 |
11489 | echo "${ECHO_T}found" >&6; } | 8016 | $as_echo "found" >&6; } |
11490 | 8017 | ||
11491 | cat >>confdefs.h <<\_ACEOF | 8018 | $as_echo "#define NO_UID_RESTORATION_TEST 1" >>confdefs.h |
11492 | #define NO_UID_RESTORATION_TEST 1 | ||
11493 | _ACEOF | ||
11494 | 8019 | ||
11495 | 8020 | ||
11496 | cat >>confdefs.h <<\_ACEOF | 8021 | $as_echo "#define USE_SOLARIS_PRIVS 1" >>confdefs.h |
11497 | #define USE_SOLARIS_PRIVS 1 | ||
11498 | _ACEOF | ||
11499 | 8022 | ||
11500 | SPP_MSG="yes" | 8023 | SPP_MSG="yes" |
11501 | else | 8024 | else |
11502 | { echo "$as_me:$LINENO: result: not found" >&5 | 8025 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 |
11503 | echo "${ECHO_T}not found" >&6; } | 8026 | $as_echo "not found" >&6; } |
11504 | { { echo "$as_me:$LINENO: error: *** must have support for Solaris privileges to use --with-solaris-privs" >&5 | 8027 | as_fn_error $? "*** must have support for Solaris privileges to use --with-solaris-privs" "$LINENO" 5 |
11505 | echo "$as_me: error: *** must have support for Solaris privileges to use --with-solaris-privs" >&2;} | ||
11506 | { (exit 1); exit 1; }; } | ||
11507 | fi | 8028 | fi |
11508 | 8029 | ||
11509 | fi | 8030 | fi |
@@ -11512,150 +8033,48 @@ fi | |||
11512 | ;; | 8033 | ;; |
11513 | *-*-sunos4*) | 8034 | *-*-sunos4*) |
11514 | CPPFLAGS="$CPPFLAGS -DSUNOS4" | 8035 | CPPFLAGS="$CPPFLAGS -DSUNOS4" |
11515 | 8036 | for ac_func in getpwanam | |
11516 | for ac_func in getpwanam | 8037 | do : |
11517 | do | 8038 | ac_fn_c_check_func "$LINENO" "getpwanam" "ac_cv_func_getpwanam" |
11518 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 8039 | if test "x$ac_cv_func_getpwanam" = xyes; then : |
11519 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
11520 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
11521 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
11522 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
11523 | else | ||
11524 | cat >conftest.$ac_ext <<_ACEOF | ||
11525 | /* confdefs.h. */ | ||
11526 | _ACEOF | ||
11527 | cat confdefs.h >>conftest.$ac_ext | ||
11528 | cat >>conftest.$ac_ext <<_ACEOF | ||
11529 | /* end confdefs.h. */ | ||
11530 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
11531 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
11532 | #define $ac_func innocuous_$ac_func | ||
11533 | |||
11534 | /* System header to define __stub macros and hopefully few prototypes, | ||
11535 | which can conflict with char $ac_func (); below. | ||
11536 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
11537 | <limits.h> exists even on freestanding compilers. */ | ||
11538 | |||
11539 | #ifdef __STDC__ | ||
11540 | # include <limits.h> | ||
11541 | #else | ||
11542 | # include <assert.h> | ||
11543 | #endif | ||
11544 | |||
11545 | #undef $ac_func | ||
11546 | |||
11547 | /* Override any GCC internal prototype to avoid an error. | ||
11548 | Use char because int might match the return type of a GCC | ||
11549 | builtin and then its argument prototype would still apply. */ | ||
11550 | #ifdef __cplusplus | ||
11551 | extern "C" | ||
11552 | #endif | ||
11553 | char $ac_func (); | ||
11554 | /* The GNU C library defines this for functions which it implements | ||
11555 | to always fail with ENOSYS. Some functions are actually named | ||
11556 | something starting with __ and the normal name is an alias. */ | ||
11557 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
11558 | choke me | ||
11559 | #endif | ||
11560 | |||
11561 | int | ||
11562 | main () | ||
11563 | { | ||
11564 | return $ac_func (); | ||
11565 | ; | ||
11566 | return 0; | ||
11567 | } | ||
11568 | _ACEOF | ||
11569 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
11570 | if { (ac_try="$ac_link" | ||
11571 | case "(($ac_try" in | ||
11572 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
11573 | *) ac_try_echo=$ac_try;; | ||
11574 | esac | ||
11575 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
11576 | (eval "$ac_link") 2>conftest.er1 | ||
11577 | ac_status=$? | ||
11578 | grep -v '^ *+' conftest.er1 >conftest.err | ||
11579 | rm -f conftest.er1 | ||
11580 | cat conftest.err >&5 | ||
11581 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
11582 | (exit $ac_status); } && { | ||
11583 | test -z "$ac_c_werror_flag" || | ||
11584 | test ! -s conftest.err | ||
11585 | } && test -s conftest$ac_exeext && | ||
11586 | $as_test_x conftest$ac_exeext; then | ||
11587 | eval "$as_ac_var=yes" | ||
11588 | else | ||
11589 | echo "$as_me: failed program was:" >&5 | ||
11590 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
11591 | |||
11592 | eval "$as_ac_var=no" | ||
11593 | fi | ||
11594 | |||
11595 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
11596 | conftest$ac_exeext conftest.$ac_ext | ||
11597 | fi | ||
11598 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
11599 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
11600 | echo "${ECHO_T}$ac_res" >&6; } | ||
11601 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
11602 | cat >>confdefs.h <<_ACEOF | 8040 | cat >>confdefs.h <<_ACEOF |
11603 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 8041 | #define HAVE_GETPWANAM 1 |
11604 | _ACEOF | 8042 | _ACEOF |
11605 | 8043 | ||
11606 | fi | 8044 | fi |
11607 | done | 8045 | done |
11608 | 8046 | ||
11609 | cat >>confdefs.h <<\_ACEOF | 8047 | $as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h |
11610 | #define PAM_SUN_CODEBASE 1 | ||
11611 | _ACEOF | ||
11612 | 8048 | ||
11613 | conf_utmp_location=/etc/utmp | 8049 | conf_utmp_location=/etc/utmp |
11614 | conf_wtmp_location=/var/adm/wtmp | 8050 | conf_wtmp_location=/var/adm/wtmp |
11615 | conf_lastlog_location=/var/adm/lastlog | 8051 | conf_lastlog_location=/var/adm/lastlog |
11616 | cat >>confdefs.h <<\_ACEOF | 8052 | $as_echo "#define USE_PIPES 1" >>confdefs.h |
11617 | #define USE_PIPES 1 | ||
11618 | _ACEOF | ||
11619 | 8053 | ||
11620 | ;; | 8054 | ;; |
11621 | *-ncr-sysv*) | 8055 | *-ncr-sysv*) |
11622 | LIBS="$LIBS -lc89" | 8056 | LIBS="$LIBS -lc89" |
11623 | cat >>confdefs.h <<\_ACEOF | 8057 | $as_echo "#define USE_PIPES 1" >>confdefs.h |
11624 | #define USE_PIPES 1 | ||
11625 | _ACEOF | ||
11626 | 8058 | ||
11627 | cat >>confdefs.h <<\_ACEOF | 8059 | $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h |
11628 | #define SSHD_ACQUIRES_CTTY 1 | ||
11629 | _ACEOF | ||
11630 | 8060 | ||
11631 | cat >>confdefs.h <<\_ACEOF | 8061 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
11632 | #define SETEUID_BREAKS_SETUID 1 | ||
11633 | _ACEOF | ||
11634 | 8062 | ||
11635 | cat >>confdefs.h <<\_ACEOF | 8063 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
11636 | #define BROKEN_SETREUID 1 | ||
11637 | _ACEOF | ||
11638 | 8064 | ||
11639 | cat >>confdefs.h <<\_ACEOF | 8065 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
11640 | #define BROKEN_SETREGID 1 | ||
11641 | _ACEOF | ||
11642 | 8066 | ||
11643 | ;; | 8067 | ;; |
11644 | *-sni-sysv*) | 8068 | *-sni-sysv*) |
11645 | # /usr/ucblib MUST NOT be searched on ReliantUNIX | 8069 | # /usr/ucblib MUST NOT be searched on ReliantUNIX |
11646 | 8070 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5 | |
11647 | { echo "$as_me:$LINENO: checking for dlsym in -ldl" >&5 | 8071 | $as_echo_n "checking for dlsym in -ldl... " >&6; } |
11648 | echo $ECHO_N "checking for dlsym in -ldl... $ECHO_C" >&6; } | 8072 | if ${ac_cv_lib_dl_dlsym+:} false; then : |
11649 | if test "${ac_cv_lib_dl_dlsym+set}" = set; then | 8073 | $as_echo_n "(cached) " >&6 |
11650 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
11651 | else | 8074 | else |
11652 | ac_check_lib_save_LIBS=$LIBS | 8075 | ac_check_lib_save_LIBS=$LIBS |
11653 | LIBS="-ldl $LIBS" | 8076 | LIBS="-ldl $LIBS" |
11654 | cat >conftest.$ac_ext <<_ACEOF | 8077 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
11655 | /* confdefs.h. */ | ||
11656 | _ACEOF | ||
11657 | cat confdefs.h >>conftest.$ac_ext | ||
11658 | cat >>conftest.$ac_ext <<_ACEOF | ||
11659 | /* end confdefs.h. */ | 8078 | /* end confdefs.h. */ |
11660 | 8079 | ||
11661 | /* Override any GCC internal prototype to avoid an error. | 8080 | /* Override any GCC internal prototype to avoid an error. |
@@ -11673,39 +8092,18 @@ return dlsym (); | |||
11673 | return 0; | 8092 | return 0; |
11674 | } | 8093 | } |
11675 | _ACEOF | 8094 | _ACEOF |
11676 | rm -f conftest.$ac_objext conftest$ac_exeext | 8095 | if ac_fn_c_try_link "$LINENO"; then : |
11677 | if { (ac_try="$ac_link" | ||
11678 | case "(($ac_try" in | ||
11679 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
11680 | *) ac_try_echo=$ac_try;; | ||
11681 | esac | ||
11682 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
11683 | (eval "$ac_link") 2>conftest.er1 | ||
11684 | ac_status=$? | ||
11685 | grep -v '^ *+' conftest.er1 >conftest.err | ||
11686 | rm -f conftest.er1 | ||
11687 | cat conftest.err >&5 | ||
11688 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
11689 | (exit $ac_status); } && { | ||
11690 | test -z "$ac_c_werror_flag" || | ||
11691 | test ! -s conftest.err | ||
11692 | } && test -s conftest$ac_exeext && | ||
11693 | $as_test_x conftest$ac_exeext; then | ||
11694 | ac_cv_lib_dl_dlsym=yes | 8096 | ac_cv_lib_dl_dlsym=yes |
11695 | else | 8097 | else |
11696 | echo "$as_me: failed program was:" >&5 | 8098 | ac_cv_lib_dl_dlsym=no |
11697 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
11698 | |||
11699 | ac_cv_lib_dl_dlsym=no | ||
11700 | fi | 8099 | fi |
11701 | 8100 | rm -f core conftest.err conftest.$ac_objext \ | |
11702 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 8101 | conftest$ac_exeext conftest.$ac_ext |
11703 | conftest$ac_exeext conftest.$ac_ext | ||
11704 | LIBS=$ac_check_lib_save_LIBS | 8102 | LIBS=$ac_check_lib_save_LIBS |
11705 | fi | 8103 | fi |
11706 | { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlsym" >&5 | 8104 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5 |
11707 | echo "${ECHO_T}$ac_cv_lib_dl_dlsym" >&6; } | 8105 | $as_echo "$ac_cv_lib_dl_dlsym" >&6; } |
11708 | if test $ac_cv_lib_dl_dlsym = yes; then | 8106 | if test "x$ac_cv_lib_dl_dlsym" = xyes; then : |
11709 | cat >>confdefs.h <<_ACEOF | 8107 | cat >>confdefs.h <<_ACEOF |
11710 | #define HAVE_LIBDL 1 | 8108 | #define HAVE_LIBDL 1 |
11711 | _ACEOF | 8109 | _ACEOF |
@@ -11715,18 +8113,14 @@ _ACEOF | |||
11715 | fi | 8113 | fi |
11716 | 8114 | ||
11717 | # -lresolv needs to be at the end of LIBS or DNS lookups break | 8115 | # -lresolv needs to be at the end of LIBS or DNS lookups break |
11718 | { echo "$as_me:$LINENO: checking for res_query in -lresolv" >&5 | 8116 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_query in -lresolv" >&5 |
11719 | echo $ECHO_N "checking for res_query in -lresolv... $ECHO_C" >&6; } | 8117 | $as_echo_n "checking for res_query in -lresolv... " >&6; } |
11720 | if test "${ac_cv_lib_resolv_res_query+set}" = set; then | 8118 | if ${ac_cv_lib_resolv_res_query+:} false; then : |
11721 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 8119 | $as_echo_n "(cached) " >&6 |
11722 | else | 8120 | else |
11723 | ac_check_lib_save_LIBS=$LIBS | 8121 | ac_check_lib_save_LIBS=$LIBS |
11724 | LIBS="-lresolv $LIBS" | 8122 | LIBS="-lresolv $LIBS" |
11725 | cat >conftest.$ac_ext <<_ACEOF | 8123 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
11726 | /* confdefs.h. */ | ||
11727 | _ACEOF | ||
11728 | cat confdefs.h >>conftest.$ac_ext | ||
11729 | cat >>conftest.$ac_ext <<_ACEOF | ||
11730 | /* end confdefs.h. */ | 8124 | /* end confdefs.h. */ |
11731 | 8125 | ||
11732 | /* Override any GCC internal prototype to avoid an error. | 8126 | /* Override any GCC internal prototype to avoid an error. |
@@ -11744,66 +8138,33 @@ return res_query (); | |||
11744 | return 0; | 8138 | return 0; |
11745 | } | 8139 | } |
11746 | _ACEOF | 8140 | _ACEOF |
11747 | rm -f conftest.$ac_objext conftest$ac_exeext | 8141 | if ac_fn_c_try_link "$LINENO"; then : |
11748 | if { (ac_try="$ac_link" | ||
11749 | case "(($ac_try" in | ||
11750 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
11751 | *) ac_try_echo=$ac_try;; | ||
11752 | esac | ||
11753 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
11754 | (eval "$ac_link") 2>conftest.er1 | ||
11755 | ac_status=$? | ||
11756 | grep -v '^ *+' conftest.er1 >conftest.err | ||
11757 | rm -f conftest.er1 | ||
11758 | cat conftest.err >&5 | ||
11759 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
11760 | (exit $ac_status); } && { | ||
11761 | test -z "$ac_c_werror_flag" || | ||
11762 | test ! -s conftest.err | ||
11763 | } && test -s conftest$ac_exeext && | ||
11764 | $as_test_x conftest$ac_exeext; then | ||
11765 | ac_cv_lib_resolv_res_query=yes | 8142 | ac_cv_lib_resolv_res_query=yes |
11766 | else | 8143 | else |
11767 | echo "$as_me: failed program was:" >&5 | 8144 | ac_cv_lib_resolv_res_query=no |
11768 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
11769 | |||
11770 | ac_cv_lib_resolv_res_query=no | ||
11771 | fi | 8145 | fi |
11772 | 8146 | rm -f core conftest.err conftest.$ac_objext \ | |
11773 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 8147 | conftest$ac_exeext conftest.$ac_ext |
11774 | conftest$ac_exeext conftest.$ac_ext | ||
11775 | LIBS=$ac_check_lib_save_LIBS | 8148 | LIBS=$ac_check_lib_save_LIBS |
11776 | fi | 8149 | fi |
11777 | { echo "$as_me:$LINENO: result: $ac_cv_lib_resolv_res_query" >&5 | 8150 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_query" >&5 |
11778 | echo "${ECHO_T}$ac_cv_lib_resolv_res_query" >&6; } | 8151 | $as_echo "$ac_cv_lib_resolv_res_query" >&6; } |
11779 | if test $ac_cv_lib_resolv_res_query = yes; then | 8152 | if test "x$ac_cv_lib_resolv_res_query" = xyes; then : |
11780 | LIBS="$LIBS -lresolv" | 8153 | LIBS="$LIBS -lresolv" |
11781 | fi | 8154 | fi |
11782 | 8155 | ||
11783 | IPADDR_IN_DISPLAY=yes | 8156 | IPADDR_IN_DISPLAY=yes |
11784 | cat >>confdefs.h <<\_ACEOF | 8157 | $as_echo "#define USE_PIPES 1" >>confdefs.h |
11785 | #define USE_PIPES 1 | ||
11786 | _ACEOF | ||
11787 | 8158 | ||
11788 | cat >>confdefs.h <<\_ACEOF | 8159 | $as_echo "#define IP_TOS_IS_BROKEN 1" >>confdefs.h |
11789 | #define IP_TOS_IS_BROKEN 1 | ||
11790 | _ACEOF | ||
11791 | 8160 | ||
11792 | cat >>confdefs.h <<\_ACEOF | 8161 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
11793 | #define SETEUID_BREAKS_SETUID 1 | ||
11794 | _ACEOF | ||
11795 | 8162 | ||
11796 | cat >>confdefs.h <<\_ACEOF | 8163 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
11797 | #define BROKEN_SETREUID 1 | ||
11798 | _ACEOF | ||
11799 | 8164 | ||
11800 | cat >>confdefs.h <<\_ACEOF | 8165 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
11801 | #define BROKEN_SETREGID 1 | ||
11802 | _ACEOF | ||
11803 | 8166 | ||
11804 | cat >>confdefs.h <<\_ACEOF | 8167 | $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h |
11805 | #define SSHD_ACQUIRES_CTTY 1 | ||
11806 | _ACEOF | ||
11807 | 8168 | ||
11808 | external_path_file=/etc/default/login | 8169 | external_path_file=/etc/default/login |
11809 | # /usr/ucblib/libucb.a no longer needed on ReliantUNIX | 8170 | # /usr/ucblib/libucb.a no longer needed on ReliantUNIX |
@@ -11812,30 +8173,18 @@ _ACEOF | |||
11812 | ;; | 8173 | ;; |
11813 | # UnixWare 1.x, UnixWare 2.x, and others based on code from Univel. | 8174 | # UnixWare 1.x, UnixWare 2.x, and others based on code from Univel. |
11814 | *-*-sysv4.2*) | 8175 | *-*-sysv4.2*) |
11815 | cat >>confdefs.h <<\_ACEOF | 8176 | $as_echo "#define USE_PIPES 1" >>confdefs.h |
11816 | #define USE_PIPES 1 | ||
11817 | _ACEOF | ||
11818 | 8177 | ||
11819 | cat >>confdefs.h <<\_ACEOF | 8178 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
11820 | #define SETEUID_BREAKS_SETUID 1 | ||
11821 | _ACEOF | ||
11822 | 8179 | ||
11823 | cat >>confdefs.h <<\_ACEOF | 8180 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
11824 | #define BROKEN_SETREUID 1 | ||
11825 | _ACEOF | ||
11826 | 8181 | ||
11827 | cat >>confdefs.h <<\_ACEOF | 8182 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
11828 | #define BROKEN_SETREGID 1 | ||
11829 | _ACEOF | ||
11830 | 8183 | ||
11831 | 8184 | ||
11832 | cat >>confdefs.h <<\_ACEOF | 8185 | $as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h |
11833 | #define PASSWD_NEEDS_USERNAME 1 | ||
11834 | _ACEOF | ||
11835 | 8186 | ||
11836 | cat >>confdefs.h <<\_ACEOF | 8187 | $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h |
11837 | #define LOCKED_PASSWD_STRING "*LK*" | ||
11838 | _ACEOF | ||
11839 | 8188 | ||
11840 | TEST_SHELL=$SHELL # let configure find us a capable shell | 8189 | TEST_SHELL=$SHELL # let configure find us a capable shell |
11841 | ;; | 8190 | ;; |
@@ -11843,59 +8192,37 @@ _ACEOF | |||
11843 | *-*-sysv5*) | 8192 | *-*-sysv5*) |
11844 | CPPFLAGS="$CPPFLAGS -Dvsnprintf=_xvsnprintf -Dsnprintf=_xsnprintf" | 8193 | CPPFLAGS="$CPPFLAGS -Dvsnprintf=_xvsnprintf -Dsnprintf=_xsnprintf" |
11845 | 8194 | ||
11846 | cat >>confdefs.h <<\_ACEOF | 8195 | $as_echo "#define UNIXWARE_LONG_PASSWORDS 1" >>confdefs.h |
11847 | #define UNIXWARE_LONG_PASSWORDS 1 | ||
11848 | _ACEOF | ||
11849 | 8196 | ||
11850 | cat >>confdefs.h <<\_ACEOF | 8197 | $as_echo "#define USE_PIPES 1" >>confdefs.h |
11851 | #define USE_PIPES 1 | ||
11852 | _ACEOF | ||
11853 | 8198 | ||
11854 | cat >>confdefs.h <<\_ACEOF | 8199 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
11855 | #define SETEUID_BREAKS_SETUID 1 | ||
11856 | _ACEOF | ||
11857 | 8200 | ||
11858 | cat >>confdefs.h <<\_ACEOF | 8201 | $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h |
11859 | #define BROKEN_GETADDRINFO 1 | ||
11860 | _ACEOF | ||
11861 | 8202 | ||
11862 | cat >>confdefs.h <<\_ACEOF | 8203 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
11863 | #define BROKEN_SETREUID 1 | ||
11864 | _ACEOF | ||
11865 | 8204 | ||
11866 | cat >>confdefs.h <<\_ACEOF | 8205 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
11867 | #define BROKEN_SETREGID 1 | ||
11868 | _ACEOF | ||
11869 | 8206 | ||
11870 | cat >>confdefs.h <<\_ACEOF | 8207 | $as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h |
11871 | #define PASSWD_NEEDS_USERNAME 1 | ||
11872 | _ACEOF | ||
11873 | 8208 | ||
11874 | TEST_SHELL=$SHELL # let configure find us a capable shell | 8209 | TEST_SHELL=$SHELL # let configure find us a capable shell |
11875 | case "$host" in | 8210 | case "$host" in |
11876 | *-*-sysv5SCO_SV*) # SCO OpenServer 6.x | 8211 | *-*-sysv5SCO_SV*) # SCO OpenServer 6.x |
11877 | maildir=/var/spool/mail | 8212 | maildir=/var/spool/mail |
11878 | 8213 | ||
11879 | cat >>confdefs.h <<\_ACEOF | 8214 | $as_echo "#define BROKEN_LIBIAF 1" >>confdefs.h |
11880 | #define BROKEN_LIBIAF 1 | ||
11881 | _ACEOF | ||
11882 | 8215 | ||
11883 | cat >>confdefs.h <<\_ACEOF | 8216 | $as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h |
11884 | #define BROKEN_UPDWTMPX 1 | ||
11885 | _ACEOF | ||
11886 | 8217 | ||
11887 | { echo "$as_me:$LINENO: checking for getluid in -lprot" >&5 | 8218 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getluid in -lprot" >&5 |
11888 | echo $ECHO_N "checking for getluid in -lprot... $ECHO_C" >&6; } | 8219 | $as_echo_n "checking for getluid in -lprot... " >&6; } |
11889 | if test "${ac_cv_lib_prot_getluid+set}" = set; then | 8220 | if ${ac_cv_lib_prot_getluid+:} false; then : |
11890 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 8221 | $as_echo_n "(cached) " >&6 |
11891 | else | 8222 | else |
11892 | ac_check_lib_save_LIBS=$LIBS | 8223 | ac_check_lib_save_LIBS=$LIBS |
11893 | LIBS="-lprot $LIBS" | 8224 | LIBS="-lprot $LIBS" |
11894 | cat >conftest.$ac_ext <<_ACEOF | 8225 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
11895 | /* confdefs.h. */ | ||
11896 | _ACEOF | ||
11897 | cat confdefs.h >>conftest.$ac_ext | ||
11898 | cat >>conftest.$ac_ext <<_ACEOF | ||
11899 | /* end confdefs.h. */ | 8226 | /* end confdefs.h. */ |
11900 | 8227 | ||
11901 | /* Override any GCC internal prototype to avoid an error. | 8228 | /* Override any GCC internal prototype to avoid an error. |
@@ -11913,150 +8240,40 @@ return getluid (); | |||
11913 | return 0; | 8240 | return 0; |
11914 | } | 8241 | } |
11915 | _ACEOF | 8242 | _ACEOF |
11916 | rm -f conftest.$ac_objext conftest$ac_exeext | 8243 | if ac_fn_c_try_link "$LINENO"; then : |
11917 | if { (ac_try="$ac_link" | ||
11918 | case "(($ac_try" in | ||
11919 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
11920 | *) ac_try_echo=$ac_try;; | ||
11921 | esac | ||
11922 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
11923 | (eval "$ac_link") 2>conftest.er1 | ||
11924 | ac_status=$? | ||
11925 | grep -v '^ *+' conftest.er1 >conftest.err | ||
11926 | rm -f conftest.er1 | ||
11927 | cat conftest.err >&5 | ||
11928 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
11929 | (exit $ac_status); } && { | ||
11930 | test -z "$ac_c_werror_flag" || | ||
11931 | test ! -s conftest.err | ||
11932 | } && test -s conftest$ac_exeext && | ||
11933 | $as_test_x conftest$ac_exeext; then | ||
11934 | ac_cv_lib_prot_getluid=yes | 8244 | ac_cv_lib_prot_getluid=yes |
11935 | else | 8245 | else |
11936 | echo "$as_me: failed program was:" >&5 | 8246 | ac_cv_lib_prot_getluid=no |
11937 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
11938 | |||
11939 | ac_cv_lib_prot_getluid=no | ||
11940 | fi | 8247 | fi |
11941 | 8248 | rm -f core conftest.err conftest.$ac_objext \ | |
11942 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 8249 | conftest$ac_exeext conftest.$ac_ext |
11943 | conftest$ac_exeext conftest.$ac_ext | ||
11944 | LIBS=$ac_check_lib_save_LIBS | 8250 | LIBS=$ac_check_lib_save_LIBS |
11945 | fi | 8251 | fi |
11946 | { echo "$as_me:$LINENO: result: $ac_cv_lib_prot_getluid" >&5 | 8252 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_prot_getluid" >&5 |
11947 | echo "${ECHO_T}$ac_cv_lib_prot_getluid" >&6; } | 8253 | $as_echo "$ac_cv_lib_prot_getluid" >&6; } |
11948 | if test $ac_cv_lib_prot_getluid = yes; then | 8254 | if test "x$ac_cv_lib_prot_getluid" = xyes; then : |
11949 | LIBS="$LIBS -lprot" | 8255 | LIBS="$LIBS -lprot" |
11950 | 8256 | for ac_func in getluid setluid | |
11951 | 8257 | do : | |
11952 | for ac_func in getluid setluid | 8258 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
11953 | do | 8259 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
11954 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 8260 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
11955 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
11956 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
11957 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
11958 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
11959 | else | ||
11960 | cat >conftest.$ac_ext <<_ACEOF | ||
11961 | /* confdefs.h. */ | ||
11962 | _ACEOF | ||
11963 | cat confdefs.h >>conftest.$ac_ext | ||
11964 | cat >>conftest.$ac_ext <<_ACEOF | ||
11965 | /* end confdefs.h. */ | ||
11966 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
11967 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
11968 | #define $ac_func innocuous_$ac_func | ||
11969 | |||
11970 | /* System header to define __stub macros and hopefully few prototypes, | ||
11971 | which can conflict with char $ac_func (); below. | ||
11972 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
11973 | <limits.h> exists even on freestanding compilers. */ | ||
11974 | |||
11975 | #ifdef __STDC__ | ||
11976 | # include <limits.h> | ||
11977 | #else | ||
11978 | # include <assert.h> | ||
11979 | #endif | ||
11980 | |||
11981 | #undef $ac_func | ||
11982 | |||
11983 | /* Override any GCC internal prototype to avoid an error. | ||
11984 | Use char because int might match the return type of a GCC | ||
11985 | builtin and then its argument prototype would still apply. */ | ||
11986 | #ifdef __cplusplus | ||
11987 | extern "C" | ||
11988 | #endif | ||
11989 | char $ac_func (); | ||
11990 | /* The GNU C library defines this for functions which it implements | ||
11991 | to always fail with ENOSYS. Some functions are actually named | ||
11992 | something starting with __ and the normal name is an alias. */ | ||
11993 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
11994 | choke me | ||
11995 | #endif | ||
11996 | |||
11997 | int | ||
11998 | main () | ||
11999 | { | ||
12000 | return $ac_func (); | ||
12001 | ; | ||
12002 | return 0; | ||
12003 | } | ||
12004 | _ACEOF | ||
12005 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
12006 | if { (ac_try="$ac_link" | ||
12007 | case "(($ac_try" in | ||
12008 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
12009 | *) ac_try_echo=$ac_try;; | ||
12010 | esac | ||
12011 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
12012 | (eval "$ac_link") 2>conftest.er1 | ||
12013 | ac_status=$? | ||
12014 | grep -v '^ *+' conftest.er1 >conftest.err | ||
12015 | rm -f conftest.er1 | ||
12016 | cat conftest.err >&5 | ||
12017 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
12018 | (exit $ac_status); } && { | ||
12019 | test -z "$ac_c_werror_flag" || | ||
12020 | test ! -s conftest.err | ||
12021 | } && test -s conftest$ac_exeext && | ||
12022 | $as_test_x conftest$ac_exeext; then | ||
12023 | eval "$as_ac_var=yes" | ||
12024 | else | ||
12025 | echo "$as_me: failed program was:" >&5 | ||
12026 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
12027 | |||
12028 | eval "$as_ac_var=no" | ||
12029 | fi | ||
12030 | |||
12031 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
12032 | conftest$ac_exeext conftest.$ac_ext | ||
12033 | fi | ||
12034 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
12035 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
12036 | echo "${ECHO_T}$ac_res" >&6; } | ||
12037 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
12038 | cat >>confdefs.h <<_ACEOF | 8261 | cat >>confdefs.h <<_ACEOF |
12039 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 8262 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
12040 | _ACEOF | 8263 | _ACEOF |
12041 | 8264 | ||
12042 | fi | 8265 | fi |
12043 | done | 8266 | done |
12044 | 8267 | ||
12045 | cat >>confdefs.h <<\_ACEOF | 8268 | $as_echo "#define HAVE_SECUREWARE 1" >>confdefs.h |
12046 | #define HAVE_SECUREWARE 1 | ||
12047 | _ACEOF | ||
12048 | 8269 | ||
12049 | cat >>confdefs.h <<\_ACEOF | 8270 | $as_echo "#define DISABLE_SHADOW 1" >>confdefs.h |
12050 | #define DISABLE_SHADOW 1 | ||
12051 | _ACEOF | ||
12052 | 8271 | ||
12053 | 8272 | ||
12054 | fi | 8273 | fi |
12055 | 8274 | ||
12056 | ;; | 8275 | ;; |
12057 | *) cat >>confdefs.h <<\_ACEOF | 8276 | *) $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h |
12058 | #define LOCKED_PASSWD_STRING "*LK*" | ||
12059 | _ACEOF | ||
12060 | 8277 | ||
12061 | check_for_libcrypt_later=1 | 8278 | check_for_libcrypt_later=1 |
12062 | ;; | 8279 | ;; |
@@ -12066,9 +8283,7 @@ _ACEOF | |||
12066 | ;; | 8283 | ;; |
12067 | # SCO UNIX and OEM versions of SCO UNIX | 8284 | # SCO UNIX and OEM versions of SCO UNIX |
12068 | *-*-sco3.2v4*) | 8285 | *-*-sco3.2v4*) |
12069 | { { echo "$as_me:$LINENO: error: \"This Platform is no longer supported.\"" >&5 | 8286 | as_fn_error $? "\"This Platform is no longer supported.\"" "$LINENO" 5 |
12070 | echo "$as_me: error: \"This Platform is no longer supported.\"" >&2;} | ||
12071 | { (exit 1); exit 1; }; } | ||
12072 | ;; | 8287 | ;; |
12073 | # SCO OpenServer 5.x | 8288 | # SCO OpenServer 5.x |
12074 | *-*-sco3.2v5*) | 8289 | *-*-sco3.2v5*) |
@@ -12077,140 +8292,35 @@ echo "$as_me: error: \"This Platform is no longer supported.\"" >&2;} | |||
12077 | fi | 8292 | fi |
12078 | LIBS="$LIBS -lprot -lx -ltinfo -lm" | 8293 | LIBS="$LIBS -lprot -lx -ltinfo -lm" |
12079 | no_dev_ptmx=1 | 8294 | no_dev_ptmx=1 |
12080 | cat >>confdefs.h <<\_ACEOF | 8295 | $as_echo "#define USE_PIPES 1" >>confdefs.h |
12081 | #define USE_PIPES 1 | ||
12082 | _ACEOF | ||
12083 | 8296 | ||
12084 | cat >>confdefs.h <<\_ACEOF | 8297 | $as_echo "#define HAVE_SECUREWARE 1" >>confdefs.h |
12085 | #define HAVE_SECUREWARE 1 | ||
12086 | _ACEOF | ||
12087 | 8298 | ||
12088 | cat >>confdefs.h <<\_ACEOF | 8299 | $as_echo "#define DISABLE_SHADOW 1" >>confdefs.h |
12089 | #define DISABLE_SHADOW 1 | ||
12090 | _ACEOF | ||
12091 | |||
12092 | cat >>confdefs.h <<\_ACEOF | ||
12093 | #define DISABLE_FD_PASSING 1 | ||
12094 | _ACEOF | ||
12095 | |||
12096 | cat >>confdefs.h <<\_ACEOF | ||
12097 | #define SETEUID_BREAKS_SETUID 1 | ||
12098 | _ACEOF | ||
12099 | 8300 | ||
12100 | cat >>confdefs.h <<\_ACEOF | 8301 | $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h |
12101 | #define BROKEN_GETADDRINFO 1 | ||
12102 | _ACEOF | ||
12103 | 8302 | ||
12104 | cat >>confdefs.h <<\_ACEOF | 8303 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
12105 | #define BROKEN_SETREUID 1 | ||
12106 | _ACEOF | ||
12107 | 8304 | ||
12108 | cat >>confdefs.h <<\_ACEOF | 8305 | $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h |
12109 | #define BROKEN_SETREGID 1 | ||
12110 | _ACEOF | ||
12111 | 8306 | ||
12112 | cat >>confdefs.h <<\_ACEOF | 8307 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
12113 | #define WITH_ABBREV_NO_TTY 1 | ||
12114 | _ACEOF | ||
12115 | 8308 | ||
12116 | cat >>confdefs.h <<\_ACEOF | 8309 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
12117 | #define BROKEN_UPDWTMPX 1 | ||
12118 | _ACEOF | ||
12119 | 8310 | ||
12120 | cat >>confdefs.h <<\_ACEOF | 8311 | $as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h |
12121 | #define PASSWD_NEEDS_USERNAME 1 | ||
12122 | _ACEOF | ||
12123 | 8312 | ||
8313 | $as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h | ||
12124 | 8314 | ||
8315 | $as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h | ||
12125 | 8316 | ||
12126 | for ac_func in getluid setluid | 8317 | for ac_func in getluid setluid |
12127 | do | 8318 | do : |
12128 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 8319 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
12129 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 8320 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
12130 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | 8321 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
12131 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
12132 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
12133 | else | ||
12134 | cat >conftest.$ac_ext <<_ACEOF | ||
12135 | /* confdefs.h. */ | ||
12136 | _ACEOF | ||
12137 | cat confdefs.h >>conftest.$ac_ext | ||
12138 | cat >>conftest.$ac_ext <<_ACEOF | ||
12139 | /* end confdefs.h. */ | ||
12140 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
12141 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
12142 | #define $ac_func innocuous_$ac_func | ||
12143 | |||
12144 | /* System header to define __stub macros and hopefully few prototypes, | ||
12145 | which can conflict with char $ac_func (); below. | ||
12146 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
12147 | <limits.h> exists even on freestanding compilers. */ | ||
12148 | |||
12149 | #ifdef __STDC__ | ||
12150 | # include <limits.h> | ||
12151 | #else | ||
12152 | # include <assert.h> | ||
12153 | #endif | ||
12154 | |||
12155 | #undef $ac_func | ||
12156 | |||
12157 | /* Override any GCC internal prototype to avoid an error. | ||
12158 | Use char because int might match the return type of a GCC | ||
12159 | builtin and then its argument prototype would still apply. */ | ||
12160 | #ifdef __cplusplus | ||
12161 | extern "C" | ||
12162 | #endif | ||
12163 | char $ac_func (); | ||
12164 | /* The GNU C library defines this for functions which it implements | ||
12165 | to always fail with ENOSYS. Some functions are actually named | ||
12166 | something starting with __ and the normal name is an alias. */ | ||
12167 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
12168 | choke me | ||
12169 | #endif | ||
12170 | |||
12171 | int | ||
12172 | main () | ||
12173 | { | ||
12174 | return $ac_func (); | ||
12175 | ; | ||
12176 | return 0; | ||
12177 | } | ||
12178 | _ACEOF | ||
12179 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
12180 | if { (ac_try="$ac_link" | ||
12181 | case "(($ac_try" in | ||
12182 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
12183 | *) ac_try_echo=$ac_try;; | ||
12184 | esac | ||
12185 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
12186 | (eval "$ac_link") 2>conftest.er1 | ||
12187 | ac_status=$? | ||
12188 | grep -v '^ *+' conftest.er1 >conftest.err | ||
12189 | rm -f conftest.er1 | ||
12190 | cat conftest.err >&5 | ||
12191 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
12192 | (exit $ac_status); } && { | ||
12193 | test -z "$ac_c_werror_flag" || | ||
12194 | test ! -s conftest.err | ||
12195 | } && test -s conftest$ac_exeext && | ||
12196 | $as_test_x conftest$ac_exeext; then | ||
12197 | eval "$as_ac_var=yes" | ||
12198 | else | ||
12199 | echo "$as_me: failed program was:" >&5 | ||
12200 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
12201 | |||
12202 | eval "$as_ac_var=no" | ||
12203 | fi | ||
12204 | |||
12205 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
12206 | conftest$ac_exeext conftest.$ac_ext | ||
12207 | fi | ||
12208 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
12209 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
12210 | echo "${ECHO_T}$ac_res" >&6; } | ||
12211 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
12212 | cat >>confdefs.h <<_ACEOF | 8322 | cat >>confdefs.h <<_ACEOF |
12213 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 8323 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
12214 | _ACEOF | 8324 | _ACEOF |
12215 | 8325 | ||
12216 | fi | 8326 | fi |
@@ -12222,103 +8332,67 @@ done | |||
12222 | ;; | 8332 | ;; |
12223 | *-*-unicosmk*) | 8333 | *-*-unicosmk*) |
12224 | 8334 | ||
12225 | cat >>confdefs.h <<\_ACEOF | 8335 | $as_echo "#define NO_SSH_LASTLOG 1" >>confdefs.h |
12226 | #define NO_SSH_LASTLOG 1 | ||
12227 | _ACEOF | ||
12228 | 8336 | ||
12229 | cat >>confdefs.h <<\_ACEOF | 8337 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
12230 | #define SETEUID_BREAKS_SETUID 1 | ||
12231 | _ACEOF | ||
12232 | 8338 | ||
12233 | cat >>confdefs.h <<\_ACEOF | 8339 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
12234 | #define BROKEN_SETREUID 1 | ||
12235 | _ACEOF | ||
12236 | 8340 | ||
12237 | cat >>confdefs.h <<\_ACEOF | 8341 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
12238 | #define BROKEN_SETREGID 1 | ||
12239 | _ACEOF | ||
12240 | 8342 | ||
12241 | cat >>confdefs.h <<\_ACEOF | 8343 | $as_echo "#define USE_PIPES 1" >>confdefs.h |
12242 | #define USE_PIPES 1 | ||
12243 | _ACEOF | ||
12244 | 8344 | ||
12245 | cat >>confdefs.h <<\_ACEOF | 8345 | $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h |
12246 | #define DISABLE_FD_PASSING 1 | ||
12247 | _ACEOF | ||
12248 | 8346 | ||
12249 | LDFLAGS="$LDFLAGS" | 8347 | LDFLAGS="$LDFLAGS" |
12250 | LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm" | 8348 | LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm" |
12251 | MANTYPE=cat | 8349 | MANTYPE=cat |
12252 | ;; | 8350 | ;; |
12253 | *-*-unicosmp*) | 8351 | *-*-unicosmp*) |
12254 | cat >>confdefs.h <<\_ACEOF | 8352 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
12255 | #define SETEUID_BREAKS_SETUID 1 | ||
12256 | _ACEOF | ||
12257 | 8353 | ||
12258 | cat >>confdefs.h <<\_ACEOF | 8354 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
12259 | #define BROKEN_SETREUID 1 | ||
12260 | _ACEOF | ||
12261 | 8355 | ||
12262 | cat >>confdefs.h <<\_ACEOF | 8356 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
12263 | #define BROKEN_SETREGID 1 | ||
12264 | _ACEOF | ||
12265 | 8357 | ||
12266 | cat >>confdefs.h <<\_ACEOF | 8358 | $as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h |
12267 | #define WITH_ABBREV_NO_TTY 1 | ||
12268 | _ACEOF | ||
12269 | 8359 | ||
12270 | cat >>confdefs.h <<\_ACEOF | 8360 | $as_echo "#define USE_PIPES 1" >>confdefs.h |
12271 | #define USE_PIPES 1 | ||
12272 | _ACEOF | ||
12273 | 8361 | ||
12274 | cat >>confdefs.h <<\_ACEOF | 8362 | $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h |
12275 | #define DISABLE_FD_PASSING 1 | ||
12276 | _ACEOF | ||
12277 | 8363 | ||
12278 | LDFLAGS="$LDFLAGS" | 8364 | LDFLAGS="$LDFLAGS" |
12279 | LIBS="$LIBS -lgen -lacid -ldb" | 8365 | LIBS="$LIBS -lgen -lacid -ldb" |
12280 | MANTYPE=cat | 8366 | MANTYPE=cat |
12281 | ;; | 8367 | ;; |
12282 | *-*-unicos*) | 8368 | *-*-unicos*) |
12283 | cat >>confdefs.h <<\_ACEOF | 8369 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
12284 | #define SETEUID_BREAKS_SETUID 1 | ||
12285 | _ACEOF | ||
12286 | 8370 | ||
12287 | cat >>confdefs.h <<\_ACEOF | 8371 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
12288 | #define BROKEN_SETREUID 1 | ||
12289 | _ACEOF | ||
12290 | 8372 | ||
12291 | cat >>confdefs.h <<\_ACEOF | 8373 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
12292 | #define BROKEN_SETREGID 1 | ||
12293 | _ACEOF | ||
12294 | 8374 | ||
12295 | cat >>confdefs.h <<\_ACEOF | 8375 | $as_echo "#define USE_PIPES 1" >>confdefs.h |
12296 | #define USE_PIPES 1 | ||
12297 | _ACEOF | ||
12298 | 8376 | ||
12299 | cat >>confdefs.h <<\_ACEOF | 8377 | $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h |
12300 | #define DISABLE_FD_PASSING 1 | ||
12301 | _ACEOF | ||
12302 | 8378 | ||
12303 | cat >>confdefs.h <<\_ACEOF | 8379 | $as_echo "#define NO_SSH_LASTLOG 1" >>confdefs.h |
12304 | #define NO_SSH_LASTLOG 1 | ||
12305 | _ACEOF | ||
12306 | 8380 | ||
12307 | LDFLAGS="$LDFLAGS -Wl,-Dmsglevel=334:fatal" | 8381 | LDFLAGS="$LDFLAGS -Wl,-Dmsglevel=334:fatal" |
12308 | LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm" | 8382 | LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm" |
12309 | MANTYPE=cat | 8383 | MANTYPE=cat |
12310 | ;; | 8384 | ;; |
12311 | *-dec-osf*) | 8385 | *-dec-osf*) |
12312 | { echo "$as_me:$LINENO: checking for Digital Unix SIA" >&5 | 8386 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Digital Unix SIA" >&5 |
12313 | echo $ECHO_N "checking for Digital Unix SIA... $ECHO_C" >&6; } | 8387 | $as_echo_n "checking for Digital Unix SIA... " >&6; } |
12314 | no_osfsia="" | 8388 | no_osfsia="" |
12315 | 8389 | ||
12316 | # Check whether --with-osfsia was given. | 8390 | # Check whether --with-osfsia was given. |
12317 | if test "${with_osfsia+set}" = set; then | 8391 | if test "${with_osfsia+set}" = set; then : |
12318 | withval=$with_osfsia; | 8392 | withval=$with_osfsia; |
12319 | if test "x$withval" = "xno" ; then | 8393 | if test "x$withval" = "xno" ; then |
12320 | { echo "$as_me:$LINENO: result: disabled" >&5 | 8394 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5 |
12321 | echo "${ECHO_T}disabled" >&6; } | 8395 | $as_echo "disabled" >&6; } |
12322 | no_osfsia=1 | 8396 | no_osfsia=1 |
12323 | fi | 8397 | fi |
12324 | 8398 | ||
@@ -12326,85 +8400,55 @@ fi | |||
12326 | 8400 | ||
12327 | if test -z "$no_osfsia" ; then | 8401 | if test -z "$no_osfsia" ; then |
12328 | if test -f /etc/sia/matrix.conf; then | 8402 | if test -f /etc/sia/matrix.conf; then |
12329 | { echo "$as_me:$LINENO: result: yes" >&5 | 8403 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
12330 | echo "${ECHO_T}yes" >&6; } | 8404 | $as_echo "yes" >&6; } |
12331 | 8405 | ||
12332 | cat >>confdefs.h <<\_ACEOF | 8406 | $as_echo "#define HAVE_OSF_SIA 1" >>confdefs.h |
12333 | #define HAVE_OSF_SIA 1 | ||
12334 | _ACEOF | ||
12335 | 8407 | ||
12336 | 8408 | ||
12337 | cat >>confdefs.h <<\_ACEOF | 8409 | $as_echo "#define DISABLE_LOGIN 1" >>confdefs.h |
12338 | #define DISABLE_LOGIN 1 | ||
12339 | _ACEOF | ||
12340 | 8410 | ||
12341 | cat >>confdefs.h <<\_ACEOF | 8411 | $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h |
12342 | #define DISABLE_FD_PASSING 1 | ||
12343 | _ACEOF | ||
12344 | 8412 | ||
12345 | LIBS="$LIBS -lsecurity -ldb -lm -laud" | 8413 | LIBS="$LIBS -lsecurity -ldb -lm -laud" |
12346 | SIA_MSG="yes" | 8414 | SIA_MSG="yes" |
12347 | else | 8415 | else |
12348 | { echo "$as_me:$LINENO: result: no" >&5 | 8416 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
12349 | echo "${ECHO_T}no" >&6; } | 8417 | $as_echo "no" >&6; } |
12350 | 8418 | ||
12351 | cat >>confdefs.h <<\_ACEOF | 8419 | $as_echo "#define LOCKED_PASSWD_SUBSTR \"Nologin\"" >>confdefs.h |
12352 | #define LOCKED_PASSWD_SUBSTR "Nologin" | ||
12353 | _ACEOF | ||
12354 | 8420 | ||
12355 | fi | 8421 | fi |
12356 | fi | 8422 | fi |
12357 | cat >>confdefs.h <<\_ACEOF | 8423 | $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h |
12358 | #define BROKEN_GETADDRINFO 1 | ||
12359 | _ACEOF | ||
12360 | 8424 | ||
12361 | cat >>confdefs.h <<\_ACEOF | 8425 | $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h |
12362 | #define SETEUID_BREAKS_SETUID 1 | ||
12363 | _ACEOF | ||
12364 | 8426 | ||
12365 | cat >>confdefs.h <<\_ACEOF | 8427 | $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h |
12366 | #define BROKEN_SETREUID 1 | ||
12367 | _ACEOF | ||
12368 | 8428 | ||
12369 | cat >>confdefs.h <<\_ACEOF | 8429 | $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h |
12370 | #define BROKEN_SETREGID 1 | ||
12371 | _ACEOF | ||
12372 | 8430 | ||
12373 | 8431 | ||
12374 | cat >>confdefs.h <<\_ACEOF | 8432 | $as_echo "#define BROKEN_READV_COMPARISON 1" >>confdefs.h |
12375 | #define BROKEN_READV_COMPARISON 1 | ||
12376 | _ACEOF | ||
12377 | 8433 | ||
12378 | ;; | 8434 | ;; |
12379 | 8435 | ||
12380 | *-*-nto-qnx*) | 8436 | *-*-nto-qnx*) |
12381 | cat >>confdefs.h <<\_ACEOF | 8437 | $as_echo "#define USE_PIPES 1" >>confdefs.h |
12382 | #define USE_PIPES 1 | ||
12383 | _ACEOF | ||
12384 | 8438 | ||
12385 | cat >>confdefs.h <<\_ACEOF | 8439 | $as_echo "#define NO_X11_UNIX_SOCKETS 1" >>confdefs.h |
12386 | #define NO_X11_UNIX_SOCKETS 1 | ||
12387 | _ACEOF | ||
12388 | 8440 | ||
12389 | cat >>confdefs.h <<\_ACEOF | 8441 | $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h |
12390 | #define DISABLE_LASTLOG 1 | ||
12391 | _ACEOF | ||
12392 | 8442 | ||
12393 | cat >>confdefs.h <<\_ACEOF | 8443 | $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h |
12394 | #define SSHD_ACQUIRES_CTTY 1 | ||
12395 | _ACEOF | ||
12396 | 8444 | ||
12397 | 8445 | ||
12398 | cat >>confdefs.h <<\_ACEOF | 8446 | $as_echo "#define BROKEN_SHADOW_EXPIRE 1" >>confdefs.h |
12399 | #define BROKEN_SHADOW_EXPIRE 1 | ||
12400 | _ACEOF | ||
12401 | 8447 | ||
12402 | enable_etc_default_login=no # has incompatible /etc/default/login | 8448 | enable_etc_default_login=no # has incompatible /etc/default/login |
12403 | case "$host" in | 8449 | case "$host" in |
12404 | *-*-nto-qnx6*) | 8450 | *-*-nto-qnx6*) |
12405 | cat >>confdefs.h <<\_ACEOF | 8451 | $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h |
12406 | #define DISABLE_FD_PASSING 1 | ||
12407 | _ACEOF | ||
12408 | 8452 | ||
12409 | ;; | 8453 | ;; |
12410 | esac | 8454 | esac |
@@ -12412,48 +8456,31 @@ _ACEOF | |||
12412 | 8456 | ||
12413 | *-*-ultrix*) | 8457 | *-*-ultrix*) |
12414 | 8458 | ||
12415 | cat >>confdefs.h <<\_ACEOF | 8459 | $as_echo "#define BROKEN_GETGROUPS 1" >>confdefs.h |
12416 | #define BROKEN_GETGROUPS 1 | ||
12417 | _ACEOF | ||
12418 | |||
12419 | |||
12420 | cat >>confdefs.h <<\_ACEOF | ||
12421 | #define BROKEN_MMAP 1 | ||
12422 | _ACEOF | ||
12423 | 8460 | ||
12424 | cat >>confdefs.h <<\_ACEOF | 8461 | $as_echo "#define NEED_SETPGRP 1" >>confdefs.h |
12425 | #define NEED_SETPGRP 1 | ||
12426 | _ACEOF | ||
12427 | 8462 | ||
12428 | 8463 | ||
12429 | cat >>confdefs.h <<\_ACEOF | 8464 | $as_echo "#define HAVE_SYS_SYSLOG_H 1" >>confdefs.h |
12430 | #define HAVE_SYS_SYSLOG_H 1 | ||
12431 | _ACEOF | ||
12432 | 8465 | ||
12433 | ;; | 8466 | ;; |
12434 | 8467 | ||
12435 | *-*-lynxos) | 8468 | *-*-lynxos) |
12436 | CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__" | 8469 | CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__" |
12437 | 8470 | ||
12438 | cat >>confdefs.h <<\_ACEOF | 8471 | $as_echo "#define BROKEN_SETVBUF 1" >>confdefs.h |
12439 | #define BROKEN_SETVBUF 1 | ||
12440 | _ACEOF | ||
12441 | 8472 | ||
12442 | ;; | 8473 | ;; |
12443 | esac | 8474 | esac |
12444 | 8475 | ||
12445 | { echo "$as_me:$LINENO: checking compiler and flags for sanity" >&5 | 8476 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler and flags for sanity" >&5 |
12446 | echo $ECHO_N "checking compiler and flags for sanity... $ECHO_C" >&6; } | 8477 | $as_echo_n "checking compiler and flags for sanity... " >&6; } |
12447 | if test "$cross_compiling" = yes; then | 8478 | if test "$cross_compiling" = yes; then : |
12448 | { echo "$as_me:$LINENO: WARNING: cross compiling: not checking compiler sanity" >&5 | 8479 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking compiler sanity" >&5 |
12449 | echo "$as_me: WARNING: cross compiling: not checking compiler sanity" >&2;} | 8480 | $as_echo "$as_me: WARNING: cross compiling: not checking compiler sanity" >&2;} |
12450 | 8481 | ||
12451 | else | 8482 | else |
12452 | cat >conftest.$ac_ext <<_ACEOF | 8483 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
12453 | /* confdefs.h. */ | ||
12454 | _ACEOF | ||
12455 | cat confdefs.h >>conftest.$ac_ext | ||
12456 | cat >>conftest.$ac_ext <<_ACEOF | ||
12457 | /* end confdefs.h. */ | 8484 | /* end confdefs.h. */ |
12458 | #include <stdio.h> | 8485 | #include <stdio.h> |
12459 | int | 8486 | int |
@@ -12464,145 +8491,34 @@ main () | |||
12464 | return 0; | 8491 | return 0; |
12465 | } | 8492 | } |
12466 | _ACEOF | 8493 | _ACEOF |
12467 | rm -f conftest$ac_exeext | 8494 | if ac_fn_c_try_run "$LINENO"; then : |
12468 | if { (ac_try="$ac_link" | 8495 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
12469 | case "(($ac_try" in | 8496 | $as_echo "yes" >&6; } |
12470 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
12471 | *) ac_try_echo=$ac_try;; | ||
12472 | esac | ||
12473 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
12474 | (eval "$ac_link") 2>&5 | ||
12475 | ac_status=$? | ||
12476 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
12477 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
12478 | { (case "(($ac_try" in | ||
12479 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
12480 | *) ac_try_echo=$ac_try;; | ||
12481 | esac | ||
12482 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
12483 | (eval "$ac_try") 2>&5 | ||
12484 | ac_status=$? | ||
12485 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
12486 | (exit $ac_status); }; }; then | ||
12487 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
12488 | echo "${ECHO_T}yes" >&6; } | ||
12489 | else | 8497 | else |
12490 | echo "$as_me: program exited with status $ac_status" >&5 | ||
12491 | echo "$as_me: failed program was:" >&5 | ||
12492 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
12493 | |||
12494 | ( exit $ac_status ) | ||
12495 | 8498 | ||
12496 | { echo "$as_me:$LINENO: result: no" >&5 | 8499 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
12497 | echo "${ECHO_T}no" >&6; } | 8500 | $as_echo "no" >&6; } |
12498 | { { echo "$as_me:$LINENO: error: *** compiler cannot create working executables, check config.log ***" >&5 | 8501 | as_fn_error $? "*** compiler cannot create working executables, check config.log ***" "$LINENO" 5 |
12499 | echo "$as_me: error: *** compiler cannot create working executables, check config.log ***" >&2;} | ||
12500 | { (exit 1); exit 1; }; } | ||
12501 | 8502 | ||
12502 | fi | 8503 | fi |
12503 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 8504 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
8505 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
12504 | fi | 8506 | fi |
12505 | 8507 | ||
12506 | 8508 | ||
12507 | |||
12508 | # Checks for libraries. | 8509 | # Checks for libraries. |
12509 | { echo "$as_me:$LINENO: checking for setsockopt" >&5 | 8510 | ac_fn_c_check_func "$LINENO" "setsockopt" "ac_cv_func_setsockopt" |
12510 | echo $ECHO_N "checking for setsockopt... $ECHO_C" >&6; } | 8511 | if test "x$ac_cv_func_setsockopt" = xyes; then : |
12511 | if test "${ac_cv_func_setsockopt+set}" = set; then | ||
12512 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
12513 | else | ||
12514 | cat >conftest.$ac_ext <<_ACEOF | ||
12515 | /* confdefs.h. */ | ||
12516 | _ACEOF | ||
12517 | cat confdefs.h >>conftest.$ac_ext | ||
12518 | cat >>conftest.$ac_ext <<_ACEOF | ||
12519 | /* end confdefs.h. */ | ||
12520 | /* Define setsockopt to an innocuous variant, in case <limits.h> declares setsockopt. | ||
12521 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
12522 | #define setsockopt innocuous_setsockopt | ||
12523 | |||
12524 | /* System header to define __stub macros and hopefully few prototypes, | ||
12525 | which can conflict with char setsockopt (); below. | ||
12526 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
12527 | <limits.h> exists even on freestanding compilers. */ | ||
12528 | |||
12529 | #ifdef __STDC__ | ||
12530 | # include <limits.h> | ||
12531 | #else | ||
12532 | # include <assert.h> | ||
12533 | #endif | ||
12534 | |||
12535 | #undef setsockopt | ||
12536 | |||
12537 | /* Override any GCC internal prototype to avoid an error. | ||
12538 | Use char because int might match the return type of a GCC | ||
12539 | builtin and then its argument prototype would still apply. */ | ||
12540 | #ifdef __cplusplus | ||
12541 | extern "C" | ||
12542 | #endif | ||
12543 | char setsockopt (); | ||
12544 | /* The GNU C library defines this for functions which it implements | ||
12545 | to always fail with ENOSYS. Some functions are actually named | ||
12546 | something starting with __ and the normal name is an alias. */ | ||
12547 | #if defined __stub_setsockopt || defined __stub___setsockopt | ||
12548 | choke me | ||
12549 | #endif | ||
12550 | 8512 | ||
12551 | int | ||
12552 | main () | ||
12553 | { | ||
12554 | return setsockopt (); | ||
12555 | ; | ||
12556 | return 0; | ||
12557 | } | ||
12558 | _ACEOF | ||
12559 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
12560 | if { (ac_try="$ac_link" | ||
12561 | case "(($ac_try" in | ||
12562 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
12563 | *) ac_try_echo=$ac_try;; | ||
12564 | esac | ||
12565 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
12566 | (eval "$ac_link") 2>conftest.er1 | ||
12567 | ac_status=$? | ||
12568 | grep -v '^ *+' conftest.er1 >conftest.err | ||
12569 | rm -f conftest.er1 | ||
12570 | cat conftest.err >&5 | ||
12571 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
12572 | (exit $ac_status); } && { | ||
12573 | test -z "$ac_c_werror_flag" || | ||
12574 | test ! -s conftest.err | ||
12575 | } && test -s conftest$ac_exeext && | ||
12576 | $as_test_x conftest$ac_exeext; then | ||
12577 | ac_cv_func_setsockopt=yes | ||
12578 | else | 8513 | else |
12579 | echo "$as_me: failed program was:" >&5 | 8514 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setsockopt in -lsocket" >&5 |
12580 | sed 's/^/| /' conftest.$ac_ext >&5 | 8515 | $as_echo_n "checking for setsockopt in -lsocket... " >&6; } |
12581 | 8516 | if ${ac_cv_lib_socket_setsockopt+:} false; then : | |
12582 | ac_cv_func_setsockopt=no | 8517 | $as_echo_n "(cached) " >&6 |
12583 | fi | ||
12584 | |||
12585 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
12586 | conftest$ac_exeext conftest.$ac_ext | ||
12587 | fi | ||
12588 | { echo "$as_me:$LINENO: result: $ac_cv_func_setsockopt" >&5 | ||
12589 | echo "${ECHO_T}$ac_cv_func_setsockopt" >&6; } | ||
12590 | if test $ac_cv_func_setsockopt = yes; then | ||
12591 | : | ||
12592 | else | ||
12593 | |||
12594 | { echo "$as_me:$LINENO: checking for setsockopt in -lsocket" >&5 | ||
12595 | echo $ECHO_N "checking for setsockopt in -lsocket... $ECHO_C" >&6; } | ||
12596 | if test "${ac_cv_lib_socket_setsockopt+set}" = set; then | ||
12597 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
12598 | else | 8518 | else |
12599 | ac_check_lib_save_LIBS=$LIBS | 8519 | ac_check_lib_save_LIBS=$LIBS |
12600 | LIBS="-lsocket $LIBS" | 8520 | LIBS="-lsocket $LIBS" |
12601 | cat >conftest.$ac_ext <<_ACEOF | 8521 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
12602 | /* confdefs.h. */ | ||
12603 | _ACEOF | ||
12604 | cat confdefs.h >>conftest.$ac_ext | ||
12605 | cat >>conftest.$ac_ext <<_ACEOF | ||
12606 | /* end confdefs.h. */ | 8522 | /* end confdefs.h. */ |
12607 | 8523 | ||
12608 | /* Override any GCC internal prototype to avoid an error. | 8524 | /* Override any GCC internal prototype to avoid an error. |
@@ -12620,39 +8536,18 @@ return setsockopt (); | |||
12620 | return 0; | 8536 | return 0; |
12621 | } | 8537 | } |
12622 | _ACEOF | 8538 | _ACEOF |
12623 | rm -f conftest.$ac_objext conftest$ac_exeext | 8539 | if ac_fn_c_try_link "$LINENO"; then : |
12624 | if { (ac_try="$ac_link" | ||
12625 | case "(($ac_try" in | ||
12626 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
12627 | *) ac_try_echo=$ac_try;; | ||
12628 | esac | ||
12629 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
12630 | (eval "$ac_link") 2>conftest.er1 | ||
12631 | ac_status=$? | ||
12632 | grep -v '^ *+' conftest.er1 >conftest.err | ||
12633 | rm -f conftest.er1 | ||
12634 | cat conftest.err >&5 | ||
12635 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
12636 | (exit $ac_status); } && { | ||
12637 | test -z "$ac_c_werror_flag" || | ||
12638 | test ! -s conftest.err | ||
12639 | } && test -s conftest$ac_exeext && | ||
12640 | $as_test_x conftest$ac_exeext; then | ||
12641 | ac_cv_lib_socket_setsockopt=yes | 8540 | ac_cv_lib_socket_setsockopt=yes |
12642 | else | 8541 | else |
12643 | echo "$as_me: failed program was:" >&5 | 8542 | ac_cv_lib_socket_setsockopt=no |
12644 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
12645 | |||
12646 | ac_cv_lib_socket_setsockopt=no | ||
12647 | fi | 8543 | fi |
12648 | 8544 | rm -f core conftest.err conftest.$ac_objext \ | |
12649 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 8545 | conftest$ac_exeext conftest.$ac_ext |
12650 | conftest$ac_exeext conftest.$ac_ext | ||
12651 | LIBS=$ac_check_lib_save_LIBS | 8546 | LIBS=$ac_check_lib_save_LIBS |
12652 | fi | 8547 | fi |
12653 | { echo "$as_me:$LINENO: result: $ac_cv_lib_socket_setsockopt" >&5 | 8548 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_setsockopt" >&5 |
12654 | echo "${ECHO_T}$ac_cv_lib_socket_setsockopt" >&6; } | 8549 | $as_echo "$ac_cv_lib_socket_setsockopt" >&6; } |
12655 | if test $ac_cv_lib_socket_setsockopt = yes; then | 8550 | if test "x$ac_cv_lib_socket_setsockopt" = xyes; then : |
12656 | cat >>confdefs.h <<_ACEOF | 8551 | cat >>confdefs.h <<_ACEOF |
12657 | #define HAVE_LIBSOCKET 1 | 8552 | #define HAVE_LIBSOCKET 1 |
12658 | _ACEOF | 8553 | _ACEOF |
@@ -12664,235 +8559,19 @@ fi | |||
12664 | fi | 8559 | fi |
12665 | 8560 | ||
12666 | 8561 | ||
12667 | |||
12668 | for ac_func in dirname | 8562 | for ac_func in dirname |
12669 | do | 8563 | do : |
12670 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 8564 | ac_fn_c_check_func "$LINENO" "dirname" "ac_cv_func_dirname" |
12671 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 8565 | if test "x$ac_cv_func_dirname" = xyes; then : |
12672 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
12673 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
12674 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
12675 | else | ||
12676 | cat >conftest.$ac_ext <<_ACEOF | ||
12677 | /* confdefs.h. */ | ||
12678 | _ACEOF | ||
12679 | cat confdefs.h >>conftest.$ac_ext | ||
12680 | cat >>conftest.$ac_ext <<_ACEOF | ||
12681 | /* end confdefs.h. */ | ||
12682 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
12683 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
12684 | #define $ac_func innocuous_$ac_func | ||
12685 | |||
12686 | /* System header to define __stub macros and hopefully few prototypes, | ||
12687 | which can conflict with char $ac_func (); below. | ||
12688 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
12689 | <limits.h> exists even on freestanding compilers. */ | ||
12690 | |||
12691 | #ifdef __STDC__ | ||
12692 | # include <limits.h> | ||
12693 | #else | ||
12694 | # include <assert.h> | ||
12695 | #endif | ||
12696 | |||
12697 | #undef $ac_func | ||
12698 | |||
12699 | /* Override any GCC internal prototype to avoid an error. | ||
12700 | Use char because int might match the return type of a GCC | ||
12701 | builtin and then its argument prototype would still apply. */ | ||
12702 | #ifdef __cplusplus | ||
12703 | extern "C" | ||
12704 | #endif | ||
12705 | char $ac_func (); | ||
12706 | /* The GNU C library defines this for functions which it implements | ||
12707 | to always fail with ENOSYS. Some functions are actually named | ||
12708 | something starting with __ and the normal name is an alias. */ | ||
12709 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
12710 | choke me | ||
12711 | #endif | ||
12712 | |||
12713 | int | ||
12714 | main () | ||
12715 | { | ||
12716 | return $ac_func (); | ||
12717 | ; | ||
12718 | return 0; | ||
12719 | } | ||
12720 | _ACEOF | ||
12721 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
12722 | if { (ac_try="$ac_link" | ||
12723 | case "(($ac_try" in | ||
12724 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
12725 | *) ac_try_echo=$ac_try;; | ||
12726 | esac | ||
12727 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
12728 | (eval "$ac_link") 2>conftest.er1 | ||
12729 | ac_status=$? | ||
12730 | grep -v '^ *+' conftest.er1 >conftest.err | ||
12731 | rm -f conftest.er1 | ||
12732 | cat conftest.err >&5 | ||
12733 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
12734 | (exit $ac_status); } && { | ||
12735 | test -z "$ac_c_werror_flag" || | ||
12736 | test ! -s conftest.err | ||
12737 | } && test -s conftest$ac_exeext && | ||
12738 | $as_test_x conftest$ac_exeext; then | ||
12739 | eval "$as_ac_var=yes" | ||
12740 | else | ||
12741 | echo "$as_me: failed program was:" >&5 | ||
12742 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
12743 | |||
12744 | eval "$as_ac_var=no" | ||
12745 | fi | ||
12746 | |||
12747 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
12748 | conftest$ac_exeext conftest.$ac_ext | ||
12749 | fi | ||
12750 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
12751 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
12752 | echo "${ECHO_T}$ac_res" >&6; } | ||
12753 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
12754 | cat >>confdefs.h <<_ACEOF | 8566 | cat >>confdefs.h <<_ACEOF |
12755 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 8567 | #define HAVE_DIRNAME 1 |
12756 | _ACEOF | ||
12757 | |||
12758 | for ac_header in libgen.h | ||
12759 | do | ||
12760 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | ||
12761 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
12762 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
12763 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
12764 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
12765 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
12766 | fi | ||
12767 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
12768 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
12769 | echo "${ECHO_T}$ac_res" >&6; } | ||
12770 | else | ||
12771 | # Is the header compilable? | ||
12772 | { echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
12773 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } | ||
12774 | cat >conftest.$ac_ext <<_ACEOF | ||
12775 | /* confdefs.h. */ | ||
12776 | _ACEOF | ||
12777 | cat confdefs.h >>conftest.$ac_ext | ||
12778 | cat >>conftest.$ac_ext <<_ACEOF | ||
12779 | /* end confdefs.h. */ | ||
12780 | $ac_includes_default | ||
12781 | #include <$ac_header> | ||
12782 | _ACEOF | ||
12783 | rm -f conftest.$ac_objext | ||
12784 | if { (ac_try="$ac_compile" | ||
12785 | case "(($ac_try" in | ||
12786 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
12787 | *) ac_try_echo=$ac_try;; | ||
12788 | esac | ||
12789 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
12790 | (eval "$ac_compile") 2>conftest.er1 | ||
12791 | ac_status=$? | ||
12792 | grep -v '^ *+' conftest.er1 >conftest.err | ||
12793 | rm -f conftest.er1 | ||
12794 | cat conftest.err >&5 | ||
12795 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
12796 | (exit $ac_status); } && { | ||
12797 | test -z "$ac_c_werror_flag" || | ||
12798 | test ! -s conftest.err | ||
12799 | } && test -s conftest.$ac_objext; then | ||
12800 | ac_header_compiler=yes | ||
12801 | else | ||
12802 | echo "$as_me: failed program was:" >&5 | ||
12803 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
12804 | |||
12805 | ac_header_compiler=no | ||
12806 | fi | ||
12807 | |||
12808 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
12809 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
12810 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
12811 | |||
12812 | # Is the header present? | ||
12813 | { echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
12814 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } | ||
12815 | cat >conftest.$ac_ext <<_ACEOF | ||
12816 | /* confdefs.h. */ | ||
12817 | _ACEOF | ||
12818 | cat confdefs.h >>conftest.$ac_ext | ||
12819 | cat >>conftest.$ac_ext <<_ACEOF | ||
12820 | /* end confdefs.h. */ | ||
12821 | #include <$ac_header> | ||
12822 | _ACEOF | 8568 | _ACEOF |
12823 | if { (ac_try="$ac_cpp conftest.$ac_ext" | 8569 | for ac_header in libgen.h |
12824 | case "(($ac_try" in | 8570 | do : |
12825 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | 8571 | ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default" |
12826 | *) ac_try_echo=$ac_try;; | 8572 | if test "x$ac_cv_header_libgen_h" = xyes; then : |
12827 | esac | ||
12828 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
12829 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
12830 | ac_status=$? | ||
12831 | grep -v '^ *+' conftest.er1 >conftest.err | ||
12832 | rm -f conftest.er1 | ||
12833 | cat conftest.err >&5 | ||
12834 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
12835 | (exit $ac_status); } >/dev/null && { | ||
12836 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
12837 | test ! -s conftest.err | ||
12838 | }; then | ||
12839 | ac_header_preproc=yes | ||
12840 | else | ||
12841 | echo "$as_me: failed program was:" >&5 | ||
12842 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
12843 | |||
12844 | ac_header_preproc=no | ||
12845 | fi | ||
12846 | |||
12847 | rm -f conftest.err conftest.$ac_ext | ||
12848 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
12849 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
12850 | |||
12851 | # So? What about this header? | ||
12852 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
12853 | yes:no: ) | ||
12854 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
12855 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
12856 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
12857 | echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
12858 | ac_header_preproc=yes | ||
12859 | ;; | ||
12860 | no:yes:* ) | ||
12861 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
12862 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
12863 | { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
12864 | echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
12865 | { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
12866 | echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
12867 | { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
12868 | echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
12869 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
12870 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
12871 | { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
12872 | echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
12873 | ( cat <<\_ASBOX | ||
12874 | ## ------------------------------------------- ## | ||
12875 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
12876 | ## ------------------------------------------- ## | ||
12877 | _ASBOX | ||
12878 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
12879 | ;; | ||
12880 | esac | ||
12881 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
12882 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
12883 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
12884 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
12885 | else | ||
12886 | eval "$as_ac_Header=\$ac_header_preproc" | ||
12887 | fi | ||
12888 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
12889 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
12890 | echo "${ECHO_T}$ac_res" >&6; } | ||
12891 | |||
12892 | fi | ||
12893 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
12894 | cat >>confdefs.h <<_ACEOF | 8573 | cat >>confdefs.h <<_ACEOF |
12895 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 8574 | #define HAVE_LIBGEN_H 1 |
12896 | _ACEOF | 8575 | _ACEOF |
12897 | 8576 | ||
12898 | fi | 8577 | fi |
@@ -12901,18 +8580,14 @@ done | |||
12901 | 8580 | ||
12902 | else | 8581 | else |
12903 | 8582 | ||
12904 | { echo "$as_me:$LINENO: checking for dirname in -lgen" >&5 | 8583 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dirname in -lgen" >&5 |
12905 | echo $ECHO_N "checking for dirname in -lgen... $ECHO_C" >&6; } | 8584 | $as_echo_n "checking for dirname in -lgen... " >&6; } |
12906 | if test "${ac_cv_lib_gen_dirname+set}" = set; then | 8585 | if ${ac_cv_lib_gen_dirname+:} false; then : |
12907 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 8586 | $as_echo_n "(cached) " >&6 |
12908 | else | 8587 | else |
12909 | ac_check_lib_save_LIBS=$LIBS | 8588 | ac_check_lib_save_LIBS=$LIBS |
12910 | LIBS="-lgen $LIBS" | 8589 | LIBS="-lgen $LIBS" |
12911 | cat >conftest.$ac_ext <<_ACEOF | 8590 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
12912 | /* confdefs.h. */ | ||
12913 | _ACEOF | ||
12914 | cat confdefs.h >>conftest.$ac_ext | ||
12915 | cat >>conftest.$ac_ext <<_ACEOF | ||
12916 | /* end confdefs.h. */ | 8591 | /* end confdefs.h. */ |
12917 | 8592 | ||
12918 | /* Override any GCC internal prototype to avoid an error. | 8593 | /* Override any GCC internal prototype to avoid an error. |
@@ -12930,56 +8605,31 @@ return dirname (); | |||
12930 | return 0; | 8605 | return 0; |
12931 | } | 8606 | } |
12932 | _ACEOF | 8607 | _ACEOF |
12933 | rm -f conftest.$ac_objext conftest$ac_exeext | 8608 | if ac_fn_c_try_link "$LINENO"; then : |
12934 | if { (ac_try="$ac_link" | ||
12935 | case "(($ac_try" in | ||
12936 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
12937 | *) ac_try_echo=$ac_try;; | ||
12938 | esac | ||
12939 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
12940 | (eval "$ac_link") 2>conftest.er1 | ||
12941 | ac_status=$? | ||
12942 | grep -v '^ *+' conftest.er1 >conftest.err | ||
12943 | rm -f conftest.er1 | ||
12944 | cat conftest.err >&5 | ||
12945 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
12946 | (exit $ac_status); } && { | ||
12947 | test -z "$ac_c_werror_flag" || | ||
12948 | test ! -s conftest.err | ||
12949 | } && test -s conftest$ac_exeext && | ||
12950 | $as_test_x conftest$ac_exeext; then | ||
12951 | ac_cv_lib_gen_dirname=yes | 8609 | ac_cv_lib_gen_dirname=yes |
12952 | else | 8610 | else |
12953 | echo "$as_me: failed program was:" >&5 | 8611 | ac_cv_lib_gen_dirname=no |
12954 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
12955 | |||
12956 | ac_cv_lib_gen_dirname=no | ||
12957 | fi | 8612 | fi |
12958 | 8613 | rm -f core conftest.err conftest.$ac_objext \ | |
12959 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 8614 | conftest$ac_exeext conftest.$ac_ext |
12960 | conftest$ac_exeext conftest.$ac_ext | ||
12961 | LIBS=$ac_check_lib_save_LIBS | 8615 | LIBS=$ac_check_lib_save_LIBS |
12962 | fi | 8616 | fi |
12963 | { echo "$as_me:$LINENO: result: $ac_cv_lib_gen_dirname" >&5 | 8617 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_dirname" >&5 |
12964 | echo "${ECHO_T}$ac_cv_lib_gen_dirname" >&6; } | 8618 | $as_echo "$ac_cv_lib_gen_dirname" >&6; } |
12965 | if test $ac_cv_lib_gen_dirname = yes; then | 8619 | if test "x$ac_cv_lib_gen_dirname" = xyes; then : |
12966 | 8620 | ||
12967 | { echo "$as_me:$LINENO: checking for broken dirname" >&5 | 8621 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken dirname" >&5 |
12968 | echo $ECHO_N "checking for broken dirname... $ECHO_C" >&6; } | 8622 | $as_echo_n "checking for broken dirname... " >&6; } |
12969 | if test "${ac_cv_have_broken_dirname+set}" = set; then | 8623 | if ${ac_cv_have_broken_dirname+:} false; then : |
12970 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 8624 | $as_echo_n "(cached) " >&6 |
12971 | else | 8625 | else |
12972 | 8626 | ||
12973 | save_LIBS="$LIBS" | 8627 | save_LIBS="$LIBS" |
12974 | LIBS="$LIBS -lgen" | 8628 | LIBS="$LIBS -lgen" |
12975 | if test "$cross_compiling" = yes; then | 8629 | if test "$cross_compiling" = yes; then : |
12976 | ac_cv_have_broken_dirname="no" | 8630 | ac_cv_have_broken_dirname="no" |
12977 | else | 8631 | else |
12978 | cat >conftest.$ac_ext <<_ACEOF | 8632 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
12979 | /* confdefs.h. */ | ||
12980 | _ACEOF | ||
12981 | cat confdefs.h >>conftest.$ac_ext | ||
12982 | cat >>conftest.$ac_ext <<_ACEOF | ||
12983 | /* end confdefs.h. */ | 8633 | /* end confdefs.h. */ |
12984 | 8634 | ||
12985 | #include <libgen.h> | 8635 | #include <libgen.h> |
@@ -12998,189 +8648,30 @@ int main(int argc, char **argv) { | |||
12998 | } | 8648 | } |
12999 | 8649 | ||
13000 | _ACEOF | 8650 | _ACEOF |
13001 | rm -f conftest$ac_exeext | 8651 | if ac_fn_c_try_run "$LINENO"; then : |
13002 | if { (ac_try="$ac_link" | ||
13003 | case "(($ac_try" in | ||
13004 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13005 | *) ac_try_echo=$ac_try;; | ||
13006 | esac | ||
13007 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13008 | (eval "$ac_link") 2>&5 | ||
13009 | ac_status=$? | ||
13010 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13011 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
13012 | { (case "(($ac_try" in | ||
13013 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13014 | *) ac_try_echo=$ac_try;; | ||
13015 | esac | ||
13016 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13017 | (eval "$ac_try") 2>&5 | ||
13018 | ac_status=$? | ||
13019 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13020 | (exit $ac_status); }; }; then | ||
13021 | ac_cv_have_broken_dirname="no" | 8652 | ac_cv_have_broken_dirname="no" |
13022 | else | 8653 | else |
13023 | echo "$as_me: program exited with status $ac_status" >&5 | 8654 | ac_cv_have_broken_dirname="yes" |
13024 | echo "$as_me: failed program was:" >&5 | ||
13025 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
13026 | |||
13027 | ( exit $ac_status ) | ||
13028 | ac_cv_have_broken_dirname="yes" | ||
13029 | fi | 8655 | fi |
13030 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 8656 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
8657 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
13031 | fi | 8658 | fi |
13032 | 8659 | ||
13033 | |||
13034 | LIBS="$save_LIBS" | 8660 | LIBS="$save_LIBS" |
13035 | 8661 | ||
13036 | fi | 8662 | fi |
13037 | { echo "$as_me:$LINENO: result: $ac_cv_have_broken_dirname" >&5 | 8663 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_broken_dirname" >&5 |
13038 | echo "${ECHO_T}$ac_cv_have_broken_dirname" >&6; } | 8664 | $as_echo "$ac_cv_have_broken_dirname" >&6; } |
13039 | if test "x$ac_cv_have_broken_dirname" = "xno" ; then | 8665 | if test "x$ac_cv_have_broken_dirname" = "xno" ; then |
13040 | LIBS="$LIBS -lgen" | 8666 | LIBS="$LIBS -lgen" |
13041 | cat >>confdefs.h <<\_ACEOF | 8667 | $as_echo "#define HAVE_DIRNAME 1" >>confdefs.h |
13042 | #define HAVE_DIRNAME 1 | ||
13043 | _ACEOF | ||
13044 | |||
13045 | |||
13046 | for ac_header in libgen.h | ||
13047 | do | ||
13048 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | ||
13049 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
13050 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
13051 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
13052 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
13053 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
13054 | fi | ||
13055 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
13056 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
13057 | echo "${ECHO_T}$ac_res" >&6; } | ||
13058 | else | ||
13059 | # Is the header compilable? | ||
13060 | { echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
13061 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } | ||
13062 | cat >conftest.$ac_ext <<_ACEOF | ||
13063 | /* confdefs.h. */ | ||
13064 | _ACEOF | ||
13065 | cat confdefs.h >>conftest.$ac_ext | ||
13066 | cat >>conftest.$ac_ext <<_ACEOF | ||
13067 | /* end confdefs.h. */ | ||
13068 | $ac_includes_default | ||
13069 | #include <$ac_header> | ||
13070 | _ACEOF | ||
13071 | rm -f conftest.$ac_objext | ||
13072 | if { (ac_try="$ac_compile" | ||
13073 | case "(($ac_try" in | ||
13074 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13075 | *) ac_try_echo=$ac_try;; | ||
13076 | esac | ||
13077 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13078 | (eval "$ac_compile") 2>conftest.er1 | ||
13079 | ac_status=$? | ||
13080 | grep -v '^ *+' conftest.er1 >conftest.err | ||
13081 | rm -f conftest.er1 | ||
13082 | cat conftest.err >&5 | ||
13083 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13084 | (exit $ac_status); } && { | ||
13085 | test -z "$ac_c_werror_flag" || | ||
13086 | test ! -s conftest.err | ||
13087 | } && test -s conftest.$ac_objext; then | ||
13088 | ac_header_compiler=yes | ||
13089 | else | ||
13090 | echo "$as_me: failed program was:" >&5 | ||
13091 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
13092 | 8668 | ||
13093 | ac_header_compiler=no | 8669 | for ac_header in libgen.h |
13094 | fi | 8670 | do : |
13095 | 8671 | ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default" | |
13096 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 8672 | if test "x$ac_cv_header_libgen_h" = xyes; then : |
13097 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
13098 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
13099 | |||
13100 | # Is the header present? | ||
13101 | { echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
13102 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } | ||
13103 | cat >conftest.$ac_ext <<_ACEOF | ||
13104 | /* confdefs.h. */ | ||
13105 | _ACEOF | ||
13106 | cat confdefs.h >>conftest.$ac_ext | ||
13107 | cat >>conftest.$ac_ext <<_ACEOF | ||
13108 | /* end confdefs.h. */ | ||
13109 | #include <$ac_header> | ||
13110 | _ACEOF | ||
13111 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
13112 | case "(($ac_try" in | ||
13113 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13114 | *) ac_try_echo=$ac_try;; | ||
13115 | esac | ||
13116 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13117 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
13118 | ac_status=$? | ||
13119 | grep -v '^ *+' conftest.er1 >conftest.err | ||
13120 | rm -f conftest.er1 | ||
13121 | cat conftest.err >&5 | ||
13122 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13123 | (exit $ac_status); } >/dev/null && { | ||
13124 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
13125 | test ! -s conftest.err | ||
13126 | }; then | ||
13127 | ac_header_preproc=yes | ||
13128 | else | ||
13129 | echo "$as_me: failed program was:" >&5 | ||
13130 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
13131 | |||
13132 | ac_header_preproc=no | ||
13133 | fi | ||
13134 | |||
13135 | rm -f conftest.err conftest.$ac_ext | ||
13136 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
13137 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
13138 | |||
13139 | # So? What about this header? | ||
13140 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
13141 | yes:no: ) | ||
13142 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
13143 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
13144 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
13145 | echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
13146 | ac_header_preproc=yes | ||
13147 | ;; | ||
13148 | no:yes:* ) | ||
13149 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
13150 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
13151 | { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
13152 | echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
13153 | { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
13154 | echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
13155 | { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
13156 | echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
13157 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
13158 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
13159 | { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
13160 | echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
13161 | ( cat <<\_ASBOX | ||
13162 | ## ------------------------------------------- ## | ||
13163 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
13164 | ## ------------------------------------------- ## | ||
13165 | _ASBOX | ||
13166 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
13167 | ;; | ||
13168 | esac | ||
13169 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
13170 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
13171 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
13172 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
13173 | else | ||
13174 | eval "$as_ac_Header=\$ac_header_preproc" | ||
13175 | fi | ||
13176 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
13177 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
13178 | echo "${ECHO_T}$ac_res" >&6; } | ||
13179 | |||
13180 | fi | ||
13181 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
13182 | cat >>confdefs.h <<_ACEOF | 8673 | cat >>confdefs.h <<_ACEOF |
13183 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 8674 | #define HAVE_LIBGEN_H 1 |
13184 | _ACEOF | 8675 | _ACEOF |
13185 | 8676 | ||
13186 | fi | 8677 | fi |
@@ -13196,102 +8687,18 @@ fi | |||
13196 | done | 8687 | done |
13197 | 8688 | ||
13198 | 8689 | ||
13199 | { echo "$as_me:$LINENO: checking for getspnam" >&5 | 8690 | ac_fn_c_check_func "$LINENO" "getspnam" "ac_cv_func_getspnam" |
13200 | echo $ECHO_N "checking for getspnam... $ECHO_C" >&6; } | 8691 | if test "x$ac_cv_func_getspnam" = xyes; then : |
13201 | if test "${ac_cv_func_getspnam+set}" = set; then | ||
13202 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
13203 | else | ||
13204 | cat >conftest.$ac_ext <<_ACEOF | ||
13205 | /* confdefs.h. */ | ||
13206 | _ACEOF | ||
13207 | cat confdefs.h >>conftest.$ac_ext | ||
13208 | cat >>conftest.$ac_ext <<_ACEOF | ||
13209 | /* end confdefs.h. */ | ||
13210 | /* Define getspnam to an innocuous variant, in case <limits.h> declares getspnam. | ||
13211 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
13212 | #define getspnam innocuous_getspnam | ||
13213 | |||
13214 | /* System header to define __stub macros and hopefully few prototypes, | ||
13215 | which can conflict with char getspnam (); below. | ||
13216 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
13217 | <limits.h> exists even on freestanding compilers. */ | ||
13218 | |||
13219 | #ifdef __STDC__ | ||
13220 | # include <limits.h> | ||
13221 | #else | ||
13222 | # include <assert.h> | ||
13223 | #endif | ||
13224 | |||
13225 | #undef getspnam | ||
13226 | |||
13227 | /* Override any GCC internal prototype to avoid an error. | ||
13228 | Use char because int might match the return type of a GCC | ||
13229 | builtin and then its argument prototype would still apply. */ | ||
13230 | #ifdef __cplusplus | ||
13231 | extern "C" | ||
13232 | #endif | ||
13233 | char getspnam (); | ||
13234 | /* The GNU C library defines this for functions which it implements | ||
13235 | to always fail with ENOSYS. Some functions are actually named | ||
13236 | something starting with __ and the normal name is an alias. */ | ||
13237 | #if defined __stub_getspnam || defined __stub___getspnam | ||
13238 | choke me | ||
13239 | #endif | ||
13240 | 8692 | ||
13241 | int | ||
13242 | main () | ||
13243 | { | ||
13244 | return getspnam (); | ||
13245 | ; | ||
13246 | return 0; | ||
13247 | } | ||
13248 | _ACEOF | ||
13249 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
13250 | if { (ac_try="$ac_link" | ||
13251 | case "(($ac_try" in | ||
13252 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13253 | *) ac_try_echo=$ac_try;; | ||
13254 | esac | ||
13255 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13256 | (eval "$ac_link") 2>conftest.er1 | ||
13257 | ac_status=$? | ||
13258 | grep -v '^ *+' conftest.er1 >conftest.err | ||
13259 | rm -f conftest.er1 | ||
13260 | cat conftest.err >&5 | ||
13261 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13262 | (exit $ac_status); } && { | ||
13263 | test -z "$ac_c_werror_flag" || | ||
13264 | test ! -s conftest.err | ||
13265 | } && test -s conftest$ac_exeext && | ||
13266 | $as_test_x conftest$ac_exeext; then | ||
13267 | ac_cv_func_getspnam=yes | ||
13268 | else | 8693 | else |
13269 | echo "$as_me: failed program was:" >&5 | 8694 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getspnam in -lgen" >&5 |
13270 | sed 's/^/| /' conftest.$ac_ext >&5 | 8695 | $as_echo_n "checking for getspnam in -lgen... " >&6; } |
13271 | 8696 | if ${ac_cv_lib_gen_getspnam+:} false; then : | |
13272 | ac_cv_func_getspnam=no | 8697 | $as_echo_n "(cached) " >&6 |
13273 | fi | ||
13274 | |||
13275 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
13276 | conftest$ac_exeext conftest.$ac_ext | ||
13277 | fi | ||
13278 | { echo "$as_me:$LINENO: result: $ac_cv_func_getspnam" >&5 | ||
13279 | echo "${ECHO_T}$ac_cv_func_getspnam" >&6; } | ||
13280 | if test $ac_cv_func_getspnam = yes; then | ||
13281 | : | ||
13282 | else | ||
13283 | { echo "$as_me:$LINENO: checking for getspnam in -lgen" >&5 | ||
13284 | echo $ECHO_N "checking for getspnam in -lgen... $ECHO_C" >&6; } | ||
13285 | if test "${ac_cv_lib_gen_getspnam+set}" = set; then | ||
13286 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
13287 | else | 8698 | else |
13288 | ac_check_lib_save_LIBS=$LIBS | 8699 | ac_check_lib_save_LIBS=$LIBS |
13289 | LIBS="-lgen $LIBS" | 8700 | LIBS="-lgen $LIBS" |
13290 | cat >conftest.$ac_ext <<_ACEOF | 8701 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
13291 | /* confdefs.h. */ | ||
13292 | _ACEOF | ||
13293 | cat confdefs.h >>conftest.$ac_ext | ||
13294 | cat >>conftest.$ac_ext <<_ACEOF | ||
13295 | /* end confdefs.h. */ | 8702 | /* end confdefs.h. */ |
13296 | 8703 | ||
13297 | /* Override any GCC internal prototype to avoid an error. | 8704 | /* Override any GCC internal prototype to avoid an error. |
@@ -13309,55 +8716,30 @@ return getspnam (); | |||
13309 | return 0; | 8716 | return 0; |
13310 | } | 8717 | } |
13311 | _ACEOF | 8718 | _ACEOF |
13312 | rm -f conftest.$ac_objext conftest$ac_exeext | 8719 | if ac_fn_c_try_link "$LINENO"; then : |
13313 | if { (ac_try="$ac_link" | ||
13314 | case "(($ac_try" in | ||
13315 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13316 | *) ac_try_echo=$ac_try;; | ||
13317 | esac | ||
13318 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13319 | (eval "$ac_link") 2>conftest.er1 | ||
13320 | ac_status=$? | ||
13321 | grep -v '^ *+' conftest.er1 >conftest.err | ||
13322 | rm -f conftest.er1 | ||
13323 | cat conftest.err >&5 | ||
13324 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13325 | (exit $ac_status); } && { | ||
13326 | test -z "$ac_c_werror_flag" || | ||
13327 | test ! -s conftest.err | ||
13328 | } && test -s conftest$ac_exeext && | ||
13329 | $as_test_x conftest$ac_exeext; then | ||
13330 | ac_cv_lib_gen_getspnam=yes | 8720 | ac_cv_lib_gen_getspnam=yes |
13331 | else | 8721 | else |
13332 | echo "$as_me: failed program was:" >&5 | 8722 | ac_cv_lib_gen_getspnam=no |
13333 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
13334 | |||
13335 | ac_cv_lib_gen_getspnam=no | ||
13336 | fi | 8723 | fi |
13337 | 8724 | rm -f core conftest.err conftest.$ac_objext \ | |
13338 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 8725 | conftest$ac_exeext conftest.$ac_ext |
13339 | conftest$ac_exeext conftest.$ac_ext | ||
13340 | LIBS=$ac_check_lib_save_LIBS | 8726 | LIBS=$ac_check_lib_save_LIBS |
13341 | fi | 8727 | fi |
13342 | { echo "$as_me:$LINENO: result: $ac_cv_lib_gen_getspnam" >&5 | 8728 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_getspnam" >&5 |
13343 | echo "${ECHO_T}$ac_cv_lib_gen_getspnam" >&6; } | 8729 | $as_echo "$ac_cv_lib_gen_getspnam" >&6; } |
13344 | if test $ac_cv_lib_gen_getspnam = yes; then | 8730 | if test "x$ac_cv_lib_gen_getspnam" = xyes; then : |
13345 | LIBS="$LIBS -lgen" | 8731 | LIBS="$LIBS -lgen" |
13346 | fi | 8732 | fi |
13347 | 8733 | ||
13348 | fi | 8734 | fi |
13349 | 8735 | ||
13350 | { echo "$as_me:$LINENO: checking for library containing basename" >&5 | 8736 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing basename" >&5 |
13351 | echo $ECHO_N "checking for library containing basename... $ECHO_C" >&6; } | 8737 | $as_echo_n "checking for library containing basename... " >&6; } |
13352 | if test "${ac_cv_search_basename+set}" = set; then | 8738 | if ${ac_cv_search_basename+:} false; then : |
13353 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 8739 | $as_echo_n "(cached) " >&6 |
13354 | else | 8740 | else |
13355 | ac_func_search_save_LIBS=$LIBS | 8741 | ac_func_search_save_LIBS=$LIBS |
13356 | cat >conftest.$ac_ext <<_ACEOF | 8742 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
13357 | /* confdefs.h. */ | ||
13358 | _ACEOF | ||
13359 | cat confdefs.h >>conftest.$ac_ext | ||
13360 | cat >>conftest.$ac_ext <<_ACEOF | ||
13361 | /* end confdefs.h. */ | 8743 | /* end confdefs.h. */ |
13362 | 8744 | ||
13363 | /* Override any GCC internal prototype to avoid an error. | 8745 | /* Override any GCC internal prototype to avoid an error. |
@@ -13382,66 +8764,39 @@ for ac_lib in '' gen; do | |||
13382 | ac_res=-l$ac_lib | 8764 | ac_res=-l$ac_lib |
13383 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 8765 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
13384 | fi | 8766 | fi |
13385 | rm -f conftest.$ac_objext conftest$ac_exeext | 8767 | if ac_fn_c_try_link "$LINENO"; then : |
13386 | if { (ac_try="$ac_link" | ||
13387 | case "(($ac_try" in | ||
13388 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13389 | *) ac_try_echo=$ac_try;; | ||
13390 | esac | ||
13391 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13392 | (eval "$ac_link") 2>conftest.er1 | ||
13393 | ac_status=$? | ||
13394 | grep -v '^ *+' conftest.er1 >conftest.err | ||
13395 | rm -f conftest.er1 | ||
13396 | cat conftest.err >&5 | ||
13397 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13398 | (exit $ac_status); } && { | ||
13399 | test -z "$ac_c_werror_flag" || | ||
13400 | test ! -s conftest.err | ||
13401 | } && test -s conftest$ac_exeext && | ||
13402 | $as_test_x conftest$ac_exeext; then | ||
13403 | ac_cv_search_basename=$ac_res | 8768 | ac_cv_search_basename=$ac_res |
13404 | else | ||
13405 | echo "$as_me: failed program was:" >&5 | ||
13406 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
13407 | |||
13408 | |||
13409 | fi | 8769 | fi |
13410 | 8770 | rm -f core conftest.err conftest.$ac_objext \ | |
13411 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 8771 | conftest$ac_exeext |
13412 | conftest$ac_exeext | 8772 | if ${ac_cv_search_basename+:} false; then : |
13413 | if test "${ac_cv_search_basename+set}" = set; then | ||
13414 | break | 8773 | break |
13415 | fi | 8774 | fi |
13416 | done | 8775 | done |
13417 | if test "${ac_cv_search_basename+set}" = set; then | 8776 | if ${ac_cv_search_basename+:} false; then : |
13418 | : | 8777 | |
13419 | else | 8778 | else |
13420 | ac_cv_search_basename=no | 8779 | ac_cv_search_basename=no |
13421 | fi | 8780 | fi |
13422 | rm conftest.$ac_ext | 8781 | rm conftest.$ac_ext |
13423 | LIBS=$ac_func_search_save_LIBS | 8782 | LIBS=$ac_func_search_save_LIBS |
13424 | fi | 8783 | fi |
13425 | { echo "$as_me:$LINENO: result: $ac_cv_search_basename" >&5 | 8784 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_basename" >&5 |
13426 | echo "${ECHO_T}$ac_cv_search_basename" >&6; } | 8785 | $as_echo "$ac_cv_search_basename" >&6; } |
13427 | ac_res=$ac_cv_search_basename | 8786 | ac_res=$ac_cv_search_basename |
13428 | if test "$ac_res" != no; then | 8787 | if test "$ac_res" != no; then : |
13429 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 8788 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
13430 | 8789 | ||
13431 | cat >>confdefs.h <<\_ACEOF | 8790 | $as_echo "#define HAVE_BASENAME 1" >>confdefs.h |
13432 | #define HAVE_BASENAME 1 | ||
13433 | _ACEOF | ||
13434 | 8791 | ||
13435 | fi | 8792 | fi |
13436 | 8793 | ||
13437 | 8794 | ||
13438 | 8795 | ||
13439 | # Check whether --with-zlib was given. | 8796 | # Check whether --with-zlib was given. |
13440 | if test "${with_zlib+set}" = set; then | 8797 | if test "${with_zlib+set}" = set; then : |
13441 | withval=$with_zlib; if test "x$withval" = "xno" ; then | 8798 | withval=$with_zlib; if test "x$withval" = "xno" ; then |
13442 | { { echo "$as_me:$LINENO: error: *** zlib is required ***" >&5 | 8799 | as_fn_error $? "*** zlib is required ***" "$LINENO" 5 |
13443 | echo "$as_me: error: *** zlib is required ***" >&2;} | ||
13444 | { (exit 1); exit 1; }; } | ||
13445 | elif test "x$withval" != "xyes"; then | 8800 | elif test "x$withval" != "xyes"; then |
13446 | if test -d "$withval/lib"; then | 8801 | if test -d "$withval/lib"; then |
13447 | if test -n "${need_dash_r}"; then | 8802 | if test -n "${need_dash_r}"; then |
@@ -13466,158 +8821,22 @@ echo "$as_me: error: *** zlib is required ***" >&2;} | |||
13466 | fi | 8821 | fi |
13467 | 8822 | ||
13468 | 8823 | ||
13469 | if test "${ac_cv_header_zlib_h+set}" = set; then | 8824 | ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" |
13470 | { echo "$as_me:$LINENO: checking for zlib.h" >&5 | 8825 | if test "x$ac_cv_header_zlib_h" = xyes; then : |
13471 | echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } | ||
13472 | if test "${ac_cv_header_zlib_h+set}" = set; then | ||
13473 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
13474 | fi | ||
13475 | { echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 | ||
13476 | echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } | ||
13477 | else | ||
13478 | # Is the header compilable? | ||
13479 | { echo "$as_me:$LINENO: checking zlib.h usability" >&5 | ||
13480 | echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } | ||
13481 | cat >conftest.$ac_ext <<_ACEOF | ||
13482 | /* confdefs.h. */ | ||
13483 | _ACEOF | ||
13484 | cat confdefs.h >>conftest.$ac_ext | ||
13485 | cat >>conftest.$ac_ext <<_ACEOF | ||
13486 | /* end confdefs.h. */ | ||
13487 | $ac_includes_default | ||
13488 | #include <zlib.h> | ||
13489 | _ACEOF | ||
13490 | rm -f conftest.$ac_objext | ||
13491 | if { (ac_try="$ac_compile" | ||
13492 | case "(($ac_try" in | ||
13493 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13494 | *) ac_try_echo=$ac_try;; | ||
13495 | esac | ||
13496 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13497 | (eval "$ac_compile") 2>conftest.er1 | ||
13498 | ac_status=$? | ||
13499 | grep -v '^ *+' conftest.er1 >conftest.err | ||
13500 | rm -f conftest.er1 | ||
13501 | cat conftest.err >&5 | ||
13502 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13503 | (exit $ac_status); } && { | ||
13504 | test -z "$ac_c_werror_flag" || | ||
13505 | test ! -s conftest.err | ||
13506 | } && test -s conftest.$ac_objext; then | ||
13507 | ac_header_compiler=yes | ||
13508 | else | ||
13509 | echo "$as_me: failed program was:" >&5 | ||
13510 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
13511 | |||
13512 | ac_header_compiler=no | ||
13513 | fi | ||
13514 | |||
13515 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
13516 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
13517 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
13518 | 8826 | ||
13519 | # Is the header present? | ||
13520 | { echo "$as_me:$LINENO: checking zlib.h presence" >&5 | ||
13521 | echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } | ||
13522 | cat >conftest.$ac_ext <<_ACEOF | ||
13523 | /* confdefs.h. */ | ||
13524 | _ACEOF | ||
13525 | cat confdefs.h >>conftest.$ac_ext | ||
13526 | cat >>conftest.$ac_ext <<_ACEOF | ||
13527 | /* end confdefs.h. */ | ||
13528 | #include <zlib.h> | ||
13529 | _ACEOF | ||
13530 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
13531 | case "(($ac_try" in | ||
13532 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13533 | *) ac_try_echo=$ac_try;; | ||
13534 | esac | ||
13535 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13536 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
13537 | ac_status=$? | ||
13538 | grep -v '^ *+' conftest.er1 >conftest.err | ||
13539 | rm -f conftest.er1 | ||
13540 | cat conftest.err >&5 | ||
13541 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13542 | (exit $ac_status); } >/dev/null && { | ||
13543 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
13544 | test ! -s conftest.err | ||
13545 | }; then | ||
13546 | ac_header_preproc=yes | ||
13547 | else | 8827 | else |
13548 | echo "$as_me: failed program was:" >&5 | 8828 | as_fn_error $? "*** zlib.h missing - please install first or check config.log ***" "$LINENO" 5 |
13549 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
13550 | |||
13551 | ac_header_preproc=no | ||
13552 | fi | 8829 | fi |
13553 | 8830 | ||
13554 | rm -f conftest.err conftest.$ac_ext | ||
13555 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
13556 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
13557 | |||
13558 | # So? What about this header? | ||
13559 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
13560 | yes:no: ) | ||
13561 | { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
13562 | echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
13563 | { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 | ||
13564 | echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} | ||
13565 | ac_header_preproc=yes | ||
13566 | ;; | ||
13567 | no:yes:* ) | ||
13568 | { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 | ||
13569 | echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} | ||
13570 | { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 | ||
13571 | echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} | ||
13572 | { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 | ||
13573 | echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} | ||
13574 | { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 | ||
13575 | echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} | ||
13576 | { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 | ||
13577 | echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} | ||
13578 | { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 | ||
13579 | echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} | ||
13580 | ( cat <<\_ASBOX | ||
13581 | ## ------------------------------------------- ## | ||
13582 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
13583 | ## ------------------------------------------- ## | ||
13584 | _ASBOX | ||
13585 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
13586 | ;; | ||
13587 | esac | ||
13588 | { echo "$as_me:$LINENO: checking for zlib.h" >&5 | ||
13589 | echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } | ||
13590 | if test "${ac_cv_header_zlib_h+set}" = set; then | ||
13591 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
13592 | else | ||
13593 | ac_cv_header_zlib_h=$ac_header_preproc | ||
13594 | fi | ||
13595 | { echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 | ||
13596 | echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } | ||
13597 | 8831 | ||
13598 | fi | 8832 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5 |
13599 | if test $ac_cv_header_zlib_h = yes; then | 8833 | $as_echo_n "checking for deflate in -lz... " >&6; } |
13600 | : | 8834 | if ${ac_cv_lib_z_deflate+:} false; then : |
13601 | else | 8835 | $as_echo_n "(cached) " >&6 |
13602 | { { echo "$as_me:$LINENO: error: *** zlib.h missing - please install first or check config.log ***" >&5 | ||
13603 | echo "$as_me: error: *** zlib.h missing - please install first or check config.log ***" >&2;} | ||
13604 | { (exit 1); exit 1; }; } | ||
13605 | fi | ||
13606 | |||
13607 | |||
13608 | |||
13609 | { echo "$as_me:$LINENO: checking for deflate in -lz" >&5 | ||
13610 | echo $ECHO_N "checking for deflate in -lz... $ECHO_C" >&6; } | ||
13611 | if test "${ac_cv_lib_z_deflate+set}" = set; then | ||
13612 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
13613 | else | 8836 | else |
13614 | ac_check_lib_save_LIBS=$LIBS | 8837 | ac_check_lib_save_LIBS=$LIBS |
13615 | LIBS="-lz $LIBS" | 8838 | LIBS="-lz $LIBS" |
13616 | cat >conftest.$ac_ext <<_ACEOF | 8839 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
13617 | /* confdefs.h. */ | ||
13618 | _ACEOF | ||
13619 | cat confdefs.h >>conftest.$ac_ext | ||
13620 | cat >>conftest.$ac_ext <<_ACEOF | ||
13621 | /* end confdefs.h. */ | 8840 | /* end confdefs.h. */ |
13622 | 8841 | ||
13623 | /* Override any GCC internal prototype to avoid an error. | 8842 | /* Override any GCC internal prototype to avoid an error. |
@@ -13635,39 +8854,18 @@ return deflate (); | |||
13635 | return 0; | 8854 | return 0; |
13636 | } | 8855 | } |
13637 | _ACEOF | 8856 | _ACEOF |
13638 | rm -f conftest.$ac_objext conftest$ac_exeext | 8857 | if ac_fn_c_try_link "$LINENO"; then : |
13639 | if { (ac_try="$ac_link" | ||
13640 | case "(($ac_try" in | ||
13641 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13642 | *) ac_try_echo=$ac_try;; | ||
13643 | esac | ||
13644 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13645 | (eval "$ac_link") 2>conftest.er1 | ||
13646 | ac_status=$? | ||
13647 | grep -v '^ *+' conftest.er1 >conftest.err | ||
13648 | rm -f conftest.er1 | ||
13649 | cat conftest.err >&5 | ||
13650 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13651 | (exit $ac_status); } && { | ||
13652 | test -z "$ac_c_werror_flag" || | ||
13653 | test ! -s conftest.err | ||
13654 | } && test -s conftest$ac_exeext && | ||
13655 | $as_test_x conftest$ac_exeext; then | ||
13656 | ac_cv_lib_z_deflate=yes | 8858 | ac_cv_lib_z_deflate=yes |
13657 | else | 8859 | else |
13658 | echo "$as_me: failed program was:" >&5 | 8860 | ac_cv_lib_z_deflate=no |
13659 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
13660 | |||
13661 | ac_cv_lib_z_deflate=no | ||
13662 | fi | 8861 | fi |
13663 | 8862 | rm -f core conftest.err conftest.$ac_objext \ | |
13664 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 8863 | conftest$ac_exeext conftest.$ac_ext |
13665 | conftest$ac_exeext conftest.$ac_ext | ||
13666 | LIBS=$ac_check_lib_save_LIBS | 8864 | LIBS=$ac_check_lib_save_LIBS |
13667 | fi | 8865 | fi |
13668 | { echo "$as_me:$LINENO: result: $ac_cv_lib_z_deflate" >&5 | 8866 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5 |
13669 | echo "${ECHO_T}$ac_cv_lib_z_deflate" >&6; } | 8867 | $as_echo "$ac_cv_lib_z_deflate" >&6; } |
13670 | if test $ac_cv_lib_z_deflate = yes; then | 8868 | if test "x$ac_cv_lib_z_deflate" = xyes; then : |
13671 | cat >>confdefs.h <<_ACEOF | 8869 | cat >>confdefs.h <<_ACEOF |
13672 | #define HAVE_LIBZ 1 | 8870 | #define HAVE_LIBZ 1 |
13673 | _ACEOF | 8871 | _ACEOF |
@@ -13686,11 +8884,7 @@ else | |||
13686 | fi | 8884 | fi |
13687 | CPPFLAGS="-I/usr/local/include ${saved_CPPFLAGS}" | 8885 | CPPFLAGS="-I/usr/local/include ${saved_CPPFLAGS}" |
13688 | LIBS="$LIBS -lz" | 8886 | LIBS="$LIBS -lz" |
13689 | cat >conftest.$ac_ext <<_ACEOF | 8887 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
13690 | /* confdefs.h. */ | ||
13691 | _ACEOF | ||
13692 | cat confdefs.h >>conftest.$ac_ext | ||
13693 | cat >>conftest.$ac_ext <<_ACEOF | ||
13694 | /* end confdefs.h. */ | 8888 | /* end confdefs.h. */ |
13695 | 8889 | ||
13696 | /* Override any GCC internal prototype to avoid an error. | 8890 | /* Override any GCC internal prototype to avoid an error. |
@@ -13708,42 +8902,17 @@ return deflate (); | |||
13708 | return 0; | 8902 | return 0; |
13709 | } | 8903 | } |
13710 | _ACEOF | 8904 | _ACEOF |
13711 | rm -f conftest.$ac_objext conftest$ac_exeext | 8905 | if ac_fn_c_try_link "$LINENO"; then : |
13712 | if { (ac_try="$ac_link" | 8906 | $as_echo "#define HAVE_LIBZ 1" >>confdefs.h |
13713 | case "(($ac_try" in | ||
13714 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13715 | *) ac_try_echo=$ac_try;; | ||
13716 | esac | ||
13717 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13718 | (eval "$ac_link") 2>conftest.er1 | ||
13719 | ac_status=$? | ||
13720 | grep -v '^ *+' conftest.er1 >conftest.err | ||
13721 | rm -f conftest.er1 | ||
13722 | cat conftest.err >&5 | ||
13723 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13724 | (exit $ac_status); } && { | ||
13725 | test -z "$ac_c_werror_flag" || | ||
13726 | test ! -s conftest.err | ||
13727 | } && test -s conftest$ac_exeext && | ||
13728 | $as_test_x conftest$ac_exeext; then | ||
13729 | cat >>confdefs.h <<\_ACEOF | ||
13730 | #define HAVE_LIBZ 1 | ||
13731 | _ACEOF | ||
13732 | 8907 | ||
13733 | else | 8908 | else |
13734 | echo "$as_me: failed program was:" >&5 | ||
13735 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
13736 | 8909 | ||
13737 | 8910 | as_fn_error $? "*** zlib missing - please install first or check config.log ***" "$LINENO" 5 | |
13738 | { { echo "$as_me:$LINENO: error: *** zlib missing - please install first or check config.log ***" >&5 | ||
13739 | echo "$as_me: error: *** zlib missing - please install first or check config.log ***" >&2;} | ||
13740 | { (exit 1); exit 1; }; } | ||
13741 | 8911 | ||
13742 | 8912 | ||
13743 | fi | 8913 | fi |
13744 | 8914 | rm -f core conftest.err conftest.$ac_objext \ | |
13745 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 8915 | conftest$ac_exeext conftest.$ac_ext |
13746 | conftest$ac_exeext conftest.$ac_ext | ||
13747 | 8916 | ||
13748 | 8917 | ||
13749 | fi | 8918 | fi |
@@ -13751,7 +8920,7 @@ fi | |||
13751 | 8920 | ||
13752 | 8921 | ||
13753 | # Check whether --with-zlib-version-check was given. | 8922 | # Check whether --with-zlib-version-check was given. |
13754 | if test "${with_zlib_version_check+set}" = set; then | 8923 | if test "${with_zlib_version_check+set}" = set; then : |
13755 | withval=$with_zlib_version_check; if test "x$withval" = "xno" ; then | 8924 | withval=$with_zlib_version_check; if test "x$withval" = "xno" ; then |
13756 | zlib_check_nonfatal=1 | 8925 | zlib_check_nonfatal=1 |
13757 | fi | 8926 | fi |
@@ -13760,18 +8929,14 @@ if test "${with_zlib_version_check+set}" = set; then | |||
13760 | fi | 8929 | fi |
13761 | 8930 | ||
13762 | 8931 | ||
13763 | { echo "$as_me:$LINENO: checking for possibly buggy zlib" >&5 | 8932 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for possibly buggy zlib" >&5 |
13764 | echo $ECHO_N "checking for possibly buggy zlib... $ECHO_C" >&6; } | 8933 | $as_echo_n "checking for possibly buggy zlib... " >&6; } |
13765 | if test "$cross_compiling" = yes; then | 8934 | if test "$cross_compiling" = yes; then : |
13766 | { echo "$as_me:$LINENO: WARNING: cross compiling: not checking zlib version" >&5 | 8935 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking zlib version" >&5 |
13767 | echo "$as_me: WARNING: cross compiling: not checking zlib version" >&2;} | 8936 | $as_echo "$as_me: WARNING: cross compiling: not checking zlib version" >&2;} |
13768 | 8937 | ||
13769 | else | 8938 | else |
13770 | cat >conftest.$ac_ext <<_ACEOF | 8939 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
13771 | /* confdefs.h. */ | ||
13772 | _ACEOF | ||
13773 | cat confdefs.h >>conftest.$ac_ext | ||
13774 | cat >>conftest.$ac_ext <<_ACEOF | ||
13775 | /* end confdefs.h. */ | 8940 | /* end confdefs.h. */ |
13776 | 8941 | ||
13777 | #include <stdio.h> | 8942 | #include <stdio.h> |
@@ -13803,159 +8968,43 @@ main () | |||
13803 | return 0; | 8968 | return 0; |
13804 | } | 8969 | } |
13805 | _ACEOF | 8970 | _ACEOF |
13806 | rm -f conftest$ac_exeext | 8971 | if ac_fn_c_try_run "$LINENO"; then : |
13807 | if { (ac_try="$ac_link" | 8972 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
13808 | case "(($ac_try" in | 8973 | $as_echo "no" >&6; } |
13809 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13810 | *) ac_try_echo=$ac_try;; | ||
13811 | esac | ||
13812 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13813 | (eval "$ac_link") 2>&5 | ||
13814 | ac_status=$? | ||
13815 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13816 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
13817 | { (case "(($ac_try" in | ||
13818 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13819 | *) ac_try_echo=$ac_try;; | ||
13820 | esac | ||
13821 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13822 | (eval "$ac_try") 2>&5 | ||
13823 | ac_status=$? | ||
13824 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13825 | (exit $ac_status); }; }; then | ||
13826 | { echo "$as_me:$LINENO: result: no" >&5 | ||
13827 | echo "${ECHO_T}no" >&6; } | ||
13828 | else | 8974 | else |
13829 | echo "$as_me: program exited with status $ac_status" >&5 | 8975 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
13830 | echo "$as_me: failed program was:" >&5 | 8976 | $as_echo "yes" >&6; } |
13831 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
13832 | |||
13833 | ( exit $ac_status ) | ||
13834 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
13835 | echo "${ECHO_T}yes" >&6; } | ||
13836 | if test -z "$zlib_check_nonfatal" ; then | 8977 | if test -z "$zlib_check_nonfatal" ; then |
13837 | { { echo "$as_me:$LINENO: error: *** zlib too old - check config.log *** | 8978 | as_fn_error $? "*** zlib too old - check config.log *** |
13838 | Your reported zlib version has known security problems. It's possible your | ||
13839 | vendor has fixed these problems without changing the version number. If you | ||
13840 | are sure this is the case, you can disable the check by running | ||
13841 | \"./configure --without-zlib-version-check\". | ||
13842 | If you are in doubt, upgrade zlib to version 1.2.3 or greater. | ||
13843 | See http://www.gzip.org/zlib/ for details." >&5 | ||
13844 | echo "$as_me: error: *** zlib too old - check config.log *** | ||
13845 | Your reported zlib version has known security problems. It's possible your | 8979 | Your reported zlib version has known security problems. It's possible your |
13846 | vendor has fixed these problems without changing the version number. If you | 8980 | vendor has fixed these problems without changing the version number. If you |
13847 | are sure this is the case, you can disable the check by running | 8981 | are sure this is the case, you can disable the check by running |
13848 | \"./configure --without-zlib-version-check\". | 8982 | \"./configure --without-zlib-version-check\". |
13849 | If you are in doubt, upgrade zlib to version 1.2.3 or greater. | 8983 | If you are in doubt, upgrade zlib to version 1.2.3 or greater. |
13850 | See http://www.gzip.org/zlib/ for details." >&2;} | 8984 | See http://www.gzip.org/zlib/ for details." "$LINENO" 5 |
13851 | { (exit 1); exit 1; }; } | ||
13852 | else | 8985 | else |
13853 | { echo "$as_me:$LINENO: WARNING: zlib version may have security problems" >&5 | 8986 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: zlib version may have security problems" >&5 |
13854 | echo "$as_me: WARNING: zlib version may have security problems" >&2;} | 8987 | $as_echo "$as_me: WARNING: zlib version may have security problems" >&2;} |
13855 | fi | 8988 | fi |
13856 | 8989 | ||
13857 | fi | 8990 | fi |
13858 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 8991 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
8992 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
13859 | fi | 8993 | fi |
13860 | 8994 | ||
13861 | 8995 | ||
8996 | ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp" | ||
8997 | if test "x$ac_cv_func_strcasecmp" = xyes; then : | ||
13862 | 8998 | ||
13863 | { echo "$as_me:$LINENO: checking for strcasecmp" >&5 | ||
13864 | echo $ECHO_N "checking for strcasecmp... $ECHO_C" >&6; } | ||
13865 | if test "${ac_cv_func_strcasecmp+set}" = set; then | ||
13866 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
13867 | else | ||
13868 | cat >conftest.$ac_ext <<_ACEOF | ||
13869 | /* confdefs.h. */ | ||
13870 | _ACEOF | ||
13871 | cat confdefs.h >>conftest.$ac_ext | ||
13872 | cat >>conftest.$ac_ext <<_ACEOF | ||
13873 | /* end confdefs.h. */ | ||
13874 | /* Define strcasecmp to an innocuous variant, in case <limits.h> declares strcasecmp. | ||
13875 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
13876 | #define strcasecmp innocuous_strcasecmp | ||
13877 | |||
13878 | /* System header to define __stub macros and hopefully few prototypes, | ||
13879 | which can conflict with char strcasecmp (); below. | ||
13880 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
13881 | <limits.h> exists even on freestanding compilers. */ | ||
13882 | |||
13883 | #ifdef __STDC__ | ||
13884 | # include <limits.h> | ||
13885 | #else | ||
13886 | # include <assert.h> | ||
13887 | #endif | ||
13888 | |||
13889 | #undef strcasecmp | ||
13890 | |||
13891 | /* Override any GCC internal prototype to avoid an error. | ||
13892 | Use char because int might match the return type of a GCC | ||
13893 | builtin and then its argument prototype would still apply. */ | ||
13894 | #ifdef __cplusplus | ||
13895 | extern "C" | ||
13896 | #endif | ||
13897 | char strcasecmp (); | ||
13898 | /* The GNU C library defines this for functions which it implements | ||
13899 | to always fail with ENOSYS. Some functions are actually named | ||
13900 | something starting with __ and the normal name is an alias. */ | ||
13901 | #if defined __stub_strcasecmp || defined __stub___strcasecmp | ||
13902 | choke me | ||
13903 | #endif | ||
13904 | |||
13905 | int | ||
13906 | main () | ||
13907 | { | ||
13908 | return strcasecmp (); | ||
13909 | ; | ||
13910 | return 0; | ||
13911 | } | ||
13912 | _ACEOF | ||
13913 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
13914 | if { (ac_try="$ac_link" | ||
13915 | case "(($ac_try" in | ||
13916 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13917 | *) ac_try_echo=$ac_try;; | ||
13918 | esac | ||
13919 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13920 | (eval "$ac_link") 2>conftest.er1 | ||
13921 | ac_status=$? | ||
13922 | grep -v '^ *+' conftest.er1 >conftest.err | ||
13923 | rm -f conftest.er1 | ||
13924 | cat conftest.err >&5 | ||
13925 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13926 | (exit $ac_status); } && { | ||
13927 | test -z "$ac_c_werror_flag" || | ||
13928 | test ! -s conftest.err | ||
13929 | } && test -s conftest$ac_exeext && | ||
13930 | $as_test_x conftest$ac_exeext; then | ||
13931 | ac_cv_func_strcasecmp=yes | ||
13932 | else | ||
13933 | echo "$as_me: failed program was:" >&5 | ||
13934 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
13935 | |||
13936 | ac_cv_func_strcasecmp=no | ||
13937 | fi | ||
13938 | |||
13939 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
13940 | conftest$ac_exeext conftest.$ac_ext | ||
13941 | fi | ||
13942 | { echo "$as_me:$LINENO: result: $ac_cv_func_strcasecmp" >&5 | ||
13943 | echo "${ECHO_T}$ac_cv_func_strcasecmp" >&6; } | ||
13944 | if test $ac_cv_func_strcasecmp = yes; then | ||
13945 | : | ||
13946 | else | 8999 | else |
13947 | { echo "$as_me:$LINENO: checking for strcasecmp in -lresolv" >&5 | 9000 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strcasecmp in -lresolv" >&5 |
13948 | echo $ECHO_N "checking for strcasecmp in -lresolv... $ECHO_C" >&6; } | 9001 | $as_echo_n "checking for strcasecmp in -lresolv... " >&6; } |
13949 | if test "${ac_cv_lib_resolv_strcasecmp+set}" = set; then | 9002 | if ${ac_cv_lib_resolv_strcasecmp+:} false; then : |
13950 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 9003 | $as_echo_n "(cached) " >&6 |
13951 | else | 9004 | else |
13952 | ac_check_lib_save_LIBS=$LIBS | 9005 | ac_check_lib_save_LIBS=$LIBS |
13953 | LIBS="-lresolv $LIBS" | 9006 | LIBS="-lresolv $LIBS" |
13954 | cat >conftest.$ac_ext <<_ACEOF | 9007 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
13955 | /* confdefs.h. */ | ||
13956 | _ACEOF | ||
13957 | cat confdefs.h >>conftest.$ac_ext | ||
13958 | cat >>conftest.$ac_ext <<_ACEOF | ||
13959 | /* end confdefs.h. */ | 9008 | /* end confdefs.h. */ |
13960 | 9009 | ||
13961 | /* Override any GCC internal prototype to avoid an error. | 9010 | /* Override any GCC internal prototype to avoid an error. |
@@ -13973,149 +9022,41 @@ return strcasecmp (); | |||
13973 | return 0; | 9022 | return 0; |
13974 | } | 9023 | } |
13975 | _ACEOF | 9024 | _ACEOF |
13976 | rm -f conftest.$ac_objext conftest$ac_exeext | 9025 | if ac_fn_c_try_link "$LINENO"; then : |
13977 | if { (ac_try="$ac_link" | ||
13978 | case "(($ac_try" in | ||
13979 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
13980 | *) ac_try_echo=$ac_try;; | ||
13981 | esac | ||
13982 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
13983 | (eval "$ac_link") 2>conftest.er1 | ||
13984 | ac_status=$? | ||
13985 | grep -v '^ *+' conftest.er1 >conftest.err | ||
13986 | rm -f conftest.er1 | ||
13987 | cat conftest.err >&5 | ||
13988 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
13989 | (exit $ac_status); } && { | ||
13990 | test -z "$ac_c_werror_flag" || | ||
13991 | test ! -s conftest.err | ||
13992 | } && test -s conftest$ac_exeext && | ||
13993 | $as_test_x conftest$ac_exeext; then | ||
13994 | ac_cv_lib_resolv_strcasecmp=yes | 9026 | ac_cv_lib_resolv_strcasecmp=yes |
13995 | else | 9027 | else |
13996 | echo "$as_me: failed program was:" >&5 | 9028 | ac_cv_lib_resolv_strcasecmp=no |
13997 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
13998 | |||
13999 | ac_cv_lib_resolv_strcasecmp=no | ||
14000 | fi | 9029 | fi |
14001 | 9030 | rm -f core conftest.err conftest.$ac_objext \ | |
14002 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9031 | conftest$ac_exeext conftest.$ac_ext |
14003 | conftest$ac_exeext conftest.$ac_ext | ||
14004 | LIBS=$ac_check_lib_save_LIBS | 9032 | LIBS=$ac_check_lib_save_LIBS |
14005 | fi | 9033 | fi |
14006 | { echo "$as_me:$LINENO: result: $ac_cv_lib_resolv_strcasecmp" >&5 | 9034 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_strcasecmp" >&5 |
14007 | echo "${ECHO_T}$ac_cv_lib_resolv_strcasecmp" >&6; } | 9035 | $as_echo "$ac_cv_lib_resolv_strcasecmp" >&6; } |
14008 | if test $ac_cv_lib_resolv_strcasecmp = yes; then | 9036 | if test "x$ac_cv_lib_resolv_strcasecmp" = xyes; then : |
14009 | LIBS="$LIBS -lresolv" | 9037 | LIBS="$LIBS -lresolv" |
14010 | fi | 9038 | fi |
14011 | 9039 | ||
14012 | 9040 | ||
14013 | fi | 9041 | fi |
14014 | 9042 | ||
14015 | |||
14016 | for ac_func in utimes | 9043 | for ac_func in utimes |
14017 | do | 9044 | do : |
14018 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 9045 | ac_fn_c_check_func "$LINENO" "utimes" "ac_cv_func_utimes" |
14019 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 9046 | if test "x$ac_cv_func_utimes" = xyes; then : |
14020 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
14021 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
14022 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
14023 | else | ||
14024 | cat >conftest.$ac_ext <<_ACEOF | ||
14025 | /* confdefs.h. */ | ||
14026 | _ACEOF | ||
14027 | cat confdefs.h >>conftest.$ac_ext | ||
14028 | cat >>conftest.$ac_ext <<_ACEOF | ||
14029 | /* end confdefs.h. */ | ||
14030 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
14031 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
14032 | #define $ac_func innocuous_$ac_func | ||
14033 | |||
14034 | /* System header to define __stub macros and hopefully few prototypes, | ||
14035 | which can conflict with char $ac_func (); below. | ||
14036 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
14037 | <limits.h> exists even on freestanding compilers. */ | ||
14038 | |||
14039 | #ifdef __STDC__ | ||
14040 | # include <limits.h> | ||
14041 | #else | ||
14042 | # include <assert.h> | ||
14043 | #endif | ||
14044 | |||
14045 | #undef $ac_func | ||
14046 | |||
14047 | /* Override any GCC internal prototype to avoid an error. | ||
14048 | Use char because int might match the return type of a GCC | ||
14049 | builtin and then its argument prototype would still apply. */ | ||
14050 | #ifdef __cplusplus | ||
14051 | extern "C" | ||
14052 | #endif | ||
14053 | char $ac_func (); | ||
14054 | /* The GNU C library defines this for functions which it implements | ||
14055 | to always fail with ENOSYS. Some functions are actually named | ||
14056 | something starting with __ and the normal name is an alias. */ | ||
14057 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
14058 | choke me | ||
14059 | #endif | ||
14060 | |||
14061 | int | ||
14062 | main () | ||
14063 | { | ||
14064 | return $ac_func (); | ||
14065 | ; | ||
14066 | return 0; | ||
14067 | } | ||
14068 | _ACEOF | ||
14069 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
14070 | if { (ac_try="$ac_link" | ||
14071 | case "(($ac_try" in | ||
14072 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
14073 | *) ac_try_echo=$ac_try;; | ||
14074 | esac | ||
14075 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
14076 | (eval "$ac_link") 2>conftest.er1 | ||
14077 | ac_status=$? | ||
14078 | grep -v '^ *+' conftest.er1 >conftest.err | ||
14079 | rm -f conftest.er1 | ||
14080 | cat conftest.err >&5 | ||
14081 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
14082 | (exit $ac_status); } && { | ||
14083 | test -z "$ac_c_werror_flag" || | ||
14084 | test ! -s conftest.err | ||
14085 | } && test -s conftest$ac_exeext && | ||
14086 | $as_test_x conftest$ac_exeext; then | ||
14087 | eval "$as_ac_var=yes" | ||
14088 | else | ||
14089 | echo "$as_me: failed program was:" >&5 | ||
14090 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
14091 | |||
14092 | eval "$as_ac_var=no" | ||
14093 | fi | ||
14094 | |||
14095 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
14096 | conftest$ac_exeext conftest.$ac_ext | ||
14097 | fi | ||
14098 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
14099 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
14100 | echo "${ECHO_T}$ac_res" >&6; } | ||
14101 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
14102 | cat >>confdefs.h <<_ACEOF | 9047 | cat >>confdefs.h <<_ACEOF |
14103 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 9048 | #define HAVE_UTIMES 1 |
14104 | _ACEOF | 9049 | _ACEOF |
14105 | 9050 | ||
14106 | else | 9051 | else |
14107 | { echo "$as_me:$LINENO: checking for utimes in -lc89" >&5 | 9052 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for utimes in -lc89" >&5 |
14108 | echo $ECHO_N "checking for utimes in -lc89... $ECHO_C" >&6; } | 9053 | $as_echo_n "checking for utimes in -lc89... " >&6; } |
14109 | if test "${ac_cv_lib_c89_utimes+set}" = set; then | 9054 | if ${ac_cv_lib_c89_utimes+:} false; then : |
14110 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 9055 | $as_echo_n "(cached) " >&6 |
14111 | else | 9056 | else |
14112 | ac_check_lib_save_LIBS=$LIBS | 9057 | ac_check_lib_save_LIBS=$LIBS |
14113 | LIBS="-lc89 $LIBS" | 9058 | LIBS="-lc89 $LIBS" |
14114 | cat >conftest.$ac_ext <<_ACEOF | 9059 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
14115 | /* confdefs.h. */ | ||
14116 | _ACEOF | ||
14117 | cat confdefs.h >>conftest.$ac_ext | ||
14118 | cat >>conftest.$ac_ext <<_ACEOF | ||
14119 | /* end confdefs.h. */ | 9060 | /* end confdefs.h. */ |
14120 | 9061 | ||
14121 | /* Override any GCC internal prototype to avoid an error. | 9062 | /* Override any GCC internal prototype to avoid an error. |
@@ -14133,42 +9074,19 @@ return utimes (); | |||
14133 | return 0; | 9074 | return 0; |
14134 | } | 9075 | } |
14135 | _ACEOF | 9076 | _ACEOF |
14136 | rm -f conftest.$ac_objext conftest$ac_exeext | 9077 | if ac_fn_c_try_link "$LINENO"; then : |
14137 | if { (ac_try="$ac_link" | ||
14138 | case "(($ac_try" in | ||
14139 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
14140 | *) ac_try_echo=$ac_try;; | ||
14141 | esac | ||
14142 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
14143 | (eval "$ac_link") 2>conftest.er1 | ||
14144 | ac_status=$? | ||
14145 | grep -v '^ *+' conftest.er1 >conftest.err | ||
14146 | rm -f conftest.er1 | ||
14147 | cat conftest.err >&5 | ||
14148 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
14149 | (exit $ac_status); } && { | ||
14150 | test -z "$ac_c_werror_flag" || | ||
14151 | test ! -s conftest.err | ||
14152 | } && test -s conftest$ac_exeext && | ||
14153 | $as_test_x conftest$ac_exeext; then | ||
14154 | ac_cv_lib_c89_utimes=yes | 9078 | ac_cv_lib_c89_utimes=yes |
14155 | else | 9079 | else |
14156 | echo "$as_me: failed program was:" >&5 | 9080 | ac_cv_lib_c89_utimes=no |
14157 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
14158 | |||
14159 | ac_cv_lib_c89_utimes=no | ||
14160 | fi | 9081 | fi |
14161 | 9082 | rm -f core conftest.err conftest.$ac_objext \ | |
14162 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9083 | conftest$ac_exeext conftest.$ac_ext |
14163 | conftest$ac_exeext conftest.$ac_ext | ||
14164 | LIBS=$ac_check_lib_save_LIBS | 9084 | LIBS=$ac_check_lib_save_LIBS |
14165 | fi | 9085 | fi |
14166 | { echo "$as_me:$LINENO: result: $ac_cv_lib_c89_utimes" >&5 | 9086 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c89_utimes" >&5 |
14167 | echo "${ECHO_T}$ac_cv_lib_c89_utimes" >&6; } | 9087 | $as_echo "$ac_cv_lib_c89_utimes" >&6; } |
14168 | if test $ac_cv_lib_c89_utimes = yes; then | 9088 | if test "x$ac_cv_lib_c89_utimes" = xyes; then : |
14169 | cat >>confdefs.h <<\_ACEOF | 9089 | $as_echo "#define HAVE_UTIMES 1" >>confdefs.h |
14170 | #define HAVE_UTIMES 1 | ||
14171 | _ACEOF | ||
14172 | 9090 | ||
14173 | LIBS="$LIBS -lc89" | 9091 | LIBS="$LIBS -lc89" |
14174 | fi | 9092 | fi |
@@ -14178,163 +9096,26 @@ fi | |||
14178 | done | 9096 | done |
14179 | 9097 | ||
14180 | 9098 | ||
14181 | |||
14182 | |||
14183 | for ac_header in bsd/libutil.h libutil.h | 9099 | for ac_header in bsd/libutil.h libutil.h |
14184 | do | 9100 | do : |
14185 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 9101 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
14186 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | 9102 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
14187 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | 9103 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
14188 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
14189 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
14190 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
14191 | fi | ||
14192 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
14193 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
14194 | echo "${ECHO_T}$ac_res" >&6; } | ||
14195 | else | ||
14196 | # Is the header compilable? | ||
14197 | { echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
14198 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } | ||
14199 | cat >conftest.$ac_ext <<_ACEOF | ||
14200 | /* confdefs.h. */ | ||
14201 | _ACEOF | ||
14202 | cat confdefs.h >>conftest.$ac_ext | ||
14203 | cat >>conftest.$ac_ext <<_ACEOF | ||
14204 | /* end confdefs.h. */ | ||
14205 | $ac_includes_default | ||
14206 | #include <$ac_header> | ||
14207 | _ACEOF | ||
14208 | rm -f conftest.$ac_objext | ||
14209 | if { (ac_try="$ac_compile" | ||
14210 | case "(($ac_try" in | ||
14211 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
14212 | *) ac_try_echo=$ac_try;; | ||
14213 | esac | ||
14214 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
14215 | (eval "$ac_compile") 2>conftest.er1 | ||
14216 | ac_status=$? | ||
14217 | grep -v '^ *+' conftest.er1 >conftest.err | ||
14218 | rm -f conftest.er1 | ||
14219 | cat conftest.err >&5 | ||
14220 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
14221 | (exit $ac_status); } && { | ||
14222 | test -z "$ac_c_werror_flag" || | ||
14223 | test ! -s conftest.err | ||
14224 | } && test -s conftest.$ac_objext; then | ||
14225 | ac_header_compiler=yes | ||
14226 | else | ||
14227 | echo "$as_me: failed program was:" >&5 | ||
14228 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
14229 | |||
14230 | ac_header_compiler=no | ||
14231 | fi | ||
14232 | |||
14233 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
14234 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
14235 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
14236 | |||
14237 | # Is the header present? | ||
14238 | { echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
14239 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } | ||
14240 | cat >conftest.$ac_ext <<_ACEOF | ||
14241 | /* confdefs.h. */ | ||
14242 | _ACEOF | ||
14243 | cat confdefs.h >>conftest.$ac_ext | ||
14244 | cat >>conftest.$ac_ext <<_ACEOF | ||
14245 | /* end confdefs.h. */ | ||
14246 | #include <$ac_header> | ||
14247 | _ACEOF | ||
14248 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
14249 | case "(($ac_try" in | ||
14250 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
14251 | *) ac_try_echo=$ac_try;; | ||
14252 | esac | ||
14253 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
14254 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
14255 | ac_status=$? | ||
14256 | grep -v '^ *+' conftest.er1 >conftest.err | ||
14257 | rm -f conftest.er1 | ||
14258 | cat conftest.err >&5 | ||
14259 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
14260 | (exit $ac_status); } >/dev/null && { | ||
14261 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
14262 | test ! -s conftest.err | ||
14263 | }; then | ||
14264 | ac_header_preproc=yes | ||
14265 | else | ||
14266 | echo "$as_me: failed program was:" >&5 | ||
14267 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
14268 | |||
14269 | ac_header_preproc=no | ||
14270 | fi | ||
14271 | |||
14272 | rm -f conftest.err conftest.$ac_ext | ||
14273 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
14274 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
14275 | |||
14276 | # So? What about this header? | ||
14277 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
14278 | yes:no: ) | ||
14279 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
14280 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
14281 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
14282 | echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
14283 | ac_header_preproc=yes | ||
14284 | ;; | ||
14285 | no:yes:* ) | ||
14286 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
14287 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
14288 | { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
14289 | echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
14290 | { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
14291 | echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
14292 | { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
14293 | echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
14294 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
14295 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
14296 | { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
14297 | echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
14298 | ( cat <<\_ASBOX | ||
14299 | ## ------------------------------------------- ## | ||
14300 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
14301 | ## ------------------------------------------- ## | ||
14302 | _ASBOX | ||
14303 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
14304 | ;; | ||
14305 | esac | ||
14306 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
14307 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
14308 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
14309 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
14310 | else | ||
14311 | eval "$as_ac_Header=\$ac_header_preproc" | ||
14312 | fi | ||
14313 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
14314 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
14315 | echo "${ECHO_T}$ac_res" >&6; } | ||
14316 | |||
14317 | fi | ||
14318 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
14319 | cat >>confdefs.h <<_ACEOF | 9104 | cat >>confdefs.h <<_ACEOF |
14320 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 9105 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
14321 | _ACEOF | 9106 | _ACEOF |
14322 | 9107 | ||
14323 | fi | 9108 | fi |
14324 | 9109 | ||
14325 | done | 9110 | done |
14326 | 9111 | ||
14327 | { echo "$as_me:$LINENO: checking for library containing fmt_scaled" >&5 | 9112 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing fmt_scaled" >&5 |
14328 | echo $ECHO_N "checking for library containing fmt_scaled... $ECHO_C" >&6; } | 9113 | $as_echo_n "checking for library containing fmt_scaled... " >&6; } |
14329 | if test "${ac_cv_search_fmt_scaled+set}" = set; then | 9114 | if ${ac_cv_search_fmt_scaled+:} false; then : |
14330 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 9115 | $as_echo_n "(cached) " >&6 |
14331 | else | 9116 | else |
14332 | ac_func_search_save_LIBS=$LIBS | 9117 | ac_func_search_save_LIBS=$LIBS |
14333 | cat >conftest.$ac_ext <<_ACEOF | 9118 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
14334 | /* confdefs.h. */ | ||
14335 | _ACEOF | ||
14336 | cat confdefs.h >>conftest.$ac_ext | ||
14337 | cat >>conftest.$ac_ext <<_ACEOF | ||
14338 | /* end confdefs.h. */ | 9119 | /* end confdefs.h. */ |
14339 | 9120 | ||
14340 | /* Override any GCC internal prototype to avoid an error. | 9121 | /* Override any GCC internal prototype to avoid an error. |
@@ -14359,65 +9140,38 @@ for ac_lib in '' util bsd; do | |||
14359 | ac_res=-l$ac_lib | 9140 | ac_res=-l$ac_lib |
14360 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 9141 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
14361 | fi | 9142 | fi |
14362 | rm -f conftest.$ac_objext conftest$ac_exeext | 9143 | if ac_fn_c_try_link "$LINENO"; then : |
14363 | if { (ac_try="$ac_link" | ||
14364 | case "(($ac_try" in | ||
14365 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
14366 | *) ac_try_echo=$ac_try;; | ||
14367 | esac | ||
14368 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
14369 | (eval "$ac_link") 2>conftest.er1 | ||
14370 | ac_status=$? | ||
14371 | grep -v '^ *+' conftest.er1 >conftest.err | ||
14372 | rm -f conftest.er1 | ||
14373 | cat conftest.err >&5 | ||
14374 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
14375 | (exit $ac_status); } && { | ||
14376 | test -z "$ac_c_werror_flag" || | ||
14377 | test ! -s conftest.err | ||
14378 | } && test -s conftest$ac_exeext && | ||
14379 | $as_test_x conftest$ac_exeext; then | ||
14380 | ac_cv_search_fmt_scaled=$ac_res | 9144 | ac_cv_search_fmt_scaled=$ac_res |
14381 | else | ||
14382 | echo "$as_me: failed program was:" >&5 | ||
14383 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
14384 | |||
14385 | |||
14386 | fi | 9145 | fi |
14387 | 9146 | rm -f core conftest.err conftest.$ac_objext \ | |
14388 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9147 | conftest$ac_exeext |
14389 | conftest$ac_exeext | 9148 | if ${ac_cv_search_fmt_scaled+:} false; then : |
14390 | if test "${ac_cv_search_fmt_scaled+set}" = set; then | ||
14391 | break | 9149 | break |
14392 | fi | 9150 | fi |
14393 | done | 9151 | done |
14394 | if test "${ac_cv_search_fmt_scaled+set}" = set; then | 9152 | if ${ac_cv_search_fmt_scaled+:} false; then : |
14395 | : | 9153 | |
14396 | else | 9154 | else |
14397 | ac_cv_search_fmt_scaled=no | 9155 | ac_cv_search_fmt_scaled=no |
14398 | fi | 9156 | fi |
14399 | rm conftest.$ac_ext | 9157 | rm conftest.$ac_ext |
14400 | LIBS=$ac_func_search_save_LIBS | 9158 | LIBS=$ac_func_search_save_LIBS |
14401 | fi | 9159 | fi |
14402 | { echo "$as_me:$LINENO: result: $ac_cv_search_fmt_scaled" >&5 | 9160 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_fmt_scaled" >&5 |
14403 | echo "${ECHO_T}$ac_cv_search_fmt_scaled" >&6; } | 9161 | $as_echo "$ac_cv_search_fmt_scaled" >&6; } |
14404 | ac_res=$ac_cv_search_fmt_scaled | 9162 | ac_res=$ac_cv_search_fmt_scaled |
14405 | if test "$ac_res" != no; then | 9163 | if test "$ac_res" != no; then : |
14406 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 9164 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
14407 | 9165 | ||
14408 | fi | 9166 | fi |
14409 | 9167 | ||
14410 | { echo "$as_me:$LINENO: checking for library containing scan_scaled" >&5 | 9168 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing scan_scaled" >&5 |
14411 | echo $ECHO_N "checking for library containing scan_scaled... $ECHO_C" >&6; } | 9169 | $as_echo_n "checking for library containing scan_scaled... " >&6; } |
14412 | if test "${ac_cv_search_scan_scaled+set}" = set; then | 9170 | if ${ac_cv_search_scan_scaled+:} false; then : |
14413 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 9171 | $as_echo_n "(cached) " >&6 |
14414 | else | 9172 | else |
14415 | ac_func_search_save_LIBS=$LIBS | 9173 | ac_func_search_save_LIBS=$LIBS |
14416 | cat >conftest.$ac_ext <<_ACEOF | 9174 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
14417 | /* confdefs.h. */ | ||
14418 | _ACEOF | ||
14419 | cat confdefs.h >>conftest.$ac_ext | ||
14420 | cat >>conftest.$ac_ext <<_ACEOF | ||
14421 | /* end confdefs.h. */ | 9175 | /* end confdefs.h. */ |
14422 | 9176 | ||
14423 | /* Override any GCC internal prototype to avoid an error. | 9177 | /* Override any GCC internal prototype to avoid an error. |
@@ -14442,65 +9196,38 @@ for ac_lib in '' util bsd; do | |||
14442 | ac_res=-l$ac_lib | 9196 | ac_res=-l$ac_lib |
14443 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 9197 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
14444 | fi | 9198 | fi |
14445 | rm -f conftest.$ac_objext conftest$ac_exeext | 9199 | if ac_fn_c_try_link "$LINENO"; then : |
14446 | if { (ac_try="$ac_link" | ||
14447 | case "(($ac_try" in | ||
14448 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
14449 | *) ac_try_echo=$ac_try;; | ||
14450 | esac | ||
14451 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
14452 | (eval "$ac_link") 2>conftest.er1 | ||
14453 | ac_status=$? | ||
14454 | grep -v '^ *+' conftest.er1 >conftest.err | ||
14455 | rm -f conftest.er1 | ||
14456 | cat conftest.err >&5 | ||
14457 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
14458 | (exit $ac_status); } && { | ||
14459 | test -z "$ac_c_werror_flag" || | ||
14460 | test ! -s conftest.err | ||
14461 | } && test -s conftest$ac_exeext && | ||
14462 | $as_test_x conftest$ac_exeext; then | ||
14463 | ac_cv_search_scan_scaled=$ac_res | 9200 | ac_cv_search_scan_scaled=$ac_res |
14464 | else | ||
14465 | echo "$as_me: failed program was:" >&5 | ||
14466 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
14467 | |||
14468 | |||
14469 | fi | 9201 | fi |
14470 | 9202 | rm -f core conftest.err conftest.$ac_objext \ | |
14471 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9203 | conftest$ac_exeext |
14472 | conftest$ac_exeext | 9204 | if ${ac_cv_search_scan_scaled+:} false; then : |
14473 | if test "${ac_cv_search_scan_scaled+set}" = set; then | ||
14474 | break | 9205 | break |
14475 | fi | 9206 | fi |
14476 | done | 9207 | done |
14477 | if test "${ac_cv_search_scan_scaled+set}" = set; then | 9208 | if ${ac_cv_search_scan_scaled+:} false; then : |
14478 | : | 9209 | |
14479 | else | 9210 | else |
14480 | ac_cv_search_scan_scaled=no | 9211 | ac_cv_search_scan_scaled=no |
14481 | fi | 9212 | fi |
14482 | rm conftest.$ac_ext | 9213 | rm conftest.$ac_ext |
14483 | LIBS=$ac_func_search_save_LIBS | 9214 | LIBS=$ac_func_search_save_LIBS |
14484 | fi | 9215 | fi |
14485 | { echo "$as_me:$LINENO: result: $ac_cv_search_scan_scaled" >&5 | 9216 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_scan_scaled" >&5 |
14486 | echo "${ECHO_T}$ac_cv_search_scan_scaled" >&6; } | 9217 | $as_echo "$ac_cv_search_scan_scaled" >&6; } |
14487 | ac_res=$ac_cv_search_scan_scaled | 9218 | ac_res=$ac_cv_search_scan_scaled |
14488 | if test "$ac_res" != no; then | 9219 | if test "$ac_res" != no; then : |
14489 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 9220 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
14490 | 9221 | ||
14491 | fi | 9222 | fi |
14492 | 9223 | ||
14493 | { echo "$as_me:$LINENO: checking for library containing login" >&5 | 9224 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing login" >&5 |
14494 | echo $ECHO_N "checking for library containing login... $ECHO_C" >&6; } | 9225 | $as_echo_n "checking for library containing login... " >&6; } |
14495 | if test "${ac_cv_search_login+set}" = set; then | 9226 | if ${ac_cv_search_login+:} false; then : |
14496 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 9227 | $as_echo_n "(cached) " >&6 |
14497 | else | 9228 | else |
14498 | ac_func_search_save_LIBS=$LIBS | 9229 | ac_func_search_save_LIBS=$LIBS |
14499 | cat >conftest.$ac_ext <<_ACEOF | 9230 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
14500 | /* confdefs.h. */ | ||
14501 | _ACEOF | ||
14502 | cat confdefs.h >>conftest.$ac_ext | ||
14503 | cat >>conftest.$ac_ext <<_ACEOF | ||
14504 | /* end confdefs.h. */ | 9231 | /* end confdefs.h. */ |
14505 | 9232 | ||
14506 | /* Override any GCC internal prototype to avoid an error. | 9233 | /* Override any GCC internal prototype to avoid an error. |
@@ -14525,65 +9252,38 @@ for ac_lib in '' util bsd; do | |||
14525 | ac_res=-l$ac_lib | 9252 | ac_res=-l$ac_lib |
14526 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 9253 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
14527 | fi | 9254 | fi |
14528 | rm -f conftest.$ac_objext conftest$ac_exeext | 9255 | if ac_fn_c_try_link "$LINENO"; then : |
14529 | if { (ac_try="$ac_link" | ||
14530 | case "(($ac_try" in | ||
14531 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
14532 | *) ac_try_echo=$ac_try;; | ||
14533 | esac | ||
14534 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
14535 | (eval "$ac_link") 2>conftest.er1 | ||
14536 | ac_status=$? | ||
14537 | grep -v '^ *+' conftest.er1 >conftest.err | ||
14538 | rm -f conftest.er1 | ||
14539 | cat conftest.err >&5 | ||
14540 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
14541 | (exit $ac_status); } && { | ||
14542 | test -z "$ac_c_werror_flag" || | ||
14543 | test ! -s conftest.err | ||
14544 | } && test -s conftest$ac_exeext && | ||
14545 | $as_test_x conftest$ac_exeext; then | ||
14546 | ac_cv_search_login=$ac_res | 9256 | ac_cv_search_login=$ac_res |
14547 | else | ||
14548 | echo "$as_me: failed program was:" >&5 | ||
14549 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
14550 | |||
14551 | |||
14552 | fi | 9257 | fi |
14553 | 9258 | rm -f core conftest.err conftest.$ac_objext \ | |
14554 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9259 | conftest$ac_exeext |
14555 | conftest$ac_exeext | 9260 | if ${ac_cv_search_login+:} false; then : |
14556 | if test "${ac_cv_search_login+set}" = set; then | ||
14557 | break | 9261 | break |
14558 | fi | 9262 | fi |
14559 | done | 9263 | done |
14560 | if test "${ac_cv_search_login+set}" = set; then | 9264 | if ${ac_cv_search_login+:} false; then : |
14561 | : | 9265 | |
14562 | else | 9266 | else |
14563 | ac_cv_search_login=no | 9267 | ac_cv_search_login=no |
14564 | fi | 9268 | fi |
14565 | rm conftest.$ac_ext | 9269 | rm conftest.$ac_ext |
14566 | LIBS=$ac_func_search_save_LIBS | 9270 | LIBS=$ac_func_search_save_LIBS |
14567 | fi | 9271 | fi |
14568 | { echo "$as_me:$LINENO: result: $ac_cv_search_login" >&5 | 9272 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_login" >&5 |
14569 | echo "${ECHO_T}$ac_cv_search_login" >&6; } | 9273 | $as_echo "$ac_cv_search_login" >&6; } |
14570 | ac_res=$ac_cv_search_login | 9274 | ac_res=$ac_cv_search_login |
14571 | if test "$ac_res" != no; then | 9275 | if test "$ac_res" != no; then : |
14572 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 9276 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
14573 | 9277 | ||
14574 | fi | 9278 | fi |
14575 | 9279 | ||
14576 | { echo "$as_me:$LINENO: checking for library containing logout" >&5 | 9280 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing logout" >&5 |
14577 | echo $ECHO_N "checking for library containing logout... $ECHO_C" >&6; } | 9281 | $as_echo_n "checking for library containing logout... " >&6; } |
14578 | if test "${ac_cv_search_logout+set}" = set; then | 9282 | if ${ac_cv_search_logout+:} false; then : |
14579 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 9283 | $as_echo_n "(cached) " >&6 |
14580 | else | 9284 | else |
14581 | ac_func_search_save_LIBS=$LIBS | 9285 | ac_func_search_save_LIBS=$LIBS |
14582 | cat >conftest.$ac_ext <<_ACEOF | 9286 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
14583 | /* confdefs.h. */ | ||
14584 | _ACEOF | ||
14585 | cat confdefs.h >>conftest.$ac_ext | ||
14586 | cat >>conftest.$ac_ext <<_ACEOF | ||
14587 | /* end confdefs.h. */ | 9287 | /* end confdefs.h. */ |
14588 | 9288 | ||
14589 | /* Override any GCC internal prototype to avoid an error. | 9289 | /* Override any GCC internal prototype to avoid an error. |
@@ -14608,65 +9308,38 @@ for ac_lib in '' util bsd; do | |||
14608 | ac_res=-l$ac_lib | 9308 | ac_res=-l$ac_lib |
14609 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 9309 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
14610 | fi | 9310 | fi |
14611 | rm -f conftest.$ac_objext conftest$ac_exeext | 9311 | if ac_fn_c_try_link "$LINENO"; then : |
14612 | if { (ac_try="$ac_link" | ||
14613 | case "(($ac_try" in | ||
14614 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
14615 | *) ac_try_echo=$ac_try;; | ||
14616 | esac | ||
14617 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
14618 | (eval "$ac_link") 2>conftest.er1 | ||
14619 | ac_status=$? | ||
14620 | grep -v '^ *+' conftest.er1 >conftest.err | ||
14621 | rm -f conftest.er1 | ||
14622 | cat conftest.err >&5 | ||
14623 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
14624 | (exit $ac_status); } && { | ||
14625 | test -z "$ac_c_werror_flag" || | ||
14626 | test ! -s conftest.err | ||
14627 | } && test -s conftest$ac_exeext && | ||
14628 | $as_test_x conftest$ac_exeext; then | ||
14629 | ac_cv_search_logout=$ac_res | 9312 | ac_cv_search_logout=$ac_res |
14630 | else | ||
14631 | echo "$as_me: failed program was:" >&5 | ||
14632 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
14633 | |||
14634 | |||
14635 | fi | 9313 | fi |
14636 | 9314 | rm -f core conftest.err conftest.$ac_objext \ | |
14637 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9315 | conftest$ac_exeext |
14638 | conftest$ac_exeext | 9316 | if ${ac_cv_search_logout+:} false; then : |
14639 | if test "${ac_cv_search_logout+set}" = set; then | ||
14640 | break | 9317 | break |
14641 | fi | 9318 | fi |
14642 | done | 9319 | done |
14643 | if test "${ac_cv_search_logout+set}" = set; then | 9320 | if ${ac_cv_search_logout+:} false; then : |
14644 | : | 9321 | |
14645 | else | 9322 | else |
14646 | ac_cv_search_logout=no | 9323 | ac_cv_search_logout=no |
14647 | fi | 9324 | fi |
14648 | rm conftest.$ac_ext | 9325 | rm conftest.$ac_ext |
14649 | LIBS=$ac_func_search_save_LIBS | 9326 | LIBS=$ac_func_search_save_LIBS |
14650 | fi | 9327 | fi |
14651 | { echo "$as_me:$LINENO: result: $ac_cv_search_logout" >&5 | 9328 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_logout" >&5 |
14652 | echo "${ECHO_T}$ac_cv_search_logout" >&6; } | 9329 | $as_echo "$ac_cv_search_logout" >&6; } |
14653 | ac_res=$ac_cv_search_logout | 9330 | ac_res=$ac_cv_search_logout |
14654 | if test "$ac_res" != no; then | 9331 | if test "$ac_res" != no; then : |
14655 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 9332 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
14656 | 9333 | ||
14657 | fi | 9334 | fi |
14658 | 9335 | ||
14659 | { echo "$as_me:$LINENO: checking for library containing logwtmp" >&5 | 9336 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing logwtmp" >&5 |
14660 | echo $ECHO_N "checking for library containing logwtmp... $ECHO_C" >&6; } | 9337 | $as_echo_n "checking for library containing logwtmp... " >&6; } |
14661 | if test "${ac_cv_search_logwtmp+set}" = set; then | 9338 | if ${ac_cv_search_logwtmp+:} false; then : |
14662 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 9339 | $as_echo_n "(cached) " >&6 |
14663 | else | 9340 | else |
14664 | ac_func_search_save_LIBS=$LIBS | 9341 | ac_func_search_save_LIBS=$LIBS |
14665 | cat >conftest.$ac_ext <<_ACEOF | 9342 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
14666 | /* confdefs.h. */ | ||
14667 | _ACEOF | ||
14668 | cat confdefs.h >>conftest.$ac_ext | ||
14669 | cat >>conftest.$ac_ext <<_ACEOF | ||
14670 | /* end confdefs.h. */ | 9343 | /* end confdefs.h. */ |
14671 | 9344 | ||
14672 | /* Override any GCC internal prototype to avoid an error. | 9345 | /* Override any GCC internal prototype to avoid an error. |
@@ -14691,65 +9364,38 @@ for ac_lib in '' util bsd; do | |||
14691 | ac_res=-l$ac_lib | 9364 | ac_res=-l$ac_lib |
14692 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 9365 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
14693 | fi | 9366 | fi |
14694 | rm -f conftest.$ac_objext conftest$ac_exeext | 9367 | if ac_fn_c_try_link "$LINENO"; then : |
14695 | if { (ac_try="$ac_link" | ||
14696 | case "(($ac_try" in | ||
14697 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
14698 | *) ac_try_echo=$ac_try;; | ||
14699 | esac | ||
14700 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
14701 | (eval "$ac_link") 2>conftest.er1 | ||
14702 | ac_status=$? | ||
14703 | grep -v '^ *+' conftest.er1 >conftest.err | ||
14704 | rm -f conftest.er1 | ||
14705 | cat conftest.err >&5 | ||
14706 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
14707 | (exit $ac_status); } && { | ||
14708 | test -z "$ac_c_werror_flag" || | ||
14709 | test ! -s conftest.err | ||
14710 | } && test -s conftest$ac_exeext && | ||
14711 | $as_test_x conftest$ac_exeext; then | ||
14712 | ac_cv_search_logwtmp=$ac_res | 9368 | ac_cv_search_logwtmp=$ac_res |
14713 | else | ||
14714 | echo "$as_me: failed program was:" >&5 | ||
14715 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
14716 | |||
14717 | |||
14718 | fi | 9369 | fi |
14719 | 9370 | rm -f core conftest.err conftest.$ac_objext \ | |
14720 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9371 | conftest$ac_exeext |
14721 | conftest$ac_exeext | 9372 | if ${ac_cv_search_logwtmp+:} false; then : |
14722 | if test "${ac_cv_search_logwtmp+set}" = set; then | ||
14723 | break | 9373 | break |
14724 | fi | 9374 | fi |
14725 | done | 9375 | done |
14726 | if test "${ac_cv_search_logwtmp+set}" = set; then | 9376 | if ${ac_cv_search_logwtmp+:} false; then : |
14727 | : | 9377 | |
14728 | else | 9378 | else |
14729 | ac_cv_search_logwtmp=no | 9379 | ac_cv_search_logwtmp=no |
14730 | fi | 9380 | fi |
14731 | rm conftest.$ac_ext | 9381 | rm conftest.$ac_ext |
14732 | LIBS=$ac_func_search_save_LIBS | 9382 | LIBS=$ac_func_search_save_LIBS |
14733 | fi | 9383 | fi |
14734 | { echo "$as_me:$LINENO: result: $ac_cv_search_logwtmp" >&5 | 9384 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_logwtmp" >&5 |
14735 | echo "${ECHO_T}$ac_cv_search_logwtmp" >&6; } | 9385 | $as_echo "$ac_cv_search_logwtmp" >&6; } |
14736 | ac_res=$ac_cv_search_logwtmp | 9386 | ac_res=$ac_cv_search_logwtmp |
14737 | if test "$ac_res" != no; then | 9387 | if test "$ac_res" != no; then : |
14738 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 9388 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
14739 | 9389 | ||
14740 | fi | 9390 | fi |
14741 | 9391 | ||
14742 | { echo "$as_me:$LINENO: checking for library containing openpty" >&5 | 9392 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing openpty" >&5 |
14743 | echo $ECHO_N "checking for library containing openpty... $ECHO_C" >&6; } | 9393 | $as_echo_n "checking for library containing openpty... " >&6; } |
14744 | if test "${ac_cv_search_openpty+set}" = set; then | 9394 | if ${ac_cv_search_openpty+:} false; then : |
14745 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 9395 | $as_echo_n "(cached) " >&6 |
14746 | else | 9396 | else |
14747 | ac_func_search_save_LIBS=$LIBS | 9397 | ac_func_search_save_LIBS=$LIBS |
14748 | cat >conftest.$ac_ext <<_ACEOF | 9398 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
14749 | /* confdefs.h. */ | ||
14750 | _ACEOF | ||
14751 | cat confdefs.h >>conftest.$ac_ext | ||
14752 | cat >>conftest.$ac_ext <<_ACEOF | ||
14753 | /* end confdefs.h. */ | 9399 | /* end confdefs.h. */ |
14754 | 9400 | ||
14755 | /* Override any GCC internal prototype to avoid an error. | 9401 | /* Override any GCC internal prototype to avoid an error. |
@@ -14774,65 +9420,38 @@ for ac_lib in '' util bsd; do | |||
14774 | ac_res=-l$ac_lib | 9420 | ac_res=-l$ac_lib |
14775 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 9421 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
14776 | fi | 9422 | fi |
14777 | rm -f conftest.$ac_objext conftest$ac_exeext | 9423 | if ac_fn_c_try_link "$LINENO"; then : |
14778 | if { (ac_try="$ac_link" | ||
14779 | case "(($ac_try" in | ||
14780 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
14781 | *) ac_try_echo=$ac_try;; | ||
14782 | esac | ||
14783 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
14784 | (eval "$ac_link") 2>conftest.er1 | ||
14785 | ac_status=$? | ||
14786 | grep -v '^ *+' conftest.er1 >conftest.err | ||
14787 | rm -f conftest.er1 | ||
14788 | cat conftest.err >&5 | ||
14789 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
14790 | (exit $ac_status); } && { | ||
14791 | test -z "$ac_c_werror_flag" || | ||
14792 | test ! -s conftest.err | ||
14793 | } && test -s conftest$ac_exeext && | ||
14794 | $as_test_x conftest$ac_exeext; then | ||
14795 | ac_cv_search_openpty=$ac_res | 9424 | ac_cv_search_openpty=$ac_res |
14796 | else | ||
14797 | echo "$as_me: failed program was:" >&5 | ||
14798 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
14799 | |||
14800 | |||
14801 | fi | 9425 | fi |
14802 | 9426 | rm -f core conftest.err conftest.$ac_objext \ | |
14803 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9427 | conftest$ac_exeext |
14804 | conftest$ac_exeext | 9428 | if ${ac_cv_search_openpty+:} false; then : |
14805 | if test "${ac_cv_search_openpty+set}" = set; then | ||
14806 | break | 9429 | break |
14807 | fi | 9430 | fi |
14808 | done | 9431 | done |
14809 | if test "${ac_cv_search_openpty+set}" = set; then | 9432 | if ${ac_cv_search_openpty+:} false; then : |
14810 | : | 9433 | |
14811 | else | 9434 | else |
14812 | ac_cv_search_openpty=no | 9435 | ac_cv_search_openpty=no |
14813 | fi | 9436 | fi |
14814 | rm conftest.$ac_ext | 9437 | rm conftest.$ac_ext |
14815 | LIBS=$ac_func_search_save_LIBS | 9438 | LIBS=$ac_func_search_save_LIBS |
14816 | fi | 9439 | fi |
14817 | { echo "$as_me:$LINENO: result: $ac_cv_search_openpty" >&5 | 9440 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_openpty" >&5 |
14818 | echo "${ECHO_T}$ac_cv_search_openpty" >&6; } | 9441 | $as_echo "$ac_cv_search_openpty" >&6; } |
14819 | ac_res=$ac_cv_search_openpty | 9442 | ac_res=$ac_cv_search_openpty |
14820 | if test "$ac_res" != no; then | 9443 | if test "$ac_res" != no; then : |
14821 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 9444 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
14822 | 9445 | ||
14823 | fi | 9446 | fi |
14824 | 9447 | ||
14825 | { echo "$as_me:$LINENO: checking for library containing updwtmp" >&5 | 9448 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing updwtmp" >&5 |
14826 | echo $ECHO_N "checking for library containing updwtmp... $ECHO_C" >&6; } | 9449 | $as_echo_n "checking for library containing updwtmp... " >&6; } |
14827 | if test "${ac_cv_search_updwtmp+set}" = set; then | 9450 | if ${ac_cv_search_updwtmp+:} false; then : |
14828 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 9451 | $as_echo_n "(cached) " >&6 |
14829 | else | 9452 | else |
14830 | ac_func_search_save_LIBS=$LIBS | 9453 | ac_func_search_save_LIBS=$LIBS |
14831 | cat >conftest.$ac_ext <<_ACEOF | 9454 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
14832 | /* confdefs.h. */ | ||
14833 | _ACEOF | ||
14834 | cat confdefs.h >>conftest.$ac_ext | ||
14835 | cat >>conftest.$ac_ext <<_ACEOF | ||
14836 | /* end confdefs.h. */ | 9455 | /* end confdefs.h. */ |
14837 | 9456 | ||
14838 | /* Override any GCC internal prototype to avoid an error. | 9457 | /* Override any GCC internal prototype to avoid an error. |
@@ -14857,149 +9476,38 @@ for ac_lib in '' util bsd; do | |||
14857 | ac_res=-l$ac_lib | 9476 | ac_res=-l$ac_lib |
14858 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 9477 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
14859 | fi | 9478 | fi |
14860 | rm -f conftest.$ac_objext conftest$ac_exeext | 9479 | if ac_fn_c_try_link "$LINENO"; then : |
14861 | if { (ac_try="$ac_link" | ||
14862 | case "(($ac_try" in | ||
14863 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
14864 | *) ac_try_echo=$ac_try;; | ||
14865 | esac | ||
14866 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
14867 | (eval "$ac_link") 2>conftest.er1 | ||
14868 | ac_status=$? | ||
14869 | grep -v '^ *+' conftest.er1 >conftest.err | ||
14870 | rm -f conftest.er1 | ||
14871 | cat conftest.err >&5 | ||
14872 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
14873 | (exit $ac_status); } && { | ||
14874 | test -z "$ac_c_werror_flag" || | ||
14875 | test ! -s conftest.err | ||
14876 | } && test -s conftest$ac_exeext && | ||
14877 | $as_test_x conftest$ac_exeext; then | ||
14878 | ac_cv_search_updwtmp=$ac_res | 9480 | ac_cv_search_updwtmp=$ac_res |
14879 | else | ||
14880 | echo "$as_me: failed program was:" >&5 | ||
14881 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
14882 | |||
14883 | |||
14884 | fi | 9481 | fi |
14885 | 9482 | rm -f core conftest.err conftest.$ac_objext \ | |
14886 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9483 | conftest$ac_exeext |
14887 | conftest$ac_exeext | 9484 | if ${ac_cv_search_updwtmp+:} false; then : |
14888 | if test "${ac_cv_search_updwtmp+set}" = set; then | ||
14889 | break | 9485 | break |
14890 | fi | 9486 | fi |
14891 | done | 9487 | done |
14892 | if test "${ac_cv_search_updwtmp+set}" = set; then | 9488 | if ${ac_cv_search_updwtmp+:} false; then : |
14893 | : | 9489 | |
14894 | else | 9490 | else |
14895 | ac_cv_search_updwtmp=no | 9491 | ac_cv_search_updwtmp=no |
14896 | fi | 9492 | fi |
14897 | rm conftest.$ac_ext | 9493 | rm conftest.$ac_ext |
14898 | LIBS=$ac_func_search_save_LIBS | 9494 | LIBS=$ac_func_search_save_LIBS |
14899 | fi | 9495 | fi |
14900 | { echo "$as_me:$LINENO: result: $ac_cv_search_updwtmp" >&5 | 9496 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_updwtmp" >&5 |
14901 | echo "${ECHO_T}$ac_cv_search_updwtmp" >&6; } | 9497 | $as_echo "$ac_cv_search_updwtmp" >&6; } |
14902 | ac_res=$ac_cv_search_updwtmp | 9498 | ac_res=$ac_cv_search_updwtmp |
14903 | if test "$ac_res" != no; then | 9499 | if test "$ac_res" != no; then : |
14904 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 9500 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
14905 | 9501 | ||
14906 | fi | 9502 | fi |
14907 | 9503 | ||
14908 | |||
14909 | |||
14910 | |||
14911 | |||
14912 | |||
14913 | |||
14914 | |||
14915 | for ac_func in fmt_scaled scan_scaled login logout openpty updwtmp logwtmp | 9504 | for ac_func in fmt_scaled scan_scaled login logout openpty updwtmp logwtmp |
14916 | do | 9505 | do : |
14917 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 9506 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
14918 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 9507 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
14919 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | 9508 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
14920 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
14921 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
14922 | else | ||
14923 | cat >conftest.$ac_ext <<_ACEOF | ||
14924 | /* confdefs.h. */ | ||
14925 | _ACEOF | ||
14926 | cat confdefs.h >>conftest.$ac_ext | ||
14927 | cat >>conftest.$ac_ext <<_ACEOF | ||
14928 | /* end confdefs.h. */ | ||
14929 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
14930 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
14931 | #define $ac_func innocuous_$ac_func | ||
14932 | |||
14933 | /* System header to define __stub macros and hopefully few prototypes, | ||
14934 | which can conflict with char $ac_func (); below. | ||
14935 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
14936 | <limits.h> exists even on freestanding compilers. */ | ||
14937 | |||
14938 | #ifdef __STDC__ | ||
14939 | # include <limits.h> | ||
14940 | #else | ||
14941 | # include <assert.h> | ||
14942 | #endif | ||
14943 | |||
14944 | #undef $ac_func | ||
14945 | |||
14946 | /* Override any GCC internal prototype to avoid an error. | ||
14947 | Use char because int might match the return type of a GCC | ||
14948 | builtin and then its argument prototype would still apply. */ | ||
14949 | #ifdef __cplusplus | ||
14950 | extern "C" | ||
14951 | #endif | ||
14952 | char $ac_func (); | ||
14953 | /* The GNU C library defines this for functions which it implements | ||
14954 | to always fail with ENOSYS. Some functions are actually named | ||
14955 | something starting with __ and the normal name is an alias. */ | ||
14956 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
14957 | choke me | ||
14958 | #endif | ||
14959 | |||
14960 | int | ||
14961 | main () | ||
14962 | { | ||
14963 | return $ac_func (); | ||
14964 | ; | ||
14965 | return 0; | ||
14966 | } | ||
14967 | _ACEOF | ||
14968 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
14969 | if { (ac_try="$ac_link" | ||
14970 | case "(($ac_try" in | ||
14971 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
14972 | *) ac_try_echo=$ac_try;; | ||
14973 | esac | ||
14974 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
14975 | (eval "$ac_link") 2>conftest.er1 | ||
14976 | ac_status=$? | ||
14977 | grep -v '^ *+' conftest.er1 >conftest.err | ||
14978 | rm -f conftest.er1 | ||
14979 | cat conftest.err >&5 | ||
14980 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
14981 | (exit $ac_status); } && { | ||
14982 | test -z "$ac_c_werror_flag" || | ||
14983 | test ! -s conftest.err | ||
14984 | } && test -s conftest$ac_exeext && | ||
14985 | $as_test_x conftest$ac_exeext; then | ||
14986 | eval "$as_ac_var=yes" | ||
14987 | else | ||
14988 | echo "$as_me: failed program was:" >&5 | ||
14989 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
14990 | |||
14991 | eval "$as_ac_var=no" | ||
14992 | fi | ||
14993 | |||
14994 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
14995 | conftest$ac_exeext conftest.$ac_ext | ||
14996 | fi | ||
14997 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
14998 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
14999 | echo "${ECHO_T}$ac_res" >&6; } | ||
15000 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
15001 | cat >>confdefs.h <<_ACEOF | 9509 | cat >>confdefs.h <<_ACEOF |
15002 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 9510 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
15003 | _ACEOF | 9511 | _ACEOF |
15004 | 9512 | ||
15005 | fi | 9513 | fi |
@@ -15008,17 +9516,13 @@ done | |||
15008 | 9516 | ||
15009 | # On some platforms, inet_ntop and gethostbyname may be found in libresolv | 9517 | # On some platforms, inet_ntop and gethostbyname may be found in libresolv |
15010 | # or libnsl. | 9518 | # or libnsl. |
15011 | { echo "$as_me:$LINENO: checking for library containing inet_ntop" >&5 | 9519 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntop" >&5 |
15012 | echo $ECHO_N "checking for library containing inet_ntop... $ECHO_C" >&6; } | 9520 | $as_echo_n "checking for library containing inet_ntop... " >&6; } |
15013 | if test "${ac_cv_search_inet_ntop+set}" = set; then | 9521 | if ${ac_cv_search_inet_ntop+:} false; then : |
15014 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 9522 | $as_echo_n "(cached) " >&6 |
15015 | else | 9523 | else |
15016 | ac_func_search_save_LIBS=$LIBS | 9524 | ac_func_search_save_LIBS=$LIBS |
15017 | cat >conftest.$ac_ext <<_ACEOF | 9525 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
15018 | /* confdefs.h. */ | ||
15019 | _ACEOF | ||
15020 | cat confdefs.h >>conftest.$ac_ext | ||
15021 | cat >>conftest.$ac_ext <<_ACEOF | ||
15022 | /* end confdefs.h. */ | 9526 | /* end confdefs.h. */ |
15023 | 9527 | ||
15024 | /* Override any GCC internal prototype to avoid an error. | 9528 | /* Override any GCC internal prototype to avoid an error. |
@@ -15043,65 +9547,38 @@ for ac_lib in '' resolv nsl; do | |||
15043 | ac_res=-l$ac_lib | 9547 | ac_res=-l$ac_lib |
15044 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 9548 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
15045 | fi | 9549 | fi |
15046 | rm -f conftest.$ac_objext conftest$ac_exeext | 9550 | if ac_fn_c_try_link "$LINENO"; then : |
15047 | if { (ac_try="$ac_link" | ||
15048 | case "(($ac_try" in | ||
15049 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
15050 | *) ac_try_echo=$ac_try;; | ||
15051 | esac | ||
15052 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
15053 | (eval "$ac_link") 2>conftest.er1 | ||
15054 | ac_status=$? | ||
15055 | grep -v '^ *+' conftest.er1 >conftest.err | ||
15056 | rm -f conftest.er1 | ||
15057 | cat conftest.err >&5 | ||
15058 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
15059 | (exit $ac_status); } && { | ||
15060 | test -z "$ac_c_werror_flag" || | ||
15061 | test ! -s conftest.err | ||
15062 | } && test -s conftest$ac_exeext && | ||
15063 | $as_test_x conftest$ac_exeext; then | ||
15064 | ac_cv_search_inet_ntop=$ac_res | 9551 | ac_cv_search_inet_ntop=$ac_res |
15065 | else | ||
15066 | echo "$as_me: failed program was:" >&5 | ||
15067 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
15068 | |||
15069 | |||
15070 | fi | 9552 | fi |
15071 | 9553 | rm -f core conftest.err conftest.$ac_objext \ | |
15072 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9554 | conftest$ac_exeext |
15073 | conftest$ac_exeext | 9555 | if ${ac_cv_search_inet_ntop+:} false; then : |
15074 | if test "${ac_cv_search_inet_ntop+set}" = set; then | ||
15075 | break | 9556 | break |
15076 | fi | 9557 | fi |
15077 | done | 9558 | done |
15078 | if test "${ac_cv_search_inet_ntop+set}" = set; then | 9559 | if ${ac_cv_search_inet_ntop+:} false; then : |
15079 | : | 9560 | |
15080 | else | 9561 | else |
15081 | ac_cv_search_inet_ntop=no | 9562 | ac_cv_search_inet_ntop=no |
15082 | fi | 9563 | fi |
15083 | rm conftest.$ac_ext | 9564 | rm conftest.$ac_ext |
15084 | LIBS=$ac_func_search_save_LIBS | 9565 | LIBS=$ac_func_search_save_LIBS |
15085 | fi | 9566 | fi |
15086 | { echo "$as_me:$LINENO: result: $ac_cv_search_inet_ntop" >&5 | 9567 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntop" >&5 |
15087 | echo "${ECHO_T}$ac_cv_search_inet_ntop" >&6; } | 9568 | $as_echo "$ac_cv_search_inet_ntop" >&6; } |
15088 | ac_res=$ac_cv_search_inet_ntop | 9569 | ac_res=$ac_cv_search_inet_ntop |
15089 | if test "$ac_res" != no; then | 9570 | if test "$ac_res" != no; then : |
15090 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 9571 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
15091 | 9572 | ||
15092 | fi | 9573 | fi |
15093 | 9574 | ||
15094 | { echo "$as_me:$LINENO: checking for library containing gethostbyname" >&5 | 9575 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 |
15095 | echo $ECHO_N "checking for library containing gethostbyname... $ECHO_C" >&6; } | 9576 | $as_echo_n "checking for library containing gethostbyname... " >&6; } |
15096 | if test "${ac_cv_search_gethostbyname+set}" = set; then | 9577 | if ${ac_cv_search_gethostbyname+:} false; then : |
15097 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 9578 | $as_echo_n "(cached) " >&6 |
15098 | else | 9579 | else |
15099 | ac_func_search_save_LIBS=$LIBS | 9580 | ac_func_search_save_LIBS=$LIBS |
15100 | cat >conftest.$ac_ext <<_ACEOF | 9581 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
15101 | /* confdefs.h. */ | ||
15102 | _ACEOF | ||
15103 | cat confdefs.h >>conftest.$ac_ext | ||
15104 | cat >>conftest.$ac_ext <<_ACEOF | ||
15105 | /* end confdefs.h. */ | 9582 | /* end confdefs.h. */ |
15106 | 9583 | ||
15107 | /* Override any GCC internal prototype to avoid an error. | 9584 | /* Override any GCC internal prototype to avoid an error. |
@@ -15126,160 +9603,50 @@ for ac_lib in '' resolv nsl; do | |||
15126 | ac_res=-l$ac_lib | 9603 | ac_res=-l$ac_lib |
15127 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 9604 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
15128 | fi | 9605 | fi |
15129 | rm -f conftest.$ac_objext conftest$ac_exeext | 9606 | if ac_fn_c_try_link "$LINENO"; then : |
15130 | if { (ac_try="$ac_link" | ||
15131 | case "(($ac_try" in | ||
15132 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
15133 | *) ac_try_echo=$ac_try;; | ||
15134 | esac | ||
15135 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
15136 | (eval "$ac_link") 2>conftest.er1 | ||
15137 | ac_status=$? | ||
15138 | grep -v '^ *+' conftest.er1 >conftest.err | ||
15139 | rm -f conftest.er1 | ||
15140 | cat conftest.err >&5 | ||
15141 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
15142 | (exit $ac_status); } && { | ||
15143 | test -z "$ac_c_werror_flag" || | ||
15144 | test ! -s conftest.err | ||
15145 | } && test -s conftest$ac_exeext && | ||
15146 | $as_test_x conftest$ac_exeext; then | ||
15147 | ac_cv_search_gethostbyname=$ac_res | 9607 | ac_cv_search_gethostbyname=$ac_res |
15148 | else | ||
15149 | echo "$as_me: failed program was:" >&5 | ||
15150 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
15151 | |||
15152 | |||
15153 | fi | 9608 | fi |
15154 | 9609 | rm -f core conftest.err conftest.$ac_objext \ | |
15155 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9610 | conftest$ac_exeext |
15156 | conftest$ac_exeext | 9611 | if ${ac_cv_search_gethostbyname+:} false; then : |
15157 | if test "${ac_cv_search_gethostbyname+set}" = set; then | ||
15158 | break | 9612 | break |
15159 | fi | 9613 | fi |
15160 | done | 9614 | done |
15161 | if test "${ac_cv_search_gethostbyname+set}" = set; then | 9615 | if ${ac_cv_search_gethostbyname+:} false; then : |
15162 | : | 9616 | |
15163 | else | 9617 | else |
15164 | ac_cv_search_gethostbyname=no | 9618 | ac_cv_search_gethostbyname=no |
15165 | fi | 9619 | fi |
15166 | rm conftest.$ac_ext | 9620 | rm conftest.$ac_ext |
15167 | LIBS=$ac_func_search_save_LIBS | 9621 | LIBS=$ac_func_search_save_LIBS |
15168 | fi | 9622 | fi |
15169 | { echo "$as_me:$LINENO: result: $ac_cv_search_gethostbyname" >&5 | 9623 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 |
15170 | echo "${ECHO_T}$ac_cv_search_gethostbyname" >&6; } | 9624 | $as_echo "$ac_cv_search_gethostbyname" >&6; } |
15171 | ac_res=$ac_cv_search_gethostbyname | 9625 | ac_res=$ac_cv_search_gethostbyname |
15172 | if test "$ac_res" != no; then | 9626 | if test "$ac_res" != no; then : |
15173 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 9627 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
15174 | 9628 | ||
15175 | fi | 9629 | fi |
15176 | 9630 | ||
15177 | 9631 | ||
15178 | |||
15179 | for ac_func in strftime | 9632 | for ac_func in strftime |
15180 | do | 9633 | do : |
15181 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 9634 | ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime" |
15182 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 9635 | if test "x$ac_cv_func_strftime" = xyes; then : |
15183 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
15184 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
15185 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
15186 | else | ||
15187 | cat >conftest.$ac_ext <<_ACEOF | ||
15188 | /* confdefs.h. */ | ||
15189 | _ACEOF | ||
15190 | cat confdefs.h >>conftest.$ac_ext | ||
15191 | cat >>conftest.$ac_ext <<_ACEOF | ||
15192 | /* end confdefs.h. */ | ||
15193 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
15194 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
15195 | #define $ac_func innocuous_$ac_func | ||
15196 | |||
15197 | /* System header to define __stub macros and hopefully few prototypes, | ||
15198 | which can conflict with char $ac_func (); below. | ||
15199 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
15200 | <limits.h> exists even on freestanding compilers. */ | ||
15201 | |||
15202 | #ifdef __STDC__ | ||
15203 | # include <limits.h> | ||
15204 | #else | ||
15205 | # include <assert.h> | ||
15206 | #endif | ||
15207 | |||
15208 | #undef $ac_func | ||
15209 | |||
15210 | /* Override any GCC internal prototype to avoid an error. | ||
15211 | Use char because int might match the return type of a GCC | ||
15212 | builtin and then its argument prototype would still apply. */ | ||
15213 | #ifdef __cplusplus | ||
15214 | extern "C" | ||
15215 | #endif | ||
15216 | char $ac_func (); | ||
15217 | /* The GNU C library defines this for functions which it implements | ||
15218 | to always fail with ENOSYS. Some functions are actually named | ||
15219 | something starting with __ and the normal name is an alias. */ | ||
15220 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
15221 | choke me | ||
15222 | #endif | ||
15223 | |||
15224 | int | ||
15225 | main () | ||
15226 | { | ||
15227 | return $ac_func (); | ||
15228 | ; | ||
15229 | return 0; | ||
15230 | } | ||
15231 | _ACEOF | ||
15232 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
15233 | if { (ac_try="$ac_link" | ||
15234 | case "(($ac_try" in | ||
15235 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
15236 | *) ac_try_echo=$ac_try;; | ||
15237 | esac | ||
15238 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
15239 | (eval "$ac_link") 2>conftest.er1 | ||
15240 | ac_status=$? | ||
15241 | grep -v '^ *+' conftest.er1 >conftest.err | ||
15242 | rm -f conftest.er1 | ||
15243 | cat conftest.err >&5 | ||
15244 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
15245 | (exit $ac_status); } && { | ||
15246 | test -z "$ac_c_werror_flag" || | ||
15247 | test ! -s conftest.err | ||
15248 | } && test -s conftest$ac_exeext && | ||
15249 | $as_test_x conftest$ac_exeext; then | ||
15250 | eval "$as_ac_var=yes" | ||
15251 | else | ||
15252 | echo "$as_me: failed program was:" >&5 | ||
15253 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
15254 | |||
15255 | eval "$as_ac_var=no" | ||
15256 | fi | ||
15257 | |||
15258 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
15259 | conftest$ac_exeext conftest.$ac_ext | ||
15260 | fi | ||
15261 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
15262 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
15263 | echo "${ECHO_T}$ac_res" >&6; } | ||
15264 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
15265 | cat >>confdefs.h <<_ACEOF | 9636 | cat >>confdefs.h <<_ACEOF |
15266 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 9637 | #define HAVE_STRFTIME 1 |
15267 | _ACEOF | 9638 | _ACEOF |
15268 | 9639 | ||
15269 | else | 9640 | else |
15270 | # strftime is in -lintl on SCO UNIX. | 9641 | # strftime is in -lintl on SCO UNIX. |
15271 | { echo "$as_me:$LINENO: checking for strftime in -lintl" >&5 | 9642 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5 |
15272 | echo $ECHO_N "checking for strftime in -lintl... $ECHO_C" >&6; } | 9643 | $as_echo_n "checking for strftime in -lintl... " >&6; } |
15273 | if test "${ac_cv_lib_intl_strftime+set}" = set; then | 9644 | if ${ac_cv_lib_intl_strftime+:} false; then : |
15274 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 9645 | $as_echo_n "(cached) " >&6 |
15275 | else | 9646 | else |
15276 | ac_check_lib_save_LIBS=$LIBS | 9647 | ac_check_lib_save_LIBS=$LIBS |
15277 | LIBS="-lintl $LIBS" | 9648 | LIBS="-lintl $LIBS" |
15278 | cat >conftest.$ac_ext <<_ACEOF | 9649 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
15279 | /* confdefs.h. */ | ||
15280 | _ACEOF | ||
15281 | cat confdefs.h >>conftest.$ac_ext | ||
15282 | cat >>conftest.$ac_ext <<_ACEOF | ||
15283 | /* end confdefs.h. */ | 9650 | /* end confdefs.h. */ |
15284 | 9651 | ||
15285 | /* Override any GCC internal prototype to avoid an error. | 9652 | /* Override any GCC internal prototype to avoid an error. |
@@ -15297,42 +9664,19 @@ return strftime (); | |||
15297 | return 0; | 9664 | return 0; |
15298 | } | 9665 | } |
15299 | _ACEOF | 9666 | _ACEOF |
15300 | rm -f conftest.$ac_objext conftest$ac_exeext | 9667 | if ac_fn_c_try_link "$LINENO"; then : |
15301 | if { (ac_try="$ac_link" | ||
15302 | case "(($ac_try" in | ||
15303 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
15304 | *) ac_try_echo=$ac_try;; | ||
15305 | esac | ||
15306 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
15307 | (eval "$ac_link") 2>conftest.er1 | ||
15308 | ac_status=$? | ||
15309 | grep -v '^ *+' conftest.er1 >conftest.err | ||
15310 | rm -f conftest.er1 | ||
15311 | cat conftest.err >&5 | ||
15312 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
15313 | (exit $ac_status); } && { | ||
15314 | test -z "$ac_c_werror_flag" || | ||
15315 | test ! -s conftest.err | ||
15316 | } && test -s conftest$ac_exeext && | ||
15317 | $as_test_x conftest$ac_exeext; then | ||
15318 | ac_cv_lib_intl_strftime=yes | 9668 | ac_cv_lib_intl_strftime=yes |
15319 | else | 9669 | else |
15320 | echo "$as_me: failed program was:" >&5 | 9670 | ac_cv_lib_intl_strftime=no |
15321 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
15322 | |||
15323 | ac_cv_lib_intl_strftime=no | ||
15324 | fi | 9671 | fi |
15325 | 9672 | rm -f core conftest.err conftest.$ac_objext \ | |
15326 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9673 | conftest$ac_exeext conftest.$ac_ext |
15327 | conftest$ac_exeext conftest.$ac_ext | ||
15328 | LIBS=$ac_check_lib_save_LIBS | 9674 | LIBS=$ac_check_lib_save_LIBS |
15329 | fi | 9675 | fi |
15330 | { echo "$as_me:$LINENO: result: $ac_cv_lib_intl_strftime" >&5 | 9676 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5 |
15331 | echo "${ECHO_T}$ac_cv_lib_intl_strftime" >&6; } | 9677 | $as_echo "$ac_cv_lib_intl_strftime" >&6; } |
15332 | if test $ac_cv_lib_intl_strftime = yes; then | 9678 | if test "x$ac_cv_lib_intl_strftime" = xyes; then : |
15333 | cat >>confdefs.h <<\_ACEOF | 9679 | $as_echo "#define HAVE_STRFTIME 1" >>confdefs.h |
15334 | #define HAVE_STRFTIME 1 | ||
15335 | _ACEOF | ||
15336 | 9680 | ||
15337 | LIBS="-lintl $LIBS" | 9681 | LIBS="-lintl $LIBS" |
15338 | fi | 9682 | fi |
@@ -15342,13 +9686,9 @@ done | |||
15342 | 9686 | ||
15343 | 9687 | ||
15344 | # Check for ALTDIRFUNC glob() extension | 9688 | # Check for ALTDIRFUNC glob() extension |
15345 | { echo "$as_me:$LINENO: checking for GLOB_ALTDIRFUNC support" >&5 | 9689 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_ALTDIRFUNC support" >&5 |
15346 | echo $ECHO_N "checking for GLOB_ALTDIRFUNC support... $ECHO_C" >&6; } | 9690 | $as_echo_n "checking for GLOB_ALTDIRFUNC support... " >&6; } |
15347 | cat >conftest.$ac_ext <<_ACEOF | 9691 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
15348 | /* confdefs.h. */ | ||
15349 | _ACEOF | ||
15350 | cat confdefs.h >>conftest.$ac_ext | ||
15351 | cat >>conftest.$ac_ext <<_ACEOF | ||
15352 | /* end confdefs.h. */ | 9692 | /* end confdefs.h. */ |
15353 | 9693 | ||
15354 | #include <glob.h> | 9694 | #include <glob.h> |
@@ -15358,20 +9698,18 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
15358 | 9698 | ||
15359 | _ACEOF | 9699 | _ACEOF |
15360 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 9700 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
15361 | $EGREP "FOUNDIT" >/dev/null 2>&1; then | 9701 | $EGREP "FOUNDIT" >/dev/null 2>&1; then : |
15362 | 9702 | ||
15363 | 9703 | ||
15364 | cat >>confdefs.h <<\_ACEOF | 9704 | $as_echo "#define GLOB_HAS_ALTDIRFUNC 1" >>confdefs.h |
15365 | #define GLOB_HAS_ALTDIRFUNC 1 | ||
15366 | _ACEOF | ||
15367 | 9705 | ||
15368 | { echo "$as_me:$LINENO: result: yes" >&5 | 9706 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
15369 | echo "${ECHO_T}yes" >&6; } | 9707 | $as_echo "yes" >&6; } |
15370 | 9708 | ||
15371 | else | 9709 | else |
15372 | 9710 | ||
15373 | { echo "$as_me:$LINENO: result: no" >&5 | 9711 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
15374 | echo "${ECHO_T}no" >&6; } | 9712 | $as_echo "no" >&6; } |
15375 | 9713 | ||
15376 | 9714 | ||
15377 | fi | 9715 | fi |
@@ -15379,13 +9717,9 @@ rm -f conftest* | |||
15379 | 9717 | ||
15380 | 9718 | ||
15381 | # Check for g.gl_matchc glob() extension | 9719 | # Check for g.gl_matchc glob() extension |
15382 | { echo "$as_me:$LINENO: checking for gl_matchc field in glob_t" >&5 | 9720 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gl_matchc field in glob_t" >&5 |
15383 | echo $ECHO_N "checking for gl_matchc field in glob_t... $ECHO_C" >&6; } | 9721 | $as_echo_n "checking for gl_matchc field in glob_t... " >&6; } |
15384 | cat >conftest.$ac_ext <<_ACEOF | 9722 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
15385 | /* confdefs.h. */ | ||
15386 | _ACEOF | ||
15387 | cat confdefs.h >>conftest.$ac_ext | ||
15388 | cat >>conftest.$ac_ext <<_ACEOF | ||
15389 | /* end confdefs.h. */ | 9723 | /* end confdefs.h. */ |
15390 | #include <glob.h> | 9724 | #include <glob.h> |
15391 | int | 9725 | int |
@@ -15396,52 +9730,26 @@ main () | |||
15396 | return 0; | 9730 | return 0; |
15397 | } | 9731 | } |
15398 | _ACEOF | 9732 | _ACEOF |
15399 | rm -f conftest.$ac_objext | 9733 | if ac_fn_c_try_compile "$LINENO"; then : |
15400 | if { (ac_try="$ac_compile" | ||
15401 | case "(($ac_try" in | ||
15402 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
15403 | *) ac_try_echo=$ac_try;; | ||
15404 | esac | ||
15405 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
15406 | (eval "$ac_compile") 2>conftest.er1 | ||
15407 | ac_status=$? | ||
15408 | grep -v '^ *+' conftest.er1 >conftest.err | ||
15409 | rm -f conftest.er1 | ||
15410 | cat conftest.err >&5 | ||
15411 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
15412 | (exit $ac_status); } && { | ||
15413 | test -z "$ac_c_werror_flag" || | ||
15414 | test ! -s conftest.err | ||
15415 | } && test -s conftest.$ac_objext; then | ||
15416 | 9734 | ||
15417 | 9735 | ||
15418 | cat >>confdefs.h <<\_ACEOF | 9736 | $as_echo "#define GLOB_HAS_GL_MATCHC 1" >>confdefs.h |
15419 | #define GLOB_HAS_GL_MATCHC 1 | ||
15420 | _ACEOF | ||
15421 | 9737 | ||
15422 | { echo "$as_me:$LINENO: result: yes" >&5 | 9738 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
15423 | echo "${ECHO_T}yes" >&6; } | 9739 | $as_echo "yes" >&6; } |
15424 | 9740 | ||
15425 | else | 9741 | else |
15426 | echo "$as_me: failed program was:" >&5 | ||
15427 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
15428 | 9742 | ||
15429 | 9743 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | |
15430 | { echo "$as_me:$LINENO: result: no" >&5 | 9744 | $as_echo "no" >&6; } |
15431 | echo "${ECHO_T}no" >&6; } | ||
15432 | 9745 | ||
15433 | fi | 9746 | fi |
15434 | |||
15435 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 9747 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
15436 | 9748 | ||
15437 | # Check for g.gl_statv glob() extension | 9749 | # Check for g.gl_statv glob() extension |
15438 | { echo "$as_me:$LINENO: checking for gl_statv and GLOB_KEEPSTAT extensions for glob" >&5 | 9750 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gl_statv and GLOB_KEEPSTAT extensions for glob" >&5 |
15439 | echo $ECHO_N "checking for gl_statv and GLOB_KEEPSTAT extensions for glob... $ECHO_C" >&6; } | 9751 | $as_echo_n "checking for gl_statv and GLOB_KEEPSTAT extensions for glob... " >&6; } |
15440 | cat >conftest.$ac_ext <<_ACEOF | 9752 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
15441 | /* confdefs.h. */ | ||
15442 | _ACEOF | ||
15443 | cat confdefs.h >>conftest.$ac_ext | ||
15444 | cat >>conftest.$ac_ext <<_ACEOF | ||
15445 | /* end confdefs.h. */ | 9753 | /* end confdefs.h. */ |
15446 | #include <glob.h> | 9754 | #include <glob.h> |
15447 | int | 9755 | int |
@@ -15458,197 +9766,59 @@ g.gl_statv = NULL; | |||
15458 | return 0; | 9766 | return 0; |
15459 | } | 9767 | } |
15460 | _ACEOF | 9768 | _ACEOF |
15461 | rm -f conftest.$ac_objext | 9769 | if ac_fn_c_try_compile "$LINENO"; then : |
15462 | if { (ac_try="$ac_compile" | ||
15463 | case "(($ac_try" in | ||
15464 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
15465 | *) ac_try_echo=$ac_try;; | ||
15466 | esac | ||
15467 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
15468 | (eval "$ac_compile") 2>conftest.er1 | ||
15469 | ac_status=$? | ||
15470 | grep -v '^ *+' conftest.er1 >conftest.err | ||
15471 | rm -f conftest.er1 | ||
15472 | cat conftest.err >&5 | ||
15473 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
15474 | (exit $ac_status); } && { | ||
15475 | test -z "$ac_c_werror_flag" || | ||
15476 | test ! -s conftest.err | ||
15477 | } && test -s conftest.$ac_objext; then | ||
15478 | 9770 | ||
15479 | 9771 | ||
15480 | cat >>confdefs.h <<\_ACEOF | 9772 | $as_echo "#define GLOB_HAS_GL_STATV 1" >>confdefs.h |
15481 | #define GLOB_HAS_GL_STATV 1 | ||
15482 | _ACEOF | ||
15483 | 9773 | ||
15484 | { echo "$as_me:$LINENO: result: yes" >&5 | 9774 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
15485 | echo "${ECHO_T}yes" >&6; } | 9775 | $as_echo "yes" >&6; } |
15486 | 9776 | ||
15487 | else | 9777 | else |
15488 | echo "$as_me: failed program was:" >&5 | ||
15489 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
15490 | |||
15491 | 9778 | ||
15492 | { echo "$as_me:$LINENO: result: no" >&5 | 9779 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
15493 | echo "${ECHO_T}no" >&6; } | 9780 | $as_echo "no" >&6; } |
15494 | 9781 | ||
15495 | 9782 | ||
15496 | fi | 9783 | fi |
15497 | |||
15498 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 9784 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
15499 | 9785 | ||
15500 | { echo "$as_me:$LINENO: checking whether GLOB_NOMATCH is declared" >&5 | 9786 | ac_fn_c_check_decl "$LINENO" "GLOB_NOMATCH" "ac_cv_have_decl_GLOB_NOMATCH" "#include <glob.h> |
15501 | echo $ECHO_N "checking whether GLOB_NOMATCH is declared... $ECHO_C" >&6; } | 9787 | " |
15502 | if test "${ac_cv_have_decl_GLOB_NOMATCH+set}" = set; then | 9788 | if test "x$ac_cv_have_decl_GLOB_NOMATCH" = xyes; then : |
15503 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 9789 | ac_have_decl=1 |
15504 | else | ||
15505 | cat >conftest.$ac_ext <<_ACEOF | ||
15506 | /* confdefs.h. */ | ||
15507 | _ACEOF | ||
15508 | cat confdefs.h >>conftest.$ac_ext | ||
15509 | cat >>conftest.$ac_ext <<_ACEOF | ||
15510 | /* end confdefs.h. */ | ||
15511 | #include <glob.h> | ||
15512 | |||
15513 | int | ||
15514 | main () | ||
15515 | { | ||
15516 | #ifndef GLOB_NOMATCH | ||
15517 | (void) GLOB_NOMATCH; | ||
15518 | #endif | ||
15519 | |||
15520 | ; | ||
15521 | return 0; | ||
15522 | } | ||
15523 | _ACEOF | ||
15524 | rm -f conftest.$ac_objext | ||
15525 | if { (ac_try="$ac_compile" | ||
15526 | case "(($ac_try" in | ||
15527 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
15528 | *) ac_try_echo=$ac_try;; | ||
15529 | esac | ||
15530 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
15531 | (eval "$ac_compile") 2>conftest.er1 | ||
15532 | ac_status=$? | ||
15533 | grep -v '^ *+' conftest.er1 >conftest.err | ||
15534 | rm -f conftest.er1 | ||
15535 | cat conftest.err >&5 | ||
15536 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
15537 | (exit $ac_status); } && { | ||
15538 | test -z "$ac_c_werror_flag" || | ||
15539 | test ! -s conftest.err | ||
15540 | } && test -s conftest.$ac_objext; then | ||
15541 | ac_cv_have_decl_GLOB_NOMATCH=yes | ||
15542 | else | 9790 | else |
15543 | echo "$as_me: failed program was:" >&5 | 9791 | ac_have_decl=0 |
15544 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
15545 | |||
15546 | ac_cv_have_decl_GLOB_NOMATCH=no | ||
15547 | fi | ||
15548 | |||
15549 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
15550 | fi | 9792 | fi |
15551 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_GLOB_NOMATCH" >&5 | ||
15552 | echo "${ECHO_T}$ac_cv_have_decl_GLOB_NOMATCH" >&6; } | ||
15553 | if test $ac_cv_have_decl_GLOB_NOMATCH = yes; then | ||
15554 | 9793 | ||
15555 | cat >>confdefs.h <<_ACEOF | 9794 | cat >>confdefs.h <<_ACEOF |
15556 | #define HAVE_DECL_GLOB_NOMATCH 1 | 9795 | #define HAVE_DECL_GLOB_NOMATCH $ac_have_decl |
15557 | _ACEOF | 9796 | _ACEOF |
15558 | 9797 | ||
15559 | 9798 | ||
15560 | else | 9799 | ac_fn_c_check_decl "$LINENO" "VIS_ALL" "ac_cv_have_decl_VIS_ALL" "#include <vis.h> |
15561 | cat >>confdefs.h <<_ACEOF | 9800 | " |
15562 | #define HAVE_DECL_GLOB_NOMATCH 0 | 9801 | if test "x$ac_cv_have_decl_VIS_ALL" = xyes; then : |
15563 | _ACEOF | ||
15564 | |||
15565 | |||
15566 | fi | ||
15567 | |||
15568 | |||
15569 | |||
15570 | { echo "$as_me:$LINENO: checking whether VIS_ALL is declared" >&5 | ||
15571 | echo $ECHO_N "checking whether VIS_ALL is declared... $ECHO_C" >&6; } | ||
15572 | if test "${ac_cv_have_decl_VIS_ALL+set}" = set; then | ||
15573 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
15574 | else | ||
15575 | cat >conftest.$ac_ext <<_ACEOF | ||
15576 | /* confdefs.h. */ | ||
15577 | _ACEOF | ||
15578 | cat confdefs.h >>conftest.$ac_ext | ||
15579 | cat >>conftest.$ac_ext <<_ACEOF | ||
15580 | /* end confdefs.h. */ | ||
15581 | #include <vis.h> | ||
15582 | |||
15583 | int | ||
15584 | main () | ||
15585 | { | ||
15586 | #ifndef VIS_ALL | ||
15587 | (void) VIS_ALL; | ||
15588 | #endif | ||
15589 | |||
15590 | ; | ||
15591 | return 0; | ||
15592 | } | ||
15593 | _ACEOF | ||
15594 | rm -f conftest.$ac_objext | ||
15595 | if { (ac_try="$ac_compile" | ||
15596 | case "(($ac_try" in | ||
15597 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
15598 | *) ac_try_echo=$ac_try;; | ||
15599 | esac | ||
15600 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
15601 | (eval "$ac_compile") 2>conftest.er1 | ||
15602 | ac_status=$? | ||
15603 | grep -v '^ *+' conftest.er1 >conftest.err | ||
15604 | rm -f conftest.er1 | ||
15605 | cat conftest.err >&5 | ||
15606 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
15607 | (exit $ac_status); } && { | ||
15608 | test -z "$ac_c_werror_flag" || | ||
15609 | test ! -s conftest.err | ||
15610 | } && test -s conftest.$ac_objext; then | ||
15611 | ac_cv_have_decl_VIS_ALL=yes | ||
15612 | else | ||
15613 | echo "$as_me: failed program was:" >&5 | ||
15614 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
15615 | |||
15616 | ac_cv_have_decl_VIS_ALL=no | ||
15617 | fi | ||
15618 | 9802 | ||
15619 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
15620 | fi | ||
15621 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_VIS_ALL" >&5 | ||
15622 | echo "${ECHO_T}$ac_cv_have_decl_VIS_ALL" >&6; } | ||
15623 | if test $ac_cv_have_decl_VIS_ALL = yes; then | ||
15624 | : | ||
15625 | else | 9803 | else |
15626 | 9804 | ||
15627 | cat >>confdefs.h <<\_ACEOF | 9805 | $as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h |
15628 | #define BROKEN_STRNVIS 1 | ||
15629 | _ACEOF | ||
15630 | 9806 | ||
15631 | fi | 9807 | fi |
15632 | 9808 | ||
15633 | 9809 | ||
15634 | { echo "$as_me:$LINENO: checking whether struct dirent allocates space for d_name" >&5 | 9810 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct dirent allocates space for d_name" >&5 |
15635 | echo $ECHO_N "checking whether struct dirent allocates space for d_name... $ECHO_C" >&6; } | 9811 | $as_echo_n "checking whether struct dirent allocates space for d_name... " >&6; } |
15636 | if test "$cross_compiling" = yes; then | 9812 | if test "$cross_compiling" = yes; then : |
15637 | 9813 | ||
15638 | { echo "$as_me:$LINENO: WARNING: cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME" >&5 | 9814 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME" >&5 |
15639 | echo "$as_me: WARNING: cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME" >&2;} | 9815 | $as_echo "$as_me: WARNING: cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME" >&2;} |
15640 | cat >>confdefs.h <<\_ACEOF | 9816 | $as_echo "#define BROKEN_ONE_BYTE_DIRENT_D_NAME 1" >>confdefs.h |
15641 | #define BROKEN_ONE_BYTE_DIRENT_D_NAME 1 | ||
15642 | _ACEOF | ||
15643 | 9817 | ||
15644 | 9818 | ||
15645 | 9819 | ||
15646 | else | 9820 | else |
15647 | cat >conftest.$ac_ext <<_ACEOF | 9821 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
15648 | /* confdefs.h. */ | ||
15649 | _ACEOF | ||
15650 | cat confdefs.h >>conftest.$ac_ext | ||
15651 | cat >>conftest.$ac_ext <<_ACEOF | ||
15652 | /* end confdefs.h. */ | 9822 | /* end confdefs.h. */ |
15653 | 9823 | ||
15654 | #include <sys/types.h> | 9824 | #include <sys/types.h> |
@@ -15664,69 +9834,41 @@ main () | |||
15664 | return 0; | 9834 | return 0; |
15665 | } | 9835 | } |
15666 | _ACEOF | 9836 | _ACEOF |
15667 | rm -f conftest$ac_exeext | 9837 | if ac_fn_c_try_run "$LINENO"; then : |
15668 | if { (ac_try="$ac_link" | 9838 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
15669 | case "(($ac_try" in | 9839 | $as_echo "yes" >&6; } |
15670 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
15671 | *) ac_try_echo=$ac_try;; | ||
15672 | esac | ||
15673 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
15674 | (eval "$ac_link") 2>&5 | ||
15675 | ac_status=$? | ||
15676 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
15677 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
15678 | { (case "(($ac_try" in | ||
15679 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
15680 | *) ac_try_echo=$ac_try;; | ||
15681 | esac | ||
15682 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
15683 | (eval "$ac_try") 2>&5 | ||
15684 | ac_status=$? | ||
15685 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
15686 | (exit $ac_status); }; }; then | ||
15687 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
15688 | echo "${ECHO_T}yes" >&6; } | ||
15689 | else | 9840 | else |
15690 | echo "$as_me: program exited with status $ac_status" >&5 | ||
15691 | echo "$as_me: failed program was:" >&5 | ||
15692 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
15693 | |||
15694 | ( exit $ac_status ) | ||
15695 | 9841 | ||
15696 | { echo "$as_me:$LINENO: result: no" >&5 | 9842 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
15697 | echo "${ECHO_T}no" >&6; } | 9843 | $as_echo "no" >&6; } |
15698 | 9844 | ||
15699 | cat >>confdefs.h <<\_ACEOF | 9845 | $as_echo "#define BROKEN_ONE_BYTE_DIRENT_D_NAME 1" >>confdefs.h |
15700 | #define BROKEN_ONE_BYTE_DIRENT_D_NAME 1 | ||
15701 | _ACEOF | ||
15702 | 9846 | ||
15703 | 9847 | ||
15704 | fi | 9848 | fi |
15705 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 9849 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
9850 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
15706 | fi | 9851 | fi |
15707 | 9852 | ||
15708 | 9853 | ||
15709 | 9854 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /proc/pid/fd directory" >&5 | |
15710 | { echo "$as_me:$LINENO: checking for /proc/pid/fd directory" >&5 | 9855 | $as_echo_n "checking for /proc/pid/fd directory... " >&6; } |
15711 | echo $ECHO_N "checking for /proc/pid/fd directory... $ECHO_C" >&6; } | ||
15712 | if test -d "/proc/$$/fd" ; then | 9856 | if test -d "/proc/$$/fd" ; then |
15713 | 9857 | ||
15714 | cat >>confdefs.h <<\_ACEOF | 9858 | $as_echo "#define HAVE_PROC_PID 1" >>confdefs.h |
15715 | #define HAVE_PROC_PID 1 | ||
15716 | _ACEOF | ||
15717 | 9859 | ||
15718 | { echo "$as_me:$LINENO: result: yes" >&5 | 9860 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
15719 | echo "${ECHO_T}yes" >&6; } | 9861 | $as_echo "yes" >&6; } |
15720 | else | 9862 | else |
15721 | { echo "$as_me:$LINENO: result: no" >&5 | 9863 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
15722 | echo "${ECHO_T}no" >&6; } | 9864 | $as_echo "no" >&6; } |
15723 | fi | 9865 | fi |
15724 | 9866 | ||
15725 | # Check whether user wants S/Key support | 9867 | # Check whether user wants S/Key support |
15726 | SKEY_MSG="no" | 9868 | SKEY_MSG="no" |
15727 | 9869 | ||
15728 | # Check whether --with-skey was given. | 9870 | # Check whether --with-skey was given. |
15729 | if test "${with_skey+set}" = set; then | 9871 | if test "${with_skey+set}" = set; then : |
15730 | withval=$with_skey; | 9872 | withval=$with_skey; |
15731 | if test "x$withval" != "xno" ; then | 9873 | if test "x$withval" != "xno" ; then |
15732 | 9874 | ||
@@ -15736,20 +9878,14 @@ if test "${with_skey+set}" = set; then | |||
15736 | fi | 9878 | fi |
15737 | 9879 | ||
15738 | 9880 | ||
15739 | cat >>confdefs.h <<\_ACEOF | 9881 | $as_echo "#define SKEY 1" >>confdefs.h |
15740 | #define SKEY 1 | ||
15741 | _ACEOF | ||
15742 | 9882 | ||
15743 | LIBS="-lskey $LIBS" | 9883 | LIBS="-lskey $LIBS" |
15744 | SKEY_MSG="yes" | 9884 | SKEY_MSG="yes" |
15745 | 9885 | ||
15746 | { echo "$as_me:$LINENO: checking for s/key support" >&5 | 9886 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for s/key support" >&5 |
15747 | echo $ECHO_N "checking for s/key support... $ECHO_C" >&6; } | 9887 | $as_echo_n "checking for s/key support... " >&6; } |
15748 | cat >conftest.$ac_ext <<_ACEOF | 9888 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
15749 | /* confdefs.h. */ | ||
15750 | _ACEOF | ||
15751 | cat confdefs.h >>conftest.$ac_ext | ||
15752 | cat >>conftest.$ac_ext <<_ACEOF | ||
15753 | /* end confdefs.h. */ | 9889 | /* end confdefs.h. */ |
15754 | 9890 | ||
15755 | #include <stdio.h> | 9891 | #include <stdio.h> |
@@ -15766,48 +9902,21 @@ main () | |||
15766 | return 0; | 9902 | return 0; |
15767 | } | 9903 | } |
15768 | _ACEOF | 9904 | _ACEOF |
15769 | rm -f conftest.$ac_objext conftest$ac_exeext | 9905 | if ac_fn_c_try_link "$LINENO"; then : |
15770 | if { (ac_try="$ac_link" | 9906 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
15771 | case "(($ac_try" in | 9907 | $as_echo "yes" >&6; } |
15772 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
15773 | *) ac_try_echo=$ac_try;; | ||
15774 | esac | ||
15775 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
15776 | (eval "$ac_link") 2>conftest.er1 | ||
15777 | ac_status=$? | ||
15778 | grep -v '^ *+' conftest.er1 >conftest.err | ||
15779 | rm -f conftest.er1 | ||
15780 | cat conftest.err >&5 | ||
15781 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
15782 | (exit $ac_status); } && { | ||
15783 | test -z "$ac_c_werror_flag" || | ||
15784 | test ! -s conftest.err | ||
15785 | } && test -s conftest$ac_exeext && | ||
15786 | $as_test_x conftest$ac_exeext; then | ||
15787 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
15788 | echo "${ECHO_T}yes" >&6; } | ||
15789 | else | 9908 | else |
15790 | echo "$as_me: failed program was:" >&5 | ||
15791 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
15792 | |||
15793 | 9909 | ||
15794 | { echo "$as_me:$LINENO: result: no" >&5 | 9910 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
15795 | echo "${ECHO_T}no" >&6; } | 9911 | $as_echo "no" >&6; } |
15796 | { { echo "$as_me:$LINENO: error: ** Incomplete or missing s/key libraries." >&5 | 9912 | as_fn_error $? "** Incomplete or missing s/key libraries." "$LINENO" 5 |
15797 | echo "$as_me: error: ** Incomplete or missing s/key libraries." >&2;} | ||
15798 | { (exit 1); exit 1; }; } | ||
15799 | 9913 | ||
15800 | fi | 9914 | fi |
15801 | 9915 | rm -f core conftest.err conftest.$ac_objext \ | |
15802 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9916 | conftest$ac_exeext conftest.$ac_ext |
15803 | conftest$ac_exeext conftest.$ac_ext | 9917 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if skeychallenge takes 4 arguments" >&5 |
15804 | { echo "$as_me:$LINENO: checking if skeychallenge takes 4 arguments" >&5 | 9918 | $as_echo_n "checking if skeychallenge takes 4 arguments... " >&6; } |
15805 | echo $ECHO_N "checking if skeychallenge takes 4 arguments... $ECHO_C" >&6; } | 9919 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
15806 | cat >conftest.$ac_ext <<_ACEOF | ||
15807 | /* confdefs.h. */ | ||
15808 | _ACEOF | ||
15809 | cat confdefs.h >>conftest.$ac_ext | ||
15810 | cat >>conftest.$ac_ext <<_ACEOF | ||
15811 | /* end confdefs.h. */ | 9920 | /* end confdefs.h. */ |
15812 | 9921 | ||
15813 | #include <stdio.h> | 9922 | #include <stdio.h> |
@@ -15823,41 +9932,19 @@ main () | |||
15823 | return 0; | 9932 | return 0; |
15824 | } | 9933 | } |
15825 | _ACEOF | 9934 | _ACEOF |
15826 | rm -f conftest.$ac_objext | 9935 | if ac_fn_c_try_compile "$LINENO"; then : |
15827 | if { (ac_try="$ac_compile" | ||
15828 | case "(($ac_try" in | ||
15829 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
15830 | *) ac_try_echo=$ac_try;; | ||
15831 | esac | ||
15832 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
15833 | (eval "$ac_compile") 2>conftest.er1 | ||
15834 | ac_status=$? | ||
15835 | grep -v '^ *+' conftest.er1 >conftest.err | ||
15836 | rm -f conftest.er1 | ||
15837 | cat conftest.err >&5 | ||
15838 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
15839 | (exit $ac_status); } && { | ||
15840 | test -z "$ac_c_werror_flag" || | ||
15841 | test ! -s conftest.err | ||
15842 | } && test -s conftest.$ac_objext; then | ||
15843 | 9936 | ||
15844 | { echo "$as_me:$LINENO: result: yes" >&5 | 9937 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
15845 | echo "${ECHO_T}yes" >&6; } | 9938 | $as_echo "yes" >&6; } |
15846 | 9939 | ||
15847 | cat >>confdefs.h <<\_ACEOF | 9940 | $as_echo "#define SKEYCHALLENGE_4ARG 1" >>confdefs.h |
15848 | #define SKEYCHALLENGE_4ARG 1 | ||
15849 | _ACEOF | ||
15850 | 9941 | ||
15851 | else | 9942 | else |
15852 | echo "$as_me: failed program was:" >&5 | ||
15853 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
15854 | 9943 | ||
15855 | 9944 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | |
15856 | { echo "$as_me:$LINENO: result: no" >&5 | 9945 | $as_echo "no" >&6; } |
15857 | echo "${ECHO_T}no" >&6; } | ||
15858 | 9946 | ||
15859 | fi | 9947 | fi |
15860 | |||
15861 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 9948 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
15862 | fi | 9949 | fi |
15863 | 9950 | ||
@@ -15869,7 +9956,7 @@ fi | |||
15869 | LDNS_MSG="no" | 9956 | LDNS_MSG="no" |
15870 | 9957 | ||
15871 | # Check whether --with-ldns was given. | 9958 | # Check whether --with-ldns was given. |
15872 | if test "${with_ldns+set}" = set; then | 9959 | if test "${with_ldns+set}" = set; then : |
15873 | withval=$with_ldns; | 9960 | withval=$with_ldns; |
15874 | if test "x$withval" != "xno" ; then | 9961 | if test "x$withval" != "xno" ; then |
15875 | 9962 | ||
@@ -15879,20 +9966,14 @@ if test "${with_ldns+set}" = set; then | |||
15879 | fi | 9966 | fi |
15880 | 9967 | ||
15881 | 9968 | ||
15882 | cat >>confdefs.h <<\_ACEOF | 9969 | $as_echo "#define HAVE_LDNS 1" >>confdefs.h |
15883 | #define HAVE_LDNS 1 | ||
15884 | _ACEOF | ||
15885 | 9970 | ||
15886 | LIBS="-lldns $LIBS" | 9971 | LIBS="-lldns $LIBS" |
15887 | LDNS_MSG="yes" | 9972 | LDNS_MSG="yes" |
15888 | 9973 | ||
15889 | { echo "$as_me:$LINENO: checking for ldns support" >&5 | 9974 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldns support" >&5 |
15890 | echo $ECHO_N "checking for ldns support... $ECHO_C" >&6; } | 9975 | $as_echo_n "checking for ldns support... " >&6; } |
15891 | cat >conftest.$ac_ext <<_ACEOF | 9976 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
15892 | /* confdefs.h. */ | ||
15893 | _ACEOF | ||
15894 | cat confdefs.h >>conftest.$ac_ext | ||
15895 | cat >>conftest.$ac_ext <<_ACEOF | ||
15896 | /* end confdefs.h. */ | 9977 | /* end confdefs.h. */ |
15897 | 9978 | ||
15898 | #include <stdio.h> | 9979 | #include <stdio.h> |
@@ -15903,41 +9984,18 @@ int main() { ldns_status status = ldns_verify_trusted(NULL, NULL, NULL, NULL); s | |||
15903 | 9984 | ||
15904 | 9985 | ||
15905 | _ACEOF | 9986 | _ACEOF |
15906 | rm -f conftest.$ac_objext conftest$ac_exeext | 9987 | if ac_fn_c_try_link "$LINENO"; then : |
15907 | if { (ac_try="$ac_link" | 9988 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
15908 | case "(($ac_try" in | 9989 | $as_echo "yes" >&6; } |
15909 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
15910 | *) ac_try_echo=$ac_try;; | ||
15911 | esac | ||
15912 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
15913 | (eval "$ac_link") 2>conftest.er1 | ||
15914 | ac_status=$? | ||
15915 | grep -v '^ *+' conftest.er1 >conftest.err | ||
15916 | rm -f conftest.er1 | ||
15917 | cat conftest.err >&5 | ||
15918 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
15919 | (exit $ac_status); } && { | ||
15920 | test -z "$ac_c_werror_flag" || | ||
15921 | test ! -s conftest.err | ||
15922 | } && test -s conftest$ac_exeext && | ||
15923 | $as_test_x conftest$ac_exeext; then | ||
15924 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
15925 | echo "${ECHO_T}yes" >&6; } | ||
15926 | else | 9990 | else |
15927 | echo "$as_me: failed program was:" >&5 | ||
15928 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
15929 | |||
15930 | 9991 | ||
15931 | { echo "$as_me:$LINENO: result: no" >&5 | 9992 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
15932 | echo "${ECHO_T}no" >&6; } | 9993 | $as_echo "no" >&6; } |
15933 | { { echo "$as_me:$LINENO: error: ** Incomplete or missing ldns libraries." >&5 | 9994 | as_fn_error $? "** Incomplete or missing ldns libraries." "$LINENO" 5 |
15934 | echo "$as_me: error: ** Incomplete or missing ldns libraries." >&2;} | ||
15935 | { (exit 1); exit 1; }; } | ||
15936 | 9995 | ||
15937 | fi | 9996 | fi |
15938 | 9997 | rm -f core conftest.err conftest.$ac_objext \ | |
15939 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 9998 | conftest$ac_exeext conftest.$ac_ext |
15940 | conftest$ac_exeext conftest.$ac_ext | ||
15941 | fi | 9999 | fi |
15942 | 10000 | ||
15943 | 10001 | ||
@@ -15948,16 +10006,16 @@ fi | |||
15948 | LIBEDIT_MSG="no" | 10006 | LIBEDIT_MSG="no" |
15949 | 10007 | ||
15950 | # Check whether --with-libedit was given. | 10008 | # Check whether --with-libedit was given. |
15951 | if test "${with_libedit+set}" = set; then | 10009 | if test "${with_libedit+set}" = set; then : |
15952 | withval=$with_libedit; if test "x$withval" != "xno" ; then | 10010 | withval=$with_libedit; if test "x$withval" != "xno" ; then |
15953 | if test "x$withval" = "xyes" ; then | 10011 | if test "x$withval" = "xyes" ; then |
15954 | if test -n "$ac_tool_prefix"; then | 10012 | if test -n "$ac_tool_prefix"; then |
15955 | # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. | 10013 | # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. |
15956 | set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 | 10014 | set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 |
15957 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 10015 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
15958 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 10016 | $as_echo_n "checking for $ac_word... " >&6; } |
15959 | if test "${ac_cv_path_PKGCONFIG+set}" = set; then | 10017 | if ${ac_cv_path_PKGCONFIG+:} false; then : |
15960 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 10018 | $as_echo_n "(cached) " >&6 |
15961 | else | 10019 | else |
15962 | case $PKGCONFIG in | 10020 | case $PKGCONFIG in |
15963 | [\\/]* | ?:[\\/]*) | 10021 | [\\/]* | ?:[\\/]*) |
@@ -15969,14 +10027,14 @@ for as_dir in $PATH | |||
15969 | do | 10027 | do |
15970 | IFS=$as_save_IFS | 10028 | IFS=$as_save_IFS |
15971 | test -z "$as_dir" && as_dir=. | 10029 | test -z "$as_dir" && as_dir=. |
15972 | for ac_exec_ext in '' $ac_executable_extensions; do | 10030 | for ac_exec_ext in '' $ac_executable_extensions; do |
15973 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 10031 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
15974 | ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext" | 10032 | ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext" |
15975 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 10033 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
15976 | break 2 | 10034 | break 2 |
15977 | fi | 10035 | fi |
15978 | done | 10036 | done |
15979 | done | 10037 | done |
15980 | IFS=$as_save_IFS | 10038 | IFS=$as_save_IFS |
15981 | 10039 | ||
15982 | ;; | 10040 | ;; |
@@ -15984,11 +10042,11 @@ esac | |||
15984 | fi | 10042 | fi |
15985 | PKGCONFIG=$ac_cv_path_PKGCONFIG | 10043 | PKGCONFIG=$ac_cv_path_PKGCONFIG |
15986 | if test -n "$PKGCONFIG"; then | 10044 | if test -n "$PKGCONFIG"; then |
15987 | { echo "$as_me:$LINENO: result: $PKGCONFIG" >&5 | 10045 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5 |
15988 | echo "${ECHO_T}$PKGCONFIG" >&6; } | 10046 | $as_echo "$PKGCONFIG" >&6; } |
15989 | else | 10047 | else |
15990 | { echo "$as_me:$LINENO: result: no" >&5 | 10048 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
15991 | echo "${ECHO_T}no" >&6; } | 10049 | $as_echo "no" >&6; } |
15992 | fi | 10050 | fi |
15993 | 10051 | ||
15994 | 10052 | ||
@@ -15997,10 +10055,10 @@ if test -z "$ac_cv_path_PKGCONFIG"; then | |||
15997 | ac_pt_PKGCONFIG=$PKGCONFIG | 10055 | ac_pt_PKGCONFIG=$PKGCONFIG |
15998 | # Extract the first word of "pkg-config", so it can be a program name with args. | 10056 | # Extract the first word of "pkg-config", so it can be a program name with args. |
15999 | set dummy pkg-config; ac_word=$2 | 10057 | set dummy pkg-config; ac_word=$2 |
16000 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 10058 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
16001 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 10059 | $as_echo_n "checking for $ac_word... " >&6; } |
16002 | if test "${ac_cv_path_ac_pt_PKGCONFIG+set}" = set; then | 10060 | if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then : |
16003 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 10061 | $as_echo_n "(cached) " >&6 |
16004 | else | 10062 | else |
16005 | case $ac_pt_PKGCONFIG in | 10063 | case $ac_pt_PKGCONFIG in |
16006 | [\\/]* | ?:[\\/]*) | 10064 | [\\/]* | ?:[\\/]*) |
@@ -16012,14 +10070,14 @@ for as_dir in $PATH | |||
16012 | do | 10070 | do |
16013 | IFS=$as_save_IFS | 10071 | IFS=$as_save_IFS |
16014 | test -z "$as_dir" && as_dir=. | 10072 | test -z "$as_dir" && as_dir=. |
16015 | for ac_exec_ext in '' $ac_executable_extensions; do | 10073 | for ac_exec_ext in '' $ac_executable_extensions; do |
16016 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 10074 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
16017 | ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext" | 10075 | ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext" |
16018 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 10076 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
16019 | break 2 | 10077 | break 2 |
16020 | fi | 10078 | fi |
16021 | done | 10079 | done |
16022 | done | 10080 | done |
16023 | IFS=$as_save_IFS | 10081 | IFS=$as_save_IFS |
16024 | 10082 | ||
16025 | ;; | 10083 | ;; |
@@ -16027,11 +10085,11 @@ esac | |||
16027 | fi | 10085 | fi |
16028 | ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG | 10086 | ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG |
16029 | if test -n "$ac_pt_PKGCONFIG"; then | 10087 | if test -n "$ac_pt_PKGCONFIG"; then |
16030 | { echo "$as_me:$LINENO: result: $ac_pt_PKGCONFIG" >&5 | 10088 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5 |
16031 | echo "${ECHO_T}$ac_pt_PKGCONFIG" >&6; } | 10089 | $as_echo "$ac_pt_PKGCONFIG" >&6; } |
16032 | else | 10090 | else |
16033 | { echo "$as_me:$LINENO: result: no" >&5 | 10091 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
16034 | echo "${ECHO_T}no" >&6; } | 10092 | $as_echo "no" >&6; } |
16035 | fi | 10093 | fi |
16036 | 10094 | ||
16037 | if test "x$ac_pt_PKGCONFIG" = x; then | 10095 | if test "x$ac_pt_PKGCONFIG" = x; then |
@@ -16039,12 +10097,8 @@ fi | |||
16039 | else | 10097 | else |
16040 | case $cross_compiling:$ac_tool_warned in | 10098 | case $cross_compiling:$ac_tool_warned in |
16041 | yes:) | 10099 | yes:) |
16042 | { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools | 10100 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
16043 | whose name does not start with the host triplet. If you think this | 10101 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
16044 | configuration is useful to you, please write to autoconf@gnu.org." >&5 | ||
16045 | echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools | ||
16046 | whose name does not start with the host triplet. If you think this | ||
16047 | configuration is useful to you, please write to autoconf@gnu.org." >&2;} | ||
16048 | ac_tool_warned=yes ;; | 10102 | ac_tool_warned=yes ;; |
16049 | esac | 10103 | esac |
16050 | PKGCONFIG=$ac_pt_PKGCONFIG | 10104 | PKGCONFIG=$ac_pt_PKGCONFIG |
@@ -16054,15 +10108,15 @@ else | |||
16054 | fi | 10108 | fi |
16055 | 10109 | ||
16056 | if test "x$PKGCONFIG" != "xno"; then | 10110 | if test "x$PKGCONFIG" != "xno"; then |
16057 | { echo "$as_me:$LINENO: checking if $PKGCONFIG knows about libedit" >&5 | 10111 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $PKGCONFIG knows about libedit" >&5 |
16058 | echo $ECHO_N "checking if $PKGCONFIG knows about libedit... $ECHO_C" >&6; } | 10112 | $as_echo_n "checking if $PKGCONFIG knows about libedit... " >&6; } |
16059 | if "$PKGCONFIG" libedit; then | 10113 | if "$PKGCONFIG" libedit; then |
16060 | { echo "$as_me:$LINENO: result: yes" >&5 | 10114 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
16061 | echo "${ECHO_T}yes" >&6; } | 10115 | $as_echo "yes" >&6; } |
16062 | use_pkgconfig_for_libedit=yes | 10116 | use_pkgconfig_for_libedit=yes |
16063 | else | 10117 | else |
16064 | { echo "$as_me:$LINENO: result: no" >&5 | 10118 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
16065 | echo "${ECHO_T}no" >&6; } | 10119 | $as_echo "no" >&6; } |
16066 | fi | 10120 | fi |
16067 | fi | 10121 | fi |
16068 | else | 10122 | else |
@@ -16080,19 +10134,15 @@ echo "${ECHO_T}no" >&6; } | |||
16080 | LIBEDIT="-ledit -lcurses" | 10134 | LIBEDIT="-ledit -lcurses" |
16081 | fi | 10135 | fi |
16082 | OTHERLIBS=`echo $LIBEDIT | sed 's/-ledit//'` | 10136 | OTHERLIBS=`echo $LIBEDIT | sed 's/-ledit//'` |
16083 | { echo "$as_me:$LINENO: checking for el_init in -ledit" >&5 | 10137 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for el_init in -ledit" >&5 |
16084 | echo $ECHO_N "checking for el_init in -ledit... $ECHO_C" >&6; } | 10138 | $as_echo_n "checking for el_init in -ledit... " >&6; } |
16085 | if test "${ac_cv_lib_edit_el_init+set}" = set; then | 10139 | if ${ac_cv_lib_edit_el_init+:} false; then : |
16086 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 10140 | $as_echo_n "(cached) " >&6 |
16087 | else | 10141 | else |
16088 | ac_check_lib_save_LIBS=$LIBS | 10142 | ac_check_lib_save_LIBS=$LIBS |
16089 | LIBS="-ledit $OTHERLIBS | 10143 | LIBS="-ledit $OTHERLIBS |
16090 | $LIBS" | 10144 | $LIBS" |
16091 | cat >conftest.$ac_ext <<_ACEOF | 10145 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
16092 | /* confdefs.h. */ | ||
16093 | _ACEOF | ||
16094 | cat confdefs.h >>conftest.$ac_ext | ||
16095 | cat >>conftest.$ac_ext <<_ACEOF | ||
16096 | /* end confdefs.h. */ | 10146 | /* end confdefs.h. */ |
16097 | 10147 | ||
16098 | /* Override any GCC internal prototype to avoid an error. | 10148 | /* Override any GCC internal prototype to avoid an error. |
@@ -16110,60 +10160,31 @@ return el_init (); | |||
16110 | return 0; | 10160 | return 0; |
16111 | } | 10161 | } |
16112 | _ACEOF | 10162 | _ACEOF |
16113 | rm -f conftest.$ac_objext conftest$ac_exeext | 10163 | if ac_fn_c_try_link "$LINENO"; then : |
16114 | if { (ac_try="$ac_link" | ||
16115 | case "(($ac_try" in | ||
16116 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
16117 | *) ac_try_echo=$ac_try;; | ||
16118 | esac | ||
16119 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
16120 | (eval "$ac_link") 2>conftest.er1 | ||
16121 | ac_status=$? | ||
16122 | grep -v '^ *+' conftest.er1 >conftest.err | ||
16123 | rm -f conftest.er1 | ||
16124 | cat conftest.err >&5 | ||
16125 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
16126 | (exit $ac_status); } && { | ||
16127 | test -z "$ac_c_werror_flag" || | ||
16128 | test ! -s conftest.err | ||
16129 | } && test -s conftest$ac_exeext && | ||
16130 | $as_test_x conftest$ac_exeext; then | ||
16131 | ac_cv_lib_edit_el_init=yes | 10164 | ac_cv_lib_edit_el_init=yes |
16132 | else | 10165 | else |
16133 | echo "$as_me: failed program was:" >&5 | 10166 | ac_cv_lib_edit_el_init=no |
16134 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
16135 | |||
16136 | ac_cv_lib_edit_el_init=no | ||
16137 | fi | 10167 | fi |
16138 | 10168 | rm -f core conftest.err conftest.$ac_objext \ | |
16139 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 10169 | conftest$ac_exeext conftest.$ac_ext |
16140 | conftest$ac_exeext conftest.$ac_ext | ||
16141 | LIBS=$ac_check_lib_save_LIBS | 10170 | LIBS=$ac_check_lib_save_LIBS |
16142 | fi | 10171 | fi |
16143 | { echo "$as_me:$LINENO: result: $ac_cv_lib_edit_el_init" >&5 | 10172 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_el_init" >&5 |
16144 | echo "${ECHO_T}$ac_cv_lib_edit_el_init" >&6; } | 10173 | $as_echo "$ac_cv_lib_edit_el_init" >&6; } |
16145 | if test $ac_cv_lib_edit_el_init = yes; then | 10174 | if test "x$ac_cv_lib_edit_el_init" = xyes; then : |
16146 | 10175 | ||
16147 | cat >>confdefs.h <<\_ACEOF | 10176 | $as_echo "#define USE_LIBEDIT 1" >>confdefs.h |
16148 | #define USE_LIBEDIT 1 | ||
16149 | _ACEOF | ||
16150 | 10177 | ||
16151 | LIBEDIT_MSG="yes" | 10178 | LIBEDIT_MSG="yes" |
16152 | 10179 | ||
16153 | 10180 | ||
16154 | else | 10181 | else |
16155 | { { echo "$as_me:$LINENO: error: libedit not found" >&5 | 10182 | as_fn_error $? "libedit not found" "$LINENO" 5 |
16156 | echo "$as_me: error: libedit not found" >&2;} | ||
16157 | { (exit 1); exit 1; }; } | ||
16158 | fi | 10183 | fi |
16159 | 10184 | ||
16160 | { echo "$as_me:$LINENO: checking if libedit version is compatible" >&5 | 10185 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libedit version is compatible" >&5 |
16161 | echo $ECHO_N "checking if libedit version is compatible... $ECHO_C" >&6; } | 10186 | $as_echo_n "checking if libedit version is compatible... " >&6; } |
16162 | cat >conftest.$ac_ext <<_ACEOF | 10187 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
16163 | /* confdefs.h. */ | ||
16164 | _ACEOF | ||
16165 | cat confdefs.h >>conftest.$ac_ext | ||
16166 | cat >>conftest.$ac_ext <<_ACEOF | ||
16167 | /* end confdefs.h. */ | 10188 | /* end confdefs.h. */ |
16168 | #include <histedit.h> | 10189 | #include <histedit.h> |
16169 | int | 10190 | int |
@@ -16178,37 +10199,15 @@ main () | |||
16178 | return 0; | 10199 | return 0; |
16179 | } | 10200 | } |
16180 | _ACEOF | 10201 | _ACEOF |
16181 | rm -f conftest.$ac_objext | 10202 | if ac_fn_c_try_compile "$LINENO"; then : |
16182 | if { (ac_try="$ac_compile" | 10203 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
16183 | case "(($ac_try" in | 10204 | $as_echo "yes" >&6; } |
16184 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
16185 | *) ac_try_echo=$ac_try;; | ||
16186 | esac | ||
16187 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
16188 | (eval "$ac_compile") 2>conftest.er1 | ||
16189 | ac_status=$? | ||
16190 | grep -v '^ *+' conftest.er1 >conftest.err | ||
16191 | rm -f conftest.er1 | ||
16192 | cat conftest.err >&5 | ||
16193 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
16194 | (exit $ac_status); } && { | ||
16195 | test -z "$ac_c_werror_flag" || | ||
16196 | test ! -s conftest.err | ||
16197 | } && test -s conftest.$ac_objext; then | ||
16198 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
16199 | echo "${ECHO_T}yes" >&6; } | ||
16200 | else | 10205 | else |
16201 | echo "$as_me: failed program was:" >&5 | 10206 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
16202 | sed 's/^/| /' conftest.$ac_ext >&5 | 10207 | $as_echo "no" >&6; } |
16203 | 10208 | as_fn_error $? "libedit version is not compatible" "$LINENO" 5 | |
16204 | { echo "$as_me:$LINENO: result: no" >&5 | ||
16205 | echo "${ECHO_T}no" >&6; } | ||
16206 | { { echo "$as_me:$LINENO: error: libedit version is not compatible" >&5 | ||
16207 | echo "$as_me: error: libedit version is not compatible" >&2;} | ||
16208 | { (exit 1); exit 1; }; } | ||
16209 | 10209 | ||
16210 | fi | 10210 | fi |
16211 | |||
16212 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 10211 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
16213 | fi | 10212 | fi |
16214 | 10213 | ||
@@ -16218,95 +10217,43 @@ fi | |||
16218 | AUDIT_MODULE=none | 10217 | AUDIT_MODULE=none |
16219 | 10218 | ||
16220 | # Check whether --with-audit was given. | 10219 | # Check whether --with-audit was given. |
16221 | if test "${with_audit+set}" = set; then | 10220 | if test "${with_audit+set}" = set; then : |
16222 | withval=$with_audit; | 10221 | withval=$with_audit; |
16223 | { echo "$as_me:$LINENO: checking for supported audit module" >&5 | 10222 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for supported audit module" >&5 |
16224 | echo $ECHO_N "checking for supported audit module... $ECHO_C" >&6; } | 10223 | $as_echo_n "checking for supported audit module... " >&6; } |
16225 | case "$withval" in | 10224 | case "$withval" in |
16226 | bsm) | 10225 | bsm) |
16227 | { echo "$as_me:$LINENO: result: bsm" >&5 | 10226 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: bsm" >&5 |
16228 | echo "${ECHO_T}bsm" >&6; } | 10227 | $as_echo "bsm" >&6; } |
16229 | AUDIT_MODULE=bsm | 10228 | AUDIT_MODULE=bsm |
16230 | 10229 | for ac_header in bsm/audit.h | |
16231 | for ac_header in bsm/audit.h | 10230 | do : |
16232 | do | 10231 | ac_fn_c_check_header_compile "$LINENO" "bsm/audit.h" "ac_cv_header_bsm_audit_h" " |
16233 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | ||
16234 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
16235 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
16236 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
16237 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
16238 | else | ||
16239 | cat >conftest.$ac_ext <<_ACEOF | ||
16240 | /* confdefs.h. */ | ||
16241 | _ACEOF | ||
16242 | cat confdefs.h >>conftest.$ac_ext | ||
16243 | cat >>conftest.$ac_ext <<_ACEOF | ||
16244 | /* end confdefs.h. */ | ||
16245 | |||
16246 | #ifdef HAVE_TIME_H | 10232 | #ifdef HAVE_TIME_H |
16247 | # include <time.h> | 10233 | # include <time.h> |
16248 | #endif | 10234 | #endif |
16249 | 10235 | ||
16250 | 10236 | ||
16251 | 10237 | " | |
16252 | #include <$ac_header> | 10238 | if test "x$ac_cv_header_bsm_audit_h" = xyes; then : |
16253 | _ACEOF | ||
16254 | rm -f conftest.$ac_objext | ||
16255 | if { (ac_try="$ac_compile" | ||
16256 | case "(($ac_try" in | ||
16257 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
16258 | *) ac_try_echo=$ac_try;; | ||
16259 | esac | ||
16260 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
16261 | (eval "$ac_compile") 2>conftest.er1 | ||
16262 | ac_status=$? | ||
16263 | grep -v '^ *+' conftest.er1 >conftest.err | ||
16264 | rm -f conftest.er1 | ||
16265 | cat conftest.err >&5 | ||
16266 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
16267 | (exit $ac_status); } && { | ||
16268 | test -z "$ac_c_werror_flag" || | ||
16269 | test ! -s conftest.err | ||
16270 | } && test -s conftest.$ac_objext; then | ||
16271 | eval "$as_ac_Header=yes" | ||
16272 | else | ||
16273 | echo "$as_me: failed program was:" >&5 | ||
16274 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
16275 | |||
16276 | eval "$as_ac_Header=no" | ||
16277 | fi | ||
16278 | |||
16279 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
16280 | fi | ||
16281 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
16282 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
16283 | echo "${ECHO_T}$ac_res" >&6; } | ||
16284 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
16285 | cat >>confdefs.h <<_ACEOF | 10239 | cat >>confdefs.h <<_ACEOF |
16286 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 10240 | #define HAVE_BSM_AUDIT_H 1 |
16287 | _ACEOF | 10241 | _ACEOF |
16288 | 10242 | ||
16289 | else | 10243 | else |
16290 | { { echo "$as_me:$LINENO: error: BSM enabled and bsm/audit.h not found" >&5 | 10244 | as_fn_error $? "BSM enabled and bsm/audit.h not found" "$LINENO" 5 |
16291 | echo "$as_me: error: BSM enabled and bsm/audit.h not found" >&2;} | ||
16292 | { (exit 1); exit 1; }; } | ||
16293 | fi | 10245 | fi |
16294 | 10246 | ||
16295 | done | 10247 | done |
16296 | 10248 | ||
16297 | 10249 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaudit in -lbsm" >&5 | |
16298 | { echo "$as_me:$LINENO: checking for getaudit in -lbsm" >&5 | 10250 | $as_echo_n "checking for getaudit in -lbsm... " >&6; } |
16299 | echo $ECHO_N "checking for getaudit in -lbsm... $ECHO_C" >&6; } | 10251 | if ${ac_cv_lib_bsm_getaudit+:} false; then : |
16300 | if test "${ac_cv_lib_bsm_getaudit+set}" = set; then | 10252 | $as_echo_n "(cached) " >&6 |
16301 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
16302 | else | 10253 | else |
16303 | ac_check_lib_save_LIBS=$LIBS | 10254 | ac_check_lib_save_LIBS=$LIBS |
16304 | LIBS="-lbsm $LIBS" | 10255 | LIBS="-lbsm $LIBS" |
16305 | cat >conftest.$ac_ext <<_ACEOF | 10256 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
16306 | /* confdefs.h. */ | ||
16307 | _ACEOF | ||
16308 | cat confdefs.h >>conftest.$ac_ext | ||
16309 | cat >>conftest.$ac_ext <<_ACEOF | ||
16310 | /* end confdefs.h. */ | 10257 | /* end confdefs.h. */ |
16311 | 10258 | ||
16312 | /* Override any GCC internal prototype to avoid an error. | 10259 | /* Override any GCC internal prototype to avoid an error. |
@@ -16324,39 +10271,18 @@ return getaudit (); | |||
16324 | return 0; | 10271 | return 0; |
16325 | } | 10272 | } |
16326 | _ACEOF | 10273 | _ACEOF |
16327 | rm -f conftest.$ac_objext conftest$ac_exeext | 10274 | if ac_fn_c_try_link "$LINENO"; then : |
16328 | if { (ac_try="$ac_link" | ||
16329 | case "(($ac_try" in | ||
16330 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
16331 | *) ac_try_echo=$ac_try;; | ||
16332 | esac | ||
16333 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
16334 | (eval "$ac_link") 2>conftest.er1 | ||
16335 | ac_status=$? | ||
16336 | grep -v '^ *+' conftest.er1 >conftest.err | ||
16337 | rm -f conftest.er1 | ||
16338 | cat conftest.err >&5 | ||
16339 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
16340 | (exit $ac_status); } && { | ||
16341 | test -z "$ac_c_werror_flag" || | ||
16342 | test ! -s conftest.err | ||
16343 | } && test -s conftest$ac_exeext && | ||
16344 | $as_test_x conftest$ac_exeext; then | ||
16345 | ac_cv_lib_bsm_getaudit=yes | 10275 | ac_cv_lib_bsm_getaudit=yes |
16346 | else | 10276 | else |
16347 | echo "$as_me: failed program was:" >&5 | 10277 | ac_cv_lib_bsm_getaudit=no |
16348 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
16349 | |||
16350 | ac_cv_lib_bsm_getaudit=no | ||
16351 | fi | 10278 | fi |
16352 | 10279 | rm -f core conftest.err conftest.$ac_objext \ | |
16353 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 10280 | conftest$ac_exeext conftest.$ac_ext |
16354 | conftest$ac_exeext conftest.$ac_ext | ||
16355 | LIBS=$ac_check_lib_save_LIBS | 10281 | LIBS=$ac_check_lib_save_LIBS |
16356 | fi | 10282 | fi |
16357 | { echo "$as_me:$LINENO: result: $ac_cv_lib_bsm_getaudit" >&5 | 10283 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsm_getaudit" >&5 |
16358 | echo "${ECHO_T}$ac_cv_lib_bsm_getaudit" >&6; } | 10284 | $as_echo "$ac_cv_lib_bsm_getaudit" >&6; } |
16359 | if test $ac_cv_lib_bsm_getaudit = yes; then | 10285 | if test "x$ac_cv_lib_bsm_getaudit" = xyes; then : |
16360 | cat >>confdefs.h <<_ACEOF | 10286 | cat >>confdefs.h <<_ACEOF |
16361 | #define HAVE_LIBBSM 1 | 10287 | #define HAVE_LIBBSM 1 |
16362 | _ACEOF | 10288 | _ACEOF |
@@ -16364,362 +10290,55 @@ _ACEOF | |||
16364 | LIBS="-lbsm $LIBS" | 10290 | LIBS="-lbsm $LIBS" |
16365 | 10291 | ||
16366 | else | 10292 | else |
16367 | { { echo "$as_me:$LINENO: error: BSM enabled and required library not found" >&5 | 10293 | as_fn_error $? "BSM enabled and required library not found" "$LINENO" 5 |
16368 | echo "$as_me: error: BSM enabled and required library not found" >&2;} | ||
16369 | { (exit 1); exit 1; }; } | ||
16370 | fi | 10294 | fi |
16371 | 10295 | ||
16372 | 10296 | for ac_func in getaudit | |
16373 | for ac_func in getaudit | 10297 | do : |
16374 | do | 10298 | ac_fn_c_check_func "$LINENO" "getaudit" "ac_cv_func_getaudit" |
16375 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 10299 | if test "x$ac_cv_func_getaudit" = xyes; then : |
16376 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
16377 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
16378 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
16379 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
16380 | else | ||
16381 | cat >conftest.$ac_ext <<_ACEOF | ||
16382 | /* confdefs.h. */ | ||
16383 | _ACEOF | ||
16384 | cat confdefs.h >>conftest.$ac_ext | ||
16385 | cat >>conftest.$ac_ext <<_ACEOF | ||
16386 | /* end confdefs.h. */ | ||
16387 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
16388 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
16389 | #define $ac_func innocuous_$ac_func | ||
16390 | |||
16391 | /* System header to define __stub macros and hopefully few prototypes, | ||
16392 | which can conflict with char $ac_func (); below. | ||
16393 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
16394 | <limits.h> exists even on freestanding compilers. */ | ||
16395 | |||
16396 | #ifdef __STDC__ | ||
16397 | # include <limits.h> | ||
16398 | #else | ||
16399 | # include <assert.h> | ||
16400 | #endif | ||
16401 | |||
16402 | #undef $ac_func | ||
16403 | |||
16404 | /* Override any GCC internal prototype to avoid an error. | ||
16405 | Use char because int might match the return type of a GCC | ||
16406 | builtin and then its argument prototype would still apply. */ | ||
16407 | #ifdef __cplusplus | ||
16408 | extern "C" | ||
16409 | #endif | ||
16410 | char $ac_func (); | ||
16411 | /* The GNU C library defines this for functions which it implements | ||
16412 | to always fail with ENOSYS. Some functions are actually named | ||
16413 | something starting with __ and the normal name is an alias. */ | ||
16414 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
16415 | choke me | ||
16416 | #endif | ||
16417 | |||
16418 | int | ||
16419 | main () | ||
16420 | { | ||
16421 | return $ac_func (); | ||
16422 | ; | ||
16423 | return 0; | ||
16424 | } | ||
16425 | _ACEOF | ||
16426 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
16427 | if { (ac_try="$ac_link" | ||
16428 | case "(($ac_try" in | ||
16429 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
16430 | *) ac_try_echo=$ac_try;; | ||
16431 | esac | ||
16432 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
16433 | (eval "$ac_link") 2>conftest.er1 | ||
16434 | ac_status=$? | ||
16435 | grep -v '^ *+' conftest.er1 >conftest.err | ||
16436 | rm -f conftest.er1 | ||
16437 | cat conftest.err >&5 | ||
16438 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
16439 | (exit $ac_status); } && { | ||
16440 | test -z "$ac_c_werror_flag" || | ||
16441 | test ! -s conftest.err | ||
16442 | } && test -s conftest$ac_exeext && | ||
16443 | $as_test_x conftest$ac_exeext; then | ||
16444 | eval "$as_ac_var=yes" | ||
16445 | else | ||
16446 | echo "$as_me: failed program was:" >&5 | ||
16447 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
16448 | |||
16449 | eval "$as_ac_var=no" | ||
16450 | fi | ||
16451 | |||
16452 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
16453 | conftest$ac_exeext conftest.$ac_ext | ||
16454 | fi | ||
16455 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
16456 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
16457 | echo "${ECHO_T}$ac_res" >&6; } | ||
16458 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
16459 | cat >>confdefs.h <<_ACEOF | 10300 | cat >>confdefs.h <<_ACEOF |
16460 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 10301 | #define HAVE_GETAUDIT 1 |
16461 | _ACEOF | 10302 | _ACEOF |
16462 | 10303 | ||
16463 | else | 10304 | else |
16464 | { { echo "$as_me:$LINENO: error: BSM enabled and required function not found" >&5 | 10305 | as_fn_error $? "BSM enabled and required function not found" "$LINENO" 5 |
16465 | echo "$as_me: error: BSM enabled and required function not found" >&2;} | ||
16466 | { (exit 1); exit 1; }; } | ||
16467 | fi | 10306 | fi |
16468 | done | 10307 | done |
16469 | 10308 | ||
16470 | # These are optional | 10309 | # These are optional |
16471 | 10310 | for ac_func in getaudit_addr aug_get_machine | |
16472 | 10311 | do : | |
16473 | for ac_func in getaudit_addr aug_get_machine | 10312 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
16474 | do | 10313 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
16475 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 10314 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
16476 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
16477 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
16478 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
16479 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
16480 | else | ||
16481 | cat >conftest.$ac_ext <<_ACEOF | ||
16482 | /* confdefs.h. */ | ||
16483 | _ACEOF | ||
16484 | cat confdefs.h >>conftest.$ac_ext | ||
16485 | cat >>conftest.$ac_ext <<_ACEOF | ||
16486 | /* end confdefs.h. */ | ||
16487 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
16488 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
16489 | #define $ac_func innocuous_$ac_func | ||
16490 | |||
16491 | /* System header to define __stub macros and hopefully few prototypes, | ||
16492 | which can conflict with char $ac_func (); below. | ||
16493 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
16494 | <limits.h> exists even on freestanding compilers. */ | ||
16495 | |||
16496 | #ifdef __STDC__ | ||
16497 | # include <limits.h> | ||
16498 | #else | ||
16499 | # include <assert.h> | ||
16500 | #endif | ||
16501 | |||
16502 | #undef $ac_func | ||
16503 | |||
16504 | /* Override any GCC internal prototype to avoid an error. | ||
16505 | Use char because int might match the return type of a GCC | ||
16506 | builtin and then its argument prototype would still apply. */ | ||
16507 | #ifdef __cplusplus | ||
16508 | extern "C" | ||
16509 | #endif | ||
16510 | char $ac_func (); | ||
16511 | /* The GNU C library defines this for functions which it implements | ||
16512 | to always fail with ENOSYS. Some functions are actually named | ||
16513 | something starting with __ and the normal name is an alias. */ | ||
16514 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
16515 | choke me | ||
16516 | #endif | ||
16517 | |||
16518 | int | ||
16519 | main () | ||
16520 | { | ||
16521 | return $ac_func (); | ||
16522 | ; | ||
16523 | return 0; | ||
16524 | } | ||
16525 | _ACEOF | ||
16526 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
16527 | if { (ac_try="$ac_link" | ||
16528 | case "(($ac_try" in | ||
16529 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
16530 | *) ac_try_echo=$ac_try;; | ||
16531 | esac | ||
16532 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
16533 | (eval "$ac_link") 2>conftest.er1 | ||
16534 | ac_status=$? | ||
16535 | grep -v '^ *+' conftest.er1 >conftest.err | ||
16536 | rm -f conftest.er1 | ||
16537 | cat conftest.err >&5 | ||
16538 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
16539 | (exit $ac_status); } && { | ||
16540 | test -z "$ac_c_werror_flag" || | ||
16541 | test ! -s conftest.err | ||
16542 | } && test -s conftest$ac_exeext && | ||
16543 | $as_test_x conftest$ac_exeext; then | ||
16544 | eval "$as_ac_var=yes" | ||
16545 | else | ||
16546 | echo "$as_me: failed program was:" >&5 | ||
16547 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
16548 | |||
16549 | eval "$as_ac_var=no" | ||
16550 | fi | ||
16551 | |||
16552 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
16553 | conftest$ac_exeext conftest.$ac_ext | ||
16554 | fi | ||
16555 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
16556 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
16557 | echo "${ECHO_T}$ac_res" >&6; } | ||
16558 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
16559 | cat >>confdefs.h <<_ACEOF | 10315 | cat >>confdefs.h <<_ACEOF |
16560 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 10316 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
16561 | _ACEOF | 10317 | _ACEOF |
16562 | 10318 | ||
16563 | fi | 10319 | fi |
16564 | done | 10320 | done |
16565 | 10321 | ||
16566 | 10322 | ||
16567 | cat >>confdefs.h <<\_ACEOF | 10323 | $as_echo "#define USE_BSM_AUDIT 1" >>confdefs.h |
16568 | #define USE_BSM_AUDIT 1 | ||
16569 | _ACEOF | ||
16570 | 10324 | ||
16571 | if test "$sol2ver" -ge 11; then | 10325 | if test "$sol2ver" -ge 11; then |
16572 | SSHDLIBS="$SSHDLIBS -lscf" | 10326 | SSHDLIBS="$SSHDLIBS -lscf" |
16573 | 10327 | ||
16574 | cat >>confdefs.h <<\_ACEOF | 10328 | $as_echo "#define BROKEN_BSM_API 1" >>confdefs.h |
16575 | #define BROKEN_BSM_API 1 | ||
16576 | _ACEOF | ||
16577 | 10329 | ||
16578 | fi | 10330 | fi |
16579 | ;; | 10331 | ;; |
16580 | linux) | 10332 | linux) |
16581 | { echo "$as_me:$LINENO: result: linux" >&5 | 10333 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: linux" >&5 |
16582 | echo "${ECHO_T}linux" >&6; } | 10334 | $as_echo "linux" >&6; } |
16583 | AUDIT_MODULE=linux | 10335 | AUDIT_MODULE=linux |
16584 | 10336 | for ac_header in libaudit.h | |
16585 | for ac_header in libaudit.h | 10337 | do : |
16586 | do | 10338 | ac_fn_c_check_header_mongrel "$LINENO" "libaudit.h" "ac_cv_header_libaudit_h" "$ac_includes_default" |
16587 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 10339 | if test "x$ac_cv_header_libaudit_h" = xyes; then : |
16588 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
16589 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
16590 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
16591 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
16592 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
16593 | fi | ||
16594 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
16595 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
16596 | echo "${ECHO_T}$ac_res" >&6; } | ||
16597 | else | ||
16598 | # Is the header compilable? | ||
16599 | { echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
16600 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } | ||
16601 | cat >conftest.$ac_ext <<_ACEOF | ||
16602 | /* confdefs.h. */ | ||
16603 | _ACEOF | ||
16604 | cat confdefs.h >>conftest.$ac_ext | ||
16605 | cat >>conftest.$ac_ext <<_ACEOF | ||
16606 | /* end confdefs.h. */ | ||
16607 | $ac_includes_default | ||
16608 | #include <$ac_header> | ||
16609 | _ACEOF | ||
16610 | rm -f conftest.$ac_objext | ||
16611 | if { (ac_try="$ac_compile" | ||
16612 | case "(($ac_try" in | ||
16613 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
16614 | *) ac_try_echo=$ac_try;; | ||
16615 | esac | ||
16616 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
16617 | (eval "$ac_compile") 2>conftest.er1 | ||
16618 | ac_status=$? | ||
16619 | grep -v '^ *+' conftest.er1 >conftest.err | ||
16620 | rm -f conftest.er1 | ||
16621 | cat conftest.err >&5 | ||
16622 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
16623 | (exit $ac_status); } && { | ||
16624 | test -z "$ac_c_werror_flag" || | ||
16625 | test ! -s conftest.err | ||
16626 | } && test -s conftest.$ac_objext; then | ||
16627 | ac_header_compiler=yes | ||
16628 | else | ||
16629 | echo "$as_me: failed program was:" >&5 | ||
16630 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
16631 | |||
16632 | ac_header_compiler=no | ||
16633 | fi | ||
16634 | |||
16635 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
16636 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
16637 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
16638 | |||
16639 | # Is the header present? | ||
16640 | { echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
16641 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } | ||
16642 | cat >conftest.$ac_ext <<_ACEOF | ||
16643 | /* confdefs.h. */ | ||
16644 | _ACEOF | ||
16645 | cat confdefs.h >>conftest.$ac_ext | ||
16646 | cat >>conftest.$ac_ext <<_ACEOF | ||
16647 | /* end confdefs.h. */ | ||
16648 | #include <$ac_header> | ||
16649 | _ACEOF | ||
16650 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
16651 | case "(($ac_try" in | ||
16652 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
16653 | *) ac_try_echo=$ac_try;; | ||
16654 | esac | ||
16655 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
16656 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
16657 | ac_status=$? | ||
16658 | grep -v '^ *+' conftest.er1 >conftest.err | ||
16659 | rm -f conftest.er1 | ||
16660 | cat conftest.err >&5 | ||
16661 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
16662 | (exit $ac_status); } >/dev/null && { | ||
16663 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
16664 | test ! -s conftest.err | ||
16665 | }; then | ||
16666 | ac_header_preproc=yes | ||
16667 | else | ||
16668 | echo "$as_me: failed program was:" >&5 | ||
16669 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
16670 | |||
16671 | ac_header_preproc=no | ||
16672 | fi | ||
16673 | |||
16674 | rm -f conftest.err conftest.$ac_ext | ||
16675 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
16676 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
16677 | |||
16678 | # So? What about this header? | ||
16679 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
16680 | yes:no: ) | ||
16681 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
16682 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
16683 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
16684 | echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
16685 | ac_header_preproc=yes | ||
16686 | ;; | ||
16687 | no:yes:* ) | ||
16688 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
16689 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
16690 | { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
16691 | echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
16692 | { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
16693 | echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
16694 | { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
16695 | echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
16696 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
16697 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
16698 | { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
16699 | echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
16700 | ( cat <<\_ASBOX | ||
16701 | ## ------------------------------------------- ## | ||
16702 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
16703 | ## ------------------------------------------- ## | ||
16704 | _ASBOX | ||
16705 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
16706 | ;; | ||
16707 | esac | ||
16708 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
16709 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
16710 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
16711 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
16712 | else | ||
16713 | eval "$as_ac_Header=\$ac_header_preproc" | ||
16714 | fi | ||
16715 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
16716 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
16717 | echo "${ECHO_T}$ac_res" >&6; } | ||
16718 | |||
16719 | fi | ||
16720 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
16721 | cat >>confdefs.h <<_ACEOF | 10340 | cat >>confdefs.h <<_ACEOF |
16722 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 10341 | #define HAVE_LIBAUDIT_H 1 |
16723 | _ACEOF | 10342 | _ACEOF |
16724 | 10343 | ||
16725 | fi | 10344 | fi |
@@ -16728,29 +10347,23 @@ done | |||
16728 | 10347 | ||
16729 | SSHDLIBS="$SSHDLIBS -laudit" | 10348 | SSHDLIBS="$SSHDLIBS -laudit" |
16730 | 10349 | ||
16731 | cat >>confdefs.h <<\_ACEOF | 10350 | $as_echo "#define USE_LINUX_AUDIT 1" >>confdefs.h |
16732 | #define USE_LINUX_AUDIT 1 | ||
16733 | _ACEOF | ||
16734 | 10351 | ||
16735 | ;; | 10352 | ;; |
16736 | debug) | 10353 | debug) |
16737 | AUDIT_MODULE=debug | 10354 | AUDIT_MODULE=debug |
16738 | { echo "$as_me:$LINENO: result: debug" >&5 | 10355 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: debug" >&5 |
16739 | echo "${ECHO_T}debug" >&6; } | 10356 | $as_echo "debug" >&6; } |
16740 | 10357 | ||
16741 | cat >>confdefs.h <<\_ACEOF | 10358 | $as_echo "#define SSH_AUDIT_EVENTS 1" >>confdefs.h |
16742 | #define SSH_AUDIT_EVENTS 1 | ||
16743 | _ACEOF | ||
16744 | 10359 | ||
16745 | ;; | 10360 | ;; |
16746 | no) | 10361 | no) |
16747 | { echo "$as_me:$LINENO: result: no" >&5 | 10362 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
16748 | echo "${ECHO_T}no" >&6; } | 10363 | $as_echo "no" >&6; } |
16749 | ;; | 10364 | ;; |
16750 | *) | 10365 | *) |
16751 | { { echo "$as_me:$LINENO: error: Unknown audit module $withval" >&5 | 10366 | as_fn_error $? "Unknown audit module $withval" "$LINENO" 5 |
16752 | echo "$as_me: error: Unknown audit module $withval" >&2;} | ||
16753 | { (exit 1); exit 1; }; } | ||
16754 | ;; | 10367 | ;; |
16755 | esac | 10368 | esac |
16756 | 10369 | ||
@@ -16759,7 +10372,7 @@ fi | |||
16759 | 10372 | ||
16760 | 10373 | ||
16761 | # Check whether --with-pie was given. | 10374 | # Check whether --with-pie was given. |
16762 | if test "${with_pie+set}" = set; then | 10375 | if test "${with_pie+set}" = set; then : |
16763 | withval=$with_pie; | 10376 | withval=$with_pie; |
16764 | if test "x$withval" = "xno"; then | 10377 | if test "x$withval" = "xno"; then |
16765 | use_pie=no | 10378 | use_pie=no |
@@ -16780,13 +10393,9 @@ if test "x$use_toolchain_hardening" != "x1" && test "x$use_pie" = "xauto"; then | |||
16780 | fi | 10393 | fi |
16781 | if test "x$use_pie" = "xauto"; then | 10394 | if test "x$use_pie" = "xauto"; then |
16782 | # Automatic PIE requires gcc >= 4.x | 10395 | # Automatic PIE requires gcc >= 4.x |
16783 | { echo "$as_me:$LINENO: checking for gcc >= 4.x" >&5 | 10396 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc >= 4.x" >&5 |
16784 | echo $ECHO_N "checking for gcc >= 4.x... $ECHO_C" >&6; } | 10397 | $as_echo_n "checking for gcc >= 4.x... " >&6; } |
16785 | cat >conftest.$ac_ext <<_ACEOF | 10398 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
16786 | /* confdefs.h. */ | ||
16787 | _ACEOF | ||
16788 | cat confdefs.h >>conftest.$ac_ext | ||
16789 | cat >>conftest.$ac_ext <<_ACEOF | ||
16790 | /* end confdefs.h. */ | 10399 | /* end confdefs.h. */ |
16791 | 10400 | ||
16792 | #if !defined(__GNUC__) || __GNUC__ < 4 | 10401 | #if !defined(__GNUC__) || __GNUC__ < 4 |
@@ -16794,52 +10403,28 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
16794 | #endif | 10403 | #endif |
16795 | 10404 | ||
16796 | _ACEOF | 10405 | _ACEOF |
16797 | rm -f conftest.$ac_objext | 10406 | if ac_fn_c_try_compile "$LINENO"; then : |
16798 | if { (ac_try="$ac_compile" | 10407 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
16799 | case "(($ac_try" in | 10408 | $as_echo "yes" >&6; } |
16800 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
16801 | *) ac_try_echo=$ac_try;; | ||
16802 | esac | ||
16803 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
16804 | (eval "$ac_compile") 2>conftest.er1 | ||
16805 | ac_status=$? | ||
16806 | grep -v '^ *+' conftest.er1 >conftest.err | ||
16807 | rm -f conftest.er1 | ||
16808 | cat conftest.err >&5 | ||
16809 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
16810 | (exit $ac_status); } && { | ||
16811 | test -z "$ac_c_werror_flag" || | ||
16812 | test ! -s conftest.err | ||
16813 | } && test -s conftest.$ac_objext; then | ||
16814 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
16815 | echo "${ECHO_T}yes" >&6; } | ||
16816 | else | 10409 | else |
16817 | echo "$as_me: failed program was:" >&5 | 10410 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
16818 | sed 's/^/| /' conftest.$ac_ext >&5 | 10411 | $as_echo "no" >&6; } |
16819 | |||
16820 | { echo "$as_me:$LINENO: result: no" >&5 | ||
16821 | echo "${ECHO_T}no" >&6; } | ||
16822 | use_pie=no | 10412 | use_pie=no |
16823 | 10413 | ||
16824 | fi | 10414 | fi |
16825 | |||
16826 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 10415 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
16827 | fi | 10416 | fi |
16828 | if test "x$use_pie" != "xno"; then | 10417 | if test "x$use_pie" != "xno"; then |
16829 | SAVED_CFLAGS="$CFLAGS" | 10418 | SAVED_CFLAGS="$CFLAGS" |
16830 | SAVED_LDFLAGS="$LDFLAGS" | 10419 | SAVED_LDFLAGS="$LDFLAGS" |
16831 | { | 10420 | { |
16832 | { echo "$as_me:$LINENO: checking if $CC supports compile flag -fPIE" >&5 | 10421 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fPIE" >&5 |
16833 | echo $ECHO_N "checking if $CC supports compile flag -fPIE... $ECHO_C" >&6; } | 10422 | $as_echo_n "checking if $CC supports compile flag -fPIE... " >&6; } |
16834 | saved_CFLAGS="$CFLAGS" | 10423 | saved_CFLAGS="$CFLAGS" |
16835 | CFLAGS="$CFLAGS $WERROR -fPIE" | 10424 | CFLAGS="$CFLAGS $WERROR -fPIE" |
16836 | _define_flag="" | 10425 | _define_flag="" |
16837 | test "x$_define_flag" = "x" && _define_flag="-fPIE" | 10426 | test "x$_define_flag" = "x" && _define_flag="-fPIE" |
16838 | cat >conftest.$ac_ext <<_ACEOF | 10427 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
16839 | /* confdefs.h. */ | ||
16840 | _ACEOF | ||
16841 | cat confdefs.h >>conftest.$ac_ext | ||
16842 | cat >>conftest.$ac_ext <<_ACEOF | ||
16843 | /* end confdefs.h. */ | 10428 | /* end confdefs.h. */ |
16844 | 10429 | ||
16845 | #include <stdlib.h> | 10430 | #include <stdlib.h> |
@@ -16855,58 +10440,34 @@ int main(int argc, char **argv) { | |||
16855 | } | 10440 | } |
16856 | 10441 | ||
16857 | _ACEOF | 10442 | _ACEOF |
16858 | rm -f conftest.$ac_objext | 10443 | if ac_fn_c_try_compile "$LINENO"; then : |
16859 | if { (ac_try="$ac_compile" | ||
16860 | case "(($ac_try" in | ||
16861 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
16862 | *) ac_try_echo=$ac_try;; | ||
16863 | esac | ||
16864 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
16865 | (eval "$ac_compile") 2>conftest.er1 | ||
16866 | ac_status=$? | ||
16867 | grep -v '^ *+' conftest.er1 >conftest.err | ||
16868 | rm -f conftest.er1 | ||
16869 | cat conftest.err >&5 | ||
16870 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
16871 | (exit $ac_status); } && { | ||
16872 | test -z "$ac_c_werror_flag" || | ||
16873 | test ! -s conftest.err | ||
16874 | } && test -s conftest.$ac_objext; then | ||
16875 | 10444 | ||
16876 | if `grep -i "unrecognized option" conftest.err >/dev/null` | 10445 | if `grep -i "unrecognized option" conftest.err >/dev/null` |
16877 | then | 10446 | then |
16878 | { echo "$as_me:$LINENO: result: no" >&5 | 10447 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
16879 | echo "${ECHO_T}no" >&6; } | 10448 | $as_echo "no" >&6; } |
16880 | CFLAGS="$saved_CFLAGS" | 10449 | CFLAGS="$saved_CFLAGS" |
16881 | else | 10450 | else |
16882 | { echo "$as_me:$LINENO: result: yes" >&5 | 10451 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
16883 | echo "${ECHO_T}yes" >&6; } | 10452 | $as_echo "yes" >&6; } |
16884 | CFLAGS="$saved_CFLAGS $_define_flag" | 10453 | CFLAGS="$saved_CFLAGS $_define_flag" |
16885 | fi | 10454 | fi |
16886 | else | 10455 | else |
16887 | echo "$as_me: failed program was:" >&5 | 10456 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
16888 | sed 's/^/| /' conftest.$ac_ext >&5 | 10457 | $as_echo "no" >&6; } |
16889 | |||
16890 | { echo "$as_me:$LINENO: result: no" >&5 | ||
16891 | echo "${ECHO_T}no" >&6; } | ||
16892 | CFLAGS="$saved_CFLAGS" | 10458 | CFLAGS="$saved_CFLAGS" |
16893 | 10459 | ||
16894 | fi | 10460 | fi |
16895 | |||
16896 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 10461 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
16897 | } | 10462 | } |
16898 | { | 10463 | { |
16899 | { echo "$as_me:$LINENO: checking if $LD supports link flag -pie" >&5 | 10464 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -pie" >&5 |
16900 | echo $ECHO_N "checking if $LD supports link flag -pie... $ECHO_C" >&6; } | 10465 | $as_echo_n "checking if $LD supports link flag -pie... " >&6; } |
16901 | saved_LDFLAGS="$LDFLAGS" | 10466 | saved_LDFLAGS="$LDFLAGS" |
16902 | LDFLAGS="$LDFLAGS $WERROR -pie" | 10467 | LDFLAGS="$LDFLAGS $WERROR -pie" |
16903 | _define_flag="" | 10468 | _define_flag="" |
16904 | test "x$_define_flag" = "x" && _define_flag="-pie" | 10469 | test "x$_define_flag" = "x" && _define_flag="-pie" |
16905 | cat >conftest.$ac_ext <<_ACEOF | 10470 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
16906 | /* confdefs.h. */ | ||
16907 | _ACEOF | ||
16908 | cat confdefs.h >>conftest.$ac_ext | ||
16909 | cat >>conftest.$ac_ext <<_ACEOF | ||
16910 | /* end confdefs.h. */ | 10471 | /* end confdefs.h. */ |
16911 | 10472 | ||
16912 | #include <stdlib.h> | 10473 | #include <stdlib.h> |
@@ -16917,171 +10478,40 @@ int main(int argc, char **argv) { | |||
16917 | float l = i * 2.1; | 10478 | float l = i * 2.1; |
16918 | double m = l / 0.5; | 10479 | double m = l / 0.5; |
16919 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 10480 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
16920 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 10481 | long long p = n * o; |
10482 | printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p); | ||
16921 | exit(0); | 10483 | exit(0); |
16922 | } | 10484 | } |
16923 | 10485 | ||
16924 | _ACEOF | 10486 | _ACEOF |
16925 | rm -f conftest.$ac_objext conftest$ac_exeext | 10487 | if ac_fn_c_try_link "$LINENO"; then : |
16926 | if { (ac_try="$ac_link" | 10488 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
16927 | case "(($ac_try" in | 10489 | $as_echo "yes" >&6; } |
16928 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
16929 | *) ac_try_echo=$ac_try;; | ||
16930 | esac | ||
16931 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
16932 | (eval "$ac_link") 2>conftest.er1 | ||
16933 | ac_status=$? | ||
16934 | grep -v '^ *+' conftest.er1 >conftest.err | ||
16935 | rm -f conftest.er1 | ||
16936 | cat conftest.err >&5 | ||
16937 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
16938 | (exit $ac_status); } && { | ||
16939 | test -z "$ac_c_werror_flag" || | ||
16940 | test ! -s conftest.err | ||
16941 | } && test -s conftest$ac_exeext && | ||
16942 | $as_test_x conftest$ac_exeext; then | ||
16943 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
16944 | echo "${ECHO_T}yes" >&6; } | ||
16945 | LDFLAGS="$saved_LDFLAGS $_define_flag" | 10490 | LDFLAGS="$saved_LDFLAGS $_define_flag" |
16946 | else | 10491 | else |
16947 | echo "$as_me: failed program was:" >&5 | 10492 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
16948 | sed 's/^/| /' conftest.$ac_ext >&5 | 10493 | $as_echo "no" >&6; } |
16949 | |||
16950 | { echo "$as_me:$LINENO: result: no" >&5 | ||
16951 | echo "${ECHO_T}no" >&6; } | ||
16952 | LDFLAGS="$saved_LDFLAGS" | 10494 | LDFLAGS="$saved_LDFLAGS" |
16953 | 10495 | ||
16954 | fi | 10496 | fi |
16955 | 10497 | rm -f core conftest.err conftest.$ac_objext \ | |
16956 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 10498 | conftest$ac_exeext conftest.$ac_ext |
16957 | conftest$ac_exeext conftest.$ac_ext | ||
16958 | } | 10499 | } |
16959 | # We use both -fPIE and -pie or neither. | 10500 | # We use both -fPIE and -pie or neither. |
16960 | { echo "$as_me:$LINENO: checking whether both -fPIE and -pie are supported" >&5 | 10501 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether both -fPIE and -pie are supported" >&5 |
16961 | echo $ECHO_N "checking whether both -fPIE and -pie are supported... $ECHO_C" >&6; } | 10502 | $as_echo_n "checking whether both -fPIE and -pie are supported... " >&6; } |
16962 | if echo "x $CFLAGS" | grep ' -fPIE' >/dev/null 2>&1 && \ | 10503 | if echo "x $CFLAGS" | grep ' -fPIE' >/dev/null 2>&1 && \ |
16963 | echo "x $LDFLAGS" | grep ' -pie' >/dev/null 2>&1 ; then | 10504 | echo "x $LDFLAGS" | grep ' -pie' >/dev/null 2>&1 ; then |
16964 | { echo "$as_me:$LINENO: result: yes" >&5 | 10505 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
16965 | echo "${ECHO_T}yes" >&6; } | 10506 | $as_echo "yes" >&6; } |
16966 | else | 10507 | else |
16967 | { echo "$as_me:$LINENO: result: no" >&5 | 10508 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
16968 | echo "${ECHO_T}no" >&6; } | 10509 | $as_echo "no" >&6; } |
16969 | CFLAGS="$SAVED_CFLAGS" | 10510 | CFLAGS="$SAVED_CFLAGS" |
16970 | LDFLAGS="$SAVED_LDFLAGS" | 10511 | LDFLAGS="$SAVED_LDFLAGS" |
16971 | fi | 10512 | fi |
16972 | fi | 10513 | fi |
16973 | 10514 | ||
16974 | |||
16975 | |||
16976 | |||
16977 | |||
16978 | |||
16979 | |||
16980 | |||
16981 | |||
16982 | |||
16983 | |||
16984 | |||
16985 | |||
16986 | |||
16987 | |||
16988 | |||
16989 | |||
16990 | |||
16991 | |||
16992 | |||
16993 | |||
16994 | |||
16995 | |||
16996 | |||
16997 | |||
16998 | |||
16999 | |||
17000 | |||
17001 | |||
17002 | |||
17003 | |||
17004 | |||
17005 | |||
17006 | |||
17007 | |||
17008 | |||
17009 | |||
17010 | |||
17011 | |||
17012 | |||
17013 | |||
17014 | |||
17015 | |||
17016 | |||
17017 | |||
17018 | |||
17019 | |||
17020 | |||
17021 | |||
17022 | |||
17023 | |||
17024 | |||
17025 | |||
17026 | |||
17027 | |||
17028 | |||
17029 | |||
17030 | |||
17031 | |||
17032 | |||
17033 | |||
17034 | |||
17035 | |||
17036 | |||
17037 | |||
17038 | |||
17039 | |||
17040 | |||
17041 | |||
17042 | |||
17043 | |||
17044 | |||
17045 | |||
17046 | |||
17047 | |||
17048 | |||
17049 | |||
17050 | |||
17051 | |||
17052 | |||
17053 | |||
17054 | |||
17055 | |||
17056 | |||
17057 | |||
17058 | |||
17059 | |||
17060 | |||
17061 | |||
17062 | |||
17063 | |||
17064 | |||
17065 | |||
17066 | |||
17067 | |||
17068 | |||
17069 | |||
17070 | |||
17071 | |||
17072 | |||
17073 | |||
17074 | |||
17075 | |||
17076 | |||
17077 | |||
17078 | |||
17079 | |||
17080 | |||
17081 | |||
17082 | |||
17083 | |||
17084 | |||
17085 | for ac_func in \ | 10515 | for ac_func in \ |
17086 | Blowfish_initstate \ | 10516 | Blowfish_initstate \ |
17087 | Blowfish_expandstate \ | 10517 | Blowfish_expandstate \ |
@@ -17133,7 +10563,6 @@ for ac_func in \ | |||
17133 | memmove \ | 10563 | memmove \ |
17134 | memset_s \ | 10564 | memset_s \ |
17135 | mkdtemp \ | 10565 | mkdtemp \ |
17136 | mmap \ | ||
17137 | ngetaddrinfo \ | 10566 | ngetaddrinfo \ |
17138 | nsleep \ | 10567 | nsleep \ |
17139 | ogetaddrinfo \ | 10568 | ogetaddrinfo \ |
@@ -17169,6 +10598,7 @@ for ac_func in \ | |||
17169 | socketpair \ | 10598 | socketpair \ |
17170 | statfs \ | 10599 | statfs \ |
17171 | statvfs \ | 10600 | statvfs \ |
10601 | strcasestr \ | ||
17172 | strdup \ | 10602 | strdup \ |
17173 | strerror \ | 10603 | strerror \ |
17174 | strlcat \ | 10604 | strlcat \ |
@@ -17195,93 +10625,12 @@ for ac_func in \ | |||
17195 | waitpid \ | 10625 | waitpid \ |
17196 | warn \ | 10626 | warn \ |
17197 | 10627 | ||
17198 | do | 10628 | do : |
17199 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 10629 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
17200 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 10630 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
17201 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | 10631 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
17202 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
17203 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
17204 | else | ||
17205 | cat >conftest.$ac_ext <<_ACEOF | ||
17206 | /* confdefs.h. */ | ||
17207 | _ACEOF | ||
17208 | cat confdefs.h >>conftest.$ac_ext | ||
17209 | cat >>conftest.$ac_ext <<_ACEOF | ||
17210 | /* end confdefs.h. */ | ||
17211 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
17212 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
17213 | #define $ac_func innocuous_$ac_func | ||
17214 | |||
17215 | /* System header to define __stub macros and hopefully few prototypes, | ||
17216 | which can conflict with char $ac_func (); below. | ||
17217 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
17218 | <limits.h> exists even on freestanding compilers. */ | ||
17219 | |||
17220 | #ifdef __STDC__ | ||
17221 | # include <limits.h> | ||
17222 | #else | ||
17223 | # include <assert.h> | ||
17224 | #endif | ||
17225 | |||
17226 | #undef $ac_func | ||
17227 | |||
17228 | /* Override any GCC internal prototype to avoid an error. | ||
17229 | Use char because int might match the return type of a GCC | ||
17230 | builtin and then its argument prototype would still apply. */ | ||
17231 | #ifdef __cplusplus | ||
17232 | extern "C" | ||
17233 | #endif | ||
17234 | char $ac_func (); | ||
17235 | /* The GNU C library defines this for functions which it implements | ||
17236 | to always fail with ENOSYS. Some functions are actually named | ||
17237 | something starting with __ and the normal name is an alias. */ | ||
17238 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
17239 | choke me | ||
17240 | #endif | ||
17241 | |||
17242 | int | ||
17243 | main () | ||
17244 | { | ||
17245 | return $ac_func (); | ||
17246 | ; | ||
17247 | return 0; | ||
17248 | } | ||
17249 | _ACEOF | ||
17250 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
17251 | if { (ac_try="$ac_link" | ||
17252 | case "(($ac_try" in | ||
17253 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
17254 | *) ac_try_echo=$ac_try;; | ||
17255 | esac | ||
17256 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
17257 | (eval "$ac_link") 2>conftest.er1 | ||
17258 | ac_status=$? | ||
17259 | grep -v '^ *+' conftest.er1 >conftest.err | ||
17260 | rm -f conftest.er1 | ||
17261 | cat conftest.err >&5 | ||
17262 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
17263 | (exit $ac_status); } && { | ||
17264 | test -z "$ac_c_werror_flag" || | ||
17265 | test ! -s conftest.err | ||
17266 | } && test -s conftest$ac_exeext && | ||
17267 | $as_test_x conftest$ac_exeext; then | ||
17268 | eval "$as_ac_var=yes" | ||
17269 | else | ||
17270 | echo "$as_me: failed program was:" >&5 | ||
17271 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
17272 | |||
17273 | eval "$as_ac_var=no" | ||
17274 | fi | ||
17275 | |||
17276 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
17277 | conftest$ac_exeext conftest.$ac_ext | ||
17278 | fi | ||
17279 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
17280 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
17281 | echo "${ECHO_T}$ac_res" >&6; } | ||
17282 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
17283 | cat >>confdefs.h <<_ACEOF | 10632 | cat >>confdefs.h <<_ACEOF |
17284 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 10633 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
17285 | _ACEOF | 10634 | _ACEOF |
17286 | 10635 | ||
17287 | fi | 10636 | fi |
@@ -17290,110 +10639,61 @@ done | |||
17290 | 10639 | ||
17291 | saved_CFLAGS="$CFLAGS" | 10640 | saved_CFLAGS="$CFLAGS" |
17292 | CFLAGS="$CFLAGS -D_XOPEN_SOURCE" | 10641 | CFLAGS="$CFLAGS -D_XOPEN_SOURCE" |
10642 | for ac_func in mblen mbtowc nl_langinfo wcwidth | ||
10643 | do : | ||
10644 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
10645 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | ||
10646 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : | ||
10647 | cat >>confdefs.h <<_ACEOF | ||
10648 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 | ||
10649 | _ACEOF | ||
17293 | 10650 | ||
10651 | fi | ||
10652 | done | ||
17294 | 10653 | ||
10654 | CFLAGS="$saved_CFLAGS" | ||
17295 | 10655 | ||
10656 | TEST_SSH_UTF8=${TEST_SSH_UTF8:=yes} | ||
10657 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for utf8 locale support" >&5 | ||
10658 | $as_echo_n "checking for utf8 locale support... " >&6; } | ||
10659 | if test "$cross_compiling" = yes; then : | ||
10660 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5 | ||
10661 | $as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;} | ||
17296 | 10662 | ||
17297 | for ac_func in mblen mbtowc nl_langinfo wcwidth | ||
17298 | do | ||
17299 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
17300 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
17301 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
17302 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
17303 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
17304 | else | 10663 | else |
17305 | cat >conftest.$ac_ext <<_ACEOF | 10664 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
17306 | /* confdefs.h. */ | ||
17307 | _ACEOF | ||
17308 | cat confdefs.h >>conftest.$ac_ext | ||
17309 | cat >>conftest.$ac_ext <<_ACEOF | ||
17310 | /* end confdefs.h. */ | 10665 | /* end confdefs.h. */ |
17311 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
17312 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
17313 | #define $ac_func innocuous_$ac_func | ||
17314 | |||
17315 | /* System header to define __stub macros and hopefully few prototypes, | ||
17316 | which can conflict with char $ac_func (); below. | ||
17317 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
17318 | <limits.h> exists even on freestanding compilers. */ | ||
17319 | |||
17320 | #ifdef __STDC__ | ||
17321 | # include <limits.h> | ||
17322 | #else | ||
17323 | # include <assert.h> | ||
17324 | #endif | ||
17325 | |||
17326 | #undef $ac_func | ||
17327 | 10666 | ||
17328 | /* Override any GCC internal prototype to avoid an error. | 10667 | #include <locale.h> |
17329 | Use char because int might match the return type of a GCC | 10668 | #include <stdlib.h> |
17330 | builtin and then its argument prototype would still apply. */ | ||
17331 | #ifdef __cplusplus | ||
17332 | extern "C" | ||
17333 | #endif | ||
17334 | char $ac_func (); | ||
17335 | /* The GNU C library defines this for functions which it implements | ||
17336 | to always fail with ENOSYS. Some functions are actually named | ||
17337 | something starting with __ and the normal name is an alias. */ | ||
17338 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
17339 | choke me | ||
17340 | #endif | ||
17341 | 10669 | ||
17342 | int | 10670 | int |
17343 | main () | 10671 | main () |
17344 | { | 10672 | { |
17345 | return $ac_func (); | 10673 | |
10674 | char *loc = setlocale(LC_CTYPE, "en_US.UTF-8"); | ||
10675 | if (loc != NULL) | ||
10676 | exit(0); | ||
10677 | exit(1); | ||
10678 | |||
17346 | ; | 10679 | ; |
17347 | return 0; | 10680 | return 0; |
17348 | } | 10681 | } |
17349 | _ACEOF | 10682 | _ACEOF |
17350 | rm -f conftest.$ac_objext conftest$ac_exeext | 10683 | if ac_fn_c_try_run "$LINENO"; then : |
17351 | if { (ac_try="$ac_link" | 10684 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
17352 | case "(($ac_try" in | 10685 | $as_echo "yes" >&6; } |
17353 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
17354 | *) ac_try_echo=$ac_try;; | ||
17355 | esac | ||
17356 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
17357 | (eval "$ac_link") 2>conftest.er1 | ||
17358 | ac_status=$? | ||
17359 | grep -v '^ *+' conftest.er1 >conftest.err | ||
17360 | rm -f conftest.er1 | ||
17361 | cat conftest.err >&5 | ||
17362 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
17363 | (exit $ac_status); } && { | ||
17364 | test -z "$ac_c_werror_flag" || | ||
17365 | test ! -s conftest.err | ||
17366 | } && test -s conftest$ac_exeext && | ||
17367 | $as_test_x conftest$ac_exeext; then | ||
17368 | eval "$as_ac_var=yes" | ||
17369 | else | 10686 | else |
17370 | echo "$as_me: failed program was:" >&5 | 10687 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
17371 | sed 's/^/| /' conftest.$ac_ext >&5 | 10688 | $as_echo "no" >&6; } |
17372 | 10689 | TEST_SSH_UTF8=no | |
17373 | eval "$as_ac_var=no" | ||
17374 | fi | ||
17375 | |||
17376 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
17377 | conftest$ac_exeext conftest.$ac_ext | ||
17378 | fi | 10690 | fi |
17379 | ac_res=`eval echo '${'$as_ac_var'}'` | 10691 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
17380 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | 10692 | conftest.$ac_objext conftest.beam conftest.$ac_ext |
17381 | echo "${ECHO_T}$ac_res" >&6; } | ||
17382 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
17383 | cat >>confdefs.h <<_ACEOF | ||
17384 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | ||
17385 | _ACEOF | ||
17386 | |||
17387 | fi | 10693 | fi |
17388 | done | ||
17389 | 10694 | ||
17390 | CFLAGS="$saved_CFLAGS" | ||
17391 | 10695 | ||
17392 | cat >conftest.$ac_ext <<_ACEOF | 10696 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
17393 | /* confdefs.h. */ | ||
17394 | _ACEOF | ||
17395 | cat confdefs.h >>conftest.$ac_ext | ||
17396 | cat >>conftest.$ac_ext <<_ACEOF | ||
17397 | /* end confdefs.h. */ | 10697 | /* end confdefs.h. */ |
17398 | #include <ctype.h> | 10698 | #include <ctype.h> |
17399 | int | 10699 | int |
@@ -17404,43 +10704,18 @@ main () | |||
17404 | return 0; | 10704 | return 0; |
17405 | } | 10705 | } |
17406 | _ACEOF | 10706 | _ACEOF |
17407 | rm -f conftest.$ac_objext conftest$ac_exeext | 10707 | if ac_fn_c_try_link "$LINENO"; then : |
17408 | if { (ac_try="$ac_link" | ||
17409 | case "(($ac_try" in | ||
17410 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
17411 | *) ac_try_echo=$ac_try;; | ||
17412 | esac | ||
17413 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
17414 | (eval "$ac_link") 2>conftest.er1 | ||
17415 | ac_status=$? | ||
17416 | grep -v '^ *+' conftest.er1 >conftest.err | ||
17417 | rm -f conftest.er1 | ||
17418 | cat conftest.err >&5 | ||
17419 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
17420 | (exit $ac_status); } && { | ||
17421 | test -z "$ac_c_werror_flag" || | ||
17422 | test ! -s conftest.err | ||
17423 | } && test -s conftest$ac_exeext && | ||
17424 | $as_test_x conftest$ac_exeext; then | ||
17425 | |||
17426 | cat >>confdefs.h <<\_ACEOF | ||
17427 | #define HAVE_ISBLANK 1 | ||
17428 | _ACEOF | ||
17429 | 10708 | ||
17430 | 10709 | $as_echo "#define HAVE_ISBLANK 1" >>confdefs.h | |
17431 | else | ||
17432 | echo "$as_me: failed program was:" >&5 | ||
17433 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
17434 | 10710 | ||
17435 | 10711 | ||
17436 | fi | 10712 | fi |
17437 | 10713 | rm -f core conftest.err conftest.$ac_objext \ | |
17438 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 10714 | conftest$ac_exeext conftest.$ac_ext |
17439 | conftest$ac_exeext conftest.$ac_ext | ||
17440 | 10715 | ||
17441 | disable_pkcs11= | 10716 | disable_pkcs11= |
17442 | # Check whether --enable-pkcs11 was given. | 10717 | # Check whether --enable-pkcs11 was given. |
17443 | if test "${enable_pkcs11+set}" = set; then | 10718 | if test "${enable_pkcs11+set}" = set; then : |
17444 | enableval=$enable_pkcs11; | 10719 | enableval=$enable_pkcs11; |
17445 | if test "x$enableval" = "xno" ; then | 10720 | if test "x$enableval" = "xno" ; then |
17446 | disable_pkcs11=1 | 10721 | disable_pkcs11=1 |
@@ -17453,17 +10728,13 @@ fi | |||
17453 | # PKCS11 depends on OpenSSL. | 10728 | # PKCS11 depends on OpenSSL. |
17454 | if test "x$openssl" = "xyes" && test "x$disable_pkcs11" = "x"; then | 10729 | if test "x$openssl" = "xyes" && test "x$disable_pkcs11" = "x"; then |
17455 | # PKCS#11 support requires dlopen() and co | 10730 | # PKCS#11 support requires dlopen() and co |
17456 | { echo "$as_me:$LINENO: checking for library containing dlopen" >&5 | 10731 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 |
17457 | echo $ECHO_N "checking for library containing dlopen... $ECHO_C" >&6; } | 10732 | $as_echo_n "checking for library containing dlopen... " >&6; } |
17458 | if test "${ac_cv_search_dlopen+set}" = set; then | 10733 | if ${ac_cv_search_dlopen+:} false; then : |
17459 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 10734 | $as_echo_n "(cached) " >&6 |
17460 | else | 10735 | else |
17461 | ac_func_search_save_LIBS=$LIBS | 10736 | ac_func_search_save_LIBS=$LIBS |
17462 | cat >conftest.$ac_ext <<_ACEOF | 10737 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
17463 | /* confdefs.h. */ | ||
17464 | _ACEOF | ||
17465 | cat confdefs.h >>conftest.$ac_ext | ||
17466 | cat >>conftest.$ac_ext <<_ACEOF | ||
17467 | /* end confdefs.h. */ | 10738 | /* end confdefs.h. */ |
17468 | 10739 | ||
17469 | /* Override any GCC internal prototype to avoid an error. | 10740 | /* Override any GCC internal prototype to avoid an error. |
@@ -17488,55 +10759,30 @@ for ac_lib in '' dl; do | |||
17488 | ac_res=-l$ac_lib | 10759 | ac_res=-l$ac_lib |
17489 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 10760 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
17490 | fi | 10761 | fi |
17491 | rm -f conftest.$ac_objext conftest$ac_exeext | 10762 | if ac_fn_c_try_link "$LINENO"; then : |
17492 | if { (ac_try="$ac_link" | ||
17493 | case "(($ac_try" in | ||
17494 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
17495 | *) ac_try_echo=$ac_try;; | ||
17496 | esac | ||
17497 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
17498 | (eval "$ac_link") 2>conftest.er1 | ||
17499 | ac_status=$? | ||
17500 | grep -v '^ *+' conftest.er1 >conftest.err | ||
17501 | rm -f conftest.er1 | ||
17502 | cat conftest.err >&5 | ||
17503 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
17504 | (exit $ac_status); } && { | ||
17505 | test -z "$ac_c_werror_flag" || | ||
17506 | test ! -s conftest.err | ||
17507 | } && test -s conftest$ac_exeext && | ||
17508 | $as_test_x conftest$ac_exeext; then | ||
17509 | ac_cv_search_dlopen=$ac_res | 10763 | ac_cv_search_dlopen=$ac_res |
17510 | else | ||
17511 | echo "$as_me: failed program was:" >&5 | ||
17512 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
17513 | |||
17514 | |||
17515 | fi | 10764 | fi |
17516 | 10765 | rm -f core conftest.err conftest.$ac_objext \ | |
17517 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 10766 | conftest$ac_exeext |
17518 | conftest$ac_exeext | 10767 | if ${ac_cv_search_dlopen+:} false; then : |
17519 | if test "${ac_cv_search_dlopen+set}" = set; then | ||
17520 | break | 10768 | break |
17521 | fi | 10769 | fi |
17522 | done | 10770 | done |
17523 | if test "${ac_cv_search_dlopen+set}" = set; then | 10771 | if ${ac_cv_search_dlopen+:} false; then : |
17524 | : | 10772 | |
17525 | else | 10773 | else |
17526 | ac_cv_search_dlopen=no | 10774 | ac_cv_search_dlopen=no |
17527 | fi | 10775 | fi |
17528 | rm conftest.$ac_ext | 10776 | rm conftest.$ac_ext |
17529 | LIBS=$ac_func_search_save_LIBS | 10777 | LIBS=$ac_func_search_save_LIBS |
17530 | fi | 10778 | fi |
17531 | { echo "$as_me:$LINENO: result: $ac_cv_search_dlopen" >&5 | 10779 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 |
17532 | echo "${ECHO_T}$ac_cv_search_dlopen" >&6; } | 10780 | $as_echo "$ac_cv_search_dlopen" >&6; } |
17533 | ac_res=$ac_cv_search_dlopen | 10781 | ac_res=$ac_cv_search_dlopen |
17534 | if test "$ac_res" != no; then | 10782 | if test "$ac_res" != no; then : |
17535 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 10783 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
17536 | 10784 | ||
17537 | cat >>confdefs.h <<\_ACEOF | 10785 | $as_echo "#define ENABLE_PKCS11 /**/" >>confdefs.h |
17538 | #define ENABLE_PKCS11 | ||
17539 | _ACEOF | ||
17540 | 10786 | ||
17541 | 10787 | ||
17542 | fi | 10788 | fi |
@@ -17544,106 +10790,17 @@ fi | |||
17544 | fi | 10790 | fi |
17545 | 10791 | ||
17546 | # IRIX has a const char return value for gai_strerror() | 10792 | # IRIX has a const char return value for gai_strerror() |
17547 | |||
17548 | for ac_func in gai_strerror | 10793 | for ac_func in gai_strerror |
17549 | do | 10794 | do : |
17550 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 10795 | ac_fn_c_check_func "$LINENO" "gai_strerror" "ac_cv_func_gai_strerror" |
17551 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 10796 | if test "x$ac_cv_func_gai_strerror" = xyes; then : |
17552 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
17553 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
17554 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
17555 | else | ||
17556 | cat >conftest.$ac_ext <<_ACEOF | ||
17557 | /* confdefs.h. */ | ||
17558 | _ACEOF | ||
17559 | cat confdefs.h >>conftest.$ac_ext | ||
17560 | cat >>conftest.$ac_ext <<_ACEOF | ||
17561 | /* end confdefs.h. */ | ||
17562 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
17563 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
17564 | #define $ac_func innocuous_$ac_func | ||
17565 | |||
17566 | /* System header to define __stub macros and hopefully few prototypes, | ||
17567 | which can conflict with char $ac_func (); below. | ||
17568 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
17569 | <limits.h> exists even on freestanding compilers. */ | ||
17570 | |||
17571 | #ifdef __STDC__ | ||
17572 | # include <limits.h> | ||
17573 | #else | ||
17574 | # include <assert.h> | ||
17575 | #endif | ||
17576 | |||
17577 | #undef $ac_func | ||
17578 | |||
17579 | /* Override any GCC internal prototype to avoid an error. | ||
17580 | Use char because int might match the return type of a GCC | ||
17581 | builtin and then its argument prototype would still apply. */ | ||
17582 | #ifdef __cplusplus | ||
17583 | extern "C" | ||
17584 | #endif | ||
17585 | char $ac_func (); | ||
17586 | /* The GNU C library defines this for functions which it implements | ||
17587 | to always fail with ENOSYS. Some functions are actually named | ||
17588 | something starting with __ and the normal name is an alias. */ | ||
17589 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
17590 | choke me | ||
17591 | #endif | ||
17592 | |||
17593 | int | ||
17594 | main () | ||
17595 | { | ||
17596 | return $ac_func (); | ||
17597 | ; | ||
17598 | return 0; | ||
17599 | } | ||
17600 | _ACEOF | ||
17601 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
17602 | if { (ac_try="$ac_link" | ||
17603 | case "(($ac_try" in | ||
17604 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
17605 | *) ac_try_echo=$ac_try;; | ||
17606 | esac | ||
17607 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
17608 | (eval "$ac_link") 2>conftest.er1 | ||
17609 | ac_status=$? | ||
17610 | grep -v '^ *+' conftest.er1 >conftest.err | ||
17611 | rm -f conftest.er1 | ||
17612 | cat conftest.err >&5 | ||
17613 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
17614 | (exit $ac_status); } && { | ||
17615 | test -z "$ac_c_werror_flag" || | ||
17616 | test ! -s conftest.err | ||
17617 | } && test -s conftest$ac_exeext && | ||
17618 | $as_test_x conftest$ac_exeext; then | ||
17619 | eval "$as_ac_var=yes" | ||
17620 | else | ||
17621 | echo "$as_me: failed program was:" >&5 | ||
17622 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
17623 | |||
17624 | eval "$as_ac_var=no" | ||
17625 | fi | ||
17626 | |||
17627 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
17628 | conftest$ac_exeext conftest.$ac_ext | ||
17629 | fi | ||
17630 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
17631 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
17632 | echo "${ECHO_T}$ac_res" >&6; } | ||
17633 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
17634 | cat >>confdefs.h <<_ACEOF | 10797 | cat >>confdefs.h <<_ACEOF |
17635 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | ||
17636 | _ACEOF | ||
17637 | |||
17638 | cat >>confdefs.h <<\_ACEOF | ||
17639 | #define HAVE_GAI_STRERROR 1 | 10798 | #define HAVE_GAI_STRERROR 1 |
17640 | _ACEOF | 10799 | _ACEOF |
17641 | 10800 | ||
17642 | cat >conftest.$ac_ext <<_ACEOF | 10801 | $as_echo "#define HAVE_GAI_STRERROR 1" >>confdefs.h |
17643 | /* confdefs.h. */ | 10802 | |
17644 | _ACEOF | 10803 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
17645 | cat confdefs.h >>conftest.$ac_ext | ||
17646 | cat >>conftest.$ac_ext <<_ACEOF | ||
17647 | /* end confdefs.h. */ | 10804 | /* end confdefs.h. */ |
17648 | 10805 | ||
17649 | #include <sys/types.h> | 10806 | #include <sys/types.h> |
@@ -17663,52 +10820,24 @@ main () | |||
17663 | return 0; | 10820 | return 0; |
17664 | } | 10821 | } |
17665 | _ACEOF | 10822 | _ACEOF |
17666 | rm -f conftest.$ac_objext | 10823 | if ac_fn_c_try_compile "$LINENO"; then : |
17667 | if { (ac_try="$ac_compile" | ||
17668 | case "(($ac_try" in | ||
17669 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
17670 | *) ac_try_echo=$ac_try;; | ||
17671 | esac | ||
17672 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
17673 | (eval "$ac_compile") 2>conftest.er1 | ||
17674 | ac_status=$? | ||
17675 | grep -v '^ *+' conftest.er1 >conftest.err | ||
17676 | rm -f conftest.er1 | ||
17677 | cat conftest.err >&5 | ||
17678 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
17679 | (exit $ac_status); } && { | ||
17680 | test -z "$ac_c_werror_flag" || | ||
17681 | test ! -s conftest.err | ||
17682 | } && test -s conftest.$ac_objext; then | ||
17683 | |||
17684 | |||
17685 | cat >>confdefs.h <<\_ACEOF | ||
17686 | #define HAVE_CONST_GAI_STRERROR_PROTO 1 | ||
17687 | _ACEOF | ||
17688 | 10824 | ||
17689 | else | ||
17690 | echo "$as_me: failed program was:" >&5 | ||
17691 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
17692 | 10825 | ||
10826 | $as_echo "#define HAVE_CONST_GAI_STRERROR_PROTO 1" >>confdefs.h | ||
17693 | 10827 | ||
17694 | fi | 10828 | fi |
17695 | |||
17696 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 10829 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
17697 | fi | 10830 | fi |
17698 | done | 10831 | done |
17699 | 10832 | ||
17700 | 10833 | ||
17701 | { echo "$as_me:$LINENO: checking for library containing nanosleep" >&5 | 10834 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing nanosleep" >&5 |
17702 | echo $ECHO_N "checking for library containing nanosleep... $ECHO_C" >&6; } | 10835 | $as_echo_n "checking for library containing nanosleep... " >&6; } |
17703 | if test "${ac_cv_search_nanosleep+set}" = set; then | 10836 | if ${ac_cv_search_nanosleep+:} false; then : |
17704 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 10837 | $as_echo_n "(cached) " >&6 |
17705 | else | 10838 | else |
17706 | ac_func_search_save_LIBS=$LIBS | 10839 | ac_func_search_save_LIBS=$LIBS |
17707 | cat >conftest.$ac_ext <<_ACEOF | 10840 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
17708 | /* confdefs.h. */ | ||
17709 | _ACEOF | ||
17710 | cat confdefs.h >>conftest.$ac_ext | ||
17711 | cat >>conftest.$ac_ext <<_ACEOF | ||
17712 | /* end confdefs.h. */ | 10841 | /* end confdefs.h. */ |
17713 | 10842 | ||
17714 | /* Override any GCC internal prototype to avoid an error. | 10843 | /* Override any GCC internal prototype to avoid an error. |
@@ -17733,70 +10862,41 @@ for ac_lib in '' rt posix4; do | |||
17733 | ac_res=-l$ac_lib | 10862 | ac_res=-l$ac_lib |
17734 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 10863 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
17735 | fi | 10864 | fi |
17736 | rm -f conftest.$ac_objext conftest$ac_exeext | 10865 | if ac_fn_c_try_link "$LINENO"; then : |
17737 | if { (ac_try="$ac_link" | ||
17738 | case "(($ac_try" in | ||
17739 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
17740 | *) ac_try_echo=$ac_try;; | ||
17741 | esac | ||
17742 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
17743 | (eval "$ac_link") 2>conftest.er1 | ||
17744 | ac_status=$? | ||
17745 | grep -v '^ *+' conftest.er1 >conftest.err | ||
17746 | rm -f conftest.er1 | ||
17747 | cat conftest.err >&5 | ||
17748 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
17749 | (exit $ac_status); } && { | ||
17750 | test -z "$ac_c_werror_flag" || | ||
17751 | test ! -s conftest.err | ||
17752 | } && test -s conftest$ac_exeext && | ||
17753 | $as_test_x conftest$ac_exeext; then | ||
17754 | ac_cv_search_nanosleep=$ac_res | 10866 | ac_cv_search_nanosleep=$ac_res |
17755 | else | ||
17756 | echo "$as_me: failed program was:" >&5 | ||
17757 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
17758 | |||
17759 | |||
17760 | fi | 10867 | fi |
17761 | 10868 | rm -f core conftest.err conftest.$ac_objext \ | |
17762 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 10869 | conftest$ac_exeext |
17763 | conftest$ac_exeext | 10870 | if ${ac_cv_search_nanosleep+:} false; then : |
17764 | if test "${ac_cv_search_nanosleep+set}" = set; then | ||
17765 | break | 10871 | break |
17766 | fi | 10872 | fi |
17767 | done | 10873 | done |
17768 | if test "${ac_cv_search_nanosleep+set}" = set; then | 10874 | if ${ac_cv_search_nanosleep+:} false; then : |
17769 | : | 10875 | |
17770 | else | 10876 | else |
17771 | ac_cv_search_nanosleep=no | 10877 | ac_cv_search_nanosleep=no |
17772 | fi | 10878 | fi |
17773 | rm conftest.$ac_ext | 10879 | rm conftest.$ac_ext |
17774 | LIBS=$ac_func_search_save_LIBS | 10880 | LIBS=$ac_func_search_save_LIBS |
17775 | fi | 10881 | fi |
17776 | { echo "$as_me:$LINENO: result: $ac_cv_search_nanosleep" >&5 | 10882 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5 |
17777 | echo "${ECHO_T}$ac_cv_search_nanosleep" >&6; } | 10883 | $as_echo "$ac_cv_search_nanosleep" >&6; } |
17778 | ac_res=$ac_cv_search_nanosleep | 10884 | ac_res=$ac_cv_search_nanosleep |
17779 | if test "$ac_res" != no; then | 10885 | if test "$ac_res" != no; then : |
17780 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 10886 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
17781 | 10887 | ||
17782 | cat >>confdefs.h <<\_ACEOF | 10888 | $as_echo "#define HAVE_NANOSLEEP 1" >>confdefs.h |
17783 | #define HAVE_NANOSLEEP 1 | ||
17784 | _ACEOF | ||
17785 | 10889 | ||
17786 | fi | 10890 | fi |
17787 | 10891 | ||
17788 | 10892 | ||
17789 | { echo "$as_me:$LINENO: checking for library containing clock_gettime" >&5 | 10893 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 |
17790 | echo $ECHO_N "checking for library containing clock_gettime... $ECHO_C" >&6; } | 10894 | $as_echo_n "checking for library containing clock_gettime... " >&6; } |
17791 | if test "${ac_cv_search_clock_gettime+set}" = set; then | 10895 | if ${ac_cv_search_clock_gettime+:} false; then : |
17792 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 10896 | $as_echo_n "(cached) " >&6 |
17793 | else | 10897 | else |
17794 | ac_func_search_save_LIBS=$LIBS | 10898 | ac_func_search_save_LIBS=$LIBS |
17795 | cat >conftest.$ac_ext <<_ACEOF | 10899 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
17796 | /* confdefs.h. */ | ||
17797 | _ACEOF | ||
17798 | cat confdefs.h >>conftest.$ac_ext | ||
17799 | cat >>conftest.$ac_ext <<_ACEOF | ||
17800 | /* end confdefs.h. */ | 10900 | /* end confdefs.h. */ |
17801 | 10901 | ||
17802 | /* Override any GCC internal prototype to avoid an error. | 10902 | /* Override any GCC internal prototype to avoid an error. |
@@ -17821,201 +10921,42 @@ for ac_lib in '' rt; do | |||
17821 | ac_res=-l$ac_lib | 10921 | ac_res=-l$ac_lib |
17822 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 10922 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
17823 | fi | 10923 | fi |
17824 | rm -f conftest.$ac_objext conftest$ac_exeext | 10924 | if ac_fn_c_try_link "$LINENO"; then : |
17825 | if { (ac_try="$ac_link" | ||
17826 | case "(($ac_try" in | ||
17827 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
17828 | *) ac_try_echo=$ac_try;; | ||
17829 | esac | ||
17830 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
17831 | (eval "$ac_link") 2>conftest.er1 | ||
17832 | ac_status=$? | ||
17833 | grep -v '^ *+' conftest.er1 >conftest.err | ||
17834 | rm -f conftest.er1 | ||
17835 | cat conftest.err >&5 | ||
17836 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
17837 | (exit $ac_status); } && { | ||
17838 | test -z "$ac_c_werror_flag" || | ||
17839 | test ! -s conftest.err | ||
17840 | } && test -s conftest$ac_exeext && | ||
17841 | $as_test_x conftest$ac_exeext; then | ||
17842 | ac_cv_search_clock_gettime=$ac_res | 10925 | ac_cv_search_clock_gettime=$ac_res |
17843 | else | ||
17844 | echo "$as_me: failed program was:" >&5 | ||
17845 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
17846 | |||
17847 | |||
17848 | fi | 10926 | fi |
17849 | 10927 | rm -f core conftest.err conftest.$ac_objext \ | |
17850 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 10928 | conftest$ac_exeext |
17851 | conftest$ac_exeext | 10929 | if ${ac_cv_search_clock_gettime+:} false; then : |
17852 | if test "${ac_cv_search_clock_gettime+set}" = set; then | ||
17853 | break | 10930 | break |
17854 | fi | 10931 | fi |
17855 | done | 10932 | done |
17856 | if test "${ac_cv_search_clock_gettime+set}" = set; then | 10933 | if ${ac_cv_search_clock_gettime+:} false; then : |
17857 | : | 10934 | |
17858 | else | 10935 | else |
17859 | ac_cv_search_clock_gettime=no | 10936 | ac_cv_search_clock_gettime=no |
17860 | fi | 10937 | fi |
17861 | rm conftest.$ac_ext | 10938 | rm conftest.$ac_ext |
17862 | LIBS=$ac_func_search_save_LIBS | 10939 | LIBS=$ac_func_search_save_LIBS |
17863 | fi | 10940 | fi |
17864 | { echo "$as_me:$LINENO: result: $ac_cv_search_clock_gettime" >&5 | 10941 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 |
17865 | echo "${ECHO_T}$ac_cv_search_clock_gettime" >&6; } | 10942 | $as_echo "$ac_cv_search_clock_gettime" >&6; } |
17866 | ac_res=$ac_cv_search_clock_gettime | 10943 | ac_res=$ac_cv_search_clock_gettime |
17867 | if test "$ac_res" != no; then | 10944 | if test "$ac_res" != no; then : |
17868 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 10945 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
17869 | 10946 | ||
17870 | cat >>confdefs.h <<\_ACEOF | 10947 | $as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h |
17871 | #define HAVE_CLOCK_GETTIME 1 | ||
17872 | _ACEOF | ||
17873 | 10948 | ||
17874 | fi | 10949 | fi |
17875 | 10950 | ||
17876 | 10951 | ||
17877 | { echo "$as_me:$LINENO: checking whether getrusage is declared" >&5 | 10952 | ac_fn_c_check_decl "$LINENO" "getrusage" "ac_cv_have_decl_getrusage" "$ac_includes_default" |
17878 | echo $ECHO_N "checking whether getrusage is declared... $ECHO_C" >&6; } | 10953 | if test "x$ac_cv_have_decl_getrusage" = xyes; then : |
17879 | if test "${ac_cv_have_decl_getrusage+set}" = set; then | 10954 | for ac_func in getrusage |
17880 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 10955 | do : |
17881 | else | 10956 | ac_fn_c_check_func "$LINENO" "getrusage" "ac_cv_func_getrusage" |
17882 | cat >conftest.$ac_ext <<_ACEOF | 10957 | if test "x$ac_cv_func_getrusage" = xyes; then : |
17883 | /* confdefs.h. */ | ||
17884 | _ACEOF | ||
17885 | cat confdefs.h >>conftest.$ac_ext | ||
17886 | cat >>conftest.$ac_ext <<_ACEOF | ||
17887 | /* end confdefs.h. */ | ||
17888 | $ac_includes_default | ||
17889 | int | ||
17890 | main () | ||
17891 | { | ||
17892 | #ifndef getrusage | ||
17893 | (void) getrusage; | ||
17894 | #endif | ||
17895 | |||
17896 | ; | ||
17897 | return 0; | ||
17898 | } | ||
17899 | _ACEOF | ||
17900 | rm -f conftest.$ac_objext | ||
17901 | if { (ac_try="$ac_compile" | ||
17902 | case "(($ac_try" in | ||
17903 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
17904 | *) ac_try_echo=$ac_try;; | ||
17905 | esac | ||
17906 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
17907 | (eval "$ac_compile") 2>conftest.er1 | ||
17908 | ac_status=$? | ||
17909 | grep -v '^ *+' conftest.er1 >conftest.err | ||
17910 | rm -f conftest.er1 | ||
17911 | cat conftest.err >&5 | ||
17912 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
17913 | (exit $ac_status); } && { | ||
17914 | test -z "$ac_c_werror_flag" || | ||
17915 | test ! -s conftest.err | ||
17916 | } && test -s conftest.$ac_objext; then | ||
17917 | ac_cv_have_decl_getrusage=yes | ||
17918 | else | ||
17919 | echo "$as_me: failed program was:" >&5 | ||
17920 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
17921 | |||
17922 | ac_cv_have_decl_getrusage=no | ||
17923 | fi | ||
17924 | |||
17925 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
17926 | fi | ||
17927 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getrusage" >&5 | ||
17928 | echo "${ECHO_T}$ac_cv_have_decl_getrusage" >&6; } | ||
17929 | if test $ac_cv_have_decl_getrusage = yes; then | ||
17930 | |||
17931 | for ac_func in getrusage | ||
17932 | do | ||
17933 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
17934 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
17935 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
17936 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
17937 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
17938 | else | ||
17939 | cat >conftest.$ac_ext <<_ACEOF | ||
17940 | /* confdefs.h. */ | ||
17941 | _ACEOF | ||
17942 | cat confdefs.h >>conftest.$ac_ext | ||
17943 | cat >>conftest.$ac_ext <<_ACEOF | ||
17944 | /* end confdefs.h. */ | ||
17945 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
17946 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
17947 | #define $ac_func innocuous_$ac_func | ||
17948 | |||
17949 | /* System header to define __stub macros and hopefully few prototypes, | ||
17950 | which can conflict with char $ac_func (); below. | ||
17951 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
17952 | <limits.h> exists even on freestanding compilers. */ | ||
17953 | |||
17954 | #ifdef __STDC__ | ||
17955 | # include <limits.h> | ||
17956 | #else | ||
17957 | # include <assert.h> | ||
17958 | #endif | ||
17959 | |||
17960 | #undef $ac_func | ||
17961 | |||
17962 | /* Override any GCC internal prototype to avoid an error. | ||
17963 | Use char because int might match the return type of a GCC | ||
17964 | builtin and then its argument prototype would still apply. */ | ||
17965 | #ifdef __cplusplus | ||
17966 | extern "C" | ||
17967 | #endif | ||
17968 | char $ac_func (); | ||
17969 | /* The GNU C library defines this for functions which it implements | ||
17970 | to always fail with ENOSYS. Some functions are actually named | ||
17971 | something starting with __ and the normal name is an alias. */ | ||
17972 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
17973 | choke me | ||
17974 | #endif | ||
17975 | |||
17976 | int | ||
17977 | main () | ||
17978 | { | ||
17979 | return $ac_func (); | ||
17980 | ; | ||
17981 | return 0; | ||
17982 | } | ||
17983 | _ACEOF | ||
17984 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
17985 | if { (ac_try="$ac_link" | ||
17986 | case "(($ac_try" in | ||
17987 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
17988 | *) ac_try_echo=$ac_try;; | ||
17989 | esac | ||
17990 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
17991 | (eval "$ac_link") 2>conftest.er1 | ||
17992 | ac_status=$? | ||
17993 | grep -v '^ *+' conftest.er1 >conftest.err | ||
17994 | rm -f conftest.er1 | ||
17995 | cat conftest.err >&5 | ||
17996 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
17997 | (exit $ac_status); } && { | ||
17998 | test -z "$ac_c_werror_flag" || | ||
17999 | test ! -s conftest.err | ||
18000 | } && test -s conftest$ac_exeext && | ||
18001 | $as_test_x conftest$ac_exeext; then | ||
18002 | eval "$as_ac_var=yes" | ||
18003 | else | ||
18004 | echo "$as_me: failed program was:" >&5 | ||
18005 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
18006 | |||
18007 | eval "$as_ac_var=no" | ||
18008 | fi | ||
18009 | |||
18010 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
18011 | conftest$ac_exeext conftest.$ac_ext | ||
18012 | fi | ||
18013 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
18014 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
18015 | echo "${ECHO_T}$ac_res" >&6; } | ||
18016 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
18017 | cat >>confdefs.h <<_ACEOF | 10958 | cat >>confdefs.h <<_ACEOF |
18018 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 10959 | #define HAVE_GETRUSAGE 1 |
18019 | _ACEOF | 10960 | _ACEOF |
18020 | 10961 | ||
18021 | fi | 10962 | fi |
@@ -18023,153 +10964,19 @@ done | |||
18023 | 10964 | ||
18024 | fi | 10965 | fi |
18025 | 10966 | ||
18026 | { echo "$as_me:$LINENO: checking whether strsep is declared" >&5 | 10967 | ac_fn_c_check_decl "$LINENO" "strsep" "ac_cv_have_decl_strsep" " |
18027 | echo $ECHO_N "checking whether strsep is declared... $ECHO_C" >&6; } | ||
18028 | if test "${ac_cv_have_decl_strsep+set}" = set; then | ||
18029 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
18030 | else | ||
18031 | cat >conftest.$ac_ext <<_ACEOF | ||
18032 | /* confdefs.h. */ | ||
18033 | _ACEOF | ||
18034 | cat confdefs.h >>conftest.$ac_ext | ||
18035 | cat >>conftest.$ac_ext <<_ACEOF | ||
18036 | /* end confdefs.h. */ | ||
18037 | |||
18038 | #ifdef HAVE_STRING_H | 10968 | #ifdef HAVE_STRING_H |
18039 | # include <string.h> | 10969 | # include <string.h> |
18040 | #endif | 10970 | #endif |
18041 | 10971 | ||
18042 | 10972 | " | |
18043 | int | 10973 | if test "x$ac_cv_have_decl_strsep" = xyes; then : |
18044 | main () | 10974 | for ac_func in strsep |
18045 | { | 10975 | do : |
18046 | #ifndef strsep | 10976 | ac_fn_c_check_func "$LINENO" "strsep" "ac_cv_func_strsep" |
18047 | (void) strsep; | 10977 | if test "x$ac_cv_func_strsep" = xyes; then : |
18048 | #endif | ||
18049 | |||
18050 | ; | ||
18051 | return 0; | ||
18052 | } | ||
18053 | _ACEOF | ||
18054 | rm -f conftest.$ac_objext | ||
18055 | if { (ac_try="$ac_compile" | ||
18056 | case "(($ac_try" in | ||
18057 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
18058 | *) ac_try_echo=$ac_try;; | ||
18059 | esac | ||
18060 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
18061 | (eval "$ac_compile") 2>conftest.er1 | ||
18062 | ac_status=$? | ||
18063 | grep -v '^ *+' conftest.er1 >conftest.err | ||
18064 | rm -f conftest.er1 | ||
18065 | cat conftest.err >&5 | ||
18066 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
18067 | (exit $ac_status); } && { | ||
18068 | test -z "$ac_c_werror_flag" || | ||
18069 | test ! -s conftest.err | ||
18070 | } && test -s conftest.$ac_objext; then | ||
18071 | ac_cv_have_decl_strsep=yes | ||
18072 | else | ||
18073 | echo "$as_me: failed program was:" >&5 | ||
18074 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
18075 | |||
18076 | ac_cv_have_decl_strsep=no | ||
18077 | fi | ||
18078 | |||
18079 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
18080 | fi | ||
18081 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strsep" >&5 | ||
18082 | echo "${ECHO_T}$ac_cv_have_decl_strsep" >&6; } | ||
18083 | if test $ac_cv_have_decl_strsep = yes; then | ||
18084 | |||
18085 | for ac_func in strsep | ||
18086 | do | ||
18087 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
18088 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
18089 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
18090 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
18091 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
18092 | else | ||
18093 | cat >conftest.$ac_ext <<_ACEOF | ||
18094 | /* confdefs.h. */ | ||
18095 | _ACEOF | ||
18096 | cat confdefs.h >>conftest.$ac_ext | ||
18097 | cat >>conftest.$ac_ext <<_ACEOF | ||
18098 | /* end confdefs.h. */ | ||
18099 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
18100 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
18101 | #define $ac_func innocuous_$ac_func | ||
18102 | |||
18103 | /* System header to define __stub macros and hopefully few prototypes, | ||
18104 | which can conflict with char $ac_func (); below. | ||
18105 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
18106 | <limits.h> exists even on freestanding compilers. */ | ||
18107 | |||
18108 | #ifdef __STDC__ | ||
18109 | # include <limits.h> | ||
18110 | #else | ||
18111 | # include <assert.h> | ||
18112 | #endif | ||
18113 | |||
18114 | #undef $ac_func | ||
18115 | |||
18116 | /* Override any GCC internal prototype to avoid an error. | ||
18117 | Use char because int might match the return type of a GCC | ||
18118 | builtin and then its argument prototype would still apply. */ | ||
18119 | #ifdef __cplusplus | ||
18120 | extern "C" | ||
18121 | #endif | ||
18122 | char $ac_func (); | ||
18123 | /* The GNU C library defines this for functions which it implements | ||
18124 | to always fail with ENOSYS. Some functions are actually named | ||
18125 | something starting with __ and the normal name is an alias. */ | ||
18126 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
18127 | choke me | ||
18128 | #endif | ||
18129 | |||
18130 | int | ||
18131 | main () | ||
18132 | { | ||
18133 | return $ac_func (); | ||
18134 | ; | ||
18135 | return 0; | ||
18136 | } | ||
18137 | _ACEOF | ||
18138 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
18139 | if { (ac_try="$ac_link" | ||
18140 | case "(($ac_try" in | ||
18141 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
18142 | *) ac_try_echo=$ac_try;; | ||
18143 | esac | ||
18144 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
18145 | (eval "$ac_link") 2>conftest.er1 | ||
18146 | ac_status=$? | ||
18147 | grep -v '^ *+' conftest.er1 >conftest.err | ||
18148 | rm -f conftest.er1 | ||
18149 | cat conftest.err >&5 | ||
18150 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
18151 | (exit $ac_status); } && { | ||
18152 | test -z "$ac_c_werror_flag" || | ||
18153 | test ! -s conftest.err | ||
18154 | } && test -s conftest$ac_exeext && | ||
18155 | $as_test_x conftest$ac_exeext; then | ||
18156 | eval "$as_ac_var=yes" | ||
18157 | else | ||
18158 | echo "$as_me: failed program was:" >&5 | ||
18159 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
18160 | |||
18161 | eval "$as_ac_var=no" | ||
18162 | fi | ||
18163 | |||
18164 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
18165 | conftest$ac_exeext conftest.$ac_ext | ||
18166 | fi | ||
18167 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
18168 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
18169 | echo "${ECHO_T}$ac_res" >&6; } | ||
18170 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
18171 | cat >>confdefs.h <<_ACEOF | 10978 | cat >>confdefs.h <<_ACEOF |
18172 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 10979 | #define HAVE_STRSEP 1 |
18173 | _ACEOF | 10980 | _ACEOF |
18174 | 10981 | ||
18175 | fi | 10982 | fi |
@@ -18178,155 +10985,19 @@ done | |||
18178 | fi | 10985 | fi |
18179 | 10986 | ||
18180 | 10987 | ||
18181 | { echo "$as_me:$LINENO: checking whether tcsendbreak is declared" >&5 | 10988 | ac_fn_c_check_decl "$LINENO" "tcsendbreak" "ac_cv_have_decl_tcsendbreak" "#include <termios.h> |
18182 | echo $ECHO_N "checking whether tcsendbreak is declared... $ECHO_C" >&6; } | ||
18183 | if test "${ac_cv_have_decl_tcsendbreak+set}" = set; then | ||
18184 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
18185 | else | ||
18186 | cat >conftest.$ac_ext <<_ACEOF | ||
18187 | /* confdefs.h. */ | ||
18188 | _ACEOF | ||
18189 | cat confdefs.h >>conftest.$ac_ext | ||
18190 | cat >>conftest.$ac_ext <<_ACEOF | ||
18191 | /* end confdefs.h. */ | ||
18192 | #include <termios.h> | ||
18193 | |||
18194 | |||
18195 | int | ||
18196 | main () | ||
18197 | { | ||
18198 | #ifndef tcsendbreak | ||
18199 | (void) tcsendbreak; | ||
18200 | #endif | ||
18201 | 10989 | ||
18202 | ; | 10990 | " |
18203 | return 0; | 10991 | if test "x$ac_cv_have_decl_tcsendbreak" = xyes; then : |
18204 | } | 10992 | $as_echo "#define HAVE_TCSENDBREAK 1" >>confdefs.h |
18205 | _ACEOF | ||
18206 | rm -f conftest.$ac_objext | ||
18207 | if { (ac_try="$ac_compile" | ||
18208 | case "(($ac_try" in | ||
18209 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
18210 | *) ac_try_echo=$ac_try;; | ||
18211 | esac | ||
18212 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
18213 | (eval "$ac_compile") 2>conftest.er1 | ||
18214 | ac_status=$? | ||
18215 | grep -v '^ *+' conftest.er1 >conftest.err | ||
18216 | rm -f conftest.er1 | ||
18217 | cat conftest.err >&5 | ||
18218 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
18219 | (exit $ac_status); } && { | ||
18220 | test -z "$ac_c_werror_flag" || | ||
18221 | test ! -s conftest.err | ||
18222 | } && test -s conftest.$ac_objext; then | ||
18223 | ac_cv_have_decl_tcsendbreak=yes | ||
18224 | else | ||
18225 | echo "$as_me: failed program was:" >&5 | ||
18226 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
18227 | |||
18228 | ac_cv_have_decl_tcsendbreak=no | ||
18229 | fi | ||
18230 | |||
18231 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
18232 | fi | ||
18233 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_tcsendbreak" >&5 | ||
18234 | echo "${ECHO_T}$ac_cv_have_decl_tcsendbreak" >&6; } | ||
18235 | if test $ac_cv_have_decl_tcsendbreak = yes; then | ||
18236 | cat >>confdefs.h <<\_ACEOF | ||
18237 | #define HAVE_TCSENDBREAK 1 | ||
18238 | _ACEOF | ||
18239 | |||
18240 | else | ||
18241 | |||
18242 | for ac_func in tcsendbreak | ||
18243 | do | ||
18244 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
18245 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
18246 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
18247 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
18248 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
18249 | else | ||
18250 | cat >conftest.$ac_ext <<_ACEOF | ||
18251 | /* confdefs.h. */ | ||
18252 | _ACEOF | ||
18253 | cat confdefs.h >>conftest.$ac_ext | ||
18254 | cat >>conftest.$ac_ext <<_ACEOF | ||
18255 | /* end confdefs.h. */ | ||
18256 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
18257 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
18258 | #define $ac_func innocuous_$ac_func | ||
18259 | |||
18260 | /* System header to define __stub macros and hopefully few prototypes, | ||
18261 | which can conflict with char $ac_func (); below. | ||
18262 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
18263 | <limits.h> exists even on freestanding compilers. */ | ||
18264 | |||
18265 | #ifdef __STDC__ | ||
18266 | # include <limits.h> | ||
18267 | #else | ||
18268 | # include <assert.h> | ||
18269 | #endif | ||
18270 | |||
18271 | #undef $ac_func | ||
18272 | |||
18273 | /* Override any GCC internal prototype to avoid an error. | ||
18274 | Use char because int might match the return type of a GCC | ||
18275 | builtin and then its argument prototype would still apply. */ | ||
18276 | #ifdef __cplusplus | ||
18277 | extern "C" | ||
18278 | #endif | ||
18279 | char $ac_func (); | ||
18280 | /* The GNU C library defines this for functions which it implements | ||
18281 | to always fail with ENOSYS. Some functions are actually named | ||
18282 | something starting with __ and the normal name is an alias. */ | ||
18283 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
18284 | choke me | ||
18285 | #endif | ||
18286 | 10993 | ||
18287 | int | ||
18288 | main () | ||
18289 | { | ||
18290 | return $ac_func (); | ||
18291 | ; | ||
18292 | return 0; | ||
18293 | } | ||
18294 | _ACEOF | ||
18295 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
18296 | if { (ac_try="$ac_link" | ||
18297 | case "(($ac_try" in | ||
18298 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
18299 | *) ac_try_echo=$ac_try;; | ||
18300 | esac | ||
18301 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
18302 | (eval "$ac_link") 2>conftest.er1 | ||
18303 | ac_status=$? | ||
18304 | grep -v '^ *+' conftest.er1 >conftest.err | ||
18305 | rm -f conftest.er1 | ||
18306 | cat conftest.err >&5 | ||
18307 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
18308 | (exit $ac_status); } && { | ||
18309 | test -z "$ac_c_werror_flag" || | ||
18310 | test ! -s conftest.err | ||
18311 | } && test -s conftest$ac_exeext && | ||
18312 | $as_test_x conftest$ac_exeext; then | ||
18313 | eval "$as_ac_var=yes" | ||
18314 | else | 10994 | else |
18315 | echo "$as_me: failed program was:" >&5 | 10995 | for ac_func in tcsendbreak |
18316 | sed 's/^/| /' conftest.$ac_ext >&5 | 10996 | do : |
18317 | 10997 | ac_fn_c_check_func "$LINENO" "tcsendbreak" "ac_cv_func_tcsendbreak" | |
18318 | eval "$as_ac_var=no" | 10998 | if test "x$ac_cv_func_tcsendbreak" = xyes; then : |
18319 | fi | ||
18320 | |||
18321 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
18322 | conftest$ac_exeext conftest.$ac_ext | ||
18323 | fi | ||
18324 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
18325 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
18326 | echo "${ECHO_T}$ac_res" >&6; } | ||
18327 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
18328 | cat >>confdefs.h <<_ACEOF | 10999 | cat >>confdefs.h <<_ACEOF |
18329 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 11000 | #define HAVE_TCSENDBREAK 1 |
18330 | _ACEOF | 11001 | _ACEOF |
18331 | 11002 | ||
18332 | fi | 11003 | fi |
@@ -18335,161 +11006,36 @@ done | |||
18335 | fi | 11006 | fi |
18336 | 11007 | ||
18337 | 11008 | ||
18338 | { echo "$as_me:$LINENO: checking whether h_errno is declared" >&5 | 11009 | ac_fn_c_check_decl "$LINENO" "h_errno" "ac_cv_have_decl_h_errno" "#include <netdb.h> |
18339 | echo $ECHO_N "checking whether h_errno is declared... $ECHO_C" >&6; } | 11010 | " |
18340 | if test "${ac_cv_have_decl_h_errno+set}" = set; then | 11011 | if test "x$ac_cv_have_decl_h_errno" = xyes; then : |
18341 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 11012 | ac_have_decl=1 |
18342 | else | ||
18343 | cat >conftest.$ac_ext <<_ACEOF | ||
18344 | /* confdefs.h. */ | ||
18345 | _ACEOF | ||
18346 | cat confdefs.h >>conftest.$ac_ext | ||
18347 | cat >>conftest.$ac_ext <<_ACEOF | ||
18348 | /* end confdefs.h. */ | ||
18349 | #include <netdb.h> | ||
18350 | |||
18351 | int | ||
18352 | main () | ||
18353 | { | ||
18354 | #ifndef h_errno | ||
18355 | (void) h_errno; | ||
18356 | #endif | ||
18357 | |||
18358 | ; | ||
18359 | return 0; | ||
18360 | } | ||
18361 | _ACEOF | ||
18362 | rm -f conftest.$ac_objext | ||
18363 | if { (ac_try="$ac_compile" | ||
18364 | case "(($ac_try" in | ||
18365 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
18366 | *) ac_try_echo=$ac_try;; | ||
18367 | esac | ||
18368 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
18369 | (eval "$ac_compile") 2>conftest.er1 | ||
18370 | ac_status=$? | ||
18371 | grep -v '^ *+' conftest.er1 >conftest.err | ||
18372 | rm -f conftest.er1 | ||
18373 | cat conftest.err >&5 | ||
18374 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
18375 | (exit $ac_status); } && { | ||
18376 | test -z "$ac_c_werror_flag" || | ||
18377 | test ! -s conftest.err | ||
18378 | } && test -s conftest.$ac_objext; then | ||
18379 | ac_cv_have_decl_h_errno=yes | ||
18380 | else | 11013 | else |
18381 | echo "$as_me: failed program was:" >&5 | 11014 | ac_have_decl=0 |
18382 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
18383 | |||
18384 | ac_cv_have_decl_h_errno=no | ||
18385 | fi | ||
18386 | |||
18387 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
18388 | fi | 11015 | fi |
18389 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_h_errno" >&5 | ||
18390 | echo "${ECHO_T}$ac_cv_have_decl_h_errno" >&6; } | ||
18391 | if test $ac_cv_have_decl_h_errno = yes; then | ||
18392 | 11016 | ||
18393 | cat >>confdefs.h <<_ACEOF | 11017 | cat >>confdefs.h <<_ACEOF |
18394 | #define HAVE_DECL_H_ERRNO 1 | 11018 | #define HAVE_DECL_H_ERRNO $ac_have_decl |
18395 | _ACEOF | 11019 | _ACEOF |
18396 | 11020 | ||
18397 | 11021 | ||
18398 | else | 11022 | ac_fn_c_check_decl "$LINENO" "SHUT_RD" "ac_cv_have_decl_SHUT_RD" " |
18399 | cat >>confdefs.h <<_ACEOF | ||
18400 | #define HAVE_DECL_H_ERRNO 0 | ||
18401 | _ACEOF | ||
18402 | |||
18403 | |||
18404 | fi | ||
18405 | |||
18406 | |||
18407 | |||
18408 | { echo "$as_me:$LINENO: checking whether SHUT_RD is declared" >&5 | ||
18409 | echo $ECHO_N "checking whether SHUT_RD is declared... $ECHO_C" >&6; } | ||
18410 | if test "${ac_cv_have_decl_SHUT_RD+set}" = set; then | ||
18411 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
18412 | else | ||
18413 | cat >conftest.$ac_ext <<_ACEOF | ||
18414 | /* confdefs.h. */ | ||
18415 | _ACEOF | ||
18416 | cat confdefs.h >>conftest.$ac_ext | ||
18417 | cat >>conftest.$ac_ext <<_ACEOF | ||
18418 | /* end confdefs.h. */ | ||
18419 | |||
18420 | #include <sys/types.h> | 11023 | #include <sys/types.h> |
18421 | #include <sys/socket.h> | 11024 | #include <sys/socket.h> |
18422 | 11025 | ||
18423 | 11026 | " | |
18424 | int | 11027 | if test "x$ac_cv_have_decl_SHUT_RD" = xyes; then : |
18425 | main () | 11028 | ac_have_decl=1 |
18426 | { | ||
18427 | #ifndef SHUT_RD | ||
18428 | (void) SHUT_RD; | ||
18429 | #endif | ||
18430 | |||
18431 | ; | ||
18432 | return 0; | ||
18433 | } | ||
18434 | _ACEOF | ||
18435 | rm -f conftest.$ac_objext | ||
18436 | if { (ac_try="$ac_compile" | ||
18437 | case "(($ac_try" in | ||
18438 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
18439 | *) ac_try_echo=$ac_try;; | ||
18440 | esac | ||
18441 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
18442 | (eval "$ac_compile") 2>conftest.er1 | ||
18443 | ac_status=$? | ||
18444 | grep -v '^ *+' conftest.er1 >conftest.err | ||
18445 | rm -f conftest.er1 | ||
18446 | cat conftest.err >&5 | ||
18447 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
18448 | (exit $ac_status); } && { | ||
18449 | test -z "$ac_c_werror_flag" || | ||
18450 | test ! -s conftest.err | ||
18451 | } && test -s conftest.$ac_objext; then | ||
18452 | ac_cv_have_decl_SHUT_RD=yes | ||
18453 | else | 11029 | else |
18454 | echo "$as_me: failed program was:" >&5 | 11030 | ac_have_decl=0 |
18455 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
18456 | |||
18457 | ac_cv_have_decl_SHUT_RD=no | ||
18458 | fi | 11031 | fi |
18459 | 11032 | ||
18460 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
18461 | fi | ||
18462 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_SHUT_RD" >&5 | ||
18463 | echo "${ECHO_T}$ac_cv_have_decl_SHUT_RD" >&6; } | ||
18464 | if test $ac_cv_have_decl_SHUT_RD = yes; then | ||
18465 | |||
18466 | cat >>confdefs.h <<_ACEOF | 11033 | cat >>confdefs.h <<_ACEOF |
18467 | #define HAVE_DECL_SHUT_RD 1 | 11034 | #define HAVE_DECL_SHUT_RD $ac_have_decl |
18468 | _ACEOF | ||
18469 | |||
18470 | |||
18471 | else | ||
18472 | cat >>confdefs.h <<_ACEOF | ||
18473 | #define HAVE_DECL_SHUT_RD 0 | ||
18474 | _ACEOF | 11035 | _ACEOF |
18475 | 11036 | ||
18476 | 11037 | ||
18477 | fi | 11038 | ac_fn_c_check_decl "$LINENO" "O_NONBLOCK" "ac_cv_have_decl_O_NONBLOCK" " |
18478 | |||
18479 | |||
18480 | |||
18481 | { echo "$as_me:$LINENO: checking whether O_NONBLOCK is declared" >&5 | ||
18482 | echo $ECHO_N "checking whether O_NONBLOCK is declared... $ECHO_C" >&6; } | ||
18483 | if test "${ac_cv_have_decl_O_NONBLOCK+set}" = set; then | ||
18484 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
18485 | else | ||
18486 | cat >conftest.$ac_ext <<_ACEOF | ||
18487 | /* confdefs.h. */ | ||
18488 | _ACEOF | ||
18489 | cat confdefs.h >>conftest.$ac_ext | ||
18490 | cat >>conftest.$ac_ext <<_ACEOF | ||
18491 | /* end confdefs.h. */ | ||
18492 | |||
18493 | #include <sys/types.h> | 11039 | #include <sys/types.h> |
18494 | #ifdef HAVE_SYS_STAT_H | 11040 | #ifdef HAVE_SYS_STAT_H |
18495 | # include <sys/stat.h> | 11041 | # include <sys/stat.h> |
@@ -18498,295 +11044,67 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
18498 | # include <fcntl.h> | 11044 | # include <fcntl.h> |
18499 | #endif | 11045 | #endif |
18500 | 11046 | ||
18501 | 11047 | " | |
18502 | int | 11048 | if test "x$ac_cv_have_decl_O_NONBLOCK" = xyes; then : |
18503 | main () | 11049 | ac_have_decl=1 |
18504 | { | ||
18505 | #ifndef O_NONBLOCK | ||
18506 | (void) O_NONBLOCK; | ||
18507 | #endif | ||
18508 | |||
18509 | ; | ||
18510 | return 0; | ||
18511 | } | ||
18512 | _ACEOF | ||
18513 | rm -f conftest.$ac_objext | ||
18514 | if { (ac_try="$ac_compile" | ||
18515 | case "(($ac_try" in | ||
18516 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
18517 | *) ac_try_echo=$ac_try;; | ||
18518 | esac | ||
18519 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
18520 | (eval "$ac_compile") 2>conftest.er1 | ||
18521 | ac_status=$? | ||
18522 | grep -v '^ *+' conftest.er1 >conftest.err | ||
18523 | rm -f conftest.er1 | ||
18524 | cat conftest.err >&5 | ||
18525 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
18526 | (exit $ac_status); } && { | ||
18527 | test -z "$ac_c_werror_flag" || | ||
18528 | test ! -s conftest.err | ||
18529 | } && test -s conftest.$ac_objext; then | ||
18530 | ac_cv_have_decl_O_NONBLOCK=yes | ||
18531 | else | 11050 | else |
18532 | echo "$as_me: failed program was:" >&5 | 11051 | ac_have_decl=0 |
18533 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
18534 | |||
18535 | ac_cv_have_decl_O_NONBLOCK=no | ||
18536 | fi | 11052 | fi |
18537 | 11053 | ||
18538 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
18539 | fi | ||
18540 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_O_NONBLOCK" >&5 | ||
18541 | echo "${ECHO_T}$ac_cv_have_decl_O_NONBLOCK" >&6; } | ||
18542 | if test $ac_cv_have_decl_O_NONBLOCK = yes; then | ||
18543 | |||
18544 | cat >>confdefs.h <<_ACEOF | 11054 | cat >>confdefs.h <<_ACEOF |
18545 | #define HAVE_DECL_O_NONBLOCK 1 | 11055 | #define HAVE_DECL_O_NONBLOCK $ac_have_decl |
18546 | _ACEOF | ||
18547 | |||
18548 | |||
18549 | else | ||
18550 | cat >>confdefs.h <<_ACEOF | ||
18551 | #define HAVE_DECL_O_NONBLOCK 0 | ||
18552 | _ACEOF | 11056 | _ACEOF |
18553 | 11057 | ||
18554 | 11058 | ||
18555 | fi | 11059 | ac_fn_c_check_decl "$LINENO" "writev" "ac_cv_have_decl_writev" " |
18556 | |||
18557 | |||
18558 | |||
18559 | { echo "$as_me:$LINENO: checking whether writev is declared" >&5 | ||
18560 | echo $ECHO_N "checking whether writev is declared... $ECHO_C" >&6; } | ||
18561 | if test "${ac_cv_have_decl_writev+set}" = set; then | ||
18562 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
18563 | else | ||
18564 | cat >conftest.$ac_ext <<_ACEOF | ||
18565 | /* confdefs.h. */ | ||
18566 | _ACEOF | ||
18567 | cat confdefs.h >>conftest.$ac_ext | ||
18568 | cat >>conftest.$ac_ext <<_ACEOF | ||
18569 | /* end confdefs.h. */ | ||
18570 | |||
18571 | #include <sys/types.h> | 11060 | #include <sys/types.h> |
18572 | #include <sys/uio.h> | 11061 | #include <sys/uio.h> |
18573 | #include <unistd.h> | 11062 | #include <unistd.h> |
18574 | 11063 | ||
18575 | 11064 | " | |
18576 | int | 11065 | if test "x$ac_cv_have_decl_writev" = xyes; then : |
18577 | main () | 11066 | ac_have_decl=1 |
18578 | { | ||
18579 | #ifndef writev | ||
18580 | (void) writev; | ||
18581 | #endif | ||
18582 | |||
18583 | ; | ||
18584 | return 0; | ||
18585 | } | ||
18586 | _ACEOF | ||
18587 | rm -f conftest.$ac_objext | ||
18588 | if { (ac_try="$ac_compile" | ||
18589 | case "(($ac_try" in | ||
18590 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
18591 | *) ac_try_echo=$ac_try;; | ||
18592 | esac | ||
18593 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
18594 | (eval "$ac_compile") 2>conftest.er1 | ||
18595 | ac_status=$? | ||
18596 | grep -v '^ *+' conftest.er1 >conftest.err | ||
18597 | rm -f conftest.er1 | ||
18598 | cat conftest.err >&5 | ||
18599 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
18600 | (exit $ac_status); } && { | ||
18601 | test -z "$ac_c_werror_flag" || | ||
18602 | test ! -s conftest.err | ||
18603 | } && test -s conftest.$ac_objext; then | ||
18604 | ac_cv_have_decl_writev=yes | ||
18605 | else | 11067 | else |
18606 | echo "$as_me: failed program was:" >&5 | 11068 | ac_have_decl=0 |
18607 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
18608 | |||
18609 | ac_cv_have_decl_writev=no | ||
18610 | fi | 11069 | fi |
18611 | 11070 | ||
18612 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
18613 | fi | ||
18614 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_writev" >&5 | ||
18615 | echo "${ECHO_T}$ac_cv_have_decl_writev" >&6; } | ||
18616 | if test $ac_cv_have_decl_writev = yes; then | ||
18617 | |||
18618 | cat >>confdefs.h <<_ACEOF | 11071 | cat >>confdefs.h <<_ACEOF |
18619 | #define HAVE_DECL_WRITEV 1 | 11072 | #define HAVE_DECL_WRITEV $ac_have_decl |
18620 | _ACEOF | ||
18621 | |||
18622 | |||
18623 | else | ||
18624 | cat >>confdefs.h <<_ACEOF | ||
18625 | #define HAVE_DECL_WRITEV 0 | ||
18626 | _ACEOF | 11073 | _ACEOF |
18627 | 11074 | ||
18628 | 11075 | ||
18629 | fi | 11076 | ac_fn_c_check_decl "$LINENO" "MAXSYMLINKS" "ac_cv_have_decl_MAXSYMLINKS" " |
18630 | |||
18631 | |||
18632 | |||
18633 | { echo "$as_me:$LINENO: checking whether MAXSYMLINKS is declared" >&5 | ||
18634 | echo $ECHO_N "checking whether MAXSYMLINKS is declared... $ECHO_C" >&6; } | ||
18635 | if test "${ac_cv_have_decl_MAXSYMLINKS+set}" = set; then | ||
18636 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
18637 | else | ||
18638 | cat >conftest.$ac_ext <<_ACEOF | ||
18639 | /* confdefs.h. */ | ||
18640 | _ACEOF | ||
18641 | cat confdefs.h >>conftest.$ac_ext | ||
18642 | cat >>conftest.$ac_ext <<_ACEOF | ||
18643 | /* end confdefs.h. */ | ||
18644 | |||
18645 | #include <sys/param.h> | 11077 | #include <sys/param.h> |
18646 | 11078 | ||
18647 | 11079 | " | |
18648 | int | 11080 | if test "x$ac_cv_have_decl_MAXSYMLINKS" = xyes; then : |
18649 | main () | 11081 | ac_have_decl=1 |
18650 | { | ||
18651 | #ifndef MAXSYMLINKS | ||
18652 | (void) MAXSYMLINKS; | ||
18653 | #endif | ||
18654 | |||
18655 | ; | ||
18656 | return 0; | ||
18657 | } | ||
18658 | _ACEOF | ||
18659 | rm -f conftest.$ac_objext | ||
18660 | if { (ac_try="$ac_compile" | ||
18661 | case "(($ac_try" in | ||
18662 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
18663 | *) ac_try_echo=$ac_try;; | ||
18664 | esac | ||
18665 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
18666 | (eval "$ac_compile") 2>conftest.er1 | ||
18667 | ac_status=$? | ||
18668 | grep -v '^ *+' conftest.er1 >conftest.err | ||
18669 | rm -f conftest.er1 | ||
18670 | cat conftest.err >&5 | ||
18671 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
18672 | (exit $ac_status); } && { | ||
18673 | test -z "$ac_c_werror_flag" || | ||
18674 | test ! -s conftest.err | ||
18675 | } && test -s conftest.$ac_objext; then | ||
18676 | ac_cv_have_decl_MAXSYMLINKS=yes | ||
18677 | else | 11082 | else |
18678 | echo "$as_me: failed program was:" >&5 | 11083 | ac_have_decl=0 |
18679 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
18680 | |||
18681 | ac_cv_have_decl_MAXSYMLINKS=no | ||
18682 | fi | ||
18683 | |||
18684 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
18685 | fi | 11084 | fi |
18686 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_MAXSYMLINKS" >&5 | ||
18687 | echo "${ECHO_T}$ac_cv_have_decl_MAXSYMLINKS" >&6; } | ||
18688 | if test $ac_cv_have_decl_MAXSYMLINKS = yes; then | ||
18689 | 11085 | ||
18690 | cat >>confdefs.h <<_ACEOF | 11086 | cat >>confdefs.h <<_ACEOF |
18691 | #define HAVE_DECL_MAXSYMLINKS 1 | 11087 | #define HAVE_DECL_MAXSYMLINKS $ac_have_decl |
18692 | _ACEOF | 11088 | _ACEOF |
18693 | 11089 | ||
18694 | 11090 | ||
18695 | else | 11091 | ac_fn_c_check_decl "$LINENO" "offsetof" "ac_cv_have_decl_offsetof" " |
18696 | cat >>confdefs.h <<_ACEOF | ||
18697 | #define HAVE_DECL_MAXSYMLINKS 0 | ||
18698 | _ACEOF | ||
18699 | |||
18700 | |||
18701 | fi | ||
18702 | |||
18703 | |||
18704 | |||
18705 | { echo "$as_me:$LINENO: checking whether offsetof is declared" >&5 | ||
18706 | echo $ECHO_N "checking whether offsetof is declared... $ECHO_C" >&6; } | ||
18707 | if test "${ac_cv_have_decl_offsetof+set}" = set; then | ||
18708 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
18709 | else | ||
18710 | cat >conftest.$ac_ext <<_ACEOF | ||
18711 | /* confdefs.h. */ | ||
18712 | _ACEOF | ||
18713 | cat confdefs.h >>conftest.$ac_ext | ||
18714 | cat >>conftest.$ac_ext <<_ACEOF | ||
18715 | /* end confdefs.h. */ | ||
18716 | |||
18717 | #include <stddef.h> | 11092 | #include <stddef.h> |
18718 | 11093 | ||
18719 | 11094 | " | |
18720 | int | 11095 | if test "x$ac_cv_have_decl_offsetof" = xyes; then : |
18721 | main () | 11096 | ac_have_decl=1 |
18722 | { | ||
18723 | #ifndef offsetof | ||
18724 | (void) offsetof; | ||
18725 | #endif | ||
18726 | |||
18727 | ; | ||
18728 | return 0; | ||
18729 | } | ||
18730 | _ACEOF | ||
18731 | rm -f conftest.$ac_objext | ||
18732 | if { (ac_try="$ac_compile" | ||
18733 | case "(($ac_try" in | ||
18734 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
18735 | *) ac_try_echo=$ac_try;; | ||
18736 | esac | ||
18737 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
18738 | (eval "$ac_compile") 2>conftest.er1 | ||
18739 | ac_status=$? | ||
18740 | grep -v '^ *+' conftest.er1 >conftest.err | ||
18741 | rm -f conftest.er1 | ||
18742 | cat conftest.err >&5 | ||
18743 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
18744 | (exit $ac_status); } && { | ||
18745 | test -z "$ac_c_werror_flag" || | ||
18746 | test ! -s conftest.err | ||
18747 | } && test -s conftest.$ac_objext; then | ||
18748 | ac_cv_have_decl_offsetof=yes | ||
18749 | else | 11097 | else |
18750 | echo "$as_me: failed program was:" >&5 | 11098 | ac_have_decl=0 |
18751 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
18752 | |||
18753 | ac_cv_have_decl_offsetof=no | ||
18754 | fi | 11099 | fi |
18755 | 11100 | ||
18756 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
18757 | fi | ||
18758 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_offsetof" >&5 | ||
18759 | echo "${ECHO_T}$ac_cv_have_decl_offsetof" >&6; } | ||
18760 | if test $ac_cv_have_decl_offsetof = yes; then | ||
18761 | |||
18762 | cat >>confdefs.h <<_ACEOF | 11101 | cat >>confdefs.h <<_ACEOF |
18763 | #define HAVE_DECL_OFFSETOF 1 | 11102 | #define HAVE_DECL_OFFSETOF $ac_have_decl |
18764 | _ACEOF | ||
18765 | |||
18766 | |||
18767 | else | ||
18768 | cat >>confdefs.h <<_ACEOF | ||
18769 | #define HAVE_DECL_OFFSETOF 0 | ||
18770 | _ACEOF | 11103 | _ACEOF |
18771 | 11104 | ||
18772 | 11105 | ||
18773 | fi | ||
18774 | |||
18775 | |||
18776 | |||
18777 | # extra bits for select(2) | 11106 | # extra bits for select(2) |
18778 | { echo "$as_me:$LINENO: checking whether howmany is declared" >&5 | 11107 | ac_fn_c_check_decl "$LINENO" "howmany" "ac_cv_have_decl_howmany" " |
18779 | echo $ECHO_N "checking whether howmany is declared... $ECHO_C" >&6; } | ||
18780 | if test "${ac_cv_have_decl_howmany+set}" = set; then | ||
18781 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
18782 | else | ||
18783 | cat >conftest.$ac_ext <<_ACEOF | ||
18784 | /* confdefs.h. */ | ||
18785 | _ACEOF | ||
18786 | cat confdefs.h >>conftest.$ac_ext | ||
18787 | cat >>conftest.$ac_ext <<_ACEOF | ||
18788 | /* end confdefs.h. */ | ||
18789 | |||
18790 | #include <sys/param.h> | 11108 | #include <sys/param.h> |
18791 | #include <sys/types.h> | 11109 | #include <sys/types.h> |
18792 | #ifdef HAVE_SYS_SYSMACROS_H | 11110 | #ifdef HAVE_SYS_SYSMACROS_H |
@@ -18802,73 +11120,17 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
18802 | #include <unistd.h> | 11120 | #include <unistd.h> |
18803 | #endif | 11121 | #endif |
18804 | 11122 | ||
18805 | 11123 | " | |
18806 | int | 11124 | if test "x$ac_cv_have_decl_howmany" = xyes; then : |
18807 | main () | 11125 | ac_have_decl=1 |
18808 | { | ||
18809 | #ifndef howmany | ||
18810 | (void) howmany; | ||
18811 | #endif | ||
18812 | |||
18813 | ; | ||
18814 | return 0; | ||
18815 | } | ||
18816 | _ACEOF | ||
18817 | rm -f conftest.$ac_objext | ||
18818 | if { (ac_try="$ac_compile" | ||
18819 | case "(($ac_try" in | ||
18820 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
18821 | *) ac_try_echo=$ac_try;; | ||
18822 | esac | ||
18823 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
18824 | (eval "$ac_compile") 2>conftest.er1 | ||
18825 | ac_status=$? | ||
18826 | grep -v '^ *+' conftest.er1 >conftest.err | ||
18827 | rm -f conftest.er1 | ||
18828 | cat conftest.err >&5 | ||
18829 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
18830 | (exit $ac_status); } && { | ||
18831 | test -z "$ac_c_werror_flag" || | ||
18832 | test ! -s conftest.err | ||
18833 | } && test -s conftest.$ac_objext; then | ||
18834 | ac_cv_have_decl_howmany=yes | ||
18835 | else | 11126 | else |
18836 | echo "$as_me: failed program was:" >&5 | 11127 | ac_have_decl=0 |
18837 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
18838 | |||
18839 | ac_cv_have_decl_howmany=no | ||
18840 | fi | 11128 | fi |
18841 | 11129 | ||
18842 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
18843 | fi | ||
18844 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_howmany" >&5 | ||
18845 | echo "${ECHO_T}$ac_cv_have_decl_howmany" >&6; } | ||
18846 | if test $ac_cv_have_decl_howmany = yes; then | ||
18847 | |||
18848 | cat >>confdefs.h <<_ACEOF | 11130 | cat >>confdefs.h <<_ACEOF |
18849 | #define HAVE_DECL_HOWMANY 1 | 11131 | #define HAVE_DECL_HOWMANY $ac_have_decl |
18850 | _ACEOF | ||
18851 | |||
18852 | |||
18853 | else | ||
18854 | cat >>confdefs.h <<_ACEOF | ||
18855 | #define HAVE_DECL_HOWMANY 0 | ||
18856 | _ACEOF | 11132 | _ACEOF |
18857 | 11133 | ac_fn_c_check_decl "$LINENO" "NFDBITS" "ac_cv_have_decl_NFDBITS" " | |
18858 | |||
18859 | fi | ||
18860 | { echo "$as_me:$LINENO: checking whether NFDBITS is declared" >&5 | ||
18861 | echo $ECHO_N "checking whether NFDBITS is declared... $ECHO_C" >&6; } | ||
18862 | if test "${ac_cv_have_decl_NFDBITS+set}" = set; then | ||
18863 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
18864 | else | ||
18865 | cat >conftest.$ac_ext <<_ACEOF | ||
18866 | /* confdefs.h. */ | ||
18867 | _ACEOF | ||
18868 | cat confdefs.h >>conftest.$ac_ext | ||
18869 | cat >>conftest.$ac_ext <<_ACEOF | ||
18870 | /* end confdefs.h. */ | ||
18871 | |||
18872 | #include <sys/param.h> | 11134 | #include <sys/param.h> |
18873 | #include <sys/types.h> | 11135 | #include <sys/types.h> |
18874 | #ifdef HAVE_SYS_SYSMACROS_H | 11136 | #ifdef HAVE_SYS_SYSMACROS_H |
@@ -18884,75 +11146,18 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
18884 | #include <unistd.h> | 11146 | #include <unistd.h> |
18885 | #endif | 11147 | #endif |
18886 | 11148 | ||
18887 | 11149 | " | |
18888 | int | 11150 | if test "x$ac_cv_have_decl_NFDBITS" = xyes; then : |
18889 | main () | 11151 | ac_have_decl=1 |
18890 | { | ||
18891 | #ifndef NFDBITS | ||
18892 | (void) NFDBITS; | ||
18893 | #endif | ||
18894 | |||
18895 | ; | ||
18896 | return 0; | ||
18897 | } | ||
18898 | _ACEOF | ||
18899 | rm -f conftest.$ac_objext | ||
18900 | if { (ac_try="$ac_compile" | ||
18901 | case "(($ac_try" in | ||
18902 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
18903 | *) ac_try_echo=$ac_try;; | ||
18904 | esac | ||
18905 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
18906 | (eval "$ac_compile") 2>conftest.er1 | ||
18907 | ac_status=$? | ||
18908 | grep -v '^ *+' conftest.er1 >conftest.err | ||
18909 | rm -f conftest.er1 | ||
18910 | cat conftest.err >&5 | ||
18911 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
18912 | (exit $ac_status); } && { | ||
18913 | test -z "$ac_c_werror_flag" || | ||
18914 | test ! -s conftest.err | ||
18915 | } && test -s conftest.$ac_objext; then | ||
18916 | ac_cv_have_decl_NFDBITS=yes | ||
18917 | else | 11152 | else |
18918 | echo "$as_me: failed program was:" >&5 | 11153 | ac_have_decl=0 |
18919 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
18920 | |||
18921 | ac_cv_have_decl_NFDBITS=no | ||
18922 | fi | ||
18923 | |||
18924 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
18925 | fi | 11154 | fi |
18926 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_NFDBITS" >&5 | ||
18927 | echo "${ECHO_T}$ac_cv_have_decl_NFDBITS" >&6; } | ||
18928 | if test $ac_cv_have_decl_NFDBITS = yes; then | ||
18929 | 11155 | ||
18930 | cat >>confdefs.h <<_ACEOF | 11156 | cat >>confdefs.h <<_ACEOF |
18931 | #define HAVE_DECL_NFDBITS 1 | 11157 | #define HAVE_DECL_NFDBITS $ac_have_decl |
18932 | _ACEOF | ||
18933 | |||
18934 | |||
18935 | else | ||
18936 | cat >>confdefs.h <<_ACEOF | ||
18937 | #define HAVE_DECL_NFDBITS 0 | ||
18938 | _ACEOF | 11158 | _ACEOF |
18939 | 11159 | ||
18940 | 11160 | ac_fn_c_check_type "$LINENO" "fd_mask" "ac_cv_type_fd_mask" " | |
18941 | fi | ||
18942 | |||
18943 | |||
18944 | { echo "$as_me:$LINENO: checking for fd_mask" >&5 | ||
18945 | echo $ECHO_N "checking for fd_mask... $ECHO_C" >&6; } | ||
18946 | if test "${ac_cv_type_fd_mask+set}" = set; then | ||
18947 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
18948 | else | ||
18949 | cat >conftest.$ac_ext <<_ACEOF | ||
18950 | /* confdefs.h. */ | ||
18951 | _ACEOF | ||
18952 | cat confdefs.h >>conftest.$ac_ext | ||
18953 | cat >>conftest.$ac_ext <<_ACEOF | ||
18954 | /* end confdefs.h. */ | ||
18955 | |||
18956 | #include <sys/param.h> | 11161 | #include <sys/param.h> |
18957 | #include <sys/types.h> | 11162 | #include <sys/types.h> |
18958 | #ifdef HAVE_SYS_SELECT_H | 11163 | #ifdef HAVE_SYS_SELECT_H |
@@ -18965,49 +11170,8 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
18965 | #include <unistd.h> | 11170 | #include <unistd.h> |
18966 | #endif | 11171 | #endif |
18967 | 11172 | ||
18968 | 11173 | " | |
18969 | typedef fd_mask ac__type_new_; | 11174 | if test "x$ac_cv_type_fd_mask" = xyes; then : |
18970 | int | ||
18971 | main () | ||
18972 | { | ||
18973 | if ((ac__type_new_ *) 0) | ||
18974 | return 0; | ||
18975 | if (sizeof (ac__type_new_)) | ||
18976 | return 0; | ||
18977 | ; | ||
18978 | return 0; | ||
18979 | } | ||
18980 | _ACEOF | ||
18981 | rm -f conftest.$ac_objext | ||
18982 | if { (ac_try="$ac_compile" | ||
18983 | case "(($ac_try" in | ||
18984 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
18985 | *) ac_try_echo=$ac_try;; | ||
18986 | esac | ||
18987 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
18988 | (eval "$ac_compile") 2>conftest.er1 | ||
18989 | ac_status=$? | ||
18990 | grep -v '^ *+' conftest.er1 >conftest.err | ||
18991 | rm -f conftest.er1 | ||
18992 | cat conftest.err >&5 | ||
18993 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
18994 | (exit $ac_status); } && { | ||
18995 | test -z "$ac_c_werror_flag" || | ||
18996 | test ! -s conftest.err | ||
18997 | } && test -s conftest.$ac_objext; then | ||
18998 | ac_cv_type_fd_mask=yes | ||
18999 | else | ||
19000 | echo "$as_me: failed program was:" >&5 | ||
19001 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
19002 | |||
19003 | ac_cv_type_fd_mask=no | ||
19004 | fi | ||
19005 | |||
19006 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
19007 | fi | ||
19008 | { echo "$as_me:$LINENO: result: $ac_cv_type_fd_mask" >&5 | ||
19009 | echo "${ECHO_T}$ac_cv_type_fd_mask" >&6; } | ||
19010 | if test $ac_cv_type_fd_mask = yes; then | ||
19011 | 11175 | ||
19012 | cat >>confdefs.h <<_ACEOF | 11176 | cat >>confdefs.h <<_ACEOF |
19013 | #define HAVE_FD_MASK 1 | 11177 | #define HAVE_FD_MASK 1 |
@@ -19017,109 +11181,22 @@ _ACEOF | |||
19017 | fi | 11181 | fi |
19018 | 11182 | ||
19019 | 11183 | ||
19020 | |||
19021 | for ac_func in setresuid | 11184 | for ac_func in setresuid |
19022 | do | 11185 | do : |
19023 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 11186 | ac_fn_c_check_func "$LINENO" "setresuid" "ac_cv_func_setresuid" |
19024 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 11187 | if test "x$ac_cv_func_setresuid" = xyes; then : |
19025 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
19026 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
19027 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
19028 | else | ||
19029 | cat >conftest.$ac_ext <<_ACEOF | ||
19030 | /* confdefs.h. */ | ||
19031 | _ACEOF | ||
19032 | cat confdefs.h >>conftest.$ac_ext | ||
19033 | cat >>conftest.$ac_ext <<_ACEOF | ||
19034 | /* end confdefs.h. */ | ||
19035 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
19036 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
19037 | #define $ac_func innocuous_$ac_func | ||
19038 | |||
19039 | /* System header to define __stub macros and hopefully few prototypes, | ||
19040 | which can conflict with char $ac_func (); below. | ||
19041 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
19042 | <limits.h> exists even on freestanding compilers. */ | ||
19043 | |||
19044 | #ifdef __STDC__ | ||
19045 | # include <limits.h> | ||
19046 | #else | ||
19047 | # include <assert.h> | ||
19048 | #endif | ||
19049 | |||
19050 | #undef $ac_func | ||
19051 | |||
19052 | /* Override any GCC internal prototype to avoid an error. | ||
19053 | Use char because int might match the return type of a GCC | ||
19054 | builtin and then its argument prototype would still apply. */ | ||
19055 | #ifdef __cplusplus | ||
19056 | extern "C" | ||
19057 | #endif | ||
19058 | char $ac_func (); | ||
19059 | /* The GNU C library defines this for functions which it implements | ||
19060 | to always fail with ENOSYS. Some functions are actually named | ||
19061 | something starting with __ and the normal name is an alias. */ | ||
19062 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
19063 | choke me | ||
19064 | #endif | ||
19065 | |||
19066 | int | ||
19067 | main () | ||
19068 | { | ||
19069 | return $ac_func (); | ||
19070 | ; | ||
19071 | return 0; | ||
19072 | } | ||
19073 | _ACEOF | ||
19074 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
19075 | if { (ac_try="$ac_link" | ||
19076 | case "(($ac_try" in | ||
19077 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19078 | *) ac_try_echo=$ac_try;; | ||
19079 | esac | ||
19080 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19081 | (eval "$ac_link") 2>conftest.er1 | ||
19082 | ac_status=$? | ||
19083 | grep -v '^ *+' conftest.er1 >conftest.err | ||
19084 | rm -f conftest.er1 | ||
19085 | cat conftest.err >&5 | ||
19086 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19087 | (exit $ac_status); } && { | ||
19088 | test -z "$ac_c_werror_flag" || | ||
19089 | test ! -s conftest.err | ||
19090 | } && test -s conftest$ac_exeext && | ||
19091 | $as_test_x conftest$ac_exeext; then | ||
19092 | eval "$as_ac_var=yes" | ||
19093 | else | ||
19094 | echo "$as_me: failed program was:" >&5 | ||
19095 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
19096 | |||
19097 | eval "$as_ac_var=no" | ||
19098 | fi | ||
19099 | |||
19100 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
19101 | conftest$ac_exeext conftest.$ac_ext | ||
19102 | fi | ||
19103 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
19104 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
19105 | echo "${ECHO_T}$ac_res" >&6; } | ||
19106 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
19107 | cat >>confdefs.h <<_ACEOF | 11188 | cat >>confdefs.h <<_ACEOF |
19108 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 11189 | #define HAVE_SETRESUID 1 |
19109 | _ACEOF | 11190 | _ACEOF |
19110 | 11191 | ||
19111 | { echo "$as_me:$LINENO: checking if setresuid seems to work" >&5 | 11192 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setresuid seems to work" >&5 |
19112 | echo $ECHO_N "checking if setresuid seems to work... $ECHO_C" >&6; } | 11193 | $as_echo_n "checking if setresuid seems to work... " >&6; } |
19113 | if test "$cross_compiling" = yes; then | 11194 | if test "$cross_compiling" = yes; then : |
19114 | { echo "$as_me:$LINENO: WARNING: cross compiling: not checking setresuid" >&5 | 11195 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking setresuid" >&5 |
19115 | echo "$as_me: WARNING: cross compiling: not checking setresuid" >&2;} | 11196 | $as_echo "$as_me: WARNING: cross compiling: not checking setresuid" >&2;} |
19116 | 11197 | ||
19117 | else | 11198 | else |
19118 | cat >conftest.$ac_ext <<_ACEOF | 11199 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
19119 | /* confdefs.h. */ | ||
19120 | _ACEOF | ||
19121 | cat confdefs.h >>conftest.$ac_ext | ||
19122 | cat >>conftest.$ac_ext <<_ACEOF | ||
19123 | /* end confdefs.h. */ | 11200 | /* end confdefs.h. */ |
19124 | 11201 | ||
19125 | #include <stdlib.h> | 11202 | #include <stdlib.h> |
@@ -19140,154 +11217,41 @@ main () | |||
19140 | return 0; | 11217 | return 0; |
19141 | } | 11218 | } |
19142 | _ACEOF | 11219 | _ACEOF |
19143 | rm -f conftest$ac_exeext | 11220 | if ac_fn_c_try_run "$LINENO"; then : |
19144 | if { (ac_try="$ac_link" | 11221 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
19145 | case "(($ac_try" in | 11222 | $as_echo "yes" >&6; } |
19146 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19147 | *) ac_try_echo=$ac_try;; | ||
19148 | esac | ||
19149 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19150 | (eval "$ac_link") 2>&5 | ||
19151 | ac_status=$? | ||
19152 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19153 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
19154 | { (case "(($ac_try" in | ||
19155 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19156 | *) ac_try_echo=$ac_try;; | ||
19157 | esac | ||
19158 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19159 | (eval "$ac_try") 2>&5 | ||
19160 | ac_status=$? | ||
19161 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19162 | (exit $ac_status); }; }; then | ||
19163 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
19164 | echo "${ECHO_T}yes" >&6; } | ||
19165 | else | 11223 | else |
19166 | echo "$as_me: program exited with status $ac_status" >&5 | ||
19167 | echo "$as_me: failed program was:" >&5 | ||
19168 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
19169 | 11224 | ||
19170 | ( exit $ac_status ) | 11225 | $as_echo "#define BROKEN_SETRESUID 1" >>confdefs.h |
19171 | 11226 | ||
19172 | cat >>confdefs.h <<\_ACEOF | 11227 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: not implemented" >&5 |
19173 | #define BROKEN_SETRESUID 1 | 11228 | $as_echo "not implemented" >&6; } |
19174 | _ACEOF | ||
19175 | |||
19176 | { echo "$as_me:$LINENO: result: not implemented" >&5 | ||
19177 | echo "${ECHO_T}not implemented" >&6; } | ||
19178 | fi | 11229 | fi |
19179 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 11230 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
11231 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
19180 | fi | 11232 | fi |
19181 | 11233 | ||
19182 | 11234 | ||
19183 | |||
19184 | fi | 11235 | fi |
19185 | done | 11236 | done |
19186 | 11237 | ||
19187 | 11238 | ||
19188 | |||
19189 | for ac_func in setresgid | 11239 | for ac_func in setresgid |
19190 | do | 11240 | do : |
19191 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 11241 | ac_fn_c_check_func "$LINENO" "setresgid" "ac_cv_func_setresgid" |
19192 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 11242 | if test "x$ac_cv_func_setresgid" = xyes; then : |
19193 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
19194 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
19195 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
19196 | else | ||
19197 | cat >conftest.$ac_ext <<_ACEOF | ||
19198 | /* confdefs.h. */ | ||
19199 | _ACEOF | ||
19200 | cat confdefs.h >>conftest.$ac_ext | ||
19201 | cat >>conftest.$ac_ext <<_ACEOF | ||
19202 | /* end confdefs.h. */ | ||
19203 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
19204 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
19205 | #define $ac_func innocuous_$ac_func | ||
19206 | |||
19207 | /* System header to define __stub macros and hopefully few prototypes, | ||
19208 | which can conflict with char $ac_func (); below. | ||
19209 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
19210 | <limits.h> exists even on freestanding compilers. */ | ||
19211 | |||
19212 | #ifdef __STDC__ | ||
19213 | # include <limits.h> | ||
19214 | #else | ||
19215 | # include <assert.h> | ||
19216 | #endif | ||
19217 | |||
19218 | #undef $ac_func | ||
19219 | |||
19220 | /* Override any GCC internal prototype to avoid an error. | ||
19221 | Use char because int might match the return type of a GCC | ||
19222 | builtin and then its argument prototype would still apply. */ | ||
19223 | #ifdef __cplusplus | ||
19224 | extern "C" | ||
19225 | #endif | ||
19226 | char $ac_func (); | ||
19227 | /* The GNU C library defines this for functions which it implements | ||
19228 | to always fail with ENOSYS. Some functions are actually named | ||
19229 | something starting with __ and the normal name is an alias. */ | ||
19230 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
19231 | choke me | ||
19232 | #endif | ||
19233 | |||
19234 | int | ||
19235 | main () | ||
19236 | { | ||
19237 | return $ac_func (); | ||
19238 | ; | ||
19239 | return 0; | ||
19240 | } | ||
19241 | _ACEOF | ||
19242 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
19243 | if { (ac_try="$ac_link" | ||
19244 | case "(($ac_try" in | ||
19245 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19246 | *) ac_try_echo=$ac_try;; | ||
19247 | esac | ||
19248 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19249 | (eval "$ac_link") 2>conftest.er1 | ||
19250 | ac_status=$? | ||
19251 | grep -v '^ *+' conftest.er1 >conftest.err | ||
19252 | rm -f conftest.er1 | ||
19253 | cat conftest.err >&5 | ||
19254 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19255 | (exit $ac_status); } && { | ||
19256 | test -z "$ac_c_werror_flag" || | ||
19257 | test ! -s conftest.err | ||
19258 | } && test -s conftest$ac_exeext && | ||
19259 | $as_test_x conftest$ac_exeext; then | ||
19260 | eval "$as_ac_var=yes" | ||
19261 | else | ||
19262 | echo "$as_me: failed program was:" >&5 | ||
19263 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
19264 | |||
19265 | eval "$as_ac_var=no" | ||
19266 | fi | ||
19267 | |||
19268 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
19269 | conftest$ac_exeext conftest.$ac_ext | ||
19270 | fi | ||
19271 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
19272 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
19273 | echo "${ECHO_T}$ac_res" >&6; } | ||
19274 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
19275 | cat >>confdefs.h <<_ACEOF | 11243 | cat >>confdefs.h <<_ACEOF |
19276 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 11244 | #define HAVE_SETRESGID 1 |
19277 | _ACEOF | 11245 | _ACEOF |
19278 | 11246 | ||
19279 | { echo "$as_me:$LINENO: checking if setresgid seems to work" >&5 | 11247 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setresgid seems to work" >&5 |
19280 | echo $ECHO_N "checking if setresgid seems to work... $ECHO_C" >&6; } | 11248 | $as_echo_n "checking if setresgid seems to work... " >&6; } |
19281 | if test "$cross_compiling" = yes; then | 11249 | if test "$cross_compiling" = yes; then : |
19282 | { echo "$as_me:$LINENO: WARNING: cross compiling: not checking setresuid" >&5 | 11250 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking setresuid" >&5 |
19283 | echo "$as_me: WARNING: cross compiling: not checking setresuid" >&2;} | 11251 | $as_echo "$as_me: WARNING: cross compiling: not checking setresuid" >&2;} |
19284 | 11252 | ||
19285 | else | 11253 | else |
19286 | cat >conftest.$ac_ext <<_ACEOF | 11254 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
19287 | /* confdefs.h. */ | ||
19288 | _ACEOF | ||
19289 | cat confdefs.h >>conftest.$ac_ext | ||
19290 | cat >>conftest.$ac_ext <<_ACEOF | ||
19291 | /* end confdefs.h. */ | 11255 | /* end confdefs.h. */ |
19292 | 11256 | ||
19293 | #include <stdlib.h> | 11257 | #include <stdlib.h> |
@@ -19308,154 +11272,41 @@ main () | |||
19308 | return 0; | 11272 | return 0; |
19309 | } | 11273 | } |
19310 | _ACEOF | 11274 | _ACEOF |
19311 | rm -f conftest$ac_exeext | 11275 | if ac_fn_c_try_run "$LINENO"; then : |
19312 | if { (ac_try="$ac_link" | 11276 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
19313 | case "(($ac_try" in | 11277 | $as_echo "yes" >&6; } |
19314 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19315 | *) ac_try_echo=$ac_try;; | ||
19316 | esac | ||
19317 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19318 | (eval "$ac_link") 2>&5 | ||
19319 | ac_status=$? | ||
19320 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19321 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
19322 | { (case "(($ac_try" in | ||
19323 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19324 | *) ac_try_echo=$ac_try;; | ||
19325 | esac | ||
19326 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19327 | (eval "$ac_try") 2>&5 | ||
19328 | ac_status=$? | ||
19329 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19330 | (exit $ac_status); }; }; then | ||
19331 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
19332 | echo "${ECHO_T}yes" >&6; } | ||
19333 | else | 11278 | else |
19334 | echo "$as_me: program exited with status $ac_status" >&5 | ||
19335 | echo "$as_me: failed program was:" >&5 | ||
19336 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
19337 | 11279 | ||
19338 | ( exit $ac_status ) | 11280 | $as_echo "#define BROKEN_SETRESGID 1" >>confdefs.h |
19339 | 11281 | ||
19340 | cat >>confdefs.h <<\_ACEOF | 11282 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: not implemented" >&5 |
19341 | #define BROKEN_SETRESGID 1 | 11283 | $as_echo "not implemented" >&6; } |
19342 | _ACEOF | ||
19343 | |||
19344 | { echo "$as_me:$LINENO: result: not implemented" >&5 | ||
19345 | echo "${ECHO_T}not implemented" >&6; } | ||
19346 | fi | 11284 | fi |
19347 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 11285 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
11286 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
19348 | fi | 11287 | fi |
19349 | 11288 | ||
19350 | 11289 | ||
19351 | |||
19352 | fi | 11290 | fi |
19353 | done | 11291 | done |
19354 | 11292 | ||
19355 | 11293 | ||
19356 | |||
19357 | for ac_func in realpath | 11294 | for ac_func in realpath |
19358 | do | 11295 | do : |
19359 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 11296 | ac_fn_c_check_func "$LINENO" "realpath" "ac_cv_func_realpath" |
19360 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 11297 | if test "x$ac_cv_func_realpath" = xyes; then : |
19361 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
19362 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
19363 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
19364 | else | ||
19365 | cat >conftest.$ac_ext <<_ACEOF | ||
19366 | /* confdefs.h. */ | ||
19367 | _ACEOF | ||
19368 | cat confdefs.h >>conftest.$ac_ext | ||
19369 | cat >>conftest.$ac_ext <<_ACEOF | ||
19370 | /* end confdefs.h. */ | ||
19371 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
19372 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
19373 | #define $ac_func innocuous_$ac_func | ||
19374 | |||
19375 | /* System header to define __stub macros and hopefully few prototypes, | ||
19376 | which can conflict with char $ac_func (); below. | ||
19377 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
19378 | <limits.h> exists even on freestanding compilers. */ | ||
19379 | |||
19380 | #ifdef __STDC__ | ||
19381 | # include <limits.h> | ||
19382 | #else | ||
19383 | # include <assert.h> | ||
19384 | #endif | ||
19385 | |||
19386 | #undef $ac_func | ||
19387 | |||
19388 | /* Override any GCC internal prototype to avoid an error. | ||
19389 | Use char because int might match the return type of a GCC | ||
19390 | builtin and then its argument prototype would still apply. */ | ||
19391 | #ifdef __cplusplus | ||
19392 | extern "C" | ||
19393 | #endif | ||
19394 | char $ac_func (); | ||
19395 | /* The GNU C library defines this for functions which it implements | ||
19396 | to always fail with ENOSYS. Some functions are actually named | ||
19397 | something starting with __ and the normal name is an alias. */ | ||
19398 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
19399 | choke me | ||
19400 | #endif | ||
19401 | |||
19402 | int | ||
19403 | main () | ||
19404 | { | ||
19405 | return $ac_func (); | ||
19406 | ; | ||
19407 | return 0; | ||
19408 | } | ||
19409 | _ACEOF | ||
19410 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
19411 | if { (ac_try="$ac_link" | ||
19412 | case "(($ac_try" in | ||
19413 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19414 | *) ac_try_echo=$ac_try;; | ||
19415 | esac | ||
19416 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19417 | (eval "$ac_link") 2>conftest.er1 | ||
19418 | ac_status=$? | ||
19419 | grep -v '^ *+' conftest.er1 >conftest.err | ||
19420 | rm -f conftest.er1 | ||
19421 | cat conftest.err >&5 | ||
19422 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19423 | (exit $ac_status); } && { | ||
19424 | test -z "$ac_c_werror_flag" || | ||
19425 | test ! -s conftest.err | ||
19426 | } && test -s conftest$ac_exeext && | ||
19427 | $as_test_x conftest$ac_exeext; then | ||
19428 | eval "$as_ac_var=yes" | ||
19429 | else | ||
19430 | echo "$as_me: failed program was:" >&5 | ||
19431 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
19432 | |||
19433 | eval "$as_ac_var=no" | ||
19434 | fi | ||
19435 | |||
19436 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
19437 | conftest$ac_exeext conftest.$ac_ext | ||
19438 | fi | ||
19439 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
19440 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
19441 | echo "${ECHO_T}$ac_res" >&6; } | ||
19442 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
19443 | cat >>confdefs.h <<_ACEOF | 11298 | cat >>confdefs.h <<_ACEOF |
19444 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 11299 | #define HAVE_REALPATH 1 |
19445 | _ACEOF | 11300 | _ACEOF |
19446 | 11301 | ||
19447 | { echo "$as_me:$LINENO: checking if realpath works with non-existent files" >&5 | 11302 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if realpath works with non-existent files" >&5 |
19448 | echo $ECHO_N "checking if realpath works with non-existent files... $ECHO_C" >&6; } | 11303 | $as_echo_n "checking if realpath works with non-existent files... " >&6; } |
19449 | if test "$cross_compiling" = yes; then | 11304 | if test "$cross_compiling" = yes; then : |
19450 | { echo "$as_me:$LINENO: WARNING: cross compiling: assuming working" >&5 | 11305 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming working" >&5 |
19451 | echo "$as_me: WARNING: cross compiling: assuming working" >&2;} | 11306 | $as_echo "$as_me: WARNING: cross compiling: assuming working" >&2;} |
19452 | 11307 | ||
19453 | else | 11308 | else |
19454 | cat >conftest.$ac_ext <<_ACEOF | 11309 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
19455 | /* confdefs.h. */ | ||
19456 | _ACEOF | ||
19457 | cat confdefs.h >>conftest.$ac_ext | ||
19458 | cat >>conftest.$ac_ext <<_ACEOF | ||
19459 | /* end confdefs.h. */ | 11310 | /* end confdefs.h. */ |
19460 | 11311 | ||
19461 | #include <limits.h> | 11312 | #include <limits.h> |
@@ -19476,729 +11327,110 @@ main () | |||
19476 | return 0; | 11327 | return 0; |
19477 | } | 11328 | } |
19478 | _ACEOF | 11329 | _ACEOF |
19479 | rm -f conftest$ac_exeext | 11330 | if ac_fn_c_try_run "$LINENO"; then : |
19480 | if { (ac_try="$ac_link" | 11331 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
19481 | case "(($ac_try" in | 11332 | $as_echo "yes" >&6; } |
19482 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19483 | *) ac_try_echo=$ac_try;; | ||
19484 | esac | ||
19485 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19486 | (eval "$ac_link") 2>&5 | ||
19487 | ac_status=$? | ||
19488 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19489 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
19490 | { (case "(($ac_try" in | ||
19491 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19492 | *) ac_try_echo=$ac_try;; | ||
19493 | esac | ||
19494 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19495 | (eval "$ac_try") 2>&5 | ||
19496 | ac_status=$? | ||
19497 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19498 | (exit $ac_status); }; }; then | ||
19499 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
19500 | echo "${ECHO_T}yes" >&6; } | ||
19501 | else | 11333 | else |
19502 | echo "$as_me: program exited with status $ac_status" >&5 | ||
19503 | echo "$as_me: failed program was:" >&5 | ||
19504 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
19505 | |||
19506 | ( exit $ac_status ) | ||
19507 | 11334 | ||
19508 | cat >>confdefs.h <<\_ACEOF | 11335 | $as_echo "#define BROKEN_REALPATH 1" >>confdefs.h |
19509 | #define BROKEN_REALPATH 1 | ||
19510 | _ACEOF | ||
19511 | 11336 | ||
19512 | { echo "$as_me:$LINENO: result: no" >&5 | 11337 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
19513 | echo "${ECHO_T}no" >&6; } | 11338 | $as_echo "no" >&6; } |
19514 | fi | 11339 | fi |
19515 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 11340 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
11341 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
19516 | fi | 11342 | fi |
19517 | 11343 | ||
19518 | 11344 | ||
19519 | |||
19520 | fi | 11345 | fi |
19521 | done | 11346 | done |
19522 | 11347 | ||
19523 | 11348 | ||
19524 | |||
19525 | |||
19526 | for ac_func in gettimeofday time | 11349 | for ac_func in gettimeofday time |
19527 | do | 11350 | do : |
19528 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 11351 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
19529 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 11352 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
19530 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | 11353 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
19531 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
19532 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
19533 | else | ||
19534 | cat >conftest.$ac_ext <<_ACEOF | ||
19535 | /* confdefs.h. */ | ||
19536 | _ACEOF | ||
19537 | cat confdefs.h >>conftest.$ac_ext | ||
19538 | cat >>conftest.$ac_ext <<_ACEOF | ||
19539 | /* end confdefs.h. */ | ||
19540 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
19541 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
19542 | #define $ac_func innocuous_$ac_func | ||
19543 | |||
19544 | /* System header to define __stub macros and hopefully few prototypes, | ||
19545 | which can conflict with char $ac_func (); below. | ||
19546 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
19547 | <limits.h> exists even on freestanding compilers. */ | ||
19548 | |||
19549 | #ifdef __STDC__ | ||
19550 | # include <limits.h> | ||
19551 | #else | ||
19552 | # include <assert.h> | ||
19553 | #endif | ||
19554 | |||
19555 | #undef $ac_func | ||
19556 | |||
19557 | /* Override any GCC internal prototype to avoid an error. | ||
19558 | Use char because int might match the return type of a GCC | ||
19559 | builtin and then its argument prototype would still apply. */ | ||
19560 | #ifdef __cplusplus | ||
19561 | extern "C" | ||
19562 | #endif | ||
19563 | char $ac_func (); | ||
19564 | /* The GNU C library defines this for functions which it implements | ||
19565 | to always fail with ENOSYS. Some functions are actually named | ||
19566 | something starting with __ and the normal name is an alias. */ | ||
19567 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
19568 | choke me | ||
19569 | #endif | ||
19570 | |||
19571 | int | ||
19572 | main () | ||
19573 | { | ||
19574 | return $ac_func (); | ||
19575 | ; | ||
19576 | return 0; | ||
19577 | } | ||
19578 | _ACEOF | ||
19579 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
19580 | if { (ac_try="$ac_link" | ||
19581 | case "(($ac_try" in | ||
19582 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19583 | *) ac_try_echo=$ac_try;; | ||
19584 | esac | ||
19585 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19586 | (eval "$ac_link") 2>conftest.er1 | ||
19587 | ac_status=$? | ||
19588 | grep -v '^ *+' conftest.er1 >conftest.err | ||
19589 | rm -f conftest.er1 | ||
19590 | cat conftest.err >&5 | ||
19591 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19592 | (exit $ac_status); } && { | ||
19593 | test -z "$ac_c_werror_flag" || | ||
19594 | test ! -s conftest.err | ||
19595 | } && test -s conftest$ac_exeext && | ||
19596 | $as_test_x conftest$ac_exeext; then | ||
19597 | eval "$as_ac_var=yes" | ||
19598 | else | ||
19599 | echo "$as_me: failed program was:" >&5 | ||
19600 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
19601 | |||
19602 | eval "$as_ac_var=no" | ||
19603 | fi | ||
19604 | |||
19605 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
19606 | conftest$ac_exeext conftest.$ac_ext | ||
19607 | fi | ||
19608 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
19609 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
19610 | echo "${ECHO_T}$ac_res" >&6; } | ||
19611 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
19612 | cat >>confdefs.h <<_ACEOF | 11354 | cat >>confdefs.h <<_ACEOF |
19613 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 11355 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
19614 | _ACEOF | 11356 | _ACEOF |
19615 | 11357 | ||
19616 | fi | 11358 | fi |
19617 | done | 11359 | done |
19618 | 11360 | ||
19619 | |||
19620 | |||
19621 | |||
19622 | |||
19623 | |||
19624 | |||
19625 | for ac_func in endutent getutent getutid getutline pututline setutent | 11361 | for ac_func in endutent getutent getutid getutline pututline setutent |
19626 | do | 11362 | do : |
19627 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 11363 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
19628 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 11364 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
19629 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | 11365 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
19630 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
19631 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
19632 | else | ||
19633 | cat >conftest.$ac_ext <<_ACEOF | ||
19634 | /* confdefs.h. */ | ||
19635 | _ACEOF | ||
19636 | cat confdefs.h >>conftest.$ac_ext | ||
19637 | cat >>conftest.$ac_ext <<_ACEOF | ||
19638 | /* end confdefs.h. */ | ||
19639 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
19640 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
19641 | #define $ac_func innocuous_$ac_func | ||
19642 | |||
19643 | /* System header to define __stub macros and hopefully few prototypes, | ||
19644 | which can conflict with char $ac_func (); below. | ||
19645 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
19646 | <limits.h> exists even on freestanding compilers. */ | ||
19647 | |||
19648 | #ifdef __STDC__ | ||
19649 | # include <limits.h> | ||
19650 | #else | ||
19651 | # include <assert.h> | ||
19652 | #endif | ||
19653 | |||
19654 | #undef $ac_func | ||
19655 | |||
19656 | /* Override any GCC internal prototype to avoid an error. | ||
19657 | Use char because int might match the return type of a GCC | ||
19658 | builtin and then its argument prototype would still apply. */ | ||
19659 | #ifdef __cplusplus | ||
19660 | extern "C" | ||
19661 | #endif | ||
19662 | char $ac_func (); | ||
19663 | /* The GNU C library defines this for functions which it implements | ||
19664 | to always fail with ENOSYS. Some functions are actually named | ||
19665 | something starting with __ and the normal name is an alias. */ | ||
19666 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
19667 | choke me | ||
19668 | #endif | ||
19669 | |||
19670 | int | ||
19671 | main () | ||
19672 | { | ||
19673 | return $ac_func (); | ||
19674 | ; | ||
19675 | return 0; | ||
19676 | } | ||
19677 | _ACEOF | ||
19678 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
19679 | if { (ac_try="$ac_link" | ||
19680 | case "(($ac_try" in | ||
19681 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19682 | *) ac_try_echo=$ac_try;; | ||
19683 | esac | ||
19684 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19685 | (eval "$ac_link") 2>conftest.er1 | ||
19686 | ac_status=$? | ||
19687 | grep -v '^ *+' conftest.er1 >conftest.err | ||
19688 | rm -f conftest.er1 | ||
19689 | cat conftest.err >&5 | ||
19690 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19691 | (exit $ac_status); } && { | ||
19692 | test -z "$ac_c_werror_flag" || | ||
19693 | test ! -s conftest.err | ||
19694 | } && test -s conftest$ac_exeext && | ||
19695 | $as_test_x conftest$ac_exeext; then | ||
19696 | eval "$as_ac_var=yes" | ||
19697 | else | ||
19698 | echo "$as_me: failed program was:" >&5 | ||
19699 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
19700 | |||
19701 | eval "$as_ac_var=no" | ||
19702 | fi | ||
19703 | |||
19704 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
19705 | conftest$ac_exeext conftest.$ac_ext | ||
19706 | fi | ||
19707 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
19708 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
19709 | echo "${ECHO_T}$ac_res" >&6; } | ||
19710 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
19711 | cat >>confdefs.h <<_ACEOF | 11366 | cat >>confdefs.h <<_ACEOF |
19712 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 11367 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
19713 | _ACEOF | 11368 | _ACEOF |
19714 | 11369 | ||
19715 | fi | 11370 | fi |
19716 | done | 11371 | done |
19717 | 11372 | ||
19718 | |||
19719 | for ac_func in utmpname | 11373 | for ac_func in utmpname |
19720 | do | 11374 | do : |
19721 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 11375 | ac_fn_c_check_func "$LINENO" "utmpname" "ac_cv_func_utmpname" |
19722 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 11376 | if test "x$ac_cv_func_utmpname" = xyes; then : |
19723 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
19724 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
19725 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
19726 | else | ||
19727 | cat >conftest.$ac_ext <<_ACEOF | ||
19728 | /* confdefs.h. */ | ||
19729 | _ACEOF | ||
19730 | cat confdefs.h >>conftest.$ac_ext | ||
19731 | cat >>conftest.$ac_ext <<_ACEOF | ||
19732 | /* end confdefs.h. */ | ||
19733 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
19734 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
19735 | #define $ac_func innocuous_$ac_func | ||
19736 | |||
19737 | /* System header to define __stub macros and hopefully few prototypes, | ||
19738 | which can conflict with char $ac_func (); below. | ||
19739 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
19740 | <limits.h> exists even on freestanding compilers. */ | ||
19741 | |||
19742 | #ifdef __STDC__ | ||
19743 | # include <limits.h> | ||
19744 | #else | ||
19745 | # include <assert.h> | ||
19746 | #endif | ||
19747 | |||
19748 | #undef $ac_func | ||
19749 | |||
19750 | /* Override any GCC internal prototype to avoid an error. | ||
19751 | Use char because int might match the return type of a GCC | ||
19752 | builtin and then its argument prototype would still apply. */ | ||
19753 | #ifdef __cplusplus | ||
19754 | extern "C" | ||
19755 | #endif | ||
19756 | char $ac_func (); | ||
19757 | /* The GNU C library defines this for functions which it implements | ||
19758 | to always fail with ENOSYS. Some functions are actually named | ||
19759 | something starting with __ and the normal name is an alias. */ | ||
19760 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
19761 | choke me | ||
19762 | #endif | ||
19763 | |||
19764 | int | ||
19765 | main () | ||
19766 | { | ||
19767 | return $ac_func (); | ||
19768 | ; | ||
19769 | return 0; | ||
19770 | } | ||
19771 | _ACEOF | ||
19772 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
19773 | if { (ac_try="$ac_link" | ||
19774 | case "(($ac_try" in | ||
19775 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19776 | *) ac_try_echo=$ac_try;; | ||
19777 | esac | ||
19778 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19779 | (eval "$ac_link") 2>conftest.er1 | ||
19780 | ac_status=$? | ||
19781 | grep -v '^ *+' conftest.er1 >conftest.err | ||
19782 | rm -f conftest.er1 | ||
19783 | cat conftest.err >&5 | ||
19784 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19785 | (exit $ac_status); } && { | ||
19786 | test -z "$ac_c_werror_flag" || | ||
19787 | test ! -s conftest.err | ||
19788 | } && test -s conftest$ac_exeext && | ||
19789 | $as_test_x conftest$ac_exeext; then | ||
19790 | eval "$as_ac_var=yes" | ||
19791 | else | ||
19792 | echo "$as_me: failed program was:" >&5 | ||
19793 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
19794 | |||
19795 | eval "$as_ac_var=no" | ||
19796 | fi | ||
19797 | |||
19798 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
19799 | conftest$ac_exeext conftest.$ac_ext | ||
19800 | fi | ||
19801 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
19802 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
19803 | echo "${ECHO_T}$ac_res" >&6; } | ||
19804 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
19805 | cat >>confdefs.h <<_ACEOF | 11377 | cat >>confdefs.h <<_ACEOF |
19806 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 11378 | #define HAVE_UTMPNAME 1 |
19807 | _ACEOF | 11379 | _ACEOF |
19808 | 11380 | ||
19809 | fi | 11381 | fi |
19810 | done | 11382 | done |
19811 | 11383 | ||
19812 | |||
19813 | |||
19814 | |||
19815 | |||
19816 | |||
19817 | |||
19818 | for ac_func in endutxent getutxent getutxid getutxline getutxuser pututxline | 11384 | for ac_func in endutxent getutxent getutxid getutxline getutxuser pututxline |
19819 | do | 11385 | do : |
19820 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 11386 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
19821 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 11387 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
19822 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | 11388 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
19823 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
19824 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
19825 | else | ||
19826 | cat >conftest.$ac_ext <<_ACEOF | ||
19827 | /* confdefs.h. */ | ||
19828 | _ACEOF | ||
19829 | cat confdefs.h >>conftest.$ac_ext | ||
19830 | cat >>conftest.$ac_ext <<_ACEOF | ||
19831 | /* end confdefs.h. */ | ||
19832 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
19833 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
19834 | #define $ac_func innocuous_$ac_func | ||
19835 | |||
19836 | /* System header to define __stub macros and hopefully few prototypes, | ||
19837 | which can conflict with char $ac_func (); below. | ||
19838 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
19839 | <limits.h> exists even on freestanding compilers. */ | ||
19840 | |||
19841 | #ifdef __STDC__ | ||
19842 | # include <limits.h> | ||
19843 | #else | ||
19844 | # include <assert.h> | ||
19845 | #endif | ||
19846 | |||
19847 | #undef $ac_func | ||
19848 | |||
19849 | /* Override any GCC internal prototype to avoid an error. | ||
19850 | Use char because int might match the return type of a GCC | ||
19851 | builtin and then its argument prototype would still apply. */ | ||
19852 | #ifdef __cplusplus | ||
19853 | extern "C" | ||
19854 | #endif | ||
19855 | char $ac_func (); | ||
19856 | /* The GNU C library defines this for functions which it implements | ||
19857 | to always fail with ENOSYS. Some functions are actually named | ||
19858 | something starting with __ and the normal name is an alias. */ | ||
19859 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
19860 | choke me | ||
19861 | #endif | ||
19862 | |||
19863 | int | ||
19864 | main () | ||
19865 | { | ||
19866 | return $ac_func (); | ||
19867 | ; | ||
19868 | return 0; | ||
19869 | } | ||
19870 | _ACEOF | ||
19871 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
19872 | if { (ac_try="$ac_link" | ||
19873 | case "(($ac_try" in | ||
19874 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19875 | *) ac_try_echo=$ac_try;; | ||
19876 | esac | ||
19877 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19878 | (eval "$ac_link") 2>conftest.er1 | ||
19879 | ac_status=$? | ||
19880 | grep -v '^ *+' conftest.er1 >conftest.err | ||
19881 | rm -f conftest.er1 | ||
19882 | cat conftest.err >&5 | ||
19883 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19884 | (exit $ac_status); } && { | ||
19885 | test -z "$ac_c_werror_flag" || | ||
19886 | test ! -s conftest.err | ||
19887 | } && test -s conftest$ac_exeext && | ||
19888 | $as_test_x conftest$ac_exeext; then | ||
19889 | eval "$as_ac_var=yes" | ||
19890 | else | ||
19891 | echo "$as_me: failed program was:" >&5 | ||
19892 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
19893 | |||
19894 | eval "$as_ac_var=no" | ||
19895 | fi | ||
19896 | |||
19897 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
19898 | conftest$ac_exeext conftest.$ac_ext | ||
19899 | fi | ||
19900 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
19901 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
19902 | echo "${ECHO_T}$ac_res" >&6; } | ||
19903 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
19904 | cat >>confdefs.h <<_ACEOF | 11389 | cat >>confdefs.h <<_ACEOF |
19905 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 11390 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
19906 | _ACEOF | 11391 | _ACEOF |
19907 | 11392 | ||
19908 | fi | 11393 | fi |
19909 | done | 11394 | done |
19910 | 11395 | ||
19911 | |||
19912 | |||
19913 | |||
19914 | for ac_func in setutxdb setutxent utmpxname | 11396 | for ac_func in setutxdb setutxent utmpxname |
19915 | do | 11397 | do : |
19916 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 11398 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
19917 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 11399 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
19918 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | 11400 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
19919 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
19920 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
19921 | else | ||
19922 | cat >conftest.$ac_ext <<_ACEOF | ||
19923 | /* confdefs.h. */ | ||
19924 | _ACEOF | ||
19925 | cat confdefs.h >>conftest.$ac_ext | ||
19926 | cat >>conftest.$ac_ext <<_ACEOF | ||
19927 | /* end confdefs.h. */ | ||
19928 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
19929 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
19930 | #define $ac_func innocuous_$ac_func | ||
19931 | |||
19932 | /* System header to define __stub macros and hopefully few prototypes, | ||
19933 | which can conflict with char $ac_func (); below. | ||
19934 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
19935 | <limits.h> exists even on freestanding compilers. */ | ||
19936 | |||
19937 | #ifdef __STDC__ | ||
19938 | # include <limits.h> | ||
19939 | #else | ||
19940 | # include <assert.h> | ||
19941 | #endif | ||
19942 | |||
19943 | #undef $ac_func | ||
19944 | |||
19945 | /* Override any GCC internal prototype to avoid an error. | ||
19946 | Use char because int might match the return type of a GCC | ||
19947 | builtin and then its argument prototype would still apply. */ | ||
19948 | #ifdef __cplusplus | ||
19949 | extern "C" | ||
19950 | #endif | ||
19951 | char $ac_func (); | ||
19952 | /* The GNU C library defines this for functions which it implements | ||
19953 | to always fail with ENOSYS. Some functions are actually named | ||
19954 | something starting with __ and the normal name is an alias. */ | ||
19955 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
19956 | choke me | ||
19957 | #endif | ||
19958 | |||
19959 | int | ||
19960 | main () | ||
19961 | { | ||
19962 | return $ac_func (); | ||
19963 | ; | ||
19964 | return 0; | ||
19965 | } | ||
19966 | _ACEOF | ||
19967 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
19968 | if { (ac_try="$ac_link" | ||
19969 | case "(($ac_try" in | ||
19970 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
19971 | *) ac_try_echo=$ac_try;; | ||
19972 | esac | ||
19973 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
19974 | (eval "$ac_link") 2>conftest.er1 | ||
19975 | ac_status=$? | ||
19976 | grep -v '^ *+' conftest.er1 >conftest.err | ||
19977 | rm -f conftest.er1 | ||
19978 | cat conftest.err >&5 | ||
19979 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
19980 | (exit $ac_status); } && { | ||
19981 | test -z "$ac_c_werror_flag" || | ||
19982 | test ! -s conftest.err | ||
19983 | } && test -s conftest$ac_exeext && | ||
19984 | $as_test_x conftest$ac_exeext; then | ||
19985 | eval "$as_ac_var=yes" | ||
19986 | else | ||
19987 | echo "$as_me: failed program was:" >&5 | ||
19988 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
19989 | |||
19990 | eval "$as_ac_var=no" | ||
19991 | fi | ||
19992 | |||
19993 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
19994 | conftest$ac_exeext conftest.$ac_ext | ||
19995 | fi | ||
19996 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
19997 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
19998 | echo "${ECHO_T}$ac_res" >&6; } | ||
19999 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
20000 | cat >>confdefs.h <<_ACEOF | 11401 | cat >>confdefs.h <<_ACEOF |
20001 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 11402 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
20002 | _ACEOF | 11403 | _ACEOF |
20003 | 11404 | ||
20004 | fi | 11405 | fi |
20005 | done | 11406 | done |
20006 | 11407 | ||
20007 | |||
20008 | for ac_func in getlastlogxbyname | 11408 | for ac_func in getlastlogxbyname |
20009 | do | 11409 | do : |
20010 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 11410 | ac_fn_c_check_func "$LINENO" "getlastlogxbyname" "ac_cv_func_getlastlogxbyname" |
20011 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 11411 | if test "x$ac_cv_func_getlastlogxbyname" = xyes; then : |
20012 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
20013 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
20014 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
20015 | else | ||
20016 | cat >conftest.$ac_ext <<_ACEOF | ||
20017 | /* confdefs.h. */ | ||
20018 | _ACEOF | ||
20019 | cat confdefs.h >>conftest.$ac_ext | ||
20020 | cat >>conftest.$ac_ext <<_ACEOF | ||
20021 | /* end confdefs.h. */ | ||
20022 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
20023 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
20024 | #define $ac_func innocuous_$ac_func | ||
20025 | |||
20026 | /* System header to define __stub macros and hopefully few prototypes, | ||
20027 | which can conflict with char $ac_func (); below. | ||
20028 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
20029 | <limits.h> exists even on freestanding compilers. */ | ||
20030 | |||
20031 | #ifdef __STDC__ | ||
20032 | # include <limits.h> | ||
20033 | #else | ||
20034 | # include <assert.h> | ||
20035 | #endif | ||
20036 | |||
20037 | #undef $ac_func | ||
20038 | |||
20039 | /* Override any GCC internal prototype to avoid an error. | ||
20040 | Use char because int might match the return type of a GCC | ||
20041 | builtin and then its argument prototype would still apply. */ | ||
20042 | #ifdef __cplusplus | ||
20043 | extern "C" | ||
20044 | #endif | ||
20045 | char $ac_func (); | ||
20046 | /* The GNU C library defines this for functions which it implements | ||
20047 | to always fail with ENOSYS. Some functions are actually named | ||
20048 | something starting with __ and the normal name is an alias. */ | ||
20049 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
20050 | choke me | ||
20051 | #endif | ||
20052 | |||
20053 | int | ||
20054 | main () | ||
20055 | { | ||
20056 | return $ac_func (); | ||
20057 | ; | ||
20058 | return 0; | ||
20059 | } | ||
20060 | _ACEOF | ||
20061 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
20062 | if { (ac_try="$ac_link" | ||
20063 | case "(($ac_try" in | ||
20064 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20065 | *) ac_try_echo=$ac_try;; | ||
20066 | esac | ||
20067 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20068 | (eval "$ac_link") 2>conftest.er1 | ||
20069 | ac_status=$? | ||
20070 | grep -v '^ *+' conftest.er1 >conftest.err | ||
20071 | rm -f conftest.er1 | ||
20072 | cat conftest.err >&5 | ||
20073 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20074 | (exit $ac_status); } && { | ||
20075 | test -z "$ac_c_werror_flag" || | ||
20076 | test ! -s conftest.err | ||
20077 | } && test -s conftest$ac_exeext && | ||
20078 | $as_test_x conftest$ac_exeext; then | ||
20079 | eval "$as_ac_var=yes" | ||
20080 | else | ||
20081 | echo "$as_me: failed program was:" >&5 | ||
20082 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
20083 | |||
20084 | eval "$as_ac_var=no" | ||
20085 | fi | ||
20086 | |||
20087 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
20088 | conftest$ac_exeext conftest.$ac_ext | ||
20089 | fi | ||
20090 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
20091 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
20092 | echo "${ECHO_T}$ac_res" >&6; } | ||
20093 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
20094 | cat >>confdefs.h <<_ACEOF | 11412 | cat >>confdefs.h <<_ACEOF |
20095 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 11413 | #define HAVE_GETLASTLOGXBYNAME 1 |
20096 | _ACEOF | 11414 | _ACEOF |
20097 | 11415 | ||
20098 | fi | 11416 | fi |
20099 | done | 11417 | done |
20100 | 11418 | ||
20101 | 11419 | ||
20102 | { echo "$as_me:$LINENO: checking for daemon" >&5 | 11420 | ac_fn_c_check_func "$LINENO" "daemon" "ac_cv_func_daemon" |
20103 | echo $ECHO_N "checking for daemon... $ECHO_C" >&6; } | 11421 | if test "x$ac_cv_func_daemon" = xyes; then : |
20104 | if test "${ac_cv_func_daemon+set}" = set; then | ||
20105 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
20106 | else | ||
20107 | cat >conftest.$ac_ext <<_ACEOF | ||
20108 | /* confdefs.h. */ | ||
20109 | _ACEOF | ||
20110 | cat confdefs.h >>conftest.$ac_ext | ||
20111 | cat >>conftest.$ac_ext <<_ACEOF | ||
20112 | /* end confdefs.h. */ | ||
20113 | /* Define daemon to an innocuous variant, in case <limits.h> declares daemon. | ||
20114 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
20115 | #define daemon innocuous_daemon | ||
20116 | |||
20117 | /* System header to define __stub macros and hopefully few prototypes, | ||
20118 | which can conflict with char daemon (); below. | ||
20119 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
20120 | <limits.h> exists even on freestanding compilers. */ | ||
20121 | 11422 | ||
20122 | #ifdef __STDC__ | 11423 | $as_echo "#define HAVE_DAEMON 1" >>confdefs.h |
20123 | # include <limits.h> | ||
20124 | #else | ||
20125 | # include <assert.h> | ||
20126 | #endif | ||
20127 | |||
20128 | #undef daemon | ||
20129 | |||
20130 | /* Override any GCC internal prototype to avoid an error. | ||
20131 | Use char because int might match the return type of a GCC | ||
20132 | builtin and then its argument prototype would still apply. */ | ||
20133 | #ifdef __cplusplus | ||
20134 | extern "C" | ||
20135 | #endif | ||
20136 | char daemon (); | ||
20137 | /* The GNU C library defines this for functions which it implements | ||
20138 | to always fail with ENOSYS. Some functions are actually named | ||
20139 | something starting with __ and the normal name is an alias. */ | ||
20140 | #if defined __stub_daemon || defined __stub___daemon | ||
20141 | choke me | ||
20142 | #endif | ||
20143 | |||
20144 | int | ||
20145 | main () | ||
20146 | { | ||
20147 | return daemon (); | ||
20148 | ; | ||
20149 | return 0; | ||
20150 | } | ||
20151 | _ACEOF | ||
20152 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
20153 | if { (ac_try="$ac_link" | ||
20154 | case "(($ac_try" in | ||
20155 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20156 | *) ac_try_echo=$ac_try;; | ||
20157 | esac | ||
20158 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20159 | (eval "$ac_link") 2>conftest.er1 | ||
20160 | ac_status=$? | ||
20161 | grep -v '^ *+' conftest.er1 >conftest.err | ||
20162 | rm -f conftest.er1 | ||
20163 | cat conftest.err >&5 | ||
20164 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20165 | (exit $ac_status); } && { | ||
20166 | test -z "$ac_c_werror_flag" || | ||
20167 | test ! -s conftest.err | ||
20168 | } && test -s conftest$ac_exeext && | ||
20169 | $as_test_x conftest$ac_exeext; then | ||
20170 | ac_cv_func_daemon=yes | ||
20171 | else | ||
20172 | echo "$as_me: failed program was:" >&5 | ||
20173 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
20174 | |||
20175 | ac_cv_func_daemon=no | ||
20176 | fi | ||
20177 | |||
20178 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
20179 | conftest$ac_exeext conftest.$ac_ext | ||
20180 | fi | ||
20181 | { echo "$as_me:$LINENO: result: $ac_cv_func_daemon" >&5 | ||
20182 | echo "${ECHO_T}$ac_cv_func_daemon" >&6; } | ||
20183 | if test $ac_cv_func_daemon = yes; then | ||
20184 | |||
20185 | cat >>confdefs.h <<\_ACEOF | ||
20186 | #define HAVE_DAEMON 1 | ||
20187 | _ACEOF | ||
20188 | 11424 | ||
20189 | else | 11425 | else |
20190 | { echo "$as_me:$LINENO: checking for daemon in -lbsd" >&5 | 11426 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for daemon in -lbsd" >&5 |
20191 | echo $ECHO_N "checking for daemon in -lbsd... $ECHO_C" >&6; } | 11427 | $as_echo_n "checking for daemon in -lbsd... " >&6; } |
20192 | if test "${ac_cv_lib_bsd_daemon+set}" = set; then | 11428 | if ${ac_cv_lib_bsd_daemon+:} false; then : |
20193 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 11429 | $as_echo_n "(cached) " >&6 |
20194 | else | 11430 | else |
20195 | ac_check_lib_save_LIBS=$LIBS | 11431 | ac_check_lib_save_LIBS=$LIBS |
20196 | LIBS="-lbsd $LIBS" | 11432 | LIBS="-lbsd $LIBS" |
20197 | cat >conftest.$ac_ext <<_ACEOF | 11433 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
20198 | /* confdefs.h. */ | ||
20199 | _ACEOF | ||
20200 | cat confdefs.h >>conftest.$ac_ext | ||
20201 | cat >>conftest.$ac_ext <<_ACEOF | ||
20202 | /* end confdefs.h. */ | 11434 | /* end confdefs.h. */ |
20203 | 11435 | ||
20204 | /* Override any GCC internal prototype to avoid an error. | 11436 | /* Override any GCC internal prototype to avoid an error. |
@@ -20216,42 +11448,19 @@ return daemon (); | |||
20216 | return 0; | 11448 | return 0; |
20217 | } | 11449 | } |
20218 | _ACEOF | 11450 | _ACEOF |
20219 | rm -f conftest.$ac_objext conftest$ac_exeext | 11451 | if ac_fn_c_try_link "$LINENO"; then : |
20220 | if { (ac_try="$ac_link" | ||
20221 | case "(($ac_try" in | ||
20222 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20223 | *) ac_try_echo=$ac_try;; | ||
20224 | esac | ||
20225 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20226 | (eval "$ac_link") 2>conftest.er1 | ||
20227 | ac_status=$? | ||
20228 | grep -v '^ *+' conftest.er1 >conftest.err | ||
20229 | rm -f conftest.er1 | ||
20230 | cat conftest.err >&5 | ||
20231 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20232 | (exit $ac_status); } && { | ||
20233 | test -z "$ac_c_werror_flag" || | ||
20234 | test ! -s conftest.err | ||
20235 | } && test -s conftest$ac_exeext && | ||
20236 | $as_test_x conftest$ac_exeext; then | ||
20237 | ac_cv_lib_bsd_daemon=yes | 11452 | ac_cv_lib_bsd_daemon=yes |
20238 | else | 11453 | else |
20239 | echo "$as_me: failed program was:" >&5 | 11454 | ac_cv_lib_bsd_daemon=no |
20240 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
20241 | |||
20242 | ac_cv_lib_bsd_daemon=no | ||
20243 | fi | 11455 | fi |
20244 | 11456 | rm -f core conftest.err conftest.$ac_objext \ | |
20245 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 11457 | conftest$ac_exeext conftest.$ac_ext |
20246 | conftest$ac_exeext conftest.$ac_ext | ||
20247 | LIBS=$ac_check_lib_save_LIBS | 11458 | LIBS=$ac_check_lib_save_LIBS |
20248 | fi | 11459 | fi |
20249 | { echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_daemon" >&5 | 11460 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_daemon" >&5 |
20250 | echo "${ECHO_T}$ac_cv_lib_bsd_daemon" >&6; } | 11461 | $as_echo "$ac_cv_lib_bsd_daemon" >&6; } |
20251 | if test $ac_cv_lib_bsd_daemon = yes; then | 11462 | if test "x$ac_cv_lib_bsd_daemon" = xyes; then : |
20252 | LIBS="$LIBS -lbsd"; cat >>confdefs.h <<\_ACEOF | 11463 | LIBS="$LIBS -lbsd"; $as_echo "#define HAVE_DAEMON 1" >>confdefs.h |
20253 | #define HAVE_DAEMON 1 | ||
20254 | _ACEOF | ||
20255 | 11464 | ||
20256 | fi | 11465 | fi |
20257 | 11466 | ||
@@ -20259,106 +11468,20 @@ fi | |||
20259 | fi | 11468 | fi |
20260 | 11469 | ||
20261 | 11470 | ||
20262 | { echo "$as_me:$LINENO: checking for getpagesize" >&5 | 11471 | ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" |
20263 | echo $ECHO_N "checking for getpagesize... $ECHO_C" >&6; } | 11472 | if test "x$ac_cv_func_getpagesize" = xyes; then : |
20264 | if test "${ac_cv_func_getpagesize+set}" = set; then | ||
20265 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
20266 | else | ||
20267 | cat >conftest.$ac_ext <<_ACEOF | ||
20268 | /* confdefs.h. */ | ||
20269 | _ACEOF | ||
20270 | cat confdefs.h >>conftest.$ac_ext | ||
20271 | cat >>conftest.$ac_ext <<_ACEOF | ||
20272 | /* end confdefs.h. */ | ||
20273 | /* Define getpagesize to an innocuous variant, in case <limits.h> declares getpagesize. | ||
20274 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
20275 | #define getpagesize innocuous_getpagesize | ||
20276 | |||
20277 | /* System header to define __stub macros and hopefully few prototypes, | ||
20278 | which can conflict with char getpagesize (); below. | ||
20279 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
20280 | <limits.h> exists even on freestanding compilers. */ | ||
20281 | |||
20282 | #ifdef __STDC__ | ||
20283 | # include <limits.h> | ||
20284 | #else | ||
20285 | # include <assert.h> | ||
20286 | #endif | ||
20287 | 11473 | ||
20288 | #undef getpagesize | 11474 | $as_echo "#define HAVE_GETPAGESIZE 1" >>confdefs.h |
20289 | |||
20290 | /* Override any GCC internal prototype to avoid an error. | ||
20291 | Use char because int might match the return type of a GCC | ||
20292 | builtin and then its argument prototype would still apply. */ | ||
20293 | #ifdef __cplusplus | ||
20294 | extern "C" | ||
20295 | #endif | ||
20296 | char getpagesize (); | ||
20297 | /* The GNU C library defines this for functions which it implements | ||
20298 | to always fail with ENOSYS. Some functions are actually named | ||
20299 | something starting with __ and the normal name is an alias. */ | ||
20300 | #if defined __stub_getpagesize || defined __stub___getpagesize | ||
20301 | choke me | ||
20302 | #endif | ||
20303 | |||
20304 | int | ||
20305 | main () | ||
20306 | { | ||
20307 | return getpagesize (); | ||
20308 | ; | ||
20309 | return 0; | ||
20310 | } | ||
20311 | _ACEOF | ||
20312 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
20313 | if { (ac_try="$ac_link" | ||
20314 | case "(($ac_try" in | ||
20315 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20316 | *) ac_try_echo=$ac_try;; | ||
20317 | esac | ||
20318 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20319 | (eval "$ac_link") 2>conftest.er1 | ||
20320 | ac_status=$? | ||
20321 | grep -v '^ *+' conftest.er1 >conftest.err | ||
20322 | rm -f conftest.er1 | ||
20323 | cat conftest.err >&5 | ||
20324 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20325 | (exit $ac_status); } && { | ||
20326 | test -z "$ac_c_werror_flag" || | ||
20327 | test ! -s conftest.err | ||
20328 | } && test -s conftest$ac_exeext && | ||
20329 | $as_test_x conftest$ac_exeext; then | ||
20330 | ac_cv_func_getpagesize=yes | ||
20331 | else | ||
20332 | echo "$as_me: failed program was:" >&5 | ||
20333 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
20334 | |||
20335 | ac_cv_func_getpagesize=no | ||
20336 | fi | ||
20337 | |||
20338 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
20339 | conftest$ac_exeext conftest.$ac_ext | ||
20340 | fi | ||
20341 | { echo "$as_me:$LINENO: result: $ac_cv_func_getpagesize" >&5 | ||
20342 | echo "${ECHO_T}$ac_cv_func_getpagesize" >&6; } | ||
20343 | if test $ac_cv_func_getpagesize = yes; then | ||
20344 | |||
20345 | cat >>confdefs.h <<\_ACEOF | ||
20346 | #define HAVE_GETPAGESIZE 1 | ||
20347 | _ACEOF | ||
20348 | 11475 | ||
20349 | else | 11476 | else |
20350 | { echo "$as_me:$LINENO: checking for getpagesize in -lucb" >&5 | 11477 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpagesize in -lucb" >&5 |
20351 | echo $ECHO_N "checking for getpagesize in -lucb... $ECHO_C" >&6; } | 11478 | $as_echo_n "checking for getpagesize in -lucb... " >&6; } |
20352 | if test "${ac_cv_lib_ucb_getpagesize+set}" = set; then | 11479 | if ${ac_cv_lib_ucb_getpagesize+:} false; then : |
20353 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 11480 | $as_echo_n "(cached) " >&6 |
20354 | else | 11481 | else |
20355 | ac_check_lib_save_LIBS=$LIBS | 11482 | ac_check_lib_save_LIBS=$LIBS |
20356 | LIBS="-lucb $LIBS" | 11483 | LIBS="-lucb $LIBS" |
20357 | cat >conftest.$ac_ext <<_ACEOF | 11484 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
20358 | /* confdefs.h. */ | ||
20359 | _ACEOF | ||
20360 | cat confdefs.h >>conftest.$ac_ext | ||
20361 | cat >>conftest.$ac_ext <<_ACEOF | ||
20362 | /* end confdefs.h. */ | 11485 | /* end confdefs.h. */ |
20363 | 11486 | ||
20364 | /* Override any GCC internal prototype to avoid an error. | 11487 | /* Override any GCC internal prototype to avoid an error. |
@@ -20376,42 +11499,19 @@ return getpagesize (); | |||
20376 | return 0; | 11499 | return 0; |
20377 | } | 11500 | } |
20378 | _ACEOF | 11501 | _ACEOF |
20379 | rm -f conftest.$ac_objext conftest$ac_exeext | 11502 | if ac_fn_c_try_link "$LINENO"; then : |
20380 | if { (ac_try="$ac_link" | ||
20381 | case "(($ac_try" in | ||
20382 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20383 | *) ac_try_echo=$ac_try;; | ||
20384 | esac | ||
20385 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20386 | (eval "$ac_link") 2>conftest.er1 | ||
20387 | ac_status=$? | ||
20388 | grep -v '^ *+' conftest.er1 >conftest.err | ||
20389 | rm -f conftest.er1 | ||
20390 | cat conftest.err >&5 | ||
20391 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20392 | (exit $ac_status); } && { | ||
20393 | test -z "$ac_c_werror_flag" || | ||
20394 | test ! -s conftest.err | ||
20395 | } && test -s conftest$ac_exeext && | ||
20396 | $as_test_x conftest$ac_exeext; then | ||
20397 | ac_cv_lib_ucb_getpagesize=yes | 11503 | ac_cv_lib_ucb_getpagesize=yes |
20398 | else | 11504 | else |
20399 | echo "$as_me: failed program was:" >&5 | 11505 | ac_cv_lib_ucb_getpagesize=no |
20400 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
20401 | |||
20402 | ac_cv_lib_ucb_getpagesize=no | ||
20403 | fi | 11506 | fi |
20404 | 11507 | rm -f core conftest.err conftest.$ac_objext \ | |
20405 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 11508 | conftest$ac_exeext conftest.$ac_ext |
20406 | conftest$ac_exeext conftest.$ac_ext | ||
20407 | LIBS=$ac_check_lib_save_LIBS | 11509 | LIBS=$ac_check_lib_save_LIBS |
20408 | fi | 11510 | fi |
20409 | { echo "$as_me:$LINENO: result: $ac_cv_lib_ucb_getpagesize" >&5 | 11511 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ucb_getpagesize" >&5 |
20410 | echo "${ECHO_T}$ac_cv_lib_ucb_getpagesize" >&6; } | 11512 | $as_echo "$ac_cv_lib_ucb_getpagesize" >&6; } |
20411 | if test $ac_cv_lib_ucb_getpagesize = yes; then | 11513 | if test "x$ac_cv_lib_ucb_getpagesize" = xyes; then : |
20412 | LIBS="$LIBS -lucb"; cat >>confdefs.h <<\_ACEOF | 11514 | LIBS="$LIBS -lucb"; $as_echo "#define HAVE_GETPAGESIZE 1" >>confdefs.h |
20413 | #define HAVE_GETPAGESIZE 1 | ||
20414 | _ACEOF | ||
20415 | 11515 | ||
20416 | fi | 11516 | fi |
20417 | 11517 | ||
@@ -20421,18 +11521,14 @@ fi | |||
20421 | 11521 | ||
20422 | # Check for broken snprintf | 11522 | # Check for broken snprintf |
20423 | if test "x$ac_cv_func_snprintf" = "xyes" ; then | 11523 | if test "x$ac_cv_func_snprintf" = "xyes" ; then |
20424 | { echo "$as_me:$LINENO: checking whether snprintf correctly terminates long strings" >&5 | 11524 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf correctly terminates long strings" >&5 |
20425 | echo $ECHO_N "checking whether snprintf correctly terminates long strings... $ECHO_C" >&6; } | 11525 | $as_echo_n "checking whether snprintf correctly terminates long strings... " >&6; } |
20426 | if test "$cross_compiling" = yes; then | 11526 | if test "$cross_compiling" = yes; then : |
20427 | { echo "$as_me:$LINENO: WARNING: cross compiling: Assuming working snprintf()" >&5 | 11527 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5 |
20428 | echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;} | 11528 | $as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;} |
20429 | 11529 | ||
20430 | else | 11530 | else |
20431 | cat >conftest.$ac_ext <<_ACEOF | 11531 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
20432 | /* confdefs.h. */ | ||
20433 | _ACEOF | ||
20434 | cat confdefs.h >>conftest.$ac_ext | ||
20435 | cat >>conftest.$ac_ext <<_ACEOF | ||
20436 | /* end confdefs.h. */ | 11532 | /* end confdefs.h. */ |
20437 | #include <stdio.h> | 11533 | #include <stdio.h> |
20438 | int | 11534 | int |
@@ -20447,67 +11543,37 @@ main () | |||
20447 | return 0; | 11543 | return 0; |
20448 | } | 11544 | } |
20449 | _ACEOF | 11545 | _ACEOF |
20450 | rm -f conftest$ac_exeext | 11546 | if ac_fn_c_try_run "$LINENO"; then : |
20451 | if { (ac_try="$ac_link" | 11547 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
20452 | case "(($ac_try" in | 11548 | $as_echo "yes" >&6; } |
20453 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20454 | *) ac_try_echo=$ac_try;; | ||
20455 | esac | ||
20456 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20457 | (eval "$ac_link") 2>&5 | ||
20458 | ac_status=$? | ||
20459 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20460 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
20461 | { (case "(($ac_try" in | ||
20462 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20463 | *) ac_try_echo=$ac_try;; | ||
20464 | esac | ||
20465 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20466 | (eval "$ac_try") 2>&5 | ||
20467 | ac_status=$? | ||
20468 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20469 | (exit $ac_status); }; }; then | ||
20470 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
20471 | echo "${ECHO_T}yes" >&6; } | ||
20472 | else | 11549 | else |
20473 | echo "$as_me: program exited with status $ac_status" >&5 | ||
20474 | echo "$as_me: failed program was:" >&5 | ||
20475 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
20476 | 11550 | ||
20477 | ( exit $ac_status ) | 11551 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
11552 | $as_echo "no" >&6; } | ||
20478 | 11553 | ||
20479 | { echo "$as_me:$LINENO: result: no" >&5 | 11554 | $as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h |
20480 | echo "${ECHO_T}no" >&6; } | ||
20481 | 11555 | ||
20482 | cat >>confdefs.h <<\_ACEOF | 11556 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ****** Your snprintf() function is broken, complain to your vendor" >&5 |
20483 | #define BROKEN_SNPRINTF 1 | 11557 | $as_echo "$as_me: WARNING: ****** Your snprintf() function is broken, complain to your vendor" >&2;} |
20484 | _ACEOF | ||
20485 | |||
20486 | { echo "$as_me:$LINENO: WARNING: ****** Your snprintf() function is broken, complain to your vendor" >&5 | ||
20487 | echo "$as_me: WARNING: ****** Your snprintf() function is broken, complain to your vendor" >&2;} | ||
20488 | 11558 | ||
20489 | fi | 11559 | fi |
20490 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 11560 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
11561 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
20491 | fi | 11562 | fi |
20492 | 11563 | ||
20493 | |||
20494 | fi | 11564 | fi |
20495 | 11565 | ||
20496 | # We depend on vsnprintf returning the right thing on overflow: the | 11566 | # We depend on vsnprintf returning the right thing on overflow: the |
20497 | # number of characters it tried to create (as per SUSv3) | 11567 | # number of characters it tried to create (as per SUSv3) |
20498 | if test "x$ac_cv_func_vsnprintf" = "xyes" ; then | 11568 | if test "x$ac_cv_func_vsnprintf" = "xyes" ; then |
20499 | { echo "$as_me:$LINENO: checking whether vsnprintf returns correct values on overflow" >&5 | 11569 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether vsnprintf returns correct values on overflow" >&5 |
20500 | echo $ECHO_N "checking whether vsnprintf returns correct values on overflow... $ECHO_C" >&6; } | 11570 | $as_echo_n "checking whether vsnprintf returns correct values on overflow... " >&6; } |
20501 | if test "$cross_compiling" = yes; then | 11571 | if test "$cross_compiling" = yes; then : |
20502 | { echo "$as_me:$LINENO: WARNING: cross compiling: Assuming working vsnprintf()" >&5 | 11572 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working vsnprintf()" >&5 |
20503 | echo "$as_me: WARNING: cross compiling: Assuming working vsnprintf()" >&2;} | 11573 | $as_echo "$as_me: WARNING: cross compiling: Assuming working vsnprintf()" >&2;} |
20504 | 11574 | ||
20505 | else | 11575 | else |
20506 | cat >conftest.$ac_ext <<_ACEOF | 11576 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
20507 | /* confdefs.h. */ | ||
20508 | _ACEOF | ||
20509 | cat confdefs.h >>conftest.$ac_ext | ||
20510 | cat >>conftest.$ac_ext <<_ACEOF | ||
20511 | /* end confdefs.h. */ | 11577 | /* end confdefs.h. */ |
20512 | 11578 | ||
20513 | #include <sys/types.h> | 11579 | #include <sys/types.h> |
@@ -20540,62 +11606,32 @@ return 0; | |||
20540 | return 0; | 11606 | return 0; |
20541 | } | 11607 | } |
20542 | _ACEOF | 11608 | _ACEOF |
20543 | rm -f conftest$ac_exeext | 11609 | if ac_fn_c_try_run "$LINENO"; then : |
20544 | if { (ac_try="$ac_link" | 11610 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
20545 | case "(($ac_try" in | 11611 | $as_echo "yes" >&6; } |
20546 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20547 | *) ac_try_echo=$ac_try;; | ||
20548 | esac | ||
20549 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20550 | (eval "$ac_link") 2>&5 | ||
20551 | ac_status=$? | ||
20552 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20553 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
20554 | { (case "(($ac_try" in | ||
20555 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20556 | *) ac_try_echo=$ac_try;; | ||
20557 | esac | ||
20558 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20559 | (eval "$ac_try") 2>&5 | ||
20560 | ac_status=$? | ||
20561 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20562 | (exit $ac_status); }; }; then | ||
20563 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
20564 | echo "${ECHO_T}yes" >&6; } | ||
20565 | else | 11612 | else |
20566 | echo "$as_me: program exited with status $ac_status" >&5 | ||
20567 | echo "$as_me: failed program was:" >&5 | ||
20568 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
20569 | |||
20570 | ( exit $ac_status ) | ||
20571 | 11613 | ||
20572 | { echo "$as_me:$LINENO: result: no" >&5 | 11614 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
20573 | echo "${ECHO_T}no" >&6; } | 11615 | $as_echo "no" >&6; } |
20574 | 11616 | ||
20575 | cat >>confdefs.h <<\_ACEOF | 11617 | $as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h |
20576 | #define BROKEN_SNPRINTF 1 | ||
20577 | _ACEOF | ||
20578 | 11618 | ||
20579 | { echo "$as_me:$LINENO: WARNING: ****** Your vsnprintf() function is broken, complain to your vendor" >&5 | 11619 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ****** Your vsnprintf() function is broken, complain to your vendor" >&5 |
20580 | echo "$as_me: WARNING: ****** Your vsnprintf() function is broken, complain to your vendor" >&2;} | 11620 | $as_echo "$as_me: WARNING: ****** Your vsnprintf() function is broken, complain to your vendor" >&2;} |
20581 | 11621 | ||
20582 | fi | 11622 | fi |
20583 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 11623 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
11624 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
20584 | fi | 11625 | fi |
20585 | 11626 | ||
20586 | |||
20587 | fi | 11627 | fi |
20588 | 11628 | ||
20589 | # On systems where [v]snprintf is broken, but is declared in stdio, | 11629 | # On systems where [v]snprintf is broken, but is declared in stdio, |
20590 | # check that the fmt argument is const char * or just char *. | 11630 | # check that the fmt argument is const char * or just char *. |
20591 | # This is only useful for when BROKEN_SNPRINTF | 11631 | # This is only useful for when BROKEN_SNPRINTF |
20592 | { echo "$as_me:$LINENO: checking whether snprintf can declare const char *fmt" >&5 | 11632 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf can declare const char *fmt" >&5 |
20593 | echo $ECHO_N "checking whether snprintf can declare const char *fmt... $ECHO_C" >&6; } | 11633 | $as_echo_n "checking whether snprintf can declare const char *fmt... " >&6; } |
20594 | cat >conftest.$ac_ext <<_ACEOF | 11634 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
20595 | /* confdefs.h. */ | ||
20596 | _ACEOF | ||
20597 | cat confdefs.h >>conftest.$ac_ext | ||
20598 | cat >>conftest.$ac_ext <<_ACEOF | ||
20599 | /* end confdefs.h. */ | 11635 | /* end confdefs.h. */ |
20600 | 11636 | ||
20601 | #include <stdio.h> | 11637 | #include <stdio.h> |
@@ -20611,54 +11647,26 @@ main () | |||
20611 | return 0; | 11647 | return 0; |
20612 | } | 11648 | } |
20613 | _ACEOF | 11649 | _ACEOF |
20614 | rm -f conftest.$ac_objext | 11650 | if ac_fn_c_try_compile "$LINENO"; then : |
20615 | if { (ac_try="$ac_compile" | 11651 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
20616 | case "(($ac_try" in | 11652 | $as_echo "yes" >&6; } |
20617 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20618 | *) ac_try_echo=$ac_try;; | ||
20619 | esac | ||
20620 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20621 | (eval "$ac_compile") 2>conftest.er1 | ||
20622 | ac_status=$? | ||
20623 | grep -v '^ *+' conftest.er1 >conftest.err | ||
20624 | rm -f conftest.er1 | ||
20625 | cat conftest.err >&5 | ||
20626 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20627 | (exit $ac_status); } && { | ||
20628 | test -z "$ac_c_werror_flag" || | ||
20629 | test ! -s conftest.err | ||
20630 | } && test -s conftest.$ac_objext; then | ||
20631 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
20632 | echo "${ECHO_T}yes" >&6; } | ||
20633 | 11653 | ||
20634 | cat >>confdefs.h <<\_ACEOF | 11654 | $as_echo "#define SNPRINTF_CONST const" >>confdefs.h |
20635 | #define SNPRINTF_CONST const | ||
20636 | _ACEOF | ||
20637 | 11655 | ||
20638 | else | 11656 | else |
20639 | echo "$as_me: failed program was:" >&5 | 11657 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
20640 | sed 's/^/| /' conftest.$ac_ext >&5 | 11658 | $as_echo "no" >&6; } |
20641 | 11659 | $as_echo "#define SNPRINTF_CONST /* not const */" >>confdefs.h | |
20642 | { echo "$as_me:$LINENO: result: no" >&5 | ||
20643 | echo "${ECHO_T}no" >&6; } | ||
20644 | cat >>confdefs.h <<\_ACEOF | ||
20645 | #define SNPRINTF_CONST /* not const */ | ||
20646 | _ACEOF | ||
20647 | 11660 | ||
20648 | fi | 11661 | fi |
20649 | |||
20650 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 11662 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
20651 | 11663 | ||
20652 | # Check for missing getpeereid (or equiv) support | 11664 | # Check for missing getpeereid (or equiv) support |
20653 | NO_PEERCHECK="" | 11665 | NO_PEERCHECK="" |
20654 | if test "x$ac_cv_func_getpeereid" != "xyes" -a "x$ac_cv_func_getpeerucred" != "xyes"; then | 11666 | if test "x$ac_cv_func_getpeereid" != "xyes" -a "x$ac_cv_func_getpeerucred" != "xyes"; then |
20655 | { echo "$as_me:$LINENO: checking whether system supports SO_PEERCRED getsockopt" >&5 | 11667 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system supports SO_PEERCRED getsockopt" >&5 |
20656 | echo $ECHO_N "checking whether system supports SO_PEERCRED getsockopt... $ECHO_C" >&6; } | 11668 | $as_echo_n "checking whether system supports SO_PEERCRED getsockopt... " >&6; } |
20657 | cat >conftest.$ac_ext <<_ACEOF | 11669 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
20658 | /* confdefs.h. */ | ||
20659 | _ACEOF | ||
20660 | cat confdefs.h >>conftest.$ac_ext | ||
20661 | cat >>conftest.$ac_ext <<_ACEOF | ||
20662 | /* end confdefs.h. */ | 11670 | /* end confdefs.h. */ |
20663 | 11671 | ||
20664 | #include <sys/types.h> | 11672 | #include <sys/types.h> |
@@ -20671,63 +11679,35 @@ int i = SO_PEERCRED; | |||
20671 | return 0; | 11679 | return 0; |
20672 | } | 11680 | } |
20673 | _ACEOF | 11681 | _ACEOF |
20674 | rm -f conftest.$ac_objext | 11682 | if ac_fn_c_try_compile "$LINENO"; then : |
20675 | if { (ac_try="$ac_compile" | 11683 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
20676 | case "(($ac_try" in | 11684 | $as_echo "yes" >&6; } |
20677 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20678 | *) ac_try_echo=$ac_try;; | ||
20679 | esac | ||
20680 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20681 | (eval "$ac_compile") 2>conftest.er1 | ||
20682 | ac_status=$? | ||
20683 | grep -v '^ *+' conftest.er1 >conftest.err | ||
20684 | rm -f conftest.er1 | ||
20685 | cat conftest.err >&5 | ||
20686 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20687 | (exit $ac_status); } && { | ||
20688 | test -z "$ac_c_werror_flag" || | ||
20689 | test ! -s conftest.err | ||
20690 | } && test -s conftest.$ac_objext; then | ||
20691 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
20692 | echo "${ECHO_T}yes" >&6; } | ||
20693 | 11685 | ||
20694 | cat >>confdefs.h <<\_ACEOF | 11686 | $as_echo "#define HAVE_SO_PEERCRED 1" >>confdefs.h |
20695 | #define HAVE_SO_PEERCRED 1 | ||
20696 | _ACEOF | ||
20697 | 11687 | ||
20698 | 11688 | ||
20699 | else | 11689 | else |
20700 | echo "$as_me: failed program was:" >&5 | 11690 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
20701 | sed 's/^/| /' conftest.$ac_ext >&5 | 11691 | $as_echo "no" >&6; } |
20702 | |||
20703 | { echo "$as_me:$LINENO: result: no" >&5 | ||
20704 | echo "${ECHO_T}no" >&6; } | ||
20705 | NO_PEERCHECK=1 | 11692 | NO_PEERCHECK=1 |
20706 | 11693 | ||
20707 | fi | 11694 | fi |
20708 | |||
20709 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 11695 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
20710 | fi | 11696 | fi |
20711 | 11697 | ||
20712 | if test "x$ac_cv_func_mkdtemp" = "xyes" ; then | 11698 | if test "x$ac_cv_func_mkdtemp" = "xyes" ; then |
20713 | { echo "$as_me:$LINENO: checking for (overly) strict mkstemp" >&5 | 11699 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for (overly) strict mkstemp" >&5 |
20714 | echo $ECHO_N "checking for (overly) strict mkstemp... $ECHO_C" >&6; } | 11700 | $as_echo_n "checking for (overly) strict mkstemp... " >&6; } |
20715 | if test "$cross_compiling" = yes; then | 11701 | if test "$cross_compiling" = yes; then : |
20716 | 11702 | ||
20717 | { echo "$as_me:$LINENO: result: yes" >&5 | 11703 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
20718 | echo "${ECHO_T}yes" >&6; } | 11704 | $as_echo "yes" >&6; } |
20719 | cat >>confdefs.h <<\_ACEOF | 11705 | $as_echo "#define HAVE_STRICT_MKSTEMP 1" >>confdefs.h |
20720 | #define HAVE_STRICT_MKSTEMP 1 | ||
20721 | _ACEOF | ||
20722 | 11706 | ||
20723 | 11707 | ||
20724 | 11708 | ||
20725 | else | 11709 | else |
20726 | cat >conftest.$ac_ext <<_ACEOF | 11710 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
20727 | /* confdefs.h. */ | ||
20728 | _ACEOF | ||
20729 | cat confdefs.h >>conftest.$ac_ext | ||
20730 | cat >>conftest.$ac_ext <<_ACEOF | ||
20731 | /* end confdefs.h. */ | 11711 | /* end confdefs.h. */ |
20732 | 11712 | ||
20733 | #include <stdlib.h> | 11713 | #include <stdlib.h> |
@@ -20746,67 +11726,37 @@ main () | |||
20746 | return 0; | 11726 | return 0; |
20747 | } | 11727 | } |
20748 | _ACEOF | 11728 | _ACEOF |
20749 | rm -f conftest$ac_exeext | 11729 | if ac_fn_c_try_run "$LINENO"; then : |
20750 | if { (ac_try="$ac_link" | ||
20751 | case "(($ac_try" in | ||
20752 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20753 | *) ac_try_echo=$ac_try;; | ||
20754 | esac | ||
20755 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20756 | (eval "$ac_link") 2>&5 | ||
20757 | ac_status=$? | ||
20758 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20759 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
20760 | { (case "(($ac_try" in | ||
20761 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20762 | *) ac_try_echo=$ac_try;; | ||
20763 | esac | ||
20764 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20765 | (eval "$ac_try") 2>&5 | ||
20766 | ac_status=$? | ||
20767 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20768 | (exit $ac_status); }; }; then | ||
20769 | 11730 | ||
20770 | { echo "$as_me:$LINENO: result: no" >&5 | 11731 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
20771 | echo "${ECHO_T}no" >&6; } | 11732 | $as_echo "no" >&6; } |
20772 | 11733 | ||
20773 | else | 11734 | else |
20774 | echo "$as_me: program exited with status $ac_status" >&5 | ||
20775 | echo "$as_me: failed program was:" >&5 | ||
20776 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
20777 | 11735 | ||
20778 | ( exit $ac_status ) | 11736 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
11737 | $as_echo "yes" >&6; } | ||
20779 | 11738 | ||
20780 | { echo "$as_me:$LINENO: result: yes" >&5 | 11739 | $as_echo "#define HAVE_STRICT_MKSTEMP 1" >>confdefs.h |
20781 | echo "${ECHO_T}yes" >&6; } | ||
20782 | |||
20783 | cat >>confdefs.h <<\_ACEOF | ||
20784 | #define HAVE_STRICT_MKSTEMP 1 | ||
20785 | _ACEOF | ||
20786 | 11740 | ||
20787 | 11741 | ||
20788 | fi | 11742 | fi |
20789 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 11743 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
11744 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
20790 | fi | 11745 | fi |
20791 | 11746 | ||
20792 | |||
20793 | fi | 11747 | fi |
20794 | 11748 | ||
20795 | if test ! -z "$check_for_openpty_ctty_bug"; then | 11749 | if test ! -z "$check_for_openpty_ctty_bug"; then |
20796 | { echo "$as_me:$LINENO: checking if openpty correctly handles controlling tty" >&5 | 11750 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if openpty correctly handles controlling tty" >&5 |
20797 | echo $ECHO_N "checking if openpty correctly handles controlling tty... $ECHO_C" >&6; } | 11751 | $as_echo_n "checking if openpty correctly handles controlling tty... " >&6; } |
20798 | if test "$cross_compiling" = yes; then | 11752 | if test "$cross_compiling" = yes; then : |
20799 | 11753 | ||
20800 | { echo "$as_me:$LINENO: result: cross-compiling, assuming yes" >&5 | 11754 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming yes" >&5 |
20801 | echo "${ECHO_T}cross-compiling, assuming yes" >&6; } | 11755 | $as_echo "cross-compiling, assuming yes" >&6; } |
20802 | 11756 | ||
20803 | 11757 | ||
20804 | else | 11758 | else |
20805 | cat >conftest.$ac_ext <<_ACEOF | 11759 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
20806 | /* confdefs.h. */ | ||
20807 | _ACEOF | ||
20808 | cat confdefs.h >>conftest.$ac_ext | ||
20809 | cat >>conftest.$ac_ext <<_ACEOF | ||
20810 | /* end confdefs.h. */ | 11760 | /* end confdefs.h. */ |
20811 | 11761 | ||
20812 | #include <stdio.h> | 11762 | #include <stdio.h> |
@@ -20845,67 +11795,37 @@ main () | |||
20845 | return 0; | 11795 | return 0; |
20846 | } | 11796 | } |
20847 | _ACEOF | 11797 | _ACEOF |
20848 | rm -f conftest$ac_exeext | 11798 | if ac_fn_c_try_run "$LINENO"; then : |
20849 | if { (ac_try="$ac_link" | ||
20850 | case "(($ac_try" in | ||
20851 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20852 | *) ac_try_echo=$ac_try;; | ||
20853 | esac | ||
20854 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20855 | (eval "$ac_link") 2>&5 | ||
20856 | ac_status=$? | ||
20857 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20858 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
20859 | { (case "(($ac_try" in | ||
20860 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20861 | *) ac_try_echo=$ac_try;; | ||
20862 | esac | ||
20863 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20864 | (eval "$ac_try") 2>&5 | ||
20865 | ac_status=$? | ||
20866 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20867 | (exit $ac_status); }; }; then | ||
20868 | 11799 | ||
20869 | { echo "$as_me:$LINENO: result: yes" >&5 | 11800 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
20870 | echo "${ECHO_T}yes" >&6; } | 11801 | $as_echo "yes" >&6; } |
20871 | 11802 | ||
20872 | else | 11803 | else |
20873 | echo "$as_me: program exited with status $ac_status" >&5 | ||
20874 | echo "$as_me: failed program was:" >&5 | ||
20875 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
20876 | |||
20877 | ( exit $ac_status ) | ||
20878 | 11804 | ||
20879 | { echo "$as_me:$LINENO: result: no" >&5 | 11805 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
20880 | echo "${ECHO_T}no" >&6; } | 11806 | $as_echo "no" >&6; } |
20881 | cat >>confdefs.h <<\_ACEOF | 11807 | $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h |
20882 | #define SSHD_ACQUIRES_CTTY 1 | ||
20883 | _ACEOF | ||
20884 | 11808 | ||
20885 | 11809 | ||
20886 | fi | 11810 | fi |
20887 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 11811 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
11812 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
20888 | fi | 11813 | fi |
20889 | 11814 | ||
20890 | |||
20891 | fi | 11815 | fi |
20892 | 11816 | ||
20893 | if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ | 11817 | if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ |
20894 | test "x$check_for_hpux_broken_getaddrinfo" = "x1"; then | 11818 | test "x$check_for_hpux_broken_getaddrinfo" = "x1"; then |
20895 | { echo "$as_me:$LINENO: checking if getaddrinfo seems to work" >&5 | 11819 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getaddrinfo seems to work" >&5 |
20896 | echo $ECHO_N "checking if getaddrinfo seems to work... $ECHO_C" >&6; } | 11820 | $as_echo_n "checking if getaddrinfo seems to work... " >&6; } |
20897 | if test "$cross_compiling" = yes; then | 11821 | if test "$cross_compiling" = yes; then : |
20898 | 11822 | ||
20899 | { echo "$as_me:$LINENO: result: cross-compiling, assuming yes" >&5 | 11823 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming yes" >&5 |
20900 | echo "${ECHO_T}cross-compiling, assuming yes" >&6; } | 11824 | $as_echo "cross-compiling, assuming yes" >&6; } |
20901 | 11825 | ||
20902 | 11826 | ||
20903 | else | 11827 | else |
20904 | cat >conftest.$ac_ext <<_ACEOF | 11828 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
20905 | /* confdefs.h. */ | ||
20906 | _ACEOF | ||
20907 | cat confdefs.h >>conftest.$ac_ext | ||
20908 | cat >>conftest.$ac_ext <<_ACEOF | ||
20909 | /* end confdefs.h. */ | 11829 | /* end confdefs.h. */ |
20910 | 11830 | ||
20911 | #include <stdio.h> | 11831 | #include <stdio.h> |
@@ -20966,67 +11886,37 @@ main () | |||
20966 | return 0; | 11886 | return 0; |
20967 | } | 11887 | } |
20968 | _ACEOF | 11888 | _ACEOF |
20969 | rm -f conftest$ac_exeext | 11889 | if ac_fn_c_try_run "$LINENO"; then : |
20970 | if { (ac_try="$ac_link" | ||
20971 | case "(($ac_try" in | ||
20972 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20973 | *) ac_try_echo=$ac_try;; | ||
20974 | esac | ||
20975 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20976 | (eval "$ac_link") 2>&5 | ||
20977 | ac_status=$? | ||
20978 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20979 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
20980 | { (case "(($ac_try" in | ||
20981 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
20982 | *) ac_try_echo=$ac_try;; | ||
20983 | esac | ||
20984 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
20985 | (eval "$ac_try") 2>&5 | ||
20986 | ac_status=$? | ||
20987 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
20988 | (exit $ac_status); }; }; then | ||
20989 | 11890 | ||
20990 | { echo "$as_me:$LINENO: result: yes" >&5 | 11891 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
20991 | echo "${ECHO_T}yes" >&6; } | 11892 | $as_echo "yes" >&6; } |
20992 | 11893 | ||
20993 | else | 11894 | else |
20994 | echo "$as_me: program exited with status $ac_status" >&5 | ||
20995 | echo "$as_me: failed program was:" >&5 | ||
20996 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
20997 | |||
20998 | ( exit $ac_status ) | ||
20999 | 11895 | ||
21000 | { echo "$as_me:$LINENO: result: no" >&5 | 11896 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
21001 | echo "${ECHO_T}no" >&6; } | 11897 | $as_echo "no" >&6; } |
21002 | cat >>confdefs.h <<\_ACEOF | 11898 | $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h |
21003 | #define BROKEN_GETADDRINFO 1 | ||
21004 | _ACEOF | ||
21005 | 11899 | ||
21006 | 11900 | ||
21007 | fi | 11901 | fi |
21008 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 11902 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
11903 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
21009 | fi | 11904 | fi |
21010 | 11905 | ||
21011 | |||
21012 | fi | 11906 | fi |
21013 | 11907 | ||
21014 | if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ | 11908 | if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ |
21015 | test "x$check_for_aix_broken_getaddrinfo" = "x1"; then | 11909 | test "x$check_for_aix_broken_getaddrinfo" = "x1"; then |
21016 | { echo "$as_me:$LINENO: checking if getaddrinfo seems to work" >&5 | 11910 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getaddrinfo seems to work" >&5 |
21017 | echo $ECHO_N "checking if getaddrinfo seems to work... $ECHO_C" >&6; } | 11911 | $as_echo_n "checking if getaddrinfo seems to work... " >&6; } |
21018 | if test "$cross_compiling" = yes; then | 11912 | if test "$cross_compiling" = yes; then : |
21019 | 11913 | ||
21020 | { echo "$as_me:$LINENO: result: cross-compiling, assuming no" >&5 | 11914 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming no" >&5 |
21021 | echo "${ECHO_T}cross-compiling, assuming no" >&6; } | 11915 | $as_echo "cross-compiling, assuming no" >&6; } |
21022 | 11916 | ||
21023 | 11917 | ||
21024 | else | 11918 | else |
21025 | cat >conftest.$ac_ext <<_ACEOF | 11919 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
21026 | /* confdefs.h. */ | ||
21027 | _ACEOF | ||
21028 | cat confdefs.h >>conftest.$ac_ext | ||
21029 | cat >>conftest.$ac_ext <<_ACEOF | ||
21030 | /* end confdefs.h. */ | 11920 | /* end confdefs.h. */ |
21031 | 11921 | ||
21032 | #include <stdio.h> | 11922 | #include <stdio.h> |
@@ -21075,199 +11965,135 @@ main () | |||
21075 | return 0; | 11965 | return 0; |
21076 | } | 11966 | } |
21077 | _ACEOF | 11967 | _ACEOF |
21078 | rm -f conftest$ac_exeext | 11968 | if ac_fn_c_try_run "$LINENO"; then : |
21079 | if { (ac_try="$ac_link" | ||
21080 | case "(($ac_try" in | ||
21081 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21082 | *) ac_try_echo=$ac_try;; | ||
21083 | esac | ||
21084 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21085 | (eval "$ac_link") 2>&5 | ||
21086 | ac_status=$? | ||
21087 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21088 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
21089 | { (case "(($ac_try" in | ||
21090 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21091 | *) ac_try_echo=$ac_try;; | ||
21092 | esac | ||
21093 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21094 | (eval "$ac_try") 2>&5 | ||
21095 | ac_status=$? | ||
21096 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21097 | (exit $ac_status); }; }; then | ||
21098 | 11969 | ||
21099 | { echo "$as_me:$LINENO: result: yes" >&5 | 11970 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
21100 | echo "${ECHO_T}yes" >&6; } | 11971 | $as_echo "yes" >&6; } |
21101 | 11972 | ||
21102 | cat >>confdefs.h <<\_ACEOF | 11973 | $as_echo "#define AIX_GETNAMEINFO_HACK 1" >>confdefs.h |
21103 | #define AIX_GETNAMEINFO_HACK 1 | ||
21104 | _ACEOF | ||
21105 | 11974 | ||
21106 | 11975 | ||
21107 | else | 11976 | else |
21108 | echo "$as_me: program exited with status $ac_status" >&5 | ||
21109 | echo "$as_me: failed program was:" >&5 | ||
21110 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
21111 | |||
21112 | ( exit $ac_status ) | ||
21113 | 11977 | ||
21114 | { echo "$as_me:$LINENO: result: no" >&5 | 11978 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
21115 | echo "${ECHO_T}no" >&6; } | 11979 | $as_echo "no" >&6; } |
21116 | cat >>confdefs.h <<\_ACEOF | 11980 | $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h |
21117 | #define BROKEN_GETADDRINFO 1 | ||
21118 | _ACEOF | ||
21119 | 11981 | ||
21120 | 11982 | ||
21121 | fi | 11983 | fi |
21122 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 11984 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
11985 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
21123 | fi | 11986 | fi |
21124 | 11987 | ||
21125 | |||
21126 | fi | 11988 | fi |
21127 | 11989 | ||
21128 | if test "x$ac_cv_func_getaddrinfo" = "xyes"; then | 11990 | if test "x$ac_cv_func_getaddrinfo" = "xyes"; then |
21129 | { echo "$as_me:$LINENO: checking whether AI_NUMERICSERV is declared" >&5 | 11991 | ac_fn_c_check_decl "$LINENO" "AI_NUMERICSERV" "ac_cv_have_decl_AI_NUMERICSERV" "#include <sys/types.h> |
21130 | echo $ECHO_N "checking whether AI_NUMERICSERV is declared... $ECHO_C" >&6; } | ||
21131 | if test "${ac_cv_have_decl_AI_NUMERICSERV+set}" = set; then | ||
21132 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
21133 | else | ||
21134 | cat >conftest.$ac_ext <<_ACEOF | ||
21135 | /* confdefs.h. */ | ||
21136 | _ACEOF | ||
21137 | cat confdefs.h >>conftest.$ac_ext | ||
21138 | cat >>conftest.$ac_ext <<_ACEOF | ||
21139 | /* end confdefs.h. */ | ||
21140 | #include <sys/types.h> | ||
21141 | #include <sys/socket.h> | 11992 | #include <sys/socket.h> |
21142 | #include <netdb.h> | 11993 | #include <netdb.h> |
11994 | " | ||
11995 | if test "x$ac_cv_have_decl_AI_NUMERICSERV" = xyes; then : | ||
11996 | ac_have_decl=1 | ||
11997 | else | ||
11998 | ac_have_decl=0 | ||
11999 | fi | ||
12000 | |||
12001 | cat >>confdefs.h <<_ACEOF | ||
12002 | #define HAVE_DECL_AI_NUMERICSERV $ac_have_decl | ||
12003 | _ACEOF | ||
12004 | |||
12005 | fi | ||
21143 | 12006 | ||
12007 | if test "x$check_for_conflicting_getspnam" = "x1"; then | ||
12008 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for conflicting getspnam in shadow.h" >&5 | ||
12009 | $as_echo_n "checking for conflicting getspnam in shadow.h... " >&6; } | ||
12010 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
12011 | /* end confdefs.h. */ | ||
12012 | #include <shadow.h> | ||
21144 | int | 12013 | int |
21145 | main () | 12014 | main () |
21146 | { | 12015 | { |
21147 | #ifndef AI_NUMERICSERV | 12016 | exit(0); |
21148 | (void) AI_NUMERICSERV; | ||
21149 | #endif | ||
21150 | |||
21151 | ; | 12017 | ; |
21152 | return 0; | 12018 | return 0; |
21153 | } | 12019 | } |
21154 | _ACEOF | 12020 | _ACEOF |
21155 | rm -f conftest.$ac_objext | 12021 | if ac_fn_c_try_compile "$LINENO"; then : |
21156 | if { (ac_try="$ac_compile" | ||
21157 | case "(($ac_try" in | ||
21158 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21159 | *) ac_try_echo=$ac_try;; | ||
21160 | esac | ||
21161 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21162 | (eval "$ac_compile") 2>conftest.er1 | ||
21163 | ac_status=$? | ||
21164 | grep -v '^ *+' conftest.er1 >conftest.err | ||
21165 | rm -f conftest.er1 | ||
21166 | cat conftest.err >&5 | ||
21167 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21168 | (exit $ac_status); } && { | ||
21169 | test -z "$ac_c_werror_flag" || | ||
21170 | test ! -s conftest.err | ||
21171 | } && test -s conftest.$ac_objext; then | ||
21172 | ac_cv_have_decl_AI_NUMERICSERV=yes | ||
21173 | else | ||
21174 | echo "$as_me: failed program was:" >&5 | ||
21175 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
21176 | 12022 | ||
21177 | ac_cv_have_decl_AI_NUMERICSERV=no | 12023 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
21178 | fi | 12024 | $as_echo "no" >&6; } |
21179 | 12025 | ||
21180 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 12026 | else |
21181 | fi | ||
21182 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_AI_NUMERICSERV" >&5 | ||
21183 | echo "${ECHO_T}$ac_cv_have_decl_AI_NUMERICSERV" >&6; } | ||
21184 | if test $ac_cv_have_decl_AI_NUMERICSERV = yes; then | ||
21185 | 12027 | ||
21186 | cat >>confdefs.h <<_ACEOF | 12028 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
21187 | #define HAVE_DECL_AI_NUMERICSERV 1 | 12029 | $as_echo "yes" >&6; } |
21188 | _ACEOF | ||
21189 | 12030 | ||
12031 | $as_echo "#define GETSPNAM_CONFLICTING_DEFS 1" >>confdefs.h | ||
21190 | 12032 | ||
21191 | else | ||
21192 | cat >>confdefs.h <<_ACEOF | ||
21193 | #define HAVE_DECL_AI_NUMERICSERV 0 | ||
21194 | _ACEOF | ||
21195 | 12033 | ||
21196 | 12034 | ||
21197 | fi | 12035 | fi |
12036 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
12037 | fi | ||
21198 | 12038 | ||
12039 | if test "x$ac_cv_func_strnvis" = "xyes"; then | ||
12040 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnvis" >&5 | ||
12041 | $as_echo_n "checking for working strnvis... " >&6; } | ||
12042 | if test "$cross_compiling" = yes; then : | ||
12043 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming broken" >&5 | ||
12044 | $as_echo "$as_me: WARNING: cross compiling: assuming broken" >&2;} | ||
21199 | 12045 | ||
21200 | fi | 12046 | $as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h |
21201 | 12047 | ||
21202 | if test "x$check_for_conflicting_getspnam" = "x1"; then | 12048 | |
21203 | { echo "$as_me:$LINENO: checking for conflicting getspnam in shadow.h" >&5 | 12049 | else |
21204 | echo $ECHO_N "checking for conflicting getspnam in shadow.h... $ECHO_C" >&6; } | 12050 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
21205 | cat >conftest.$ac_ext <<_ACEOF | ||
21206 | /* confdefs.h. */ | ||
21207 | _ACEOF | ||
21208 | cat confdefs.h >>conftest.$ac_ext | ||
21209 | cat >>conftest.$ac_ext <<_ACEOF | ||
21210 | /* end confdefs.h. */ | 12051 | /* end confdefs.h. */ |
21211 | #include <shadow.h> | 12052 | |
12053 | #include <signal.h> | ||
12054 | #include <stdlib.h> | ||
12055 | #include <string.h> | ||
12056 | #include <vis.h> | ||
12057 | static void sighandler(int sig) { _exit(1); } | ||
12058 | |||
21212 | int | 12059 | int |
21213 | main () | 12060 | main () |
21214 | { | 12061 | { |
21215 | exit(0); | 12062 | |
12063 | char dst[16]; | ||
12064 | |||
12065 | signal(SIGSEGV, sighandler); | ||
12066 | if (strnvis(dst, "src", 4, 0) && strcmp(dst, "src") == 0) | ||
12067 | exit(0); | ||
12068 | exit(1) | ||
12069 | |||
21216 | ; | 12070 | ; |
21217 | return 0; | 12071 | return 0; |
21218 | } | 12072 | } |
21219 | _ACEOF | 12073 | _ACEOF |
21220 | rm -f conftest.$ac_objext | 12074 | if ac_fn_c_try_run "$LINENO"; then : |
21221 | if { (ac_try="$ac_compile" | 12075 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
21222 | case "(($ac_try" in | 12076 | $as_echo "yes" >&6; } |
21223 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21224 | *) ac_try_echo=$ac_try;; | ||
21225 | esac | ||
21226 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21227 | (eval "$ac_compile") 2>conftest.er1 | ||
21228 | ac_status=$? | ||
21229 | grep -v '^ *+' conftest.er1 >conftest.err | ||
21230 | rm -f conftest.er1 | ||
21231 | cat conftest.err >&5 | ||
21232 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21233 | (exit $ac_status); } && { | ||
21234 | test -z "$ac_c_werror_flag" || | ||
21235 | test ! -s conftest.err | ||
21236 | } && test -s conftest.$ac_objext; then | ||
21237 | |||
21238 | { echo "$as_me:$LINENO: result: no" >&5 | ||
21239 | echo "${ECHO_T}no" >&6; } | ||
21240 | |||
21241 | else | 12077 | else |
21242 | echo "$as_me: failed program was:" >&5 | 12078 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
21243 | sed 's/^/| /' conftest.$ac_ext >&5 | 12079 | $as_echo "no" >&6; } |
21244 | |||
21245 | |||
21246 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
21247 | echo "${ECHO_T}yes" >&6; } | ||
21248 | |||
21249 | cat >>confdefs.h <<\_ACEOF | ||
21250 | #define GETSPNAM_CONFLICTING_DEFS 1 | ||
21251 | _ACEOF | ||
21252 | |||
21253 | 12080 | ||
12081 | $as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h | ||
21254 | 12082 | ||
21255 | fi | 12083 | fi |
12084 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ | ||
12085 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
12086 | fi | ||
21256 | 12087 | ||
21257 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
21258 | fi | 12088 | fi |
21259 | 12089 | ||
21260 | { echo "$as_me:$LINENO: checking whether getpgrp requires zero arguments" >&5 | 12090 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getpgrp requires zero arguments" >&5 |
21261 | echo $ECHO_N "checking whether getpgrp requires zero arguments... $ECHO_C" >&6; } | 12091 | $as_echo_n "checking whether getpgrp requires zero arguments... " >&6; } |
21262 | if test "${ac_cv_func_getpgrp_void+set}" = set; then | 12092 | if ${ac_cv_func_getpgrp_void+:} false; then : |
21263 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 12093 | $as_echo_n "(cached) " >&6 |
21264 | else | 12094 | else |
21265 | # Use it with a single arg. | 12095 | # Use it with a single arg. |
21266 | cat >conftest.$ac_ext <<_ACEOF | 12096 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
21267 | /* confdefs.h. */ | ||
21268 | _ACEOF | ||
21269 | cat confdefs.h >>conftest.$ac_ext | ||
21270 | cat >>conftest.$ac_ext <<_ACEOF | ||
21271 | /* end confdefs.h. */ | 12097 | /* end confdefs.h. */ |
21272 | $ac_includes_default | 12098 | $ac_includes_default |
21273 | int | 12099 | int |
@@ -21278,41 +12104,19 @@ getpgrp (0); | |||
21278 | return 0; | 12104 | return 0; |
21279 | } | 12105 | } |
21280 | _ACEOF | 12106 | _ACEOF |
21281 | rm -f conftest.$ac_objext | 12107 | if ac_fn_c_try_compile "$LINENO"; then : |
21282 | if { (ac_try="$ac_compile" | ||
21283 | case "(($ac_try" in | ||
21284 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21285 | *) ac_try_echo=$ac_try;; | ||
21286 | esac | ||
21287 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21288 | (eval "$ac_compile") 2>conftest.er1 | ||
21289 | ac_status=$? | ||
21290 | grep -v '^ *+' conftest.er1 >conftest.err | ||
21291 | rm -f conftest.er1 | ||
21292 | cat conftest.err >&5 | ||
21293 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21294 | (exit $ac_status); } && { | ||
21295 | test -z "$ac_c_werror_flag" || | ||
21296 | test ! -s conftest.err | ||
21297 | } && test -s conftest.$ac_objext; then | ||
21298 | ac_cv_func_getpgrp_void=no | 12108 | ac_cv_func_getpgrp_void=no |
21299 | else | 12109 | else |
21300 | echo "$as_me: failed program was:" >&5 | 12110 | ac_cv_func_getpgrp_void=yes |
21301 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
21302 | |||
21303 | ac_cv_func_getpgrp_void=yes | ||
21304 | fi | 12111 | fi |
21305 | |||
21306 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 12112 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
21307 | 12113 | ||
21308 | fi | 12114 | fi |
21309 | { echo "$as_me:$LINENO: result: $ac_cv_func_getpgrp_void" >&5 | 12115 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getpgrp_void" >&5 |
21310 | echo "${ECHO_T}$ac_cv_func_getpgrp_void" >&6; } | 12116 | $as_echo "$ac_cv_func_getpgrp_void" >&6; } |
21311 | if test $ac_cv_func_getpgrp_void = yes; then | 12117 | if test $ac_cv_func_getpgrp_void = yes; then |
21312 | 12118 | ||
21313 | cat >>confdefs.h <<\_ACEOF | 12119 | $as_echo "#define GETPGRP_VOID 1" >>confdefs.h |
21314 | #define GETPGRP_VOID 1 | ||
21315 | _ACEOF | ||
21316 | 12120 | ||
21317 | fi | 12121 | fi |
21318 | 12122 | ||
@@ -21322,12 +12126,10 @@ saved_CPPFLAGS="$CPPFLAGS" | |||
21322 | saved_LDFLAGS="$LDFLAGS" | 12126 | saved_LDFLAGS="$LDFLAGS" |
21323 | 12127 | ||
21324 | # Check whether --with-ssl-dir was given. | 12128 | # Check whether --with-ssl-dir was given. |
21325 | if test "${with_ssl_dir+set}" = set; then | 12129 | if test "${with_ssl_dir+set}" = set; then : |
21326 | withval=$with_ssl_dir; | 12130 | withval=$with_ssl_dir; |
21327 | if test "x$openssl" = "xno" ; then | 12131 | if test "x$openssl" = "xno" ; then |
21328 | { { echo "$as_me:$LINENO: error: cannot use --with-ssl-dir when OpenSSL disabled" >&5 | 12132 | as_fn_error $? "cannot use --with-ssl-dir when OpenSSL disabled" "$LINENO" 5 |
21329 | echo "$as_me: error: cannot use --with-ssl-dir when OpenSSL disabled" >&2;} | ||
21330 | { (exit 1); exit 1; }; } | ||
21331 | fi | 12133 | fi |
21332 | if test "x$withval" != "xno" ; then | 12134 | if test "x$withval" != "xno" ; then |
21333 | case "$withval" in | 12135 | case "$withval" in |
@@ -21366,7 +12168,7 @@ fi | |||
21366 | 12168 | ||
21367 | 12169 | ||
21368 | # Check whether --with-openssl-header-check was given. | 12170 | # Check whether --with-openssl-header-check was given. |
21369 | if test "${with_openssl_header_check+set}" = set; then | 12171 | if test "${with_openssl_header_check+set}" = set; then : |
21370 | withval=$with_openssl_header_check; | 12172 | withval=$with_openssl_header_check; |
21371 | if test "x$withval" = "xno" ; then | 12173 | if test "x$withval" = "xno" ; then |
21372 | openssl_check_nonfatal=1 | 12174 | openssl_check_nonfatal=1 |
@@ -21379,13 +12181,11 @@ fi | |||
21379 | openssl_engine=no | 12181 | openssl_engine=no |
21380 | 12182 | ||
21381 | # Check whether --with-ssl-engine was given. | 12183 | # Check whether --with-ssl-engine was given. |
21382 | if test "${with_ssl_engine+set}" = set; then | 12184 | if test "${with_ssl_engine+set}" = set; then : |
21383 | withval=$with_ssl_engine; | 12185 | withval=$with_ssl_engine; |
21384 | if test "x$withval" != "xno" ; then | 12186 | if test "x$withval" != "xno" ; then |
21385 | if test "x$openssl" = "xno" ; then | 12187 | if test "x$openssl" = "xno" ; then |
21386 | { { echo "$as_me:$LINENO: error: cannot use --with-ssl-engine when OpenSSL disabled" >&5 | 12188 | as_fn_error $? "cannot use --with-ssl-engine when OpenSSL disabled" "$LINENO" 5 |
21387 | echo "$as_me: error: cannot use --with-ssl-engine when OpenSSL disabled" >&2;} | ||
21388 | { (exit 1); exit 1; }; } | ||
21389 | fi | 12189 | fi |
21390 | openssl_engine=yes | 12190 | openssl_engine=yes |
21391 | fi | 12191 | fi |
@@ -21396,11 +12196,7 @@ fi | |||
21396 | 12196 | ||
21397 | if test "x$openssl" = "xyes" ; then | 12197 | if test "x$openssl" = "xyes" ; then |
21398 | LIBS="-lcrypto $LIBS" | 12198 | LIBS="-lcrypto $LIBS" |
21399 | cat >conftest.$ac_ext <<_ACEOF | 12199 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
21400 | /* confdefs.h. */ | ||
21401 | _ACEOF | ||
21402 | cat confdefs.h >>conftest.$ac_ext | ||
21403 | cat >>conftest.$ac_ext <<_ACEOF | ||
21404 | /* end confdefs.h. */ | 12200 | /* end confdefs.h. */ |
21405 | 12201 | ||
21406 | /* Override any GCC internal prototype to avoid an error. | 12202 | /* Override any GCC internal prototype to avoid an error. |
@@ -21418,33 +12214,11 @@ return RAND_add (); | |||
21418 | return 0; | 12214 | return 0; |
21419 | } | 12215 | } |
21420 | _ACEOF | 12216 | _ACEOF |
21421 | rm -f conftest.$ac_objext conftest$ac_exeext | 12217 | if ac_fn_c_try_link "$LINENO"; then : |
21422 | if { (ac_try="$ac_link" | ||
21423 | case "(($ac_try" in | ||
21424 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21425 | *) ac_try_echo=$ac_try;; | ||
21426 | esac | ||
21427 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21428 | (eval "$ac_link") 2>conftest.er1 | ||
21429 | ac_status=$? | ||
21430 | grep -v '^ *+' conftest.er1 >conftest.err | ||
21431 | rm -f conftest.er1 | ||
21432 | cat conftest.err >&5 | ||
21433 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21434 | (exit $ac_status); } && { | ||
21435 | test -z "$ac_c_werror_flag" || | ||
21436 | test ! -s conftest.err | ||
21437 | } && test -s conftest$ac_exeext && | ||
21438 | $as_test_x conftest$ac_exeext; then | ||
21439 | 12218 | ||
21440 | cat >>confdefs.h <<\_ACEOF | 12219 | $as_echo "#define HAVE_OPENSSL 1" >>confdefs.h |
21441 | #define HAVE_OPENSSL 1 | ||
21442 | _ACEOF | ||
21443 | 12220 | ||
21444 | else | 12221 | else |
21445 | echo "$as_me: failed program was:" >&5 | ||
21446 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
21447 | |||
21448 | 12222 | ||
21449 | if test -n "${need_dash_r}"; then | 12223 | if test -n "${need_dash_r}"; then |
21450 | LDFLAGS="-L/usr/local/ssl/lib -R/usr/local/ssl/lib ${saved_LDFLAGS}" | 12224 | LDFLAGS="-L/usr/local/ssl/lib -R/usr/local/ssl/lib ${saved_LDFLAGS}" |
@@ -21452,150 +12226,15 @@ sed 's/^/| /' conftest.$ac_ext >&5 | |||
21452 | LDFLAGS="-L/usr/local/ssl/lib ${saved_LDFLAGS}" | 12226 | LDFLAGS="-L/usr/local/ssl/lib ${saved_LDFLAGS}" |
21453 | fi | 12227 | fi |
21454 | CPPFLAGS="-I/usr/local/ssl/include ${saved_CPPFLAGS}" | 12228 | CPPFLAGS="-I/usr/local/ssl/include ${saved_CPPFLAGS}" |
21455 | if test "${ac_cv_header_openssl_opensslv_h+set}" = set; then | 12229 | ac_fn_c_check_header_mongrel "$LINENO" "openssl/opensslv.h" "ac_cv_header_openssl_opensslv_h" "$ac_includes_default" |
21456 | { echo "$as_me:$LINENO: checking for openssl/opensslv.h" >&5 | 12230 | if test "x$ac_cv_header_openssl_opensslv_h" = xyes; then : |
21457 | echo $ECHO_N "checking for openssl/opensslv.h... $ECHO_C" >&6; } | ||
21458 | if test "${ac_cv_header_openssl_opensslv_h+set}" = set; then | ||
21459 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
21460 | fi | ||
21461 | { echo "$as_me:$LINENO: result: $ac_cv_header_openssl_opensslv_h" >&5 | ||
21462 | echo "${ECHO_T}$ac_cv_header_openssl_opensslv_h" >&6; } | ||
21463 | else | ||
21464 | # Is the header compilable? | ||
21465 | { echo "$as_me:$LINENO: checking openssl/opensslv.h usability" >&5 | ||
21466 | echo $ECHO_N "checking openssl/opensslv.h usability... $ECHO_C" >&6; } | ||
21467 | cat >conftest.$ac_ext <<_ACEOF | ||
21468 | /* confdefs.h. */ | ||
21469 | _ACEOF | ||
21470 | cat confdefs.h >>conftest.$ac_ext | ||
21471 | cat >>conftest.$ac_ext <<_ACEOF | ||
21472 | /* end confdefs.h. */ | ||
21473 | $ac_includes_default | ||
21474 | #include <openssl/opensslv.h> | ||
21475 | _ACEOF | ||
21476 | rm -f conftest.$ac_objext | ||
21477 | if { (ac_try="$ac_compile" | ||
21478 | case "(($ac_try" in | ||
21479 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21480 | *) ac_try_echo=$ac_try;; | ||
21481 | esac | ||
21482 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21483 | (eval "$ac_compile") 2>conftest.er1 | ||
21484 | ac_status=$? | ||
21485 | grep -v '^ *+' conftest.er1 >conftest.err | ||
21486 | rm -f conftest.er1 | ||
21487 | cat conftest.err >&5 | ||
21488 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21489 | (exit $ac_status); } && { | ||
21490 | test -z "$ac_c_werror_flag" || | ||
21491 | test ! -s conftest.err | ||
21492 | } && test -s conftest.$ac_objext; then | ||
21493 | ac_header_compiler=yes | ||
21494 | else | ||
21495 | echo "$as_me: failed program was:" >&5 | ||
21496 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
21497 | 12231 | ||
21498 | ac_header_compiler=no | ||
21499 | fi | ||
21500 | |||
21501 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
21502 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
21503 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
21504 | |||
21505 | # Is the header present? | ||
21506 | { echo "$as_me:$LINENO: checking openssl/opensslv.h presence" >&5 | ||
21507 | echo $ECHO_N "checking openssl/opensslv.h presence... $ECHO_C" >&6; } | ||
21508 | cat >conftest.$ac_ext <<_ACEOF | ||
21509 | /* confdefs.h. */ | ||
21510 | _ACEOF | ||
21511 | cat confdefs.h >>conftest.$ac_ext | ||
21512 | cat >>conftest.$ac_ext <<_ACEOF | ||
21513 | /* end confdefs.h. */ | ||
21514 | #include <openssl/opensslv.h> | ||
21515 | _ACEOF | ||
21516 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
21517 | case "(($ac_try" in | ||
21518 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21519 | *) ac_try_echo=$ac_try;; | ||
21520 | esac | ||
21521 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21522 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
21523 | ac_status=$? | ||
21524 | grep -v '^ *+' conftest.er1 >conftest.err | ||
21525 | rm -f conftest.er1 | ||
21526 | cat conftest.err >&5 | ||
21527 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21528 | (exit $ac_status); } >/dev/null && { | ||
21529 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
21530 | test ! -s conftest.err | ||
21531 | }; then | ||
21532 | ac_header_preproc=yes | ||
21533 | else | 12232 | else |
21534 | echo "$as_me: failed program was:" >&5 | 12233 | as_fn_error $? "*** OpenSSL headers missing - please install first or check config.log ***" "$LINENO" 5 |
21535 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
21536 | |||
21537 | ac_header_preproc=no | ||
21538 | fi | 12234 | fi |
21539 | 12235 | ||
21540 | rm -f conftest.err conftest.$ac_ext | ||
21541 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
21542 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
21543 | 12236 | ||
21544 | # So? What about this header? | 12237 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
21545 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
21546 | yes:no: ) | ||
21547 | { echo "$as_me:$LINENO: WARNING: openssl/opensslv.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
21548 | echo "$as_me: WARNING: openssl/opensslv.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
21549 | { echo "$as_me:$LINENO: WARNING: openssl/opensslv.h: proceeding with the compiler's result" >&5 | ||
21550 | echo "$as_me: WARNING: openssl/opensslv.h: proceeding with the compiler's result" >&2;} | ||
21551 | ac_header_preproc=yes | ||
21552 | ;; | ||
21553 | no:yes:* ) | ||
21554 | { echo "$as_me:$LINENO: WARNING: openssl/opensslv.h: present but cannot be compiled" >&5 | ||
21555 | echo "$as_me: WARNING: openssl/opensslv.h: present but cannot be compiled" >&2;} | ||
21556 | { echo "$as_me:$LINENO: WARNING: openssl/opensslv.h: check for missing prerequisite headers?" >&5 | ||
21557 | echo "$as_me: WARNING: openssl/opensslv.h: check for missing prerequisite headers?" >&2;} | ||
21558 | { echo "$as_me:$LINENO: WARNING: openssl/opensslv.h: see the Autoconf documentation" >&5 | ||
21559 | echo "$as_me: WARNING: openssl/opensslv.h: see the Autoconf documentation" >&2;} | ||
21560 | { echo "$as_me:$LINENO: WARNING: openssl/opensslv.h: section \"Present But Cannot Be Compiled\"" >&5 | ||
21561 | echo "$as_me: WARNING: openssl/opensslv.h: section \"Present But Cannot Be Compiled\"" >&2;} | ||
21562 | { echo "$as_me:$LINENO: WARNING: openssl/opensslv.h: proceeding with the preprocessor's result" >&5 | ||
21563 | echo "$as_me: WARNING: openssl/opensslv.h: proceeding with the preprocessor's result" >&2;} | ||
21564 | { echo "$as_me:$LINENO: WARNING: openssl/opensslv.h: in the future, the compiler will take precedence" >&5 | ||
21565 | echo "$as_me: WARNING: openssl/opensslv.h: in the future, the compiler will take precedence" >&2;} | ||
21566 | ( cat <<\_ASBOX | ||
21567 | ## ------------------------------------------- ## | ||
21568 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
21569 | ## ------------------------------------------- ## | ||
21570 | _ASBOX | ||
21571 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
21572 | ;; | ||
21573 | esac | ||
21574 | { echo "$as_me:$LINENO: checking for openssl/opensslv.h" >&5 | ||
21575 | echo $ECHO_N "checking for openssl/opensslv.h... $ECHO_C" >&6; } | ||
21576 | if test "${ac_cv_header_openssl_opensslv_h+set}" = set; then | ||
21577 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
21578 | else | ||
21579 | ac_cv_header_openssl_opensslv_h=$ac_header_preproc | ||
21580 | fi | ||
21581 | { echo "$as_me:$LINENO: result: $ac_cv_header_openssl_opensslv_h" >&5 | ||
21582 | echo "${ECHO_T}$ac_cv_header_openssl_opensslv_h" >&6; } | ||
21583 | |||
21584 | fi | ||
21585 | if test $ac_cv_header_openssl_opensslv_h = yes; then | ||
21586 | : | ||
21587 | else | ||
21588 | { { echo "$as_me:$LINENO: error: *** OpenSSL headers missing - please install first or check config.log ***" >&5 | ||
21589 | echo "$as_me: error: *** OpenSSL headers missing - please install first or check config.log ***" >&2;} | ||
21590 | { (exit 1); exit 1; }; } | ||
21591 | fi | ||
21592 | |||
21593 | |||
21594 | cat >conftest.$ac_ext <<_ACEOF | ||
21595 | /* confdefs.h. */ | ||
21596 | _ACEOF | ||
21597 | cat confdefs.h >>conftest.$ac_ext | ||
21598 | cat >>conftest.$ac_ext <<_ACEOF | ||
21599 | /* end confdefs.h. */ | 12238 | /* end confdefs.h. */ |
21600 | 12239 | ||
21601 | /* Override any GCC internal prototype to avoid an error. | 12240 | /* Override any GCC internal prototype to avoid an error. |
@@ -21613,64 +12252,34 @@ return RAND_add (); | |||
21613 | return 0; | 12252 | return 0; |
21614 | } | 12253 | } |
21615 | _ACEOF | 12254 | _ACEOF |
21616 | rm -f conftest.$ac_objext conftest$ac_exeext | 12255 | if ac_fn_c_try_link "$LINENO"; then : |
21617 | if { (ac_try="$ac_link" | 12256 | $as_echo "#define HAVE_OPENSSL 1" >>confdefs.h |
21618 | case "(($ac_try" in | ||
21619 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21620 | *) ac_try_echo=$ac_try;; | ||
21621 | esac | ||
21622 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21623 | (eval "$ac_link") 2>conftest.er1 | ||
21624 | ac_status=$? | ||
21625 | grep -v '^ *+' conftest.er1 >conftest.err | ||
21626 | rm -f conftest.er1 | ||
21627 | cat conftest.err >&5 | ||
21628 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21629 | (exit $ac_status); } && { | ||
21630 | test -z "$ac_c_werror_flag" || | ||
21631 | test ! -s conftest.err | ||
21632 | } && test -s conftest$ac_exeext && | ||
21633 | $as_test_x conftest$ac_exeext; then | ||
21634 | cat >>confdefs.h <<\_ACEOF | ||
21635 | #define HAVE_OPENSSL 1 | ||
21636 | _ACEOF | ||
21637 | 12257 | ||
21638 | else | 12258 | else |
21639 | echo "$as_me: failed program was:" >&5 | ||
21640 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
21641 | 12259 | ||
21642 | 12260 | as_fn_error $? "*** Can't find recent OpenSSL libcrypto (see config.log for details) ***" "$LINENO" 5 | |
21643 | { { echo "$as_me:$LINENO: error: *** Can't find recent OpenSSL libcrypto (see config.log for details) ***" >&5 | ||
21644 | echo "$as_me: error: *** Can't find recent OpenSSL libcrypto (see config.log for details) ***" >&2;} | ||
21645 | { (exit 1); exit 1; }; } | ||
21646 | 12261 | ||
21647 | 12262 | ||
21648 | fi | 12263 | fi |
21649 | 12264 | rm -f core conftest.err conftest.$ac_objext \ | |
21650 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 12265 | conftest$ac_exeext conftest.$ac_ext |
21651 | conftest$ac_exeext conftest.$ac_ext | ||
21652 | 12266 | ||
21653 | 12267 | ||
21654 | fi | 12268 | fi |
21655 | 12269 | rm -f core conftest.err conftest.$ac_objext \ | |
21656 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 12270 | conftest$ac_exeext conftest.$ac_ext |
21657 | conftest$ac_exeext conftest.$ac_ext | ||
21658 | 12271 | ||
21659 | # Determine OpenSSL header version | 12272 | # Determine OpenSSL header version |
21660 | { echo "$as_me:$LINENO: checking OpenSSL header version" >&5 | 12273 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenSSL header version" >&5 |
21661 | echo $ECHO_N "checking OpenSSL header version... $ECHO_C" >&6; } | 12274 | $as_echo_n "checking OpenSSL header version... " >&6; } |
21662 | if test "$cross_compiling" = yes; then | 12275 | if test "$cross_compiling" = yes; then : |
21663 | 12276 | ||
21664 | { echo "$as_me:$LINENO: WARNING: cross compiling: not checking" >&5 | 12277 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5 |
21665 | echo "$as_me: WARNING: cross compiling: not checking" >&2;} | 12278 | $as_echo "$as_me: WARNING: cross compiling: not checking" >&2;} |
21666 | 12279 | ||
21667 | 12280 | ||
21668 | else | 12281 | else |
21669 | cat >conftest.$ac_ext <<_ACEOF | 12282 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
21670 | /* confdefs.h. */ | ||
21671 | _ACEOF | ||
21672 | cat confdefs.h >>conftest.$ac_ext | ||
21673 | cat >>conftest.$ac_ext <<_ACEOF | ||
21674 | /* end confdefs.h. */ | 12283 | /* end confdefs.h. */ |
21675 | 12284 | ||
21676 | #include <stdlib.h> | 12285 | #include <stdlib.h> |
@@ -21701,65 +12310,35 @@ main () | |||
21701 | return 0; | 12310 | return 0; |
21702 | } | 12311 | } |
21703 | _ACEOF | 12312 | _ACEOF |
21704 | rm -f conftest$ac_exeext | 12313 | if ac_fn_c_try_run "$LINENO"; then : |
21705 | if { (ac_try="$ac_link" | ||
21706 | case "(($ac_try" in | ||
21707 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21708 | *) ac_try_echo=$ac_try;; | ||
21709 | esac | ||
21710 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21711 | (eval "$ac_link") 2>&5 | ||
21712 | ac_status=$? | ||
21713 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21714 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
21715 | { (case "(($ac_try" in | ||
21716 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21717 | *) ac_try_echo=$ac_try;; | ||
21718 | esac | ||
21719 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21720 | (eval "$ac_try") 2>&5 | ||
21721 | ac_status=$? | ||
21722 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21723 | (exit $ac_status); }; }; then | ||
21724 | 12314 | ||
21725 | ssl_header_ver=`cat conftest.sslincver` | 12315 | ssl_header_ver=`cat conftest.sslincver` |
21726 | { echo "$as_me:$LINENO: result: $ssl_header_ver" >&5 | 12316 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssl_header_ver" >&5 |
21727 | echo "${ECHO_T}$ssl_header_ver" >&6; } | 12317 | $as_echo "$ssl_header_ver" >&6; } |
21728 | 12318 | ||
21729 | else | 12319 | else |
21730 | echo "$as_me: program exited with status $ac_status" >&5 | ||
21731 | echo "$as_me: failed program was:" >&5 | ||
21732 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
21733 | 12320 | ||
21734 | ( exit $ac_status ) | 12321 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 |
21735 | 12322 | $as_echo "not found" >&6; } | |
21736 | { echo "$as_me:$LINENO: result: not found" >&5 | 12323 | as_fn_error $? "OpenSSL version header not found." "$LINENO" 5 |
21737 | echo "${ECHO_T}not found" >&6; } | ||
21738 | { { echo "$as_me:$LINENO: error: OpenSSL version header not found." >&5 | ||
21739 | echo "$as_me: error: OpenSSL version header not found." >&2;} | ||
21740 | { (exit 1); exit 1; }; } | ||
21741 | 12324 | ||
21742 | fi | 12325 | fi |
21743 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 12326 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
12327 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
21744 | fi | 12328 | fi |
21745 | 12329 | ||
21746 | 12330 | ||
21747 | |||
21748 | # Determine OpenSSL library version | 12331 | # Determine OpenSSL library version |
21749 | { echo "$as_me:$LINENO: checking OpenSSL library version" >&5 | 12332 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenSSL library version" >&5 |
21750 | echo $ECHO_N "checking OpenSSL library version... $ECHO_C" >&6; } | 12333 | $as_echo_n "checking OpenSSL library version... " >&6; } |
21751 | if test "$cross_compiling" = yes; then | 12334 | if test "$cross_compiling" = yes; then : |
21752 | 12335 | ||
21753 | { echo "$as_me:$LINENO: WARNING: cross compiling: not checking" >&5 | 12336 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5 |
21754 | echo "$as_me: WARNING: cross compiling: not checking" >&2;} | 12337 | $as_echo "$as_me: WARNING: cross compiling: not checking" >&2;} |
21755 | 12338 | ||
21756 | 12339 | ||
21757 | else | 12340 | else |
21758 | cat >conftest.$ac_ext <<_ACEOF | 12341 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
21759 | /* confdefs.h. */ | ||
21760 | _ACEOF | ||
21761 | cat confdefs.h >>conftest.$ac_ext | ||
21762 | cat >>conftest.$ac_ext <<_ACEOF | ||
21763 | /* end confdefs.h. */ | 12342 | /* end confdefs.h. */ |
21764 | 12343 | ||
21765 | #include <stdio.h> | 12344 | #include <stdio.h> |
@@ -21789,74 +12368,42 @@ main () | |||
21789 | return 0; | 12368 | return 0; |
21790 | } | 12369 | } |
21791 | _ACEOF | 12370 | _ACEOF |
21792 | rm -f conftest$ac_exeext | 12371 | if ac_fn_c_try_run "$LINENO"; then : |
21793 | if { (ac_try="$ac_link" | ||
21794 | case "(($ac_try" in | ||
21795 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21796 | *) ac_try_echo=$ac_try;; | ||
21797 | esac | ||
21798 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21799 | (eval "$ac_link") 2>&5 | ||
21800 | ac_status=$? | ||
21801 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21802 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
21803 | { (case "(($ac_try" in | ||
21804 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21805 | *) ac_try_echo=$ac_try;; | ||
21806 | esac | ||
21807 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21808 | (eval "$ac_try") 2>&5 | ||
21809 | ac_status=$? | ||
21810 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21811 | (exit $ac_status); }; }; then | ||
21812 | 12372 | ||
21813 | ssl_library_ver=`cat conftest.ssllibver` | 12373 | ssl_library_ver=`cat conftest.ssllibver` |
21814 | # Check version is supported. | 12374 | # Check version is supported. |
21815 | case "$ssl_library_ver" in | 12375 | case "$ssl_library_ver" in |
21816 | 0090[0-7]*|009080[0-5]*) | 12376 | 0090[0-7]*|009080[0-5]*) |
21817 | { { echo "$as_me:$LINENO: error: OpenSSL >= 0.9.8f required (have \"$ssl_library_ver\")" >&5 | 12377 | as_fn_error $? "OpenSSL >= 0.9.8f required (have \"$ssl_library_ver\")" "$LINENO" 5 |
21818 | echo "$as_me: error: OpenSSL >= 0.9.8f required (have \"$ssl_library_ver\")" >&2;} | ||
21819 | { (exit 1); exit 1; }; } | ||
21820 | ;; | 12378 | ;; |
21821 | *) ;; | 12379 | *) ;; |
21822 | esac | 12380 | esac |
21823 | { echo "$as_me:$LINENO: result: $ssl_library_ver" >&5 | 12381 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssl_library_ver" >&5 |
21824 | echo "${ECHO_T}$ssl_library_ver" >&6; } | 12382 | $as_echo "$ssl_library_ver" >&6; } |
21825 | 12383 | ||
21826 | else | 12384 | else |
21827 | echo "$as_me: program exited with status $ac_status" >&5 | ||
21828 | echo "$as_me: failed program was:" >&5 | ||
21829 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
21830 | |||
21831 | ( exit $ac_status ) | ||
21832 | 12385 | ||
21833 | { echo "$as_me:$LINENO: result: not found" >&5 | 12386 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 |
21834 | echo "${ECHO_T}not found" >&6; } | 12387 | $as_echo "not found" >&6; } |
21835 | { { echo "$as_me:$LINENO: error: OpenSSL library not found." >&5 | 12388 | as_fn_error $? "OpenSSL library not found." "$LINENO" 5 |
21836 | echo "$as_me: error: OpenSSL library not found." >&2;} | ||
21837 | { (exit 1); exit 1; }; } | ||
21838 | 12389 | ||
21839 | fi | 12390 | fi |
21840 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 12391 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
12392 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
21841 | fi | 12393 | fi |
21842 | 12394 | ||
21843 | 12395 | ||
21844 | |||
21845 | # Sanity check OpenSSL headers | 12396 | # Sanity check OpenSSL headers |
21846 | { echo "$as_me:$LINENO: checking whether OpenSSL's headers match the library" >&5 | 12397 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL's headers match the library" >&5 |
21847 | echo $ECHO_N "checking whether OpenSSL's headers match the library... $ECHO_C" >&6; } | 12398 | $as_echo_n "checking whether OpenSSL's headers match the library... " >&6; } |
21848 | if test "$cross_compiling" = yes; then | 12399 | if test "$cross_compiling" = yes; then : |
21849 | 12400 | ||
21850 | { echo "$as_me:$LINENO: WARNING: cross compiling: not checking" >&5 | 12401 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5 |
21851 | echo "$as_me: WARNING: cross compiling: not checking" >&2;} | 12402 | $as_echo "$as_me: WARNING: cross compiling: not checking" >&2;} |
21852 | 12403 | ||
21853 | 12404 | ||
21854 | else | 12405 | else |
21855 | cat >conftest.$ac_ext <<_ACEOF | 12406 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
21856 | /* confdefs.h. */ | ||
21857 | _ACEOF | ||
21858 | cat confdefs.h >>conftest.$ac_ext | ||
21859 | cat >>conftest.$ac_ext <<_ACEOF | ||
21860 | /* end confdefs.h. */ | 12407 | /* end confdefs.h. */ |
21861 | 12408 | ||
21862 | #include <string.h> | 12409 | #include <string.h> |
@@ -21873,75 +12420,40 @@ main () | |||
21873 | return 0; | 12420 | return 0; |
21874 | } | 12421 | } |
21875 | _ACEOF | 12422 | _ACEOF |
21876 | rm -f conftest$ac_exeext | 12423 | if ac_fn_c_try_run "$LINENO"; then : |
21877 | if { (ac_try="$ac_link" | ||
21878 | case "(($ac_try" in | ||
21879 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21880 | *) ac_try_echo=$ac_try;; | ||
21881 | esac | ||
21882 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21883 | (eval "$ac_link") 2>&5 | ||
21884 | ac_status=$? | ||
21885 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21886 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
21887 | { (case "(($ac_try" in | ||
21888 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21889 | *) ac_try_echo=$ac_try;; | ||
21890 | esac | ||
21891 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21892 | (eval "$ac_try") 2>&5 | ||
21893 | ac_status=$? | ||
21894 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21895 | (exit $ac_status); }; }; then | ||
21896 | 12424 | ||
21897 | { echo "$as_me:$LINENO: result: yes" >&5 | 12425 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
21898 | echo "${ECHO_T}yes" >&6; } | 12426 | $as_echo "yes" >&6; } |
21899 | 12427 | ||
21900 | else | 12428 | else |
21901 | echo "$as_me: program exited with status $ac_status" >&5 | ||
21902 | echo "$as_me: failed program was:" >&5 | ||
21903 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
21904 | 12429 | ||
21905 | ( exit $ac_status ) | 12430 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
21906 | 12431 | $as_echo "no" >&6; } | |
21907 | { echo "$as_me:$LINENO: result: no" >&5 | ||
21908 | echo "${ECHO_T}no" >&6; } | ||
21909 | if test "x$openssl_check_nonfatal" = "x"; then | 12432 | if test "x$openssl_check_nonfatal" = "x"; then |
21910 | { { echo "$as_me:$LINENO: error: Your OpenSSL headers do not match your | 12433 | as_fn_error $? "Your OpenSSL headers do not match your |
21911 | library. Check config.log for details. | ||
21912 | If you are sure your installation is consistent, you can disable the check | ||
21913 | by running \"./configure --without-openssl-header-check\". | ||
21914 | Also see contrib/findssl.sh for help identifying header/library mismatches. | ||
21915 | " >&5 | ||
21916 | echo "$as_me: error: Your OpenSSL headers do not match your | ||
21917 | library. Check config.log for details. | 12434 | library. Check config.log for details. |
21918 | If you are sure your installation is consistent, you can disable the check | 12435 | If you are sure your installation is consistent, you can disable the check |
21919 | by running \"./configure --without-openssl-header-check\". | 12436 | by running \"./configure --without-openssl-header-check\". |
21920 | Also see contrib/findssl.sh for help identifying header/library mismatches. | 12437 | Also see contrib/findssl.sh for help identifying header/library mismatches. |
21921 | " >&2;} | 12438 | " "$LINENO" 5 |
21922 | { (exit 1); exit 1; }; } | ||
21923 | else | 12439 | else |
21924 | { echo "$as_me:$LINENO: WARNING: Your OpenSSL headers do not match your | 12440 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your OpenSSL headers do not match your |
21925 | library. Check config.log for details. | 12441 | library. Check config.log for details. |
21926 | Also see contrib/findssl.sh for help identifying header/library mismatches." >&5 | 12442 | Also see contrib/findssl.sh for help identifying header/library mismatches." >&5 |
21927 | echo "$as_me: WARNING: Your OpenSSL headers do not match your | 12443 | $as_echo "$as_me: WARNING: Your OpenSSL headers do not match your |
21928 | library. Check config.log for details. | 12444 | library. Check config.log for details. |
21929 | Also see contrib/findssl.sh for help identifying header/library mismatches." >&2;} | 12445 | Also see contrib/findssl.sh for help identifying header/library mismatches." >&2;} |
21930 | fi | 12446 | fi |
21931 | 12447 | ||
21932 | fi | 12448 | fi |
21933 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 12449 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
12450 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
21934 | fi | 12451 | fi |
21935 | 12452 | ||
21936 | 12453 | ||
21937 | 12454 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if programs using OpenSSL functions will link" >&5 | |
21938 | { echo "$as_me:$LINENO: checking if programs using OpenSSL functions will link" >&5 | 12455 | $as_echo_n "checking if programs using OpenSSL functions will link... " >&6; } |
21939 | echo $ECHO_N "checking if programs using OpenSSL functions will link... $ECHO_C" >&6; } | 12456 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
21940 | cat >conftest.$ac_ext <<_ACEOF | ||
21941 | /* confdefs.h. */ | ||
21942 | _ACEOF | ||
21943 | cat confdefs.h >>conftest.$ac_ext | ||
21944 | cat >>conftest.$ac_ext <<_ACEOF | ||
21945 | /* end confdefs.h. */ | 12457 | /* end confdefs.h. */ |
21946 | #include <openssl/evp.h> | 12458 | #include <openssl/evp.h> |
21947 | int | 12459 | int |
@@ -21952,44 +12464,20 @@ main () | |||
21952 | return 0; | 12464 | return 0; |
21953 | } | 12465 | } |
21954 | _ACEOF | 12466 | _ACEOF |
21955 | rm -f conftest.$ac_objext conftest$ac_exeext | 12467 | if ac_fn_c_try_link "$LINENO"; then : |
21956 | if { (ac_try="$ac_link" | ||
21957 | case "(($ac_try" in | ||
21958 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
21959 | *) ac_try_echo=$ac_try;; | ||
21960 | esac | ||
21961 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
21962 | (eval "$ac_link") 2>conftest.er1 | ||
21963 | ac_status=$? | ||
21964 | grep -v '^ *+' conftest.er1 >conftest.err | ||
21965 | rm -f conftest.er1 | ||
21966 | cat conftest.err >&5 | ||
21967 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
21968 | (exit $ac_status); } && { | ||
21969 | test -z "$ac_c_werror_flag" || | ||
21970 | test ! -s conftest.err | ||
21971 | } && test -s conftest$ac_exeext && | ||
21972 | $as_test_x conftest$ac_exeext; then | ||
21973 | 12468 | ||
21974 | { echo "$as_me:$LINENO: result: yes" >&5 | 12469 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
21975 | echo "${ECHO_T}yes" >&6; } | 12470 | $as_echo "yes" >&6; } |
21976 | 12471 | ||
21977 | else | 12472 | else |
21978 | echo "$as_me: failed program was:" >&5 | ||
21979 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
21980 | |||
21981 | 12473 | ||
21982 | { echo "$as_me:$LINENO: result: no" >&5 | 12474 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
21983 | echo "${ECHO_T}no" >&6; } | 12475 | $as_echo "no" >&6; } |
21984 | saved_LIBS="$LIBS" | 12476 | saved_LIBS="$LIBS" |
21985 | LIBS="$LIBS -ldl" | 12477 | LIBS="$LIBS -ldl" |
21986 | { echo "$as_me:$LINENO: checking if programs using OpenSSL need -ldl" >&5 | 12478 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if programs using OpenSSL need -ldl" >&5 |
21987 | echo $ECHO_N "checking if programs using OpenSSL need -ldl... $ECHO_C" >&6; } | 12479 | $as_echo_n "checking if programs using OpenSSL need -ldl... " >&6; } |
21988 | cat >conftest.$ac_ext <<_ACEOF | 12480 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
21989 | /* confdefs.h. */ | ||
21990 | _ACEOF | ||
21991 | cat confdefs.h >>conftest.$ac_ext | ||
21992 | cat >>conftest.$ac_ext <<_ACEOF | ||
21993 | /* end confdefs.h. */ | 12481 | /* end confdefs.h. */ |
21994 | #include <openssl/evp.h> | 12482 | #include <openssl/evp.h> |
21995 | int | 12483 | int |
@@ -22000,60 +12488,28 @@ main () | |||
22000 | return 0; | 12488 | return 0; |
22001 | } | 12489 | } |
22002 | _ACEOF | 12490 | _ACEOF |
22003 | rm -f conftest.$ac_objext conftest$ac_exeext | 12491 | if ac_fn_c_try_link "$LINENO"; then : |
22004 | if { (ac_try="$ac_link" | ||
22005 | case "(($ac_try" in | ||
22006 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
22007 | *) ac_try_echo=$ac_try;; | ||
22008 | esac | ||
22009 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
22010 | (eval "$ac_link") 2>conftest.er1 | ||
22011 | ac_status=$? | ||
22012 | grep -v '^ *+' conftest.er1 >conftest.err | ||
22013 | rm -f conftest.er1 | ||
22014 | cat conftest.err >&5 | ||
22015 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
22016 | (exit $ac_status); } && { | ||
22017 | test -z "$ac_c_werror_flag" || | ||
22018 | test ! -s conftest.err | ||
22019 | } && test -s conftest$ac_exeext && | ||
22020 | $as_test_x conftest$ac_exeext; then | ||
22021 | 12492 | ||
22022 | { echo "$as_me:$LINENO: result: yes" >&5 | 12493 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
22023 | echo "${ECHO_T}yes" >&6; } | 12494 | $as_echo "yes" >&6; } |
22024 | 12495 | ||
22025 | else | 12496 | else |
22026 | echo "$as_me: failed program was:" >&5 | ||
22027 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
22028 | 12497 | ||
22029 | 12498 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | |
22030 | { echo "$as_me:$LINENO: result: no" >&5 | 12499 | $as_echo "no" >&6; } |
22031 | echo "${ECHO_T}no" >&6; } | ||
22032 | LIBS="$saved_LIBS" | 12500 | LIBS="$saved_LIBS" |
22033 | 12501 | ||
22034 | 12502 | ||
22035 | fi | 12503 | fi |
22036 | 12504 | rm -f core conftest.err conftest.$ac_objext \ | |
22037 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 12505 | conftest$ac_exeext conftest.$ac_ext |
22038 | conftest$ac_exeext conftest.$ac_ext | ||
22039 | 12506 | ||
22040 | 12507 | ||
22041 | fi | 12508 | fi |
12509 | rm -f core conftest.err conftest.$ac_objext \ | ||
12510 | conftest$ac_exeext conftest.$ac_ext | ||
22042 | 12511 | ||
22043 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 12512 | for ac_func in \ |
22044 | conftest$ac_exeext conftest.$ac_ext | ||
22045 | |||
22046 | |||
22047 | |||
22048 | |||
22049 | |||
22050 | |||
22051 | |||
22052 | |||
22053 | |||
22054 | |||
22055 | |||
22056 | for ac_func in \ | ||
22057 | BN_is_prime_ex \ | 12513 | BN_is_prime_ex \ |
22058 | DSA_generate_parameters_ex \ | 12514 | DSA_generate_parameters_ex \ |
22059 | EVP_DigestInit_ex \ | 12515 | EVP_DigestInit_ex \ |
@@ -22065,93 +12521,12 @@ for ac_func in \ | |||
22065 | RSA_generate_key_ex \ | 12521 | RSA_generate_key_ex \ |
22066 | RSA_get_default_method \ | 12522 | RSA_get_default_method \ |
22067 | 12523 | ||
22068 | do | 12524 | do : |
22069 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 12525 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
22070 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 12526 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
22071 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | 12527 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
22072 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
22073 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
22074 | else | ||
22075 | cat >conftest.$ac_ext <<_ACEOF | ||
22076 | /* confdefs.h. */ | ||
22077 | _ACEOF | ||
22078 | cat confdefs.h >>conftest.$ac_ext | ||
22079 | cat >>conftest.$ac_ext <<_ACEOF | ||
22080 | /* end confdefs.h. */ | ||
22081 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
22082 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
22083 | #define $ac_func innocuous_$ac_func | ||
22084 | |||
22085 | /* System header to define __stub macros and hopefully few prototypes, | ||
22086 | which can conflict with char $ac_func (); below. | ||
22087 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
22088 | <limits.h> exists even on freestanding compilers. */ | ||
22089 | |||
22090 | #ifdef __STDC__ | ||
22091 | # include <limits.h> | ||
22092 | #else | ||
22093 | # include <assert.h> | ||
22094 | #endif | ||
22095 | |||
22096 | #undef $ac_func | ||
22097 | |||
22098 | /* Override any GCC internal prototype to avoid an error. | ||
22099 | Use char because int might match the return type of a GCC | ||
22100 | builtin and then its argument prototype would still apply. */ | ||
22101 | #ifdef __cplusplus | ||
22102 | extern "C" | ||
22103 | #endif | ||
22104 | char $ac_func (); | ||
22105 | /* The GNU C library defines this for functions which it implements | ||
22106 | to always fail with ENOSYS. Some functions are actually named | ||
22107 | something starting with __ and the normal name is an alias. */ | ||
22108 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
22109 | choke me | ||
22110 | #endif | ||
22111 | |||
22112 | int | ||
22113 | main () | ||
22114 | { | ||
22115 | return $ac_func (); | ||
22116 | ; | ||
22117 | return 0; | ||
22118 | } | ||
22119 | _ACEOF | ||
22120 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
22121 | if { (ac_try="$ac_link" | ||
22122 | case "(($ac_try" in | ||
22123 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
22124 | *) ac_try_echo=$ac_try;; | ||
22125 | esac | ||
22126 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
22127 | (eval "$ac_link") 2>conftest.er1 | ||
22128 | ac_status=$? | ||
22129 | grep -v '^ *+' conftest.er1 >conftest.err | ||
22130 | rm -f conftest.er1 | ||
22131 | cat conftest.err >&5 | ||
22132 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
22133 | (exit $ac_status); } && { | ||
22134 | test -z "$ac_c_werror_flag" || | ||
22135 | test ! -s conftest.err | ||
22136 | } && test -s conftest$ac_exeext && | ||
22137 | $as_test_x conftest$ac_exeext; then | ||
22138 | eval "$as_ac_var=yes" | ||
22139 | else | ||
22140 | echo "$as_me: failed program was:" >&5 | ||
22141 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
22142 | |||
22143 | eval "$as_ac_var=no" | ||
22144 | fi | ||
22145 | |||
22146 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
22147 | conftest$ac_exeext conftest.$ac_ext | ||
22148 | fi | ||
22149 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
22150 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
22151 | echo "${ECHO_T}$ac_res" >&6; } | ||
22152 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
22153 | cat >>confdefs.h <<_ACEOF | 12528 | cat >>confdefs.h <<_ACEOF |
22154 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 12529 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
22155 | _ACEOF | 12530 | _ACEOF |
22156 | 12531 | ||
22157 | fi | 12532 | fi |
@@ -22159,13 +12534,9 @@ done | |||
22159 | 12534 | ||
22160 | 12535 | ||
22161 | if test "x$openssl_engine" = "xyes" ; then | 12536 | if test "x$openssl_engine" = "xyes" ; then |
22162 | { echo "$as_me:$LINENO: checking for OpenSSL ENGINE support" >&5 | 12537 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL ENGINE support" >&5 |
22163 | echo $ECHO_N "checking for OpenSSL ENGINE support... $ECHO_C" >&6; } | 12538 | $as_echo_n "checking for OpenSSL ENGINE support... " >&6; } |
22164 | cat >conftest.$ac_ext <<_ACEOF | 12539 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
22165 | /* confdefs.h. */ | ||
22166 | _ACEOF | ||
22167 | cat confdefs.h >>conftest.$ac_ext | ||
22168 | cat >>conftest.$ac_ext <<_ACEOF | ||
22169 | /* end confdefs.h. */ | 12540 | /* end confdefs.h. */ |
22170 | 12541 | ||
22171 | #include <openssl/engine.h> | 12542 | #include <openssl/engine.h> |
@@ -22181,52 +12552,24 @@ main () | |||
22181 | return 0; | 12552 | return 0; |
22182 | } | 12553 | } |
22183 | _ACEOF | 12554 | _ACEOF |
22184 | rm -f conftest.$ac_objext | 12555 | if ac_fn_c_try_compile "$LINENO"; then : |
22185 | if { (ac_try="$ac_compile" | 12556 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
22186 | case "(($ac_try" in | 12557 | $as_echo "yes" >&6; } |
22187 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
22188 | *) ac_try_echo=$ac_try;; | ||
22189 | esac | ||
22190 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
22191 | (eval "$ac_compile") 2>conftest.er1 | ||
22192 | ac_status=$? | ||
22193 | grep -v '^ *+' conftest.er1 >conftest.err | ||
22194 | rm -f conftest.er1 | ||
22195 | cat conftest.err >&5 | ||
22196 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
22197 | (exit $ac_status); } && { | ||
22198 | test -z "$ac_c_werror_flag" || | ||
22199 | test ! -s conftest.err | ||
22200 | } && test -s conftest.$ac_objext; then | ||
22201 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
22202 | echo "${ECHO_T}yes" >&6; } | ||
22203 | 12558 | ||
22204 | cat >>confdefs.h <<\_ACEOF | 12559 | $as_echo "#define USE_OPENSSL_ENGINE 1" >>confdefs.h |
22205 | #define USE_OPENSSL_ENGINE 1 | ||
22206 | _ACEOF | ||
22207 | 12560 | ||
22208 | 12561 | ||
22209 | else | 12562 | else |
22210 | echo "$as_me: failed program was:" >&5 | 12563 | as_fn_error $? "OpenSSL ENGINE support not found" "$LINENO" 5 |
22211 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
22212 | |||
22213 | { { echo "$as_me:$LINENO: error: OpenSSL ENGINE support not found" >&5 | ||
22214 | echo "$as_me: error: OpenSSL ENGINE support not found" >&2;} | ||
22215 | { (exit 1); exit 1; }; } | ||
22216 | 12564 | ||
22217 | fi | 12565 | fi |
22218 | |||
22219 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 12566 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
22220 | fi | 12567 | fi |
22221 | 12568 | ||
22222 | # Check for OpenSSL without EVP_aes_{192,256}_cbc | 12569 | # Check for OpenSSL without EVP_aes_{192,256}_cbc |
22223 | { echo "$as_me:$LINENO: checking whether OpenSSL has crippled AES support" >&5 | 12570 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has crippled AES support" >&5 |
22224 | echo $ECHO_N "checking whether OpenSSL has crippled AES support... $ECHO_C" >&6; } | 12571 | $as_echo_n "checking whether OpenSSL has crippled AES support... " >&6; } |
22225 | cat >conftest.$ac_ext <<_ACEOF | 12572 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
22226 | /* confdefs.h. */ | ||
22227 | _ACEOF | ||
22228 | cat confdefs.h >>conftest.$ac_ext | ||
22229 | cat >>conftest.$ac_ext <<_ACEOF | ||
22230 | /* end confdefs.h. */ | 12573 | /* end confdefs.h. */ |
22231 | 12574 | ||
22232 | #include <string.h> | 12575 | #include <string.h> |
@@ -22242,55 +12585,28 @@ main () | |||
22242 | return 0; | 12585 | return 0; |
22243 | } | 12586 | } |
22244 | _ACEOF | 12587 | _ACEOF |
22245 | rm -f conftest.$ac_objext conftest$ac_exeext | 12588 | if ac_fn_c_try_link "$LINENO"; then : |
22246 | if { (ac_try="$ac_link" | ||
22247 | case "(($ac_try" in | ||
22248 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
22249 | *) ac_try_echo=$ac_try;; | ||
22250 | esac | ||
22251 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
22252 | (eval "$ac_link") 2>conftest.er1 | ||
22253 | ac_status=$? | ||
22254 | grep -v '^ *+' conftest.er1 >conftest.err | ||
22255 | rm -f conftest.er1 | ||
22256 | cat conftest.err >&5 | ||
22257 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
22258 | (exit $ac_status); } && { | ||
22259 | test -z "$ac_c_werror_flag" || | ||
22260 | test ! -s conftest.err | ||
22261 | } && test -s conftest$ac_exeext && | ||
22262 | $as_test_x conftest$ac_exeext; then | ||
22263 | 12589 | ||
22264 | { echo "$as_me:$LINENO: result: no" >&5 | 12590 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
22265 | echo "${ECHO_T}no" >&6; } | 12591 | $as_echo "no" >&6; } |
22266 | 12592 | ||
22267 | else | 12593 | else |
22268 | echo "$as_me: failed program was:" >&5 | ||
22269 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
22270 | |||
22271 | 12594 | ||
22272 | { echo "$as_me:$LINENO: result: yes" >&5 | 12595 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
22273 | echo "${ECHO_T}yes" >&6; } | 12596 | $as_echo "yes" >&6; } |
22274 | 12597 | ||
22275 | cat >>confdefs.h <<\_ACEOF | 12598 | $as_echo "#define OPENSSL_LOBOTOMISED_AES 1" >>confdefs.h |
22276 | #define OPENSSL_LOBOTOMISED_AES 1 | ||
22277 | _ACEOF | ||
22278 | 12599 | ||
22279 | 12600 | ||
22280 | 12601 | ||
22281 | fi | 12602 | fi |
22282 | 12603 | rm -f core conftest.err conftest.$ac_objext \ | |
22283 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 12604 | conftest$ac_exeext conftest.$ac_ext |
22284 | conftest$ac_exeext conftest.$ac_ext | ||
22285 | 12605 | ||
22286 | # Check for OpenSSL with EVP_aes_*ctr | 12606 | # Check for OpenSSL with EVP_aes_*ctr |
22287 | { echo "$as_me:$LINENO: checking whether OpenSSL has AES CTR via EVP" >&5 | 12607 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has AES CTR via EVP" >&5 |
22288 | echo $ECHO_N "checking whether OpenSSL has AES CTR via EVP... $ECHO_C" >&6; } | 12608 | $as_echo_n "checking whether OpenSSL has AES CTR via EVP... " >&6; } |
22289 | cat >conftest.$ac_ext <<_ACEOF | 12609 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
22290 | /* confdefs.h. */ | ||
22291 | _ACEOF | ||
22292 | cat confdefs.h >>conftest.$ac_ext | ||
22293 | cat >>conftest.$ac_ext <<_ACEOF | ||
22294 | /* end confdefs.h. */ | 12610 | /* end confdefs.h. */ |
22295 | 12611 | ||
22296 | #include <string.h> | 12612 | #include <string.h> |
@@ -22308,55 +12624,28 @@ main () | |||
22308 | return 0; | 12624 | return 0; |
22309 | } | 12625 | } |
22310 | _ACEOF | 12626 | _ACEOF |
22311 | rm -f conftest.$ac_objext conftest$ac_exeext | 12627 | if ac_fn_c_try_link "$LINENO"; then : |
22312 | if { (ac_try="$ac_link" | ||
22313 | case "(($ac_try" in | ||
22314 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
22315 | *) ac_try_echo=$ac_try;; | ||
22316 | esac | ||
22317 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
22318 | (eval "$ac_link") 2>conftest.er1 | ||
22319 | ac_status=$? | ||
22320 | grep -v '^ *+' conftest.er1 >conftest.err | ||
22321 | rm -f conftest.er1 | ||
22322 | cat conftest.err >&5 | ||
22323 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
22324 | (exit $ac_status); } && { | ||
22325 | test -z "$ac_c_werror_flag" || | ||
22326 | test ! -s conftest.err | ||
22327 | } && test -s conftest$ac_exeext && | ||
22328 | $as_test_x conftest$ac_exeext; then | ||
22329 | 12628 | ||
22330 | { echo "$as_me:$LINENO: result: yes" >&5 | 12629 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
22331 | echo "${ECHO_T}yes" >&6; } | 12630 | $as_echo "yes" >&6; } |
22332 | 12631 | ||
22333 | cat >>confdefs.h <<\_ACEOF | 12632 | $as_echo "#define OPENSSL_HAVE_EVPCTR 1" >>confdefs.h |
22334 | #define OPENSSL_HAVE_EVPCTR 1 | ||
22335 | _ACEOF | ||
22336 | 12633 | ||
22337 | 12634 | ||
22338 | else | 12635 | else |
22339 | echo "$as_me: failed program was:" >&5 | ||
22340 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
22341 | |||
22342 | 12636 | ||
22343 | { echo "$as_me:$LINENO: result: no" >&5 | 12637 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
22344 | echo "${ECHO_T}no" >&6; } | 12638 | $as_echo "no" >&6; } |
22345 | 12639 | ||
22346 | 12640 | ||
22347 | fi | 12641 | fi |
22348 | 12642 | rm -f core conftest.err conftest.$ac_objext \ | |
22349 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 12643 | conftest$ac_exeext conftest.$ac_ext |
22350 | conftest$ac_exeext conftest.$ac_ext | ||
22351 | 12644 | ||
22352 | # Check for OpenSSL with EVP_aes_*gcm | 12645 | # Check for OpenSSL with EVP_aes_*gcm |
22353 | { echo "$as_me:$LINENO: checking whether OpenSSL has AES GCM via EVP" >&5 | 12646 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has AES GCM via EVP" >&5 |
22354 | echo $ECHO_N "checking whether OpenSSL has AES GCM via EVP... $ECHO_C" >&6; } | 12647 | $as_echo_n "checking whether OpenSSL has AES GCM via EVP... " >&6; } |
22355 | cat >conftest.$ac_ext <<_ACEOF | 12648 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
22356 | /* confdefs.h. */ | ||
22357 | _ACEOF | ||
22358 | cat confdefs.h >>conftest.$ac_ext | ||
22359 | cat >>conftest.$ac_ext <<_ACEOF | ||
22360 | /* end confdefs.h. */ | 12649 | /* end confdefs.h. */ |
22361 | 12650 | ||
22362 | #include <string.h> | 12651 | #include <string.h> |
@@ -22378,61 +12667,34 @@ main () | |||
22378 | return 0; | 12667 | return 0; |
22379 | } | 12668 | } |
22380 | _ACEOF | 12669 | _ACEOF |
22381 | rm -f conftest.$ac_objext conftest$ac_exeext | 12670 | if ac_fn_c_try_link "$LINENO"; then : |
22382 | if { (ac_try="$ac_link" | ||
22383 | case "(($ac_try" in | ||
22384 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
22385 | *) ac_try_echo=$ac_try;; | ||
22386 | esac | ||
22387 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
22388 | (eval "$ac_link") 2>conftest.er1 | ||
22389 | ac_status=$? | ||
22390 | grep -v '^ *+' conftest.er1 >conftest.err | ||
22391 | rm -f conftest.er1 | ||
22392 | cat conftest.err >&5 | ||
22393 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
22394 | (exit $ac_status); } && { | ||
22395 | test -z "$ac_c_werror_flag" || | ||
22396 | test ! -s conftest.err | ||
22397 | } && test -s conftest$ac_exeext && | ||
22398 | $as_test_x conftest$ac_exeext; then | ||
22399 | 12671 | ||
22400 | { echo "$as_me:$LINENO: result: yes" >&5 | 12672 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
22401 | echo "${ECHO_T}yes" >&6; } | 12673 | $as_echo "yes" >&6; } |
22402 | 12674 | ||
22403 | cat >>confdefs.h <<\_ACEOF | 12675 | $as_echo "#define OPENSSL_HAVE_EVPGCM 1" >>confdefs.h |
22404 | #define OPENSSL_HAVE_EVPGCM 1 | ||
22405 | _ACEOF | ||
22406 | 12676 | ||
22407 | 12677 | ||
22408 | else | 12678 | else |
22409 | echo "$as_me: failed program was:" >&5 | ||
22410 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
22411 | |||
22412 | 12679 | ||
22413 | { echo "$as_me:$LINENO: result: no" >&5 | 12680 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
22414 | echo "${ECHO_T}no" >&6; } | 12681 | $as_echo "no" >&6; } |
22415 | unsupported_algorithms="$unsupported_cipers \ | 12682 | unsupported_algorithms="$unsupported_cipers \ |
22416 | aes128-gcm@openssh.com \ | 12683 | aes128-gcm@openssh.com \ |
22417 | aes256-gcm@openssh.com" | 12684 | aes256-gcm@openssh.com" |
22418 | 12685 | ||
22419 | 12686 | ||
22420 | fi | 12687 | fi |
12688 | rm -f core conftest.err conftest.$ac_objext \ | ||
12689 | conftest$ac_exeext conftest.$ac_ext | ||
22421 | 12690 | ||
22422 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 12691 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing EVP_CIPHER_CTX_ctrl" >&5 |
22423 | conftest$ac_exeext conftest.$ac_ext | 12692 | $as_echo_n "checking for library containing EVP_CIPHER_CTX_ctrl... " >&6; } |
22424 | 12693 | if ${ac_cv_search_EVP_CIPHER_CTX_ctrl+:} false; then : | |
22425 | { echo "$as_me:$LINENO: checking for library containing EVP_CIPHER_CTX_ctrl" >&5 | 12694 | $as_echo_n "(cached) " >&6 |
22426 | echo $ECHO_N "checking for library containing EVP_CIPHER_CTX_ctrl... $ECHO_C" >&6; } | ||
22427 | if test "${ac_cv_search_EVP_CIPHER_CTX_ctrl+set}" = set; then | ||
22428 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
22429 | else | 12695 | else |
22430 | ac_func_search_save_LIBS=$LIBS | 12696 | ac_func_search_save_LIBS=$LIBS |
22431 | cat >conftest.$ac_ext <<_ACEOF | 12697 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
22432 | /* confdefs.h. */ | ||
22433 | _ACEOF | ||
22434 | cat confdefs.h >>conftest.$ac_ext | ||
22435 | cat >>conftest.$ac_ext <<_ACEOF | ||
22436 | /* end confdefs.h. */ | 12698 | /* end confdefs.h. */ |
22437 | 12699 | ||
22438 | /* Override any GCC internal prototype to avoid an error. | 12700 | /* Override any GCC internal prototype to avoid an error. |
@@ -22457,66 +12719,37 @@ for ac_lib in '' crypto; do | |||
22457 | ac_res=-l$ac_lib | 12719 | ac_res=-l$ac_lib |
22458 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 12720 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
22459 | fi | 12721 | fi |
22460 | rm -f conftest.$ac_objext conftest$ac_exeext | 12722 | if ac_fn_c_try_link "$LINENO"; then : |
22461 | if { (ac_try="$ac_link" | ||
22462 | case "(($ac_try" in | ||
22463 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
22464 | *) ac_try_echo=$ac_try;; | ||
22465 | esac | ||
22466 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
22467 | (eval "$ac_link") 2>conftest.er1 | ||
22468 | ac_status=$? | ||
22469 | grep -v '^ *+' conftest.er1 >conftest.err | ||
22470 | rm -f conftest.er1 | ||
22471 | cat conftest.err >&5 | ||
22472 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
22473 | (exit $ac_status); } && { | ||
22474 | test -z "$ac_c_werror_flag" || | ||
22475 | test ! -s conftest.err | ||
22476 | } && test -s conftest$ac_exeext && | ||
22477 | $as_test_x conftest$ac_exeext; then | ||
22478 | ac_cv_search_EVP_CIPHER_CTX_ctrl=$ac_res | 12723 | ac_cv_search_EVP_CIPHER_CTX_ctrl=$ac_res |
22479 | else | ||
22480 | echo "$as_me: failed program was:" >&5 | ||
22481 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
22482 | |||
22483 | |||
22484 | fi | 12724 | fi |
22485 | 12725 | rm -f core conftest.err conftest.$ac_objext \ | |
22486 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 12726 | conftest$ac_exeext |
22487 | conftest$ac_exeext | 12727 | if ${ac_cv_search_EVP_CIPHER_CTX_ctrl+:} false; then : |
22488 | if test "${ac_cv_search_EVP_CIPHER_CTX_ctrl+set}" = set; then | ||
22489 | break | 12728 | break |
22490 | fi | 12729 | fi |
22491 | done | 12730 | done |
22492 | if test "${ac_cv_search_EVP_CIPHER_CTX_ctrl+set}" = set; then | 12731 | if ${ac_cv_search_EVP_CIPHER_CTX_ctrl+:} false; then : |
22493 | : | 12732 | |
22494 | else | 12733 | else |
22495 | ac_cv_search_EVP_CIPHER_CTX_ctrl=no | 12734 | ac_cv_search_EVP_CIPHER_CTX_ctrl=no |
22496 | fi | 12735 | fi |
22497 | rm conftest.$ac_ext | 12736 | rm conftest.$ac_ext |
22498 | LIBS=$ac_func_search_save_LIBS | 12737 | LIBS=$ac_func_search_save_LIBS |
22499 | fi | 12738 | fi |
22500 | { echo "$as_me:$LINENO: result: $ac_cv_search_EVP_CIPHER_CTX_ctrl" >&5 | 12739 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_EVP_CIPHER_CTX_ctrl" >&5 |
22501 | echo "${ECHO_T}$ac_cv_search_EVP_CIPHER_CTX_ctrl" >&6; } | 12740 | $as_echo "$ac_cv_search_EVP_CIPHER_CTX_ctrl" >&6; } |
22502 | ac_res=$ac_cv_search_EVP_CIPHER_CTX_ctrl | 12741 | ac_res=$ac_cv_search_EVP_CIPHER_CTX_ctrl |
22503 | if test "$ac_res" != no; then | 12742 | if test "$ac_res" != no; then : |
22504 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 12743 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
22505 | 12744 | ||
22506 | cat >>confdefs.h <<\_ACEOF | 12745 | $as_echo "#define HAVE_EVP_CIPHER_CTX_CTRL 1" >>confdefs.h |
22507 | #define HAVE_EVP_CIPHER_CTX_CTRL 1 | ||
22508 | _ACEOF | ||
22509 | 12746 | ||
22510 | fi | 12747 | fi |
22511 | 12748 | ||
22512 | 12749 | ||
22513 | { echo "$as_me:$LINENO: checking if EVP_DigestUpdate returns an int" >&5 | 12750 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if EVP_DigestUpdate returns an int" >&5 |
22514 | echo $ECHO_N "checking if EVP_DigestUpdate returns an int... $ECHO_C" >&6; } | 12751 | $as_echo_n "checking if EVP_DigestUpdate returns an int... " >&6; } |
22515 | cat >conftest.$ac_ext <<_ACEOF | 12752 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
22516 | /* confdefs.h. */ | ||
22517 | _ACEOF | ||
22518 | cat confdefs.h >>conftest.$ac_ext | ||
22519 | cat >>conftest.$ac_ext <<_ACEOF | ||
22520 | /* end confdefs.h. */ | 12753 | /* end confdefs.h. */ |
22521 | 12754 | ||
22522 | #include <string.h> | 12755 | #include <string.h> |
@@ -22533,63 +12766,35 @@ main () | |||
22533 | return 0; | 12766 | return 0; |
22534 | } | 12767 | } |
22535 | _ACEOF | 12768 | _ACEOF |
22536 | rm -f conftest.$ac_objext conftest$ac_exeext | 12769 | if ac_fn_c_try_link "$LINENO"; then : |
22537 | if { (ac_try="$ac_link" | ||
22538 | case "(($ac_try" in | ||
22539 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
22540 | *) ac_try_echo=$ac_try;; | ||
22541 | esac | ||
22542 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
22543 | (eval "$ac_link") 2>conftest.er1 | ||
22544 | ac_status=$? | ||
22545 | grep -v '^ *+' conftest.er1 >conftest.err | ||
22546 | rm -f conftest.er1 | ||
22547 | cat conftest.err >&5 | ||
22548 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
22549 | (exit $ac_status); } && { | ||
22550 | test -z "$ac_c_werror_flag" || | ||
22551 | test ! -s conftest.err | ||
22552 | } && test -s conftest$ac_exeext && | ||
22553 | $as_test_x conftest$ac_exeext; then | ||
22554 | 12770 | ||
22555 | { echo "$as_me:$LINENO: result: yes" >&5 | 12771 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
22556 | echo "${ECHO_T}yes" >&6; } | 12772 | $as_echo "yes" >&6; } |
22557 | 12773 | ||
22558 | else | 12774 | else |
22559 | echo "$as_me: failed program was:" >&5 | ||
22560 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
22561 | 12775 | ||
12776 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
12777 | $as_echo "no" >&6; } | ||
22562 | 12778 | ||
22563 | { echo "$as_me:$LINENO: result: no" >&5 | 12779 | $as_echo "#define OPENSSL_EVP_DIGESTUPDATE_VOID 1" >>confdefs.h |
22564 | echo "${ECHO_T}no" >&6; } | ||
22565 | |||
22566 | cat >>confdefs.h <<\_ACEOF | ||
22567 | #define OPENSSL_EVP_DIGESTUPDATE_VOID 1 | ||
22568 | _ACEOF | ||
22569 | 12780 | ||
22570 | 12781 | ||
22571 | 12782 | ||
22572 | fi | 12783 | fi |
22573 | 12784 | rm -f core conftest.err conftest.$ac_objext \ | |
22574 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 12785 | conftest$ac_exeext conftest.$ac_ext |
22575 | conftest$ac_exeext conftest.$ac_ext | ||
22576 | 12786 | ||
22577 | # Some systems want crypt() from libcrypt, *not* the version in OpenSSL, | 12787 | # Some systems want crypt() from libcrypt, *not* the version in OpenSSL, |
22578 | # because the system crypt() is more featureful. | 12788 | # because the system crypt() is more featureful. |
22579 | if test "x$check_for_libcrypt_before" = "x1"; then | 12789 | if test "x$check_for_libcrypt_before" = "x1"; then |
22580 | 12790 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5 | |
22581 | { echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5 | 12791 | $as_echo_n "checking for crypt in -lcrypt... " >&6; } |
22582 | echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6; } | 12792 | if ${ac_cv_lib_crypt_crypt+:} false; then : |
22583 | if test "${ac_cv_lib_crypt_crypt+set}" = set; then | 12793 | $as_echo_n "(cached) " >&6 |
22584 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
22585 | else | 12794 | else |
22586 | ac_check_lib_save_LIBS=$LIBS | 12795 | ac_check_lib_save_LIBS=$LIBS |
22587 | LIBS="-lcrypt $LIBS" | 12796 | LIBS="-lcrypt $LIBS" |
22588 | cat >conftest.$ac_ext <<_ACEOF | 12797 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
22589 | /* confdefs.h. */ | ||
22590 | _ACEOF | ||
22591 | cat confdefs.h >>conftest.$ac_ext | ||
22592 | cat >>conftest.$ac_ext <<_ACEOF | ||
22593 | /* end confdefs.h. */ | 12798 | /* end confdefs.h. */ |
22594 | 12799 | ||
22595 | /* Override any GCC internal prototype to avoid an error. | 12800 | /* Override any GCC internal prototype to avoid an error. |
@@ -22607,39 +12812,18 @@ return crypt (); | |||
22607 | return 0; | 12812 | return 0; |
22608 | } | 12813 | } |
22609 | _ACEOF | 12814 | _ACEOF |
22610 | rm -f conftest.$ac_objext conftest$ac_exeext | 12815 | if ac_fn_c_try_link "$LINENO"; then : |
22611 | if { (ac_try="$ac_link" | ||
22612 | case "(($ac_try" in | ||
22613 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
22614 | *) ac_try_echo=$ac_try;; | ||
22615 | esac | ||
22616 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
22617 | (eval "$ac_link") 2>conftest.er1 | ||
22618 | ac_status=$? | ||
22619 | grep -v '^ *+' conftest.er1 >conftest.err | ||
22620 | rm -f conftest.er1 | ||
22621 | cat conftest.err >&5 | ||
22622 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
22623 | (exit $ac_status); } && { | ||
22624 | test -z "$ac_c_werror_flag" || | ||
22625 | test ! -s conftest.err | ||
22626 | } && test -s conftest$ac_exeext && | ||
22627 | $as_test_x conftest$ac_exeext; then | ||
22628 | ac_cv_lib_crypt_crypt=yes | 12816 | ac_cv_lib_crypt_crypt=yes |
22629 | else | 12817 | else |
22630 | echo "$as_me: failed program was:" >&5 | 12818 | ac_cv_lib_crypt_crypt=no |
22631 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
22632 | |||
22633 | ac_cv_lib_crypt_crypt=no | ||
22634 | fi | 12819 | fi |
22635 | 12820 | rm -f core conftest.err conftest.$ac_objext \ | |
22636 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 12821 | conftest$ac_exeext conftest.$ac_ext |
22637 | conftest$ac_exeext conftest.$ac_ext | ||
22638 | LIBS=$ac_check_lib_save_LIBS | 12822 | LIBS=$ac_check_lib_save_LIBS |
22639 | fi | 12823 | fi |
22640 | { echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5 | 12824 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5 |
22641 | echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6; } | 12825 | $as_echo "$ac_cv_lib_crypt_crypt" >&6; } |
22642 | if test $ac_cv_lib_crypt_crypt = yes; then | 12826 | if test "x$ac_cv_lib_crypt_crypt" = xyes; then : |
22643 | cat >>confdefs.h <<_ACEOF | 12827 | cat >>confdefs.h <<_ACEOF |
22644 | #define HAVE_LIBCRYPT 1 | 12828 | #define HAVE_LIBCRYPT 1 |
22645 | _ACEOF | 12829 | _ACEOF |
@@ -22653,18 +12837,14 @@ fi | |||
22653 | # Some Linux systems (Slackware) need crypt() from libcrypt, *not* the | 12837 | # Some Linux systems (Slackware) need crypt() from libcrypt, *not* the |
22654 | # version in OpenSSL. | 12838 | # version in OpenSSL. |
22655 | if test "x$check_for_libcrypt_later" = "x1"; then | 12839 | if test "x$check_for_libcrypt_later" = "x1"; then |
22656 | { echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5 | 12840 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5 |
22657 | echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6; } | 12841 | $as_echo_n "checking for crypt in -lcrypt... " >&6; } |
22658 | if test "${ac_cv_lib_crypt_crypt+set}" = set; then | 12842 | if ${ac_cv_lib_crypt_crypt+:} false; then : |
22659 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 12843 | $as_echo_n "(cached) " >&6 |
22660 | else | 12844 | else |
22661 | ac_check_lib_save_LIBS=$LIBS | 12845 | ac_check_lib_save_LIBS=$LIBS |
22662 | LIBS="-lcrypt $LIBS" | 12846 | LIBS="-lcrypt $LIBS" |
22663 | cat >conftest.$ac_ext <<_ACEOF | 12847 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
22664 | /* confdefs.h. */ | ||
22665 | _ACEOF | ||
22666 | cat confdefs.h >>conftest.$ac_ext | ||
22667 | cat >>conftest.$ac_ext <<_ACEOF | ||
22668 | /* end confdefs.h. */ | 12848 | /* end confdefs.h. */ |
22669 | 12849 | ||
22670 | /* Override any GCC internal prototype to avoid an error. | 12850 | /* Override any GCC internal prototype to avoid an error. |
@@ -22682,133 +12862,29 @@ return crypt (); | |||
22682 | return 0; | 12862 | return 0; |
22683 | } | 12863 | } |
22684 | _ACEOF | 12864 | _ACEOF |
22685 | rm -f conftest.$ac_objext conftest$ac_exeext | 12865 | if ac_fn_c_try_link "$LINENO"; then : |
22686 | if { (ac_try="$ac_link" | ||
22687 | case "(($ac_try" in | ||
22688 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
22689 | *) ac_try_echo=$ac_try;; | ||
22690 | esac | ||
22691 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
22692 | (eval "$ac_link") 2>conftest.er1 | ||
22693 | ac_status=$? | ||
22694 | grep -v '^ *+' conftest.er1 >conftest.err | ||
22695 | rm -f conftest.er1 | ||
22696 | cat conftest.err >&5 | ||
22697 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
22698 | (exit $ac_status); } && { | ||
22699 | test -z "$ac_c_werror_flag" || | ||
22700 | test ! -s conftest.err | ||
22701 | } && test -s conftest$ac_exeext && | ||
22702 | $as_test_x conftest$ac_exeext; then | ||
22703 | ac_cv_lib_crypt_crypt=yes | 12866 | ac_cv_lib_crypt_crypt=yes |
22704 | else | 12867 | else |
22705 | echo "$as_me: failed program was:" >&5 | 12868 | ac_cv_lib_crypt_crypt=no |
22706 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
22707 | |||
22708 | ac_cv_lib_crypt_crypt=no | ||
22709 | fi | 12869 | fi |
22710 | 12870 | rm -f core conftest.err conftest.$ac_objext \ | |
22711 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 12871 | conftest$ac_exeext conftest.$ac_ext |
22712 | conftest$ac_exeext conftest.$ac_ext | ||
22713 | LIBS=$ac_check_lib_save_LIBS | 12872 | LIBS=$ac_check_lib_save_LIBS |
22714 | fi | 12873 | fi |
22715 | { echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5 | 12874 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5 |
22716 | echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6; } | 12875 | $as_echo "$ac_cv_lib_crypt_crypt" >&6; } |
22717 | if test $ac_cv_lib_crypt_crypt = yes; then | 12876 | if test "x$ac_cv_lib_crypt_crypt" = xyes; then : |
22718 | LIBS="$LIBS -lcrypt" | 12877 | LIBS="$LIBS -lcrypt" |
22719 | fi | 12878 | fi |
22720 | 12879 | ||
22721 | fi | 12880 | fi |
22722 | 12881 | for ac_func in crypt DES_crypt | |
22723 | 12882 | do : | |
22724 | for ac_func in crypt DES_crypt | 12883 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
22725 | do | 12884 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
22726 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 12885 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
22727 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
22728 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
22729 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
22730 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
22731 | else | ||
22732 | cat >conftest.$ac_ext <<_ACEOF | ||
22733 | /* confdefs.h. */ | ||
22734 | _ACEOF | ||
22735 | cat confdefs.h >>conftest.$ac_ext | ||
22736 | cat >>conftest.$ac_ext <<_ACEOF | ||
22737 | /* end confdefs.h. */ | ||
22738 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
22739 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
22740 | #define $ac_func innocuous_$ac_func | ||
22741 | |||
22742 | /* System header to define __stub macros and hopefully few prototypes, | ||
22743 | which can conflict with char $ac_func (); below. | ||
22744 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
22745 | <limits.h> exists even on freestanding compilers. */ | ||
22746 | |||
22747 | #ifdef __STDC__ | ||
22748 | # include <limits.h> | ||
22749 | #else | ||
22750 | # include <assert.h> | ||
22751 | #endif | ||
22752 | |||
22753 | #undef $ac_func | ||
22754 | |||
22755 | /* Override any GCC internal prototype to avoid an error. | ||
22756 | Use char because int might match the return type of a GCC | ||
22757 | builtin and then its argument prototype would still apply. */ | ||
22758 | #ifdef __cplusplus | ||
22759 | extern "C" | ||
22760 | #endif | ||
22761 | char $ac_func (); | ||
22762 | /* The GNU C library defines this for functions which it implements | ||
22763 | to always fail with ENOSYS. Some functions are actually named | ||
22764 | something starting with __ and the normal name is an alias. */ | ||
22765 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
22766 | choke me | ||
22767 | #endif | ||
22768 | |||
22769 | int | ||
22770 | main () | ||
22771 | { | ||
22772 | return $ac_func (); | ||
22773 | ; | ||
22774 | return 0; | ||
22775 | } | ||
22776 | _ACEOF | ||
22777 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
22778 | if { (ac_try="$ac_link" | ||
22779 | case "(($ac_try" in | ||
22780 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
22781 | *) ac_try_echo=$ac_try;; | ||
22782 | esac | ||
22783 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
22784 | (eval "$ac_link") 2>conftest.er1 | ||
22785 | ac_status=$? | ||
22786 | grep -v '^ *+' conftest.er1 >conftest.err | ||
22787 | rm -f conftest.er1 | ||
22788 | cat conftest.err >&5 | ||
22789 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
22790 | (exit $ac_status); } && { | ||
22791 | test -z "$ac_c_werror_flag" || | ||
22792 | test ! -s conftest.err | ||
22793 | } && test -s conftest$ac_exeext && | ||
22794 | $as_test_x conftest$ac_exeext; then | ||
22795 | eval "$as_ac_var=yes" | ||
22796 | else | ||
22797 | echo "$as_me: failed program was:" >&5 | ||
22798 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
22799 | |||
22800 | eval "$as_ac_var=no" | ||
22801 | fi | ||
22802 | |||
22803 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
22804 | conftest$ac_exeext conftest.$ac_ext | ||
22805 | fi | ||
22806 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
22807 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
22808 | echo "${ECHO_T}$ac_res" >&6; } | ||
22809 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
22810 | cat >>confdefs.h <<_ACEOF | 12886 | cat >>confdefs.h <<_ACEOF |
22811 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 12887 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
22812 | _ACEOF | 12888 | _ACEOF |
22813 | 12889 | ||
22814 | fi | 12890 | fi |
@@ -22816,96 +12892,13 @@ done | |||
22816 | 12892 | ||
22817 | 12893 | ||
22818 | # Search for SHA256 support in libc and/or OpenSSL | 12894 | # Search for SHA256 support in libc and/or OpenSSL |
22819 | 12895 | for ac_func in SHA256_Update EVP_sha256 | |
22820 | 12896 | do : | |
22821 | for ac_func in SHA256_Update EVP_sha256 | 12897 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
22822 | do | 12898 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
22823 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 12899 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
22824 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
22825 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
22826 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
22827 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
22828 | else | ||
22829 | cat >conftest.$ac_ext <<_ACEOF | ||
22830 | /* confdefs.h. */ | ||
22831 | _ACEOF | ||
22832 | cat confdefs.h >>conftest.$ac_ext | ||
22833 | cat >>conftest.$ac_ext <<_ACEOF | ||
22834 | /* end confdefs.h. */ | ||
22835 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
22836 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
22837 | #define $ac_func innocuous_$ac_func | ||
22838 | |||
22839 | /* System header to define __stub macros and hopefully few prototypes, | ||
22840 | which can conflict with char $ac_func (); below. | ||
22841 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
22842 | <limits.h> exists even on freestanding compilers. */ | ||
22843 | |||
22844 | #ifdef __STDC__ | ||
22845 | # include <limits.h> | ||
22846 | #else | ||
22847 | # include <assert.h> | ||
22848 | #endif | ||
22849 | |||
22850 | #undef $ac_func | ||
22851 | |||
22852 | /* Override any GCC internal prototype to avoid an error. | ||
22853 | Use char because int might match the return type of a GCC | ||
22854 | builtin and then its argument prototype would still apply. */ | ||
22855 | #ifdef __cplusplus | ||
22856 | extern "C" | ||
22857 | #endif | ||
22858 | char $ac_func (); | ||
22859 | /* The GNU C library defines this for functions which it implements | ||
22860 | to always fail with ENOSYS. Some functions are actually named | ||
22861 | something starting with __ and the normal name is an alias. */ | ||
22862 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
22863 | choke me | ||
22864 | #endif | ||
22865 | |||
22866 | int | ||
22867 | main () | ||
22868 | { | ||
22869 | return $ac_func (); | ||
22870 | ; | ||
22871 | return 0; | ||
22872 | } | ||
22873 | _ACEOF | ||
22874 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
22875 | if { (ac_try="$ac_link" | ||
22876 | case "(($ac_try" in | ||
22877 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
22878 | *) ac_try_echo=$ac_try;; | ||
22879 | esac | ||
22880 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
22881 | (eval "$ac_link") 2>conftest.er1 | ||
22882 | ac_status=$? | ||
22883 | grep -v '^ *+' conftest.er1 >conftest.err | ||
22884 | rm -f conftest.er1 | ||
22885 | cat conftest.err >&5 | ||
22886 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
22887 | (exit $ac_status); } && { | ||
22888 | test -z "$ac_c_werror_flag" || | ||
22889 | test ! -s conftest.err | ||
22890 | } && test -s conftest$ac_exeext && | ||
22891 | $as_test_x conftest$ac_exeext; then | ||
22892 | eval "$as_ac_var=yes" | ||
22893 | else | ||
22894 | echo "$as_me: failed program was:" >&5 | ||
22895 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
22896 | |||
22897 | eval "$as_ac_var=no" | ||
22898 | fi | ||
22899 | |||
22900 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
22901 | conftest$ac_exeext conftest.$ac_ext | ||
22902 | fi | ||
22903 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
22904 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
22905 | echo "${ECHO_T}$ac_res" >&6; } | ||
22906 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
22907 | cat >>confdefs.h <<_ACEOF | 12900 | cat >>confdefs.h <<_ACEOF |
22908 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 12901 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
22909 | _ACEOF | 12902 | _ACEOF |
22910 | 12903 | ||
22911 | else | 12904 | else |
@@ -22921,95 +12914,12 @@ fi | |||
22921 | done | 12914 | done |
22922 | 12915 | ||
22923 | # Search for RIPE-MD support in OpenSSL | 12916 | # Search for RIPE-MD support in OpenSSL |
22924 | 12917 | for ac_func in EVP_ripemd160 | |
22925 | for ac_func in EVP_ripemd160 | 12918 | do : |
22926 | do | 12919 | ac_fn_c_check_func "$LINENO" "EVP_ripemd160" "ac_cv_func_EVP_ripemd160" |
22927 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 12920 | if test "x$ac_cv_func_EVP_ripemd160" = xyes; then : |
22928 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
22929 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
22930 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
22931 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
22932 | else | ||
22933 | cat >conftest.$ac_ext <<_ACEOF | ||
22934 | /* confdefs.h. */ | ||
22935 | _ACEOF | ||
22936 | cat confdefs.h >>conftest.$ac_ext | ||
22937 | cat >>conftest.$ac_ext <<_ACEOF | ||
22938 | /* end confdefs.h. */ | ||
22939 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
22940 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
22941 | #define $ac_func innocuous_$ac_func | ||
22942 | |||
22943 | /* System header to define __stub macros and hopefully few prototypes, | ||
22944 | which can conflict with char $ac_func (); below. | ||
22945 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
22946 | <limits.h> exists even on freestanding compilers. */ | ||
22947 | |||
22948 | #ifdef __STDC__ | ||
22949 | # include <limits.h> | ||
22950 | #else | ||
22951 | # include <assert.h> | ||
22952 | #endif | ||
22953 | |||
22954 | #undef $ac_func | ||
22955 | |||
22956 | /* Override any GCC internal prototype to avoid an error. | ||
22957 | Use char because int might match the return type of a GCC | ||
22958 | builtin and then its argument prototype would still apply. */ | ||
22959 | #ifdef __cplusplus | ||
22960 | extern "C" | ||
22961 | #endif | ||
22962 | char $ac_func (); | ||
22963 | /* The GNU C library defines this for functions which it implements | ||
22964 | to always fail with ENOSYS. Some functions are actually named | ||
22965 | something starting with __ and the normal name is an alias. */ | ||
22966 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
22967 | choke me | ||
22968 | #endif | ||
22969 | |||
22970 | int | ||
22971 | main () | ||
22972 | { | ||
22973 | return $ac_func (); | ||
22974 | ; | ||
22975 | return 0; | ||
22976 | } | ||
22977 | _ACEOF | ||
22978 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
22979 | if { (ac_try="$ac_link" | ||
22980 | case "(($ac_try" in | ||
22981 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
22982 | *) ac_try_echo=$ac_try;; | ||
22983 | esac | ||
22984 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
22985 | (eval "$ac_link") 2>conftest.er1 | ||
22986 | ac_status=$? | ||
22987 | grep -v '^ *+' conftest.er1 >conftest.err | ||
22988 | rm -f conftest.er1 | ||
22989 | cat conftest.err >&5 | ||
22990 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
22991 | (exit $ac_status); } && { | ||
22992 | test -z "$ac_c_werror_flag" || | ||
22993 | test ! -s conftest.err | ||
22994 | } && test -s conftest$ac_exeext && | ||
22995 | $as_test_x conftest$ac_exeext; then | ||
22996 | eval "$as_ac_var=yes" | ||
22997 | else | ||
22998 | echo "$as_me: failed program was:" >&5 | ||
22999 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
23000 | |||
23001 | eval "$as_ac_var=no" | ||
23002 | fi | ||
23003 | |||
23004 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
23005 | conftest$ac_exeext conftest.$ac_ext | ||
23006 | fi | ||
23007 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
23008 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
23009 | echo "${ECHO_T}$ac_res" >&6; } | ||
23010 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
23011 | cat >>confdefs.h <<_ACEOF | 12921 | cat >>confdefs.h <<_ACEOF |
23012 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 12922 | #define HAVE_EVP_RIPEMD160 1 |
23013 | _ACEOF | 12923 | _ACEOF |
23014 | 12924 | ||
23015 | else | 12925 | else |
@@ -23024,13 +12934,9 @@ done | |||
23024 | 12934 | ||
23025 | 12935 | ||
23026 | # Check complete ECC support in OpenSSL | 12936 | # Check complete ECC support in OpenSSL |
23027 | { echo "$as_me:$LINENO: checking whether OpenSSL has NID_X9_62_prime256v1" >&5 | 12937 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_X9_62_prime256v1" >&5 |
23028 | echo $ECHO_N "checking whether OpenSSL has NID_X9_62_prime256v1... $ECHO_C" >&6; } | 12938 | $as_echo_n "checking whether OpenSSL has NID_X9_62_prime256v1... " >&6; } |
23029 | cat >conftest.$ac_ext <<_ACEOF | 12939 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
23030 | /* confdefs.h. */ | ||
23031 | _ACEOF | ||
23032 | cat confdefs.h >>conftest.$ac_ext | ||
23033 | cat >>conftest.$ac_ext <<_ACEOF | ||
23034 | /* end confdefs.h. */ | 12940 | /* end confdefs.h. */ |
23035 | 12941 | ||
23036 | #include <openssl/ec.h> | 12942 | #include <openssl/ec.h> |
@@ -23054,46 +12960,21 @@ main () | |||
23054 | return 0; | 12960 | return 0; |
23055 | } | 12961 | } |
23056 | _ACEOF | 12962 | _ACEOF |
23057 | rm -f conftest.$ac_objext conftest$ac_exeext | 12963 | if ac_fn_c_try_link "$LINENO"; then : |
23058 | if { (ac_try="$ac_link" | 12964 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
23059 | case "(($ac_try" in | 12965 | $as_echo "yes" >&6; } |
23060 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
23061 | *) ac_try_echo=$ac_try;; | ||
23062 | esac | ||
23063 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
23064 | (eval "$ac_link") 2>conftest.er1 | ||
23065 | ac_status=$? | ||
23066 | grep -v '^ *+' conftest.er1 >conftest.err | ||
23067 | rm -f conftest.er1 | ||
23068 | cat conftest.err >&5 | ||
23069 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
23070 | (exit $ac_status); } && { | ||
23071 | test -z "$ac_c_werror_flag" || | ||
23072 | test ! -s conftest.err | ||
23073 | } && test -s conftest$ac_exeext && | ||
23074 | $as_test_x conftest$ac_exeext; then | ||
23075 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
23076 | echo "${ECHO_T}yes" >&6; } | ||
23077 | enable_nistp256=1 | 12966 | enable_nistp256=1 |
23078 | else | 12967 | else |
23079 | echo "$as_me: failed program was:" >&5 | 12968 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
23080 | sed 's/^/| /' conftest.$ac_ext >&5 | 12969 | $as_echo "no" >&6; } |
23081 | |||
23082 | { echo "$as_me:$LINENO: result: no" >&5 | ||
23083 | echo "${ECHO_T}no" >&6; } | ||
23084 | 12970 | ||
23085 | fi | 12971 | fi |
12972 | rm -f core conftest.err conftest.$ac_objext \ | ||
12973 | conftest$ac_exeext conftest.$ac_ext | ||
23086 | 12974 | ||
23087 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 12975 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_secp384r1" >&5 |
23088 | conftest$ac_exeext conftest.$ac_ext | 12976 | $as_echo_n "checking whether OpenSSL has NID_secp384r1... " >&6; } |
23089 | 12977 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | |
23090 | { echo "$as_me:$LINENO: checking whether OpenSSL has NID_secp384r1" >&5 | ||
23091 | echo $ECHO_N "checking whether OpenSSL has NID_secp384r1... $ECHO_C" >&6; } | ||
23092 | cat >conftest.$ac_ext <<_ACEOF | ||
23093 | /* confdefs.h. */ | ||
23094 | _ACEOF | ||
23095 | cat confdefs.h >>conftest.$ac_ext | ||
23096 | cat >>conftest.$ac_ext <<_ACEOF | ||
23097 | /* end confdefs.h. */ | 12978 | /* end confdefs.h. */ |
23098 | 12979 | ||
23099 | #include <openssl/ec.h> | 12980 | #include <openssl/ec.h> |
@@ -23117,46 +12998,21 @@ main () | |||
23117 | return 0; | 12998 | return 0; |
23118 | } | 12999 | } |
23119 | _ACEOF | 13000 | _ACEOF |
23120 | rm -f conftest.$ac_objext conftest$ac_exeext | 13001 | if ac_fn_c_try_link "$LINENO"; then : |
23121 | if { (ac_try="$ac_link" | 13002 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
23122 | case "(($ac_try" in | 13003 | $as_echo "yes" >&6; } |
23123 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
23124 | *) ac_try_echo=$ac_try;; | ||
23125 | esac | ||
23126 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
23127 | (eval "$ac_link") 2>conftest.er1 | ||
23128 | ac_status=$? | ||
23129 | grep -v '^ *+' conftest.er1 >conftest.err | ||
23130 | rm -f conftest.er1 | ||
23131 | cat conftest.err >&5 | ||
23132 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
23133 | (exit $ac_status); } && { | ||
23134 | test -z "$ac_c_werror_flag" || | ||
23135 | test ! -s conftest.err | ||
23136 | } && test -s conftest$ac_exeext && | ||
23137 | $as_test_x conftest$ac_exeext; then | ||
23138 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
23139 | echo "${ECHO_T}yes" >&6; } | ||
23140 | enable_nistp384=1 | 13004 | enable_nistp384=1 |
23141 | else | 13005 | else |
23142 | echo "$as_me: failed program was:" >&5 | 13006 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
23143 | sed 's/^/| /' conftest.$ac_ext >&5 | 13007 | $as_echo "no" >&6; } |
23144 | |||
23145 | { echo "$as_me:$LINENO: result: no" >&5 | ||
23146 | echo "${ECHO_T}no" >&6; } | ||
23147 | 13008 | ||
23148 | fi | 13009 | fi |
13010 | rm -f core conftest.err conftest.$ac_objext \ | ||
13011 | conftest$ac_exeext conftest.$ac_ext | ||
23149 | 13012 | ||
23150 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 13013 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_secp521r1" >&5 |
23151 | conftest$ac_exeext conftest.$ac_ext | 13014 | $as_echo_n "checking whether OpenSSL has NID_secp521r1... " >&6; } |
23152 | 13015 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | |
23153 | { echo "$as_me:$LINENO: checking whether OpenSSL has NID_secp521r1" >&5 | ||
23154 | echo $ECHO_N "checking whether OpenSSL has NID_secp521r1... $ECHO_C" >&6; } | ||
23155 | cat >conftest.$ac_ext <<_ACEOF | ||
23156 | /* confdefs.h. */ | ||
23157 | _ACEOF | ||
23158 | cat confdefs.h >>conftest.$ac_ext | ||
23159 | cat >>conftest.$ac_ext <<_ACEOF | ||
23160 | /* end confdefs.h. */ | 13016 | /* end confdefs.h. */ |
23161 | 13017 | ||
23162 | #include <openssl/ec.h> | 13018 | #include <openssl/ec.h> |
@@ -23180,39 +13036,18 @@ main () | |||
23180 | return 0; | 13036 | return 0; |
23181 | } | 13037 | } |
23182 | _ACEOF | 13038 | _ACEOF |
23183 | rm -f conftest.$ac_objext conftest$ac_exeext | 13039 | if ac_fn_c_try_link "$LINENO"; then : |
23184 | if { (ac_try="$ac_link" | 13040 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
23185 | case "(($ac_try" in | 13041 | $as_echo "yes" >&6; } |
23186 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | 13042 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if OpenSSL's NID_secp521r1 is functional" >&5 |
23187 | *) ac_try_echo=$ac_try;; | 13043 | $as_echo_n "checking if OpenSSL's NID_secp521r1 is functional... " >&6; } |
23188 | esac | 13044 | if test "$cross_compiling" = yes; then : |
23189 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | 13045 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross-compiling: assuming yes" >&5 |
23190 | (eval "$ac_link") 2>conftest.er1 | 13046 | $as_echo "$as_me: WARNING: cross-compiling: assuming yes" >&2;} |
23191 | ac_status=$? | ||
23192 | grep -v '^ *+' conftest.er1 >conftest.err | ||
23193 | rm -f conftest.er1 | ||
23194 | cat conftest.err >&5 | ||
23195 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
23196 | (exit $ac_status); } && { | ||
23197 | test -z "$ac_c_werror_flag" || | ||
23198 | test ! -s conftest.err | ||
23199 | } && test -s conftest$ac_exeext && | ||
23200 | $as_test_x conftest$ac_exeext; then | ||
23201 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
23202 | echo "${ECHO_T}yes" >&6; } | ||
23203 | { echo "$as_me:$LINENO: checking if OpenSSL's NID_secp521r1 is functional" >&5 | ||
23204 | echo $ECHO_N "checking if OpenSSL's NID_secp521r1 is functional... $ECHO_C" >&6; } | ||
23205 | if test "$cross_compiling" = yes; then | ||
23206 | { echo "$as_me:$LINENO: WARNING: cross-compiling: assuming yes" >&5 | ||
23207 | echo "$as_me: WARNING: cross-compiling: assuming yes" >&2;} | ||
23208 | enable_nistp521=1 | 13047 | enable_nistp521=1 |
23209 | 13048 | ||
23210 | else | 13049 | else |
23211 | cat >conftest.$ac_ext <<_ACEOF | 13050 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
23212 | /* confdefs.h. */ | ||
23213 | _ACEOF | ||
23214 | cat confdefs.h >>conftest.$ac_ext | ||
23215 | cat >>conftest.$ac_ext <<_ACEOF | ||
23216 | /* end confdefs.h. */ | 13051 | /* end confdefs.h. */ |
23217 | 13052 | ||
23218 | #include <openssl/ec.h> | 13053 | #include <openssl/ec.h> |
@@ -23234,53 +13069,25 @@ main () | |||
23234 | return 0; | 13069 | return 0; |
23235 | } | 13070 | } |
23236 | _ACEOF | 13071 | _ACEOF |
23237 | rm -f conftest$ac_exeext | 13072 | if ac_fn_c_try_run "$LINENO"; then : |
23238 | if { (ac_try="$ac_link" | 13073 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
23239 | case "(($ac_try" in | 13074 | $as_echo "yes" >&6; } |
23240 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
23241 | *) ac_try_echo=$ac_try;; | ||
23242 | esac | ||
23243 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
23244 | (eval "$ac_link") 2>&5 | ||
23245 | ac_status=$? | ||
23246 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
23247 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
23248 | { (case "(($ac_try" in | ||
23249 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
23250 | *) ac_try_echo=$ac_try;; | ||
23251 | esac | ||
23252 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
23253 | (eval "$ac_try") 2>&5 | ||
23254 | ac_status=$? | ||
23255 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
23256 | (exit $ac_status); }; }; then | ||
23257 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
23258 | echo "${ECHO_T}yes" >&6; } | ||
23259 | enable_nistp521=1 | 13075 | enable_nistp521=1 |
23260 | else | 13076 | else |
23261 | echo "$as_me: program exited with status $ac_status" >&5 | 13077 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
23262 | echo "$as_me: failed program was:" >&5 | 13078 | $as_echo "no" >&6; } |
23263 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
23264 | |||
23265 | ( exit $ac_status ) | ||
23266 | { echo "$as_me:$LINENO: result: no" >&5 | ||
23267 | echo "${ECHO_T}no" >&6; } | ||
23268 | fi | 13079 | fi |
23269 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 13080 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
13081 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
23270 | fi | 13082 | fi |
23271 | 13083 | ||
23272 | |||
23273 | else | 13084 | else |
23274 | echo "$as_me: failed program was:" >&5 | 13085 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
23275 | sed 's/^/| /' conftest.$ac_ext >&5 | 13086 | $as_echo "no" >&6; } |
23276 | |||
23277 | { echo "$as_me:$LINENO: result: no" >&5 | ||
23278 | echo "${ECHO_T}no" >&6; } | ||
23279 | 13087 | ||
23280 | fi | 13088 | fi |
23281 | 13089 | rm -f core conftest.err conftest.$ac_objext \ | |
23282 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 13090 | conftest$ac_exeext conftest.$ac_ext |
23283 | conftest$ac_exeext conftest.$ac_ext | ||
23284 | 13091 | ||
23285 | COMMENT_OUT_ECC="#no ecc#" | 13092 | COMMENT_OUT_ECC="#no ecc#" |
23286 | TEST_SSH_ECC=no | 13093 | TEST_SSH_ECC=no |
@@ -23288,16 +13095,12 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | |||
23288 | if test x$enable_nistp256 = x1 || test x$enable_nistp384 = x1 || \ | 13095 | if test x$enable_nistp256 = x1 || test x$enable_nistp384 = x1 || \ |
23289 | test x$enable_nistp521 = x1; then | 13096 | test x$enable_nistp521 = x1; then |
23290 | 13097 | ||
23291 | cat >>confdefs.h <<\_ACEOF | 13098 | $as_echo "#define OPENSSL_HAS_ECC 1" >>confdefs.h |
23292 | #define OPENSSL_HAS_ECC 1 | ||
23293 | _ACEOF | ||
23294 | 13099 | ||
23295 | fi | 13100 | fi |
23296 | if test x$enable_nistp256 = x1; then | 13101 | if test x$enable_nistp256 = x1; then |
23297 | 13102 | ||
23298 | cat >>confdefs.h <<\_ACEOF | 13103 | $as_echo "#define OPENSSL_HAS_NISTP256 1" >>confdefs.h |
23299 | #define OPENSSL_HAS_NISTP256 1 | ||
23300 | _ACEOF | ||
23301 | 13104 | ||
23302 | TEST_SSH_ECC=yes | 13105 | TEST_SSH_ECC=yes |
23303 | COMMENT_OUT_ECC="" | 13106 | COMMENT_OUT_ECC="" |
@@ -23309,9 +13112,7 @@ _ACEOF | |||
23309 | fi | 13112 | fi |
23310 | if test x$enable_nistp384 = x1; then | 13113 | if test x$enable_nistp384 = x1; then |
23311 | 13114 | ||
23312 | cat >>confdefs.h <<\_ACEOF | 13115 | $as_echo "#define OPENSSL_HAS_NISTP384 1" >>confdefs.h |
23313 | #define OPENSSL_HAS_NISTP384 1 | ||
23314 | _ACEOF | ||
23315 | 13116 | ||
23316 | TEST_SSH_ECC=yes | 13117 | TEST_SSH_ECC=yes |
23317 | COMMENT_OUT_ECC="" | 13118 | COMMENT_OUT_ECC="" |
@@ -23323,9 +13124,7 @@ _ACEOF | |||
23323 | fi | 13124 | fi |
23324 | if test x$enable_nistp521 = x1; then | 13125 | if test x$enable_nistp521 = x1; then |
23325 | 13126 | ||
23326 | cat >>confdefs.h <<\_ACEOF | 13127 | $as_echo "#define OPENSSL_HAS_NISTP521 1" >>confdefs.h |
23327 | #define OPENSSL_HAS_NISTP521 1 | ||
23328 | _ACEOF | ||
23329 | 13128 | ||
23330 | TEST_SSH_ECC=yes | 13129 | TEST_SSH_ECC=yes |
23331 | COMMENT_OUT_ECC="" | 13130 | COMMENT_OUT_ECC="" |
@@ -23339,18 +13138,14 @@ _ACEOF | |||
23339 | 13138 | ||
23340 | 13139 | ||
23341 | else | 13140 | else |
23342 | { echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5 | 13141 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5 |
23343 | echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6; } | 13142 | $as_echo_n "checking for crypt in -lcrypt... " >&6; } |
23344 | if test "${ac_cv_lib_crypt_crypt+set}" = set; then | 13143 | if ${ac_cv_lib_crypt_crypt+:} false; then : |
23345 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 13144 | $as_echo_n "(cached) " >&6 |
23346 | else | 13145 | else |
23347 | ac_check_lib_save_LIBS=$LIBS | 13146 | ac_check_lib_save_LIBS=$LIBS |
23348 | LIBS="-lcrypt $LIBS" | 13147 | LIBS="-lcrypt $LIBS" |
23349 | cat >conftest.$ac_ext <<_ACEOF | 13148 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
23350 | /* confdefs.h. */ | ||
23351 | _ACEOF | ||
23352 | cat confdefs.h >>conftest.$ac_ext | ||
23353 | cat >>conftest.$ac_ext <<_ACEOF | ||
23354 | /* end confdefs.h. */ | 13149 | /* end confdefs.h. */ |
23355 | 13150 | ||
23356 | /* Override any GCC internal prototype to avoid an error. | 13151 | /* Override any GCC internal prototype to avoid an error. |
@@ -23368,131 +13163,27 @@ return crypt (); | |||
23368 | return 0; | 13163 | return 0; |
23369 | } | 13164 | } |
23370 | _ACEOF | 13165 | _ACEOF |
23371 | rm -f conftest.$ac_objext conftest$ac_exeext | 13166 | if ac_fn_c_try_link "$LINENO"; then : |
23372 | if { (ac_try="$ac_link" | ||
23373 | case "(($ac_try" in | ||
23374 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
23375 | *) ac_try_echo=$ac_try;; | ||
23376 | esac | ||
23377 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
23378 | (eval "$ac_link") 2>conftest.er1 | ||
23379 | ac_status=$? | ||
23380 | grep -v '^ *+' conftest.er1 >conftest.err | ||
23381 | rm -f conftest.er1 | ||
23382 | cat conftest.err >&5 | ||
23383 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
23384 | (exit $ac_status); } && { | ||
23385 | test -z "$ac_c_werror_flag" || | ||
23386 | test ! -s conftest.err | ||
23387 | } && test -s conftest$ac_exeext && | ||
23388 | $as_test_x conftest$ac_exeext; then | ||
23389 | ac_cv_lib_crypt_crypt=yes | 13167 | ac_cv_lib_crypt_crypt=yes |
23390 | else | 13168 | else |
23391 | echo "$as_me: failed program was:" >&5 | 13169 | ac_cv_lib_crypt_crypt=no |
23392 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
23393 | |||
23394 | ac_cv_lib_crypt_crypt=no | ||
23395 | fi | 13170 | fi |
23396 | 13171 | rm -f core conftest.err conftest.$ac_objext \ | |
23397 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 13172 | conftest$ac_exeext conftest.$ac_ext |
23398 | conftest$ac_exeext conftest.$ac_ext | ||
23399 | LIBS=$ac_check_lib_save_LIBS | 13173 | LIBS=$ac_check_lib_save_LIBS |
23400 | fi | 13174 | fi |
23401 | { echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5 | 13175 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5 |
23402 | echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6; } | 13176 | $as_echo "$ac_cv_lib_crypt_crypt" >&6; } |
23403 | if test $ac_cv_lib_crypt_crypt = yes; then | 13177 | if test "x$ac_cv_lib_crypt_crypt" = xyes; then : |
23404 | LIBS="$LIBS -lcrypt" | 13178 | LIBS="$LIBS -lcrypt" |
23405 | fi | 13179 | fi |
23406 | 13180 | ||
23407 | 13181 | for ac_func in crypt | |
23408 | for ac_func in crypt | 13182 | do : |
23409 | do | 13183 | ac_fn_c_check_func "$LINENO" "crypt" "ac_cv_func_crypt" |
23410 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 13184 | if test "x$ac_cv_func_crypt" = xyes; then : |
23411 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
23412 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
23413 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
23414 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
23415 | else | ||
23416 | cat >conftest.$ac_ext <<_ACEOF | ||
23417 | /* confdefs.h. */ | ||
23418 | _ACEOF | ||
23419 | cat confdefs.h >>conftest.$ac_ext | ||
23420 | cat >>conftest.$ac_ext <<_ACEOF | ||
23421 | /* end confdefs.h. */ | ||
23422 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
23423 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
23424 | #define $ac_func innocuous_$ac_func | ||
23425 | |||
23426 | /* System header to define __stub macros and hopefully few prototypes, | ||
23427 | which can conflict with char $ac_func (); below. | ||
23428 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
23429 | <limits.h> exists even on freestanding compilers. */ | ||
23430 | |||
23431 | #ifdef __STDC__ | ||
23432 | # include <limits.h> | ||
23433 | #else | ||
23434 | # include <assert.h> | ||
23435 | #endif | ||
23436 | |||
23437 | #undef $ac_func | ||
23438 | |||
23439 | /* Override any GCC internal prototype to avoid an error. | ||
23440 | Use char because int might match the return type of a GCC | ||
23441 | builtin and then its argument prototype would still apply. */ | ||
23442 | #ifdef __cplusplus | ||
23443 | extern "C" | ||
23444 | #endif | ||
23445 | char $ac_func (); | ||
23446 | /* The GNU C library defines this for functions which it implements | ||
23447 | to always fail with ENOSYS. Some functions are actually named | ||
23448 | something starting with __ and the normal name is an alias. */ | ||
23449 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
23450 | choke me | ||
23451 | #endif | ||
23452 | |||
23453 | int | ||
23454 | main () | ||
23455 | { | ||
23456 | return $ac_func (); | ||
23457 | ; | ||
23458 | return 0; | ||
23459 | } | ||
23460 | _ACEOF | ||
23461 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
23462 | if { (ac_try="$ac_link" | ||
23463 | case "(($ac_try" in | ||
23464 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
23465 | *) ac_try_echo=$ac_try;; | ||
23466 | esac | ||
23467 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
23468 | (eval "$ac_link") 2>conftest.er1 | ||
23469 | ac_status=$? | ||
23470 | grep -v '^ *+' conftest.er1 >conftest.err | ||
23471 | rm -f conftest.er1 | ||
23472 | cat conftest.err >&5 | ||
23473 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
23474 | (exit $ac_status); } && { | ||
23475 | test -z "$ac_c_werror_flag" || | ||
23476 | test ! -s conftest.err | ||
23477 | } && test -s conftest$ac_exeext && | ||
23478 | $as_test_x conftest$ac_exeext; then | ||
23479 | eval "$as_ac_var=yes" | ||
23480 | else | ||
23481 | echo "$as_me: failed program was:" >&5 | ||
23482 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
23483 | |||
23484 | eval "$as_ac_var=no" | ||
23485 | fi | ||
23486 | |||
23487 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
23488 | conftest$ac_exeext conftest.$ac_ext | ||
23489 | fi | ||
23490 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
23491 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
23492 | echo "${ECHO_T}$ac_res" >&6; } | ||
23493 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
23494 | cat >>confdefs.h <<_ACEOF | 13185 | cat >>confdefs.h <<_ACEOF |
23495 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 13186 | #define HAVE_CRYPT 1 |
23496 | _ACEOF | 13187 | _ACEOF |
23497 | 13188 | ||
23498 | fi | 13189 | fi |
@@ -23500,103 +13191,18 @@ done | |||
23500 | 13191 | ||
23501 | fi | 13192 | fi |
23502 | 13193 | ||
23503 | |||
23504 | |||
23505 | |||
23506 | |||
23507 | for ac_func in \ | 13194 | for ac_func in \ |
23508 | arc4random \ | 13195 | arc4random \ |
23509 | arc4random_buf \ | 13196 | arc4random_buf \ |
23510 | arc4random_stir \ | 13197 | arc4random_stir \ |
23511 | arc4random_uniform \ | 13198 | arc4random_uniform \ |
23512 | 13199 | ||
23513 | do | 13200 | do : |
23514 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 13201 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
23515 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | 13202 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
23516 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | 13203 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
23517 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
23518 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
23519 | else | ||
23520 | cat >conftest.$ac_ext <<_ACEOF | ||
23521 | /* confdefs.h. */ | ||
23522 | _ACEOF | ||
23523 | cat confdefs.h >>conftest.$ac_ext | ||
23524 | cat >>conftest.$ac_ext <<_ACEOF | ||
23525 | /* end confdefs.h. */ | ||
23526 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
23527 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
23528 | #define $ac_func innocuous_$ac_func | ||
23529 | |||
23530 | /* System header to define __stub macros and hopefully few prototypes, | ||
23531 | which can conflict with char $ac_func (); below. | ||
23532 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
23533 | <limits.h> exists even on freestanding compilers. */ | ||
23534 | |||
23535 | #ifdef __STDC__ | ||
23536 | # include <limits.h> | ||
23537 | #else | ||
23538 | # include <assert.h> | ||
23539 | #endif | ||
23540 | |||
23541 | #undef $ac_func | ||
23542 | |||
23543 | /* Override any GCC internal prototype to avoid an error. | ||
23544 | Use char because int might match the return type of a GCC | ||
23545 | builtin and then its argument prototype would still apply. */ | ||
23546 | #ifdef __cplusplus | ||
23547 | extern "C" | ||
23548 | #endif | ||
23549 | char $ac_func (); | ||
23550 | /* The GNU C library defines this for functions which it implements | ||
23551 | to always fail with ENOSYS. Some functions are actually named | ||
23552 | something starting with __ and the normal name is an alias. */ | ||
23553 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
23554 | choke me | ||
23555 | #endif | ||
23556 | |||
23557 | int | ||
23558 | main () | ||
23559 | { | ||
23560 | return $ac_func (); | ||
23561 | ; | ||
23562 | return 0; | ||
23563 | } | ||
23564 | _ACEOF | ||
23565 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
23566 | if { (ac_try="$ac_link" | ||
23567 | case "(($ac_try" in | ||
23568 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
23569 | *) ac_try_echo=$ac_try;; | ||
23570 | esac | ||
23571 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
23572 | (eval "$ac_link") 2>conftest.er1 | ||
23573 | ac_status=$? | ||
23574 | grep -v '^ *+' conftest.er1 >conftest.err | ||
23575 | rm -f conftest.er1 | ||
23576 | cat conftest.err >&5 | ||
23577 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
23578 | (exit $ac_status); } && { | ||
23579 | test -z "$ac_c_werror_flag" || | ||
23580 | test ! -s conftest.err | ||
23581 | } && test -s conftest$ac_exeext && | ||
23582 | $as_test_x conftest$ac_exeext; then | ||
23583 | eval "$as_ac_var=yes" | ||
23584 | else | ||
23585 | echo "$as_me: failed program was:" >&5 | ||
23586 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
23587 | |||
23588 | eval "$as_ac_var=no" | ||
23589 | fi | ||
23590 | |||
23591 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
23592 | conftest$ac_exeext conftest.$ac_ext | ||
23593 | fi | ||
23594 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
23595 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
23596 | echo "${ECHO_T}$ac_res" >&6; } | ||
23597 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
23598 | cat >>confdefs.h <<_ACEOF | 13204 | cat >>confdefs.h <<_ACEOF |
23599 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 13205 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
23600 | _ACEOF | 13206 | _ACEOF |
23601 | 13207 | ||
23602 | fi | 13208 | fi |
@@ -23604,18 +13210,14 @@ done | |||
23604 | 13210 | ||
23605 | 13211 | ||
23606 | saved_LIBS="$LIBS" | 13212 | saved_LIBS="$LIBS" |
23607 | { echo "$as_me:$LINENO: checking for ia_openinfo in -liaf" >&5 | 13213 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ia_openinfo in -liaf" >&5 |
23608 | echo $ECHO_N "checking for ia_openinfo in -liaf... $ECHO_C" >&6; } | 13214 | $as_echo_n "checking for ia_openinfo in -liaf... " >&6; } |
23609 | if test "${ac_cv_lib_iaf_ia_openinfo+set}" = set; then | 13215 | if ${ac_cv_lib_iaf_ia_openinfo+:} false; then : |
23610 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 13216 | $as_echo_n "(cached) " >&6 |
23611 | else | 13217 | else |
23612 | ac_check_lib_save_LIBS=$LIBS | 13218 | ac_check_lib_save_LIBS=$LIBS |
23613 | LIBS="-liaf $LIBS" | 13219 | LIBS="-liaf $LIBS" |
23614 | cat >conftest.$ac_ext <<_ACEOF | 13220 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
23615 | /* confdefs.h. */ | ||
23616 | _ACEOF | ||
23617 | cat confdefs.h >>conftest.$ac_ext | ||
23618 | cat >>conftest.$ac_ext <<_ACEOF | ||
23619 | /* end confdefs.h. */ | 13221 | /* end confdefs.h. */ |
23620 | 13222 | ||
23621 | /* Override any GCC internal prototype to avoid an error. | 13223 | /* Override any GCC internal prototype to avoid an error. |
@@ -23633,136 +13235,30 @@ return ia_openinfo (); | |||
23633 | return 0; | 13235 | return 0; |
23634 | } | 13236 | } |
23635 | _ACEOF | 13237 | _ACEOF |
23636 | rm -f conftest.$ac_objext conftest$ac_exeext | 13238 | if ac_fn_c_try_link "$LINENO"; then : |
23637 | if { (ac_try="$ac_link" | ||
23638 | case "(($ac_try" in | ||
23639 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
23640 | *) ac_try_echo=$ac_try;; | ||
23641 | esac | ||
23642 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
23643 | (eval "$ac_link") 2>conftest.er1 | ||
23644 | ac_status=$? | ||
23645 | grep -v '^ *+' conftest.er1 >conftest.err | ||
23646 | rm -f conftest.er1 | ||
23647 | cat conftest.err >&5 | ||
23648 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
23649 | (exit $ac_status); } && { | ||
23650 | test -z "$ac_c_werror_flag" || | ||
23651 | test ! -s conftest.err | ||
23652 | } && test -s conftest$ac_exeext && | ||
23653 | $as_test_x conftest$ac_exeext; then | ||
23654 | ac_cv_lib_iaf_ia_openinfo=yes | 13239 | ac_cv_lib_iaf_ia_openinfo=yes |
23655 | else | 13240 | else |
23656 | echo "$as_me: failed program was:" >&5 | 13241 | ac_cv_lib_iaf_ia_openinfo=no |
23657 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
23658 | |||
23659 | ac_cv_lib_iaf_ia_openinfo=no | ||
23660 | fi | 13242 | fi |
23661 | 13243 | rm -f core conftest.err conftest.$ac_objext \ | |
23662 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 13244 | conftest$ac_exeext conftest.$ac_ext |
23663 | conftest$ac_exeext conftest.$ac_ext | ||
23664 | LIBS=$ac_check_lib_save_LIBS | 13245 | LIBS=$ac_check_lib_save_LIBS |
23665 | fi | 13246 | fi |
23666 | { echo "$as_me:$LINENO: result: $ac_cv_lib_iaf_ia_openinfo" >&5 | 13247 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iaf_ia_openinfo" >&5 |
23667 | echo "${ECHO_T}$ac_cv_lib_iaf_ia_openinfo" >&6; } | 13248 | $as_echo "$ac_cv_lib_iaf_ia_openinfo" >&6; } |
23668 | if test $ac_cv_lib_iaf_ia_openinfo = yes; then | 13249 | if test "x$ac_cv_lib_iaf_ia_openinfo" = xyes; then : |
23669 | 13250 | ||
23670 | LIBS="$LIBS -liaf" | 13251 | LIBS="$LIBS -liaf" |
23671 | 13252 | for ac_func in set_id | |
23672 | for ac_func in set_id | 13253 | do : |
23673 | do | 13254 | ac_fn_c_check_func "$LINENO" "set_id" "ac_cv_func_set_id" |
23674 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 13255 | if test "x$ac_cv_func_set_id" = xyes; then : |
23675 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
23676 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
23677 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
23678 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
23679 | else | ||
23680 | cat >conftest.$ac_ext <<_ACEOF | ||
23681 | /* confdefs.h. */ | ||
23682 | _ACEOF | ||
23683 | cat confdefs.h >>conftest.$ac_ext | ||
23684 | cat >>conftest.$ac_ext <<_ACEOF | ||
23685 | /* end confdefs.h. */ | ||
23686 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
23687 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
23688 | #define $ac_func innocuous_$ac_func | ||
23689 | |||
23690 | /* System header to define __stub macros and hopefully few prototypes, | ||
23691 | which can conflict with char $ac_func (); below. | ||
23692 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
23693 | <limits.h> exists even on freestanding compilers. */ | ||
23694 | |||
23695 | #ifdef __STDC__ | ||
23696 | # include <limits.h> | ||
23697 | #else | ||
23698 | # include <assert.h> | ||
23699 | #endif | ||
23700 | |||
23701 | #undef $ac_func | ||
23702 | |||
23703 | /* Override any GCC internal prototype to avoid an error. | ||
23704 | Use char because int might match the return type of a GCC | ||
23705 | builtin and then its argument prototype would still apply. */ | ||
23706 | #ifdef __cplusplus | ||
23707 | extern "C" | ||
23708 | #endif | ||
23709 | char $ac_func (); | ||
23710 | /* The GNU C library defines this for functions which it implements | ||
23711 | to always fail with ENOSYS. Some functions are actually named | ||
23712 | something starting with __ and the normal name is an alias. */ | ||
23713 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
23714 | choke me | ||
23715 | #endif | ||
23716 | |||
23717 | int | ||
23718 | main () | ||
23719 | { | ||
23720 | return $ac_func (); | ||
23721 | ; | ||
23722 | return 0; | ||
23723 | } | ||
23724 | _ACEOF | ||
23725 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
23726 | if { (ac_try="$ac_link" | ||
23727 | case "(($ac_try" in | ||
23728 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
23729 | *) ac_try_echo=$ac_try;; | ||
23730 | esac | ||
23731 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
23732 | (eval "$ac_link") 2>conftest.er1 | ||
23733 | ac_status=$? | ||
23734 | grep -v '^ *+' conftest.er1 >conftest.err | ||
23735 | rm -f conftest.er1 | ||
23736 | cat conftest.err >&5 | ||
23737 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
23738 | (exit $ac_status); } && { | ||
23739 | test -z "$ac_c_werror_flag" || | ||
23740 | test ! -s conftest.err | ||
23741 | } && test -s conftest$ac_exeext && | ||
23742 | $as_test_x conftest$ac_exeext; then | ||
23743 | eval "$as_ac_var=yes" | ||
23744 | else | ||
23745 | echo "$as_me: failed program was:" >&5 | ||
23746 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
23747 | |||
23748 | eval "$as_ac_var=no" | ||
23749 | fi | ||
23750 | |||
23751 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
23752 | conftest$ac_exeext conftest.$ac_ext | ||
23753 | fi | ||
23754 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
23755 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
23756 | echo "${ECHO_T}$ac_res" >&6; } | ||
23757 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
23758 | cat >>confdefs.h <<_ACEOF | 13256 | cat >>confdefs.h <<_ACEOF |
23759 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 13257 | #define HAVE_SET_ID 1 |
23760 | _ACEOF | 13258 | _ACEOF |
23761 | SSHDLIBS="$SSHDLIBS -liaf" | 13259 | SSHDLIBS="$SSHDLIBS -liaf" |
23762 | 13260 | ||
23763 | cat >>confdefs.h <<\_ACEOF | 13261 | $as_echo "#define HAVE_LIBIAF 1" >>confdefs.h |
23764 | #define HAVE_LIBIAF 1 | ||
23765 | _ACEOF | ||
23766 | 13262 | ||
23767 | 13263 | ||
23768 | fi | 13264 | fi |
@@ -23777,23 +13273,19 @@ LIBS="$saved_LIBS" | |||
23777 | 13273 | ||
23778 | # Check wheter OpenSSL seeds itself | 13274 | # Check wheter OpenSSL seeds itself |
23779 | if test "x$openssl" = "xyes" ; then | 13275 | if test "x$openssl" = "xyes" ; then |
23780 | { echo "$as_me:$LINENO: checking whether OpenSSL's PRNG is internally seeded" >&5 | 13276 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL's PRNG is internally seeded" >&5 |
23781 | echo $ECHO_N "checking whether OpenSSL's PRNG is internally seeded... $ECHO_C" >&6; } | 13277 | $as_echo_n "checking whether OpenSSL's PRNG is internally seeded... " >&6; } |
23782 | if test "$cross_compiling" = yes; then | 13278 | if test "$cross_compiling" = yes; then : |
23783 | 13279 | ||
23784 | { echo "$as_me:$LINENO: WARNING: cross compiling: assuming yes" >&5 | 13280 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5 |
23785 | echo "$as_me: WARNING: cross compiling: assuming yes" >&2;} | 13281 | $as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;} |
23786 | # This is safe, since we will fatal() at runtime if | 13282 | # This is safe, since we will fatal() at runtime if |
23787 | # OpenSSL is not seeded correctly. | 13283 | # OpenSSL is not seeded correctly. |
23788 | OPENSSL_SEEDS_ITSELF=yes | 13284 | OPENSSL_SEEDS_ITSELF=yes |
23789 | 13285 | ||
23790 | 13286 | ||
23791 | else | 13287 | else |
23792 | cat >conftest.$ac_ext <<_ACEOF | 13288 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
23793 | /* confdefs.h. */ | ||
23794 | _ACEOF | ||
23795 | cat confdefs.h >>conftest.$ac_ext | ||
23796 | cat >>conftest.$ac_ext <<_ACEOF | ||
23797 | /* end confdefs.h. */ | 13289 | /* end confdefs.h. */ |
23798 | 13290 | ||
23799 | #include <string.h> | 13291 | #include <string.h> |
@@ -23809,52 +13301,28 @@ main () | |||
23809 | return 0; | 13301 | return 0; |
23810 | } | 13302 | } |
23811 | _ACEOF | 13303 | _ACEOF |
23812 | rm -f conftest$ac_exeext | 13304 | if ac_fn_c_try_run "$LINENO"; then : |
23813 | if { (ac_try="$ac_link" | ||
23814 | case "(($ac_try" in | ||
23815 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
23816 | *) ac_try_echo=$ac_try;; | ||
23817 | esac | ||
23818 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
23819 | (eval "$ac_link") 2>&5 | ||
23820 | ac_status=$? | ||
23821 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
23822 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
23823 | { (case "(($ac_try" in | ||
23824 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
23825 | *) ac_try_echo=$ac_try;; | ||
23826 | esac | ||
23827 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
23828 | (eval "$ac_try") 2>&5 | ||
23829 | ac_status=$? | ||
23830 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
23831 | (exit $ac_status); }; }; then | ||
23832 | 13305 | ||
23833 | OPENSSL_SEEDS_ITSELF=yes | 13306 | OPENSSL_SEEDS_ITSELF=yes |
23834 | { echo "$as_me:$LINENO: result: yes" >&5 | 13307 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
23835 | echo "${ECHO_T}yes" >&6; } | 13308 | $as_echo "yes" >&6; } |
23836 | 13309 | ||
23837 | else | 13310 | else |
23838 | echo "$as_me: program exited with status $ac_status" >&5 | ||
23839 | echo "$as_me: failed program was:" >&5 | ||
23840 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
23841 | |||
23842 | ( exit $ac_status ) | ||
23843 | 13311 | ||
23844 | { echo "$as_me:$LINENO: result: no" >&5 | 13312 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
23845 | echo "${ECHO_T}no" >&6; } | 13313 | $as_echo "no" >&6; } |
23846 | 13314 | ||
23847 | fi | 13315 | fi |
23848 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 13316 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
13317 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
23849 | fi | 13318 | fi |
23850 | 13319 | ||
23851 | |||
23852 | fi | 13320 | fi |
23853 | 13321 | ||
23854 | # PRNGD TCP socket | 13322 | # PRNGD TCP socket |
23855 | 13323 | ||
23856 | # Check whether --with-prngd-port was given. | 13324 | # Check whether --with-prngd-port was given. |
23857 | if test "${with_prngd_port+set}" = set; then | 13325 | if test "${with_prngd_port+set}" = set; then : |
23858 | withval=$with_prngd_port; | 13326 | withval=$with_prngd_port; |
23859 | case "$withval" in | 13327 | case "$withval" in |
23860 | no) | 13328 | no) |
@@ -23863,9 +13331,7 @@ if test "${with_prngd_port+set}" = set; then | |||
23863 | [0-9]*) | 13331 | [0-9]*) |
23864 | ;; | 13332 | ;; |
23865 | *) | 13333 | *) |
23866 | { { echo "$as_me:$LINENO: error: You must specify a numeric port number for --with-prngd-port" >&5 | 13334 | as_fn_error $? "You must specify a numeric port number for --with-prngd-port" "$LINENO" 5 |
23867 | echo "$as_me: error: You must specify a numeric port number for --with-prngd-port" >&2;} | ||
23868 | { (exit 1); exit 1; }; } | ||
23869 | ;; | 13335 | ;; |
23870 | esac | 13336 | esac |
23871 | if test ! -z "$withval" ; then | 13337 | if test ! -z "$withval" ; then |
@@ -23884,7 +13350,7 @@ fi | |||
23884 | # PRNGD Unix domain socket | 13350 | # PRNGD Unix domain socket |
23885 | 13351 | ||
23886 | # Check whether --with-prngd-socket was given. | 13352 | # Check whether --with-prngd-socket was given. |
23887 | if test "${with_prngd_socket+set}" = set; then | 13353 | if test "${with_prngd_socket+set}" = set; then : |
23888 | withval=$with_prngd_socket; | 13354 | withval=$with_prngd_socket; |
23889 | case "$withval" in | 13355 | case "$withval" in |
23890 | yes) | 13356 | yes) |
@@ -23896,21 +13362,17 @@ if test "${with_prngd_socket+set}" = set; then | |||
23896 | /*) | 13362 | /*) |
23897 | ;; | 13363 | ;; |
23898 | *) | 13364 | *) |
23899 | { { echo "$as_me:$LINENO: error: You must specify an absolute path to the entropy socket" >&5 | 13365 | as_fn_error $? "You must specify an absolute path to the entropy socket" "$LINENO" 5 |
23900 | echo "$as_me: error: You must specify an absolute path to the entropy socket" >&2;} | ||
23901 | { (exit 1); exit 1; }; } | ||
23902 | ;; | 13366 | ;; |
23903 | esac | 13367 | esac |
23904 | 13368 | ||
23905 | if test ! -z "$withval" ; then | 13369 | if test ! -z "$withval" ; then |
23906 | if test ! -z "$PRNGD_PORT" ; then | 13370 | if test ! -z "$PRNGD_PORT" ; then |
23907 | { { echo "$as_me:$LINENO: error: You may not specify both a PRNGD/EGD port and socket" >&5 | 13371 | as_fn_error $? "You may not specify both a PRNGD/EGD port and socket" "$LINENO" 5 |
23908 | echo "$as_me: error: You may not specify both a PRNGD/EGD port and socket" >&2;} | ||
23909 | { (exit 1); exit 1; }; } | ||
23910 | fi | 13372 | fi |
23911 | if test ! -r "$withval" ; then | 13373 | if test ! -r "$withval" ; then |
23912 | { echo "$as_me:$LINENO: WARNING: Entropy socket is not readable" >&5 | 13374 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Entropy socket is not readable" >&5 |
23913 | echo "$as_me: WARNING: Entropy socket is not readable" >&2;} | 13375 | $as_echo "$as_me: WARNING: Entropy socket is not readable" >&2;} |
23914 | fi | 13376 | fi |
23915 | PRNGD_SOCKET="$withval" | 13377 | PRNGD_SOCKET="$withval" |
23916 | 13378 | ||
@@ -23924,8 +13386,8 @@ else | |||
23924 | 13386 | ||
23925 | # Check for existing socket only if we don't have a random device already | 13387 | # Check for existing socket only if we don't have a random device already |
23926 | if test "x$OPENSSL_SEEDS_ITSELF" != "xyes" ; then | 13388 | if test "x$OPENSSL_SEEDS_ITSELF" != "xyes" ; then |
23927 | { echo "$as_me:$LINENO: checking for PRNGD/EGD socket" >&5 | 13389 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PRNGD/EGD socket" >&5 |
23928 | echo $ECHO_N "checking for PRNGD/EGD socket... $ECHO_C" >&6; } | 13390 | $as_echo_n "checking for PRNGD/EGD socket... " >&6; } |
23929 | # Insert other locations here | 13391 | # Insert other locations here |
23930 | for sock in /var/run/egd-pool /dev/egd-pool /etc/entropy; do | 13392 | for sock in /var/run/egd-pool /dev/egd-pool /etc/entropy; do |
23931 | if test -r $sock && $TEST_MINUS_S_SH -c "test -S $sock -o -p $sock" ; then | 13393 | if test -r $sock && $TEST_MINUS_S_SH -c "test -S $sock -o -p $sock" ; then |
@@ -23938,11 +13400,11 @@ _ACEOF | |||
23938 | fi | 13400 | fi |
23939 | done | 13401 | done |
23940 | if test ! -z "$PRNGD_SOCKET" ; then | 13402 | if test ! -z "$PRNGD_SOCKET" ; then |
23941 | { echo "$as_me:$LINENO: result: $PRNGD_SOCKET" >&5 | 13403 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRNGD_SOCKET" >&5 |
23942 | echo "${ECHO_T}$PRNGD_SOCKET" >&6; } | 13404 | $as_echo "$PRNGD_SOCKET" >&6; } |
23943 | else | 13405 | else |
23944 | { echo "$as_me:$LINENO: result: not found" >&5 | 13406 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 |
23945 | echo "${ECHO_T}not found" >&6; } | 13407 | $as_echo "not found" >&6; } |
23946 | fi | 13408 | fi |
23947 | fi | 13409 | fi |
23948 | 13410 | ||
@@ -23957,48 +13419,37 @@ elif test ! -z "$PRNGD_SOCKET" ; then | |||
23957 | RAND_MSG="PRNGd socket $PRNGD_SOCKET" | 13419 | RAND_MSG="PRNGd socket $PRNGD_SOCKET" |
23958 | elif test ! -z "$OPENSSL_SEEDS_ITSELF" ; then | 13420 | elif test ! -z "$OPENSSL_SEEDS_ITSELF" ; then |
23959 | 13421 | ||
23960 | cat >>confdefs.h <<\_ACEOF | 13422 | $as_echo "#define OPENSSL_PRNG_ONLY 1" >>confdefs.h |
23961 | #define OPENSSL_PRNG_ONLY 1 | ||
23962 | _ACEOF | ||
23963 | 13423 | ||
23964 | RAND_MSG="OpenSSL internal ONLY" | 13424 | RAND_MSG="OpenSSL internal ONLY" |
23965 | elif test "x$openssl" = "xno" ; then | 13425 | elif test "x$openssl" = "xno" ; then |
23966 | { echo "$as_me:$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 | 13426 | { $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 |
23967 | 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;} | 13427 | $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;} |
23968 | else | 13428 | else |
23969 | { { echo "$as_me:$LINENO: 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" >&5 | 13429 | 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 |
23970 | echo "$as_me: 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" >&2;} | ||
23971 | { (exit 1); exit 1; }; } | ||
23972 | fi | 13430 | fi |
23973 | 13431 | ||
23974 | # Check for PAM libs | 13432 | # Check for PAM libs |
23975 | PAM_MSG="no" | 13433 | PAM_MSG="no" |
23976 | 13434 | ||
23977 | # Check whether --with-pam was given. | 13435 | # Check whether --with-pam was given. |
23978 | if test "${with_pam+set}" = set; then | 13436 | if test "${with_pam+set}" = set; then : |
23979 | withval=$with_pam; | 13437 | withval=$with_pam; |
23980 | if test "x$withval" != "xno" ; then | 13438 | if test "x$withval" != "xno" ; then |
23981 | if test "x$ac_cv_header_security_pam_appl_h" != "xyes" && \ | 13439 | if test "x$ac_cv_header_security_pam_appl_h" != "xyes" && \ |
23982 | test "x$ac_cv_header_pam_pam_appl_h" != "xyes" ; then | 13440 | test "x$ac_cv_header_pam_pam_appl_h" != "xyes" ; then |
23983 | { { echo "$as_me:$LINENO: error: PAM headers not found" >&5 | 13441 | as_fn_error $? "PAM headers not found" "$LINENO" 5 |
23984 | echo "$as_me: error: PAM headers not found" >&2;} | ||
23985 | { (exit 1); exit 1; }; } | ||
23986 | fi | 13442 | fi |
23987 | 13443 | ||
23988 | saved_LIBS="$LIBS" | 13444 | saved_LIBS="$LIBS" |
23989 | 13445 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 | |
23990 | { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 | 13446 | $as_echo_n "checking for dlopen in -ldl... " >&6; } |
23991 | echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } | 13447 | if ${ac_cv_lib_dl_dlopen+:} false; then : |
23992 | if test "${ac_cv_lib_dl_dlopen+set}" = set; then | 13448 | $as_echo_n "(cached) " >&6 |
23993 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
23994 | else | 13449 | else |
23995 | ac_check_lib_save_LIBS=$LIBS | 13450 | ac_check_lib_save_LIBS=$LIBS |
23996 | LIBS="-ldl $LIBS" | 13451 | LIBS="-ldl $LIBS" |
23997 | cat >conftest.$ac_ext <<_ACEOF | 13452 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
23998 | /* confdefs.h. */ | ||
23999 | _ACEOF | ||
24000 | cat confdefs.h >>conftest.$ac_ext | ||
24001 | cat >>conftest.$ac_ext <<_ACEOF | ||
24002 | /* end confdefs.h. */ | 13453 | /* end confdefs.h. */ |
24003 | 13454 | ||
24004 | /* Override any GCC internal prototype to avoid an error. | 13455 | /* Override any GCC internal prototype to avoid an error. |
@@ -24016,39 +13467,18 @@ return dlopen (); | |||
24016 | return 0; | 13467 | return 0; |
24017 | } | 13468 | } |
24018 | _ACEOF | 13469 | _ACEOF |
24019 | rm -f conftest.$ac_objext conftest$ac_exeext | 13470 | if ac_fn_c_try_link "$LINENO"; then : |
24020 | if { (ac_try="$ac_link" | ||
24021 | case "(($ac_try" in | ||
24022 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24023 | *) ac_try_echo=$ac_try;; | ||
24024 | esac | ||
24025 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24026 | (eval "$ac_link") 2>conftest.er1 | ||
24027 | ac_status=$? | ||
24028 | grep -v '^ *+' conftest.er1 >conftest.err | ||
24029 | rm -f conftest.er1 | ||
24030 | cat conftest.err >&5 | ||
24031 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
24032 | (exit $ac_status); } && { | ||
24033 | test -z "$ac_c_werror_flag" || | ||
24034 | test ! -s conftest.err | ||
24035 | } && test -s conftest$ac_exeext && | ||
24036 | $as_test_x conftest$ac_exeext; then | ||
24037 | ac_cv_lib_dl_dlopen=yes | 13471 | ac_cv_lib_dl_dlopen=yes |
24038 | else | 13472 | else |
24039 | echo "$as_me: failed program was:" >&5 | 13473 | ac_cv_lib_dl_dlopen=no |
24040 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
24041 | |||
24042 | ac_cv_lib_dl_dlopen=no | ||
24043 | fi | 13474 | fi |
24044 | 13475 | rm -f core conftest.err conftest.$ac_objext \ | |
24045 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 13476 | conftest$ac_exeext conftest.$ac_ext |
24046 | conftest$ac_exeext conftest.$ac_ext | ||
24047 | LIBS=$ac_check_lib_save_LIBS | 13477 | LIBS=$ac_check_lib_save_LIBS |
24048 | fi | 13478 | fi |
24049 | { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 | 13479 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 |
24050 | echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } | 13480 | $as_echo "$ac_cv_lib_dl_dlopen" >&6; } |
24051 | if test $ac_cv_lib_dl_dlopen = yes; then | 13481 | if test "x$ac_cv_lib_dl_dlopen" = xyes; then : |
24052 | cat >>confdefs.h <<_ACEOF | 13482 | cat >>confdefs.h <<_ACEOF |
24053 | #define HAVE_LIBDL 1 | 13483 | #define HAVE_LIBDL 1 |
24054 | _ACEOF | 13484 | _ACEOF |
@@ -24057,19 +13487,14 @@ _ACEOF | |||
24057 | 13487 | ||
24058 | fi | 13488 | fi |
24059 | 13489 | ||
24060 | 13490 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pam_set_item in -lpam" >&5 | |
24061 | { echo "$as_me:$LINENO: checking for pam_set_item in -lpam" >&5 | 13491 | $as_echo_n "checking for pam_set_item in -lpam... " >&6; } |
24062 | echo $ECHO_N "checking for pam_set_item in -lpam... $ECHO_C" >&6; } | 13492 | if ${ac_cv_lib_pam_pam_set_item+:} false; then : |
24063 | if test "${ac_cv_lib_pam_pam_set_item+set}" = set; then | 13493 | $as_echo_n "(cached) " >&6 |
24064 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
24065 | else | 13494 | else |
24066 | ac_check_lib_save_LIBS=$LIBS | 13495 | ac_check_lib_save_LIBS=$LIBS |
24067 | LIBS="-lpam $LIBS" | 13496 | LIBS="-lpam $LIBS" |
24068 | cat >conftest.$ac_ext <<_ACEOF | 13497 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
24069 | /* confdefs.h. */ | ||
24070 | _ACEOF | ||
24071 | cat confdefs.h >>conftest.$ac_ext | ||
24072 | cat >>conftest.$ac_ext <<_ACEOF | ||
24073 | /* end confdefs.h. */ | 13498 | /* end confdefs.h. */ |
24074 | 13499 | ||
24075 | /* Override any GCC internal prototype to avoid an error. | 13500 | /* Override any GCC internal prototype to avoid an error. |
@@ -24087,39 +13512,18 @@ return pam_set_item (); | |||
24087 | return 0; | 13512 | return 0; |
24088 | } | 13513 | } |
24089 | _ACEOF | 13514 | _ACEOF |
24090 | rm -f conftest.$ac_objext conftest$ac_exeext | 13515 | if ac_fn_c_try_link "$LINENO"; then : |
24091 | if { (ac_try="$ac_link" | ||
24092 | case "(($ac_try" in | ||
24093 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24094 | *) ac_try_echo=$ac_try;; | ||
24095 | esac | ||
24096 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24097 | (eval "$ac_link") 2>conftest.er1 | ||
24098 | ac_status=$? | ||
24099 | grep -v '^ *+' conftest.er1 >conftest.err | ||
24100 | rm -f conftest.er1 | ||
24101 | cat conftest.err >&5 | ||
24102 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
24103 | (exit $ac_status); } && { | ||
24104 | test -z "$ac_c_werror_flag" || | ||
24105 | test ! -s conftest.err | ||
24106 | } && test -s conftest$ac_exeext && | ||
24107 | $as_test_x conftest$ac_exeext; then | ||
24108 | ac_cv_lib_pam_pam_set_item=yes | 13516 | ac_cv_lib_pam_pam_set_item=yes |
24109 | else | 13517 | else |
24110 | echo "$as_me: failed program was:" >&5 | 13518 | ac_cv_lib_pam_pam_set_item=no |
24111 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
24112 | |||
24113 | ac_cv_lib_pam_pam_set_item=no | ||
24114 | fi | 13519 | fi |
24115 | 13520 | rm -f core conftest.err conftest.$ac_objext \ | |
24116 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 13521 | conftest$ac_exeext conftest.$ac_ext |
24117 | conftest$ac_exeext conftest.$ac_ext | ||
24118 | LIBS=$ac_check_lib_save_LIBS | 13522 | LIBS=$ac_check_lib_save_LIBS |
24119 | fi | 13523 | fi |
24120 | { echo "$as_me:$LINENO: result: $ac_cv_lib_pam_pam_set_item" >&5 | 13524 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_pam_set_item" >&5 |
24121 | echo "${ECHO_T}$ac_cv_lib_pam_pam_set_item" >&6; } | 13525 | $as_echo "$ac_cv_lib_pam_pam_set_item" >&6; } |
24122 | if test $ac_cv_lib_pam_pam_set_item = yes; then | 13526 | if test "x$ac_cv_lib_pam_pam_set_item" = xyes; then : |
24123 | cat >>confdefs.h <<_ACEOF | 13527 | cat >>confdefs.h <<_ACEOF |
24124 | #define HAVE_LIBPAM 1 | 13528 | #define HAVE_LIBPAM 1 |
24125 | _ACEOF | 13529 | _ACEOF |
@@ -24127,194 +13531,26 @@ _ACEOF | |||
24127 | LIBS="-lpam $LIBS" | 13531 | LIBS="-lpam $LIBS" |
24128 | 13532 | ||
24129 | else | 13533 | else |
24130 | { { echo "$as_me:$LINENO: error: *** libpam missing" >&5 | 13534 | as_fn_error $? "*** libpam missing" "$LINENO" 5 |
24131 | echo "$as_me: error: *** libpam missing" >&2;} | ||
24132 | { (exit 1); exit 1; }; } | ||
24133 | fi | 13535 | fi |
24134 | 13536 | ||
24135 | 13537 | for ac_func in pam_getenvlist | |
24136 | for ac_func in pam_getenvlist | 13538 | do : |
24137 | do | 13539 | ac_fn_c_check_func "$LINENO" "pam_getenvlist" "ac_cv_func_pam_getenvlist" |
24138 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 13540 | if test "x$ac_cv_func_pam_getenvlist" = xyes; then : |
24139 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
24140 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
24141 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
24142 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
24143 | else | ||
24144 | cat >conftest.$ac_ext <<_ACEOF | ||
24145 | /* confdefs.h. */ | ||
24146 | _ACEOF | ||
24147 | cat confdefs.h >>conftest.$ac_ext | ||
24148 | cat >>conftest.$ac_ext <<_ACEOF | ||
24149 | /* end confdefs.h. */ | ||
24150 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
24151 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
24152 | #define $ac_func innocuous_$ac_func | ||
24153 | |||
24154 | /* System header to define __stub macros and hopefully few prototypes, | ||
24155 | which can conflict with char $ac_func (); below. | ||
24156 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
24157 | <limits.h> exists even on freestanding compilers. */ | ||
24158 | |||
24159 | #ifdef __STDC__ | ||
24160 | # include <limits.h> | ||
24161 | #else | ||
24162 | # include <assert.h> | ||
24163 | #endif | ||
24164 | |||
24165 | #undef $ac_func | ||
24166 | |||
24167 | /* Override any GCC internal prototype to avoid an error. | ||
24168 | Use char because int might match the return type of a GCC | ||
24169 | builtin and then its argument prototype would still apply. */ | ||
24170 | #ifdef __cplusplus | ||
24171 | extern "C" | ||
24172 | #endif | ||
24173 | char $ac_func (); | ||
24174 | /* The GNU C library defines this for functions which it implements | ||
24175 | to always fail with ENOSYS. Some functions are actually named | ||
24176 | something starting with __ and the normal name is an alias. */ | ||
24177 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
24178 | choke me | ||
24179 | #endif | ||
24180 | |||
24181 | int | ||
24182 | main () | ||
24183 | { | ||
24184 | return $ac_func (); | ||
24185 | ; | ||
24186 | return 0; | ||
24187 | } | ||
24188 | _ACEOF | ||
24189 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
24190 | if { (ac_try="$ac_link" | ||
24191 | case "(($ac_try" in | ||
24192 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24193 | *) ac_try_echo=$ac_try;; | ||
24194 | esac | ||
24195 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24196 | (eval "$ac_link") 2>conftest.er1 | ||
24197 | ac_status=$? | ||
24198 | grep -v '^ *+' conftest.er1 >conftest.err | ||
24199 | rm -f conftest.er1 | ||
24200 | cat conftest.err >&5 | ||
24201 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
24202 | (exit $ac_status); } && { | ||
24203 | test -z "$ac_c_werror_flag" || | ||
24204 | test ! -s conftest.err | ||
24205 | } && test -s conftest$ac_exeext && | ||
24206 | $as_test_x conftest$ac_exeext; then | ||
24207 | eval "$as_ac_var=yes" | ||
24208 | else | ||
24209 | echo "$as_me: failed program was:" >&5 | ||
24210 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
24211 | |||
24212 | eval "$as_ac_var=no" | ||
24213 | fi | ||
24214 | |||
24215 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
24216 | conftest$ac_exeext conftest.$ac_ext | ||
24217 | fi | ||
24218 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
24219 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
24220 | echo "${ECHO_T}$ac_res" >&6; } | ||
24221 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
24222 | cat >>confdefs.h <<_ACEOF | 13541 | cat >>confdefs.h <<_ACEOF |
24223 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 13542 | #define HAVE_PAM_GETENVLIST 1 |
24224 | _ACEOF | 13543 | _ACEOF |
24225 | 13544 | ||
24226 | fi | 13545 | fi |
24227 | done | 13546 | done |
24228 | 13547 | ||
24229 | 13548 | for ac_func in pam_putenv | |
24230 | for ac_func in pam_putenv | 13549 | do : |
24231 | do | 13550 | ac_fn_c_check_func "$LINENO" "pam_putenv" "ac_cv_func_pam_putenv" |
24232 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 13551 | if test "x$ac_cv_func_pam_putenv" = xyes; then : |
24233 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
24234 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
24235 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
24236 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
24237 | else | ||
24238 | cat >conftest.$ac_ext <<_ACEOF | ||
24239 | /* confdefs.h. */ | ||
24240 | _ACEOF | ||
24241 | cat confdefs.h >>conftest.$ac_ext | ||
24242 | cat >>conftest.$ac_ext <<_ACEOF | ||
24243 | /* end confdefs.h. */ | ||
24244 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
24245 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
24246 | #define $ac_func innocuous_$ac_func | ||
24247 | |||
24248 | /* System header to define __stub macros and hopefully few prototypes, | ||
24249 | which can conflict with char $ac_func (); below. | ||
24250 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
24251 | <limits.h> exists even on freestanding compilers. */ | ||
24252 | |||
24253 | #ifdef __STDC__ | ||
24254 | # include <limits.h> | ||
24255 | #else | ||
24256 | # include <assert.h> | ||
24257 | #endif | ||
24258 | |||
24259 | #undef $ac_func | ||
24260 | |||
24261 | /* Override any GCC internal prototype to avoid an error. | ||
24262 | Use char because int might match the return type of a GCC | ||
24263 | builtin and then its argument prototype would still apply. */ | ||
24264 | #ifdef __cplusplus | ||
24265 | extern "C" | ||
24266 | #endif | ||
24267 | char $ac_func (); | ||
24268 | /* The GNU C library defines this for functions which it implements | ||
24269 | to always fail with ENOSYS. Some functions are actually named | ||
24270 | something starting with __ and the normal name is an alias. */ | ||
24271 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
24272 | choke me | ||
24273 | #endif | ||
24274 | |||
24275 | int | ||
24276 | main () | ||
24277 | { | ||
24278 | return $ac_func (); | ||
24279 | ; | ||
24280 | return 0; | ||
24281 | } | ||
24282 | _ACEOF | ||
24283 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
24284 | if { (ac_try="$ac_link" | ||
24285 | case "(($ac_try" in | ||
24286 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24287 | *) ac_try_echo=$ac_try;; | ||
24288 | esac | ||
24289 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24290 | (eval "$ac_link") 2>conftest.er1 | ||
24291 | ac_status=$? | ||
24292 | grep -v '^ *+' conftest.er1 >conftest.err | ||
24293 | rm -f conftest.er1 | ||
24294 | cat conftest.err >&5 | ||
24295 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
24296 | (exit $ac_status); } && { | ||
24297 | test -z "$ac_c_werror_flag" || | ||
24298 | test ! -s conftest.err | ||
24299 | } && test -s conftest$ac_exeext && | ||
24300 | $as_test_x conftest$ac_exeext; then | ||
24301 | eval "$as_ac_var=yes" | ||
24302 | else | ||
24303 | echo "$as_me: failed program was:" >&5 | ||
24304 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
24305 | |||
24306 | eval "$as_ac_var=no" | ||
24307 | fi | ||
24308 | |||
24309 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
24310 | conftest$ac_exeext conftest.$ac_ext | ||
24311 | fi | ||
24312 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
24313 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
24314 | echo "${ECHO_T}$ac_res" >&6; } | ||
24315 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
24316 | cat >>confdefs.h <<_ACEOF | 13552 | cat >>confdefs.h <<_ACEOF |
24317 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 13553 | #define HAVE_PAM_PUTENV 1 |
24318 | _ACEOF | 13554 | _ACEOF |
24319 | 13555 | ||
24320 | fi | 13556 | fi |
@@ -24326,9 +13562,7 @@ done | |||
24326 | 13562 | ||
24327 | SSHDLIBS="$SSHDLIBS -lpam" | 13563 | SSHDLIBS="$SSHDLIBS -lpam" |
24328 | 13564 | ||
24329 | cat >>confdefs.h <<\_ACEOF | 13565 | $as_echo "#define USE_PAM 1" >>confdefs.h |
24330 | #define USE_PAM 1 | ||
24331 | _ACEOF | ||
24332 | 13566 | ||
24333 | 13567 | ||
24334 | if test $ac_cv_lib_dl_dlopen = yes; then | 13568 | if test $ac_cv_lib_dl_dlopen = yes; then |
@@ -24347,16 +13581,29 @@ _ACEOF | |||
24347 | fi | 13581 | fi |
24348 | 13582 | ||
24349 | 13583 | ||
13584 | |||
13585 | # Check whether --with-pam-service was given. | ||
13586 | if test "${with_pam_service+set}" = set; then : | ||
13587 | withval=$with_pam_service; | ||
13588 | if test "x$withval" != "xno" && \ | ||
13589 | test "x$withval" != "xyes" ; then | ||
13590 | |||
13591 | cat >>confdefs.h <<_ACEOF | ||
13592 | #define SSHD_PAM_SERVICE "$withval" | ||
13593 | _ACEOF | ||
13594 | |||
13595 | fi | ||
13596 | |||
13597 | |||
13598 | fi | ||
13599 | |||
13600 | |||
24350 | # Check for older PAM | 13601 | # Check for older PAM |
24351 | if test "x$PAM_MSG" = "xyes" ; then | 13602 | if test "x$PAM_MSG" = "xyes" ; then |
24352 | # Check PAM strerror arguments (old PAM) | 13603 | # Check PAM strerror arguments (old PAM) |
24353 | { echo "$as_me:$LINENO: checking whether pam_strerror takes only one argument" >&5 | 13604 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pam_strerror takes only one argument" >&5 |
24354 | echo $ECHO_N "checking whether pam_strerror takes only one argument... $ECHO_C" >&6; } | 13605 | $as_echo_n "checking whether pam_strerror takes only one argument... " >&6; } |
24355 | cat >conftest.$ac_ext <<_ACEOF | 13606 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
24356 | /* confdefs.h. */ | ||
24357 | _ACEOF | ||
24358 | cat confdefs.h >>conftest.$ac_ext | ||
24359 | cat >>conftest.$ac_ext <<_ACEOF | ||
24360 | /* end confdefs.h. */ | 13607 | /* end confdefs.h. */ |
24361 | 13608 | ||
24362 | #include <stdlib.h> | 13609 | #include <stdlib.h> |
@@ -24376,42 +13623,20 @@ main () | |||
24376 | return 0; | 13623 | return 0; |
24377 | } | 13624 | } |
24378 | _ACEOF | 13625 | _ACEOF |
24379 | rm -f conftest.$ac_objext | 13626 | if ac_fn_c_try_compile "$LINENO"; then : |
24380 | if { (ac_try="$ac_compile" | 13627 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
24381 | case "(($ac_try" in | 13628 | $as_echo "no" >&6; } |
24382 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24383 | *) ac_try_echo=$ac_try;; | ||
24384 | esac | ||
24385 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24386 | (eval "$ac_compile") 2>conftest.er1 | ||
24387 | ac_status=$? | ||
24388 | grep -v '^ *+' conftest.er1 >conftest.err | ||
24389 | rm -f conftest.er1 | ||
24390 | cat conftest.err >&5 | ||
24391 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
24392 | (exit $ac_status); } && { | ||
24393 | test -z "$ac_c_werror_flag" || | ||
24394 | test ! -s conftest.err | ||
24395 | } && test -s conftest.$ac_objext; then | ||
24396 | { echo "$as_me:$LINENO: result: no" >&5 | ||
24397 | echo "${ECHO_T}no" >&6; } | ||
24398 | else | 13629 | else |
24399 | echo "$as_me: failed program was:" >&5 | ||
24400 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
24401 | |||
24402 | 13630 | ||
24403 | 13631 | ||
24404 | cat >>confdefs.h <<\_ACEOF | 13632 | $as_echo "#define HAVE_OLD_PAM 1" >>confdefs.h |
24405 | #define HAVE_OLD_PAM 1 | ||
24406 | _ACEOF | ||
24407 | 13633 | ||
24408 | { echo "$as_me:$LINENO: result: yes" >&5 | 13634 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
24409 | echo "${ECHO_T}yes" >&6; } | 13635 | $as_echo "yes" >&6; } |
24410 | PAM_MSG="yes (old library)" | 13636 | PAM_MSG="yes (old library)" |
24411 | 13637 | ||
24412 | 13638 | ||
24413 | fi | 13639 | fi |
24414 | |||
24415 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 13640 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
24416 | fi | 13641 | fi |
24417 | 13642 | ||
@@ -24425,7 +13650,7 @@ case "$host" in | |||
24425 | esac | 13650 | esac |
24426 | 13651 | ||
24427 | # Check whether --with-privsep-user was given. | 13652 | # Check whether --with-privsep-user was given. |
24428 | if test "${with_privsep_user+set}" = set; then | 13653 | if test "${with_privsep_user+set}" = set; then : |
24429 | withval=$with_privsep_user; | 13654 | withval=$with_privsep_user; |
24430 | if test -n "$withval" && test "x$withval" != "xno" && \ | 13655 | if test -n "$withval" && test "x$withval" != "xno" && \ |
24431 | test "x${withval}" != "xyes"; then | 13656 | test "x${withval}" != "xyes"; then |
@@ -24451,75 +13676,20 @@ fi | |||
24451 | 13676 | ||
24452 | 13677 | ||
24453 | if test "x$have_linux_no_new_privs" = "x1" ; then | 13678 | if test "x$have_linux_no_new_privs" = "x1" ; then |
24454 | { echo "$as_me:$LINENO: checking whether SECCOMP_MODE_FILTER is declared" >&5 | 13679 | ac_fn_c_check_decl "$LINENO" "SECCOMP_MODE_FILTER" "ac_cv_have_decl_SECCOMP_MODE_FILTER" " |
24455 | echo $ECHO_N "checking whether SECCOMP_MODE_FILTER is declared... $ECHO_C" >&6; } | ||
24456 | if test "${ac_cv_have_decl_SECCOMP_MODE_FILTER+set}" = set; then | ||
24457 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
24458 | else | ||
24459 | cat >conftest.$ac_ext <<_ACEOF | ||
24460 | /* confdefs.h. */ | ||
24461 | _ACEOF | ||
24462 | cat confdefs.h >>conftest.$ac_ext | ||
24463 | cat >>conftest.$ac_ext <<_ACEOF | ||
24464 | /* end confdefs.h. */ | ||
24465 | |||
24466 | #include <sys/types.h> | 13680 | #include <sys/types.h> |
24467 | #include <linux/seccomp.h> | 13681 | #include <linux/seccomp.h> |
24468 | 13682 | ||
24469 | 13683 | " | |
24470 | int | 13684 | if test "x$ac_cv_have_decl_SECCOMP_MODE_FILTER" = xyes; then : |
24471 | main () | ||
24472 | { | ||
24473 | #ifndef SECCOMP_MODE_FILTER | ||
24474 | (void) SECCOMP_MODE_FILTER; | ||
24475 | #endif | ||
24476 | |||
24477 | ; | ||
24478 | return 0; | ||
24479 | } | ||
24480 | _ACEOF | ||
24481 | rm -f conftest.$ac_objext | ||
24482 | if { (ac_try="$ac_compile" | ||
24483 | case "(($ac_try" in | ||
24484 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24485 | *) ac_try_echo=$ac_try;; | ||
24486 | esac | ||
24487 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24488 | (eval "$ac_compile") 2>conftest.er1 | ||
24489 | ac_status=$? | ||
24490 | grep -v '^ *+' conftest.er1 >conftest.err | ||
24491 | rm -f conftest.er1 | ||
24492 | cat conftest.err >&5 | ||
24493 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
24494 | (exit $ac_status); } && { | ||
24495 | test -z "$ac_c_werror_flag" || | ||
24496 | test ! -s conftest.err | ||
24497 | } && test -s conftest.$ac_objext; then | ||
24498 | ac_cv_have_decl_SECCOMP_MODE_FILTER=yes | ||
24499 | else | ||
24500 | echo "$as_me: failed program was:" >&5 | ||
24501 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
24502 | |||
24503 | ac_cv_have_decl_SECCOMP_MODE_FILTER=no | ||
24504 | fi | ||
24505 | |||
24506 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
24507 | fi | ||
24508 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_SECCOMP_MODE_FILTER" >&5 | ||
24509 | echo "${ECHO_T}$ac_cv_have_decl_SECCOMP_MODE_FILTER" >&6; } | ||
24510 | if test $ac_cv_have_decl_SECCOMP_MODE_FILTER = yes; then | ||
24511 | have_seccomp_filter=1 | 13685 | have_seccomp_filter=1 |
24512 | fi | 13686 | fi |
24513 | 13687 | ||
24514 | fi | 13688 | fi |
24515 | if test "x$have_seccomp_filter" = "x1" ; then | 13689 | if test "x$have_seccomp_filter" = "x1" ; then |
24516 | { echo "$as_me:$LINENO: checking kernel for seccomp_filter support" >&5 | 13690 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking kernel for seccomp_filter support" >&5 |
24517 | echo $ECHO_N "checking kernel for seccomp_filter support... $ECHO_C" >&6; } | 13691 | $as_echo_n "checking kernel for seccomp_filter support... " >&6; } |
24518 | cat >conftest.$ac_ext <<_ACEOF | 13692 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
24519 | /* confdefs.h. */ | ||
24520 | _ACEOF | ||
24521 | cat confdefs.h >>conftest.$ac_ext | ||
24522 | cat >>conftest.$ac_ext <<_ACEOF | ||
24523 | /* end confdefs.h. */ | 13693 | /* end confdefs.h. */ |
24524 | 13694 | ||
24525 | #include <errno.h> | 13695 | #include <errno.h> |
@@ -24540,48 +13710,27 @@ main () | |||
24540 | return 0; | 13710 | return 0; |
24541 | } | 13711 | } |
24542 | _ACEOF | 13712 | _ACEOF |
24543 | rm -f conftest.$ac_objext conftest$ac_exeext | 13713 | if ac_fn_c_try_link "$LINENO"; then : |
24544 | if { (ac_try="$ac_link" | 13714 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
24545 | case "(($ac_try" in | 13715 | $as_echo "yes" >&6; } |
24546 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24547 | *) ac_try_echo=$ac_try;; | ||
24548 | esac | ||
24549 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24550 | (eval "$ac_link") 2>conftest.er1 | ||
24551 | ac_status=$? | ||
24552 | grep -v '^ *+' conftest.er1 >conftest.err | ||
24553 | rm -f conftest.er1 | ||
24554 | cat conftest.err >&5 | ||
24555 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
24556 | (exit $ac_status); } && { | ||
24557 | test -z "$ac_c_werror_flag" || | ||
24558 | test ! -s conftest.err | ||
24559 | } && test -s conftest$ac_exeext && | ||
24560 | $as_test_x conftest$ac_exeext; then | ||
24561 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
24562 | echo "${ECHO_T}yes" >&6; } | ||
24563 | else | 13716 | else |
24564 | echo "$as_me: failed program was:" >&5 | ||
24565 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
24566 | 13717 | ||
24567 | 13718 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | |
24568 | { echo "$as_me:$LINENO: result: no" >&5 | 13719 | $as_echo "no" >&6; } |
24569 | echo "${ECHO_T}no" >&6; } | ||
24570 | # Disable seccomp filter as a target | 13720 | # Disable seccomp filter as a target |
24571 | have_seccomp_filter=0 | 13721 | have_seccomp_filter=0 |
24572 | 13722 | ||
24573 | 13723 | ||
24574 | fi | 13724 | fi |
24575 | 13725 | rm -f core conftest.err conftest.$ac_objext \ | |
24576 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 13726 | conftest$ac_exeext conftest.$ac_ext |
24577 | conftest$ac_exeext conftest.$ac_ext | ||
24578 | fi | 13727 | fi |
24579 | 13728 | ||
24580 | # Decide which sandbox style to use | 13729 | # Decide which sandbox style to use |
24581 | sandbox_arg="" | 13730 | sandbox_arg="" |
24582 | 13731 | ||
24583 | # Check whether --with-sandbox was given. | 13732 | # Check whether --with-sandbox was given. |
24584 | if test "${with_sandbox+set}" = set; then | 13733 | if test "${with_sandbox+set}" = set; then : |
24585 | withval=$with_sandbox; | 13734 | withval=$with_sandbox; |
24586 | if test "x$withval" = "xyes" ; then | 13735 | if test "x$withval" = "xyes" ; then |
24587 | sandbox_arg="" | 13736 | sandbox_arg="" |
@@ -24596,18 +13745,14 @@ fi | |||
24596 | # Some platforms (seems to be the ones that have a kernel poll(2)-type | 13745 | # Some platforms (seems to be the ones that have a kernel poll(2)-type |
24597 | # function with which they implement select(2)) use an extra file descriptor | 13746 | # function with which they implement select(2)) use an extra file descriptor |
24598 | # when calling select(2), which means we can't use the rlimit sandbox. | 13747 | # when calling select(2), which means we can't use the rlimit sandbox. |
24599 | { echo "$as_me:$LINENO: checking if select works with descriptor rlimit" >&5 | 13748 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if select works with descriptor rlimit" >&5 |
24600 | echo $ECHO_N "checking if select works with descriptor rlimit... $ECHO_C" >&6; } | 13749 | $as_echo_n "checking if select works with descriptor rlimit... " >&6; } |
24601 | if test "$cross_compiling" = yes; then | 13750 | if test "$cross_compiling" = yes; then : |
24602 | { echo "$as_me:$LINENO: WARNING: cross compiling: assuming yes" >&5 | 13751 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5 |
24603 | echo "$as_me: WARNING: cross compiling: assuming yes" >&2;} | 13752 | $as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;} |
24604 | 13753 | ||
24605 | else | 13754 | else |
24606 | cat >conftest.$ac_ext <<_ACEOF | 13755 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
24607 | /* confdefs.h. */ | ||
24608 | _ACEOF | ||
24609 | cat confdefs.h >>conftest.$ac_ext | ||
24610 | cat >>conftest.$ac_ext <<_ACEOF | ||
24611 | /* end confdefs.h. */ | 13756 | /* end confdefs.h. */ |
24612 | 13757 | ||
24613 | #include <sys/types.h> | 13758 | #include <sys/types.h> |
@@ -24646,56 +13791,28 @@ main () | |||
24646 | return 0; | 13791 | return 0; |
24647 | } | 13792 | } |
24648 | _ACEOF | 13793 | _ACEOF |
24649 | rm -f conftest$ac_exeext | 13794 | if ac_fn_c_try_run "$LINENO"; then : |
24650 | if { (ac_try="$ac_link" | 13795 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
24651 | case "(($ac_try" in | 13796 | $as_echo "yes" >&6; } |
24652 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24653 | *) ac_try_echo=$ac_try;; | ||
24654 | esac | ||
24655 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24656 | (eval "$ac_link") 2>&5 | ||
24657 | ac_status=$? | ||
24658 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
24659 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
24660 | { (case "(($ac_try" in | ||
24661 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24662 | *) ac_try_echo=$ac_try;; | ||
24663 | esac | ||
24664 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24665 | (eval "$ac_try") 2>&5 | ||
24666 | ac_status=$? | ||
24667 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
24668 | (exit $ac_status); }; }; then | ||
24669 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
24670 | echo "${ECHO_T}yes" >&6; } | ||
24671 | select_works_with_rlimit=yes | 13797 | select_works_with_rlimit=yes |
24672 | else | 13798 | else |
24673 | echo "$as_me: program exited with status $ac_status" >&5 | 13799 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
24674 | echo "$as_me: failed program was:" >&5 | 13800 | $as_echo "no" >&6; } |
24675 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
24676 | |||
24677 | ( exit $ac_status ) | ||
24678 | { echo "$as_me:$LINENO: result: no" >&5 | ||
24679 | echo "${ECHO_T}no" >&6; } | ||
24680 | select_works_with_rlimit=no | 13801 | select_works_with_rlimit=no |
24681 | fi | 13802 | fi |
24682 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 13803 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
13804 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
24683 | fi | 13805 | fi |
24684 | 13806 | ||
24685 | 13807 | ||
24686 | 13808 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setrlimit(RLIMIT_NOFILE,{0,0}) works" >&5 | |
24687 | { echo "$as_me:$LINENO: checking if setrlimit(RLIMIT_NOFILE,{0,0}) works" >&5 | 13809 | $as_echo_n "checking if setrlimit(RLIMIT_NOFILE,{0,0}) works... " >&6; } |
24688 | echo $ECHO_N "checking if setrlimit(RLIMIT_NOFILE,{0,0}) works... $ECHO_C" >&6; } | 13810 | if test "$cross_compiling" = yes; then : |
24689 | if test "$cross_compiling" = yes; then | 13811 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5 |
24690 | { echo "$as_me:$LINENO: WARNING: cross compiling: assuming yes" >&5 | 13812 | $as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;} |
24691 | echo "$as_me: WARNING: cross compiling: assuming yes" >&2;} | ||
24692 | 13813 | ||
24693 | else | 13814 | else |
24694 | cat >conftest.$ac_ext <<_ACEOF | 13815 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
24695 | /* confdefs.h. */ | ||
24696 | _ACEOF | ||
24697 | cat confdefs.h >>conftest.$ac_ext | ||
24698 | cat >>conftest.$ac_ext <<_ACEOF | ||
24699 | /* end confdefs.h. */ | 13816 | /* end confdefs.h. */ |
24700 | 13817 | ||
24701 | #include <sys/types.h> | 13818 | #include <sys/types.h> |
@@ -24722,56 +13839,28 @@ main () | |||
24722 | return 0; | 13839 | return 0; |
24723 | } | 13840 | } |
24724 | _ACEOF | 13841 | _ACEOF |
24725 | rm -f conftest$ac_exeext | 13842 | if ac_fn_c_try_run "$LINENO"; then : |
24726 | if { (ac_try="$ac_link" | 13843 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
24727 | case "(($ac_try" in | 13844 | $as_echo "yes" >&6; } |
24728 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24729 | *) ac_try_echo=$ac_try;; | ||
24730 | esac | ||
24731 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24732 | (eval "$ac_link") 2>&5 | ||
24733 | ac_status=$? | ||
24734 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
24735 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
24736 | { (case "(($ac_try" in | ||
24737 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24738 | *) ac_try_echo=$ac_try;; | ||
24739 | esac | ||
24740 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24741 | (eval "$ac_try") 2>&5 | ||
24742 | ac_status=$? | ||
24743 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
24744 | (exit $ac_status); }; }; then | ||
24745 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
24746 | echo "${ECHO_T}yes" >&6; } | ||
24747 | rlimit_nofile_zero_works=yes | 13845 | rlimit_nofile_zero_works=yes |
24748 | else | 13846 | else |
24749 | echo "$as_me: program exited with status $ac_status" >&5 | 13847 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
24750 | echo "$as_me: failed program was:" >&5 | 13848 | $as_echo "no" >&6; } |
24751 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
24752 | |||
24753 | ( exit $ac_status ) | ||
24754 | { echo "$as_me:$LINENO: result: no" >&5 | ||
24755 | echo "${ECHO_T}no" >&6; } | ||
24756 | rlimit_nofile_zero_works=no | 13849 | rlimit_nofile_zero_works=no |
24757 | fi | 13850 | fi |
24758 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 13851 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
13852 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
24759 | fi | 13853 | fi |
24760 | 13854 | ||
24761 | 13855 | ||
24762 | 13856 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setrlimit RLIMIT_FSIZE works" >&5 | |
24763 | { echo "$as_me:$LINENO: checking if setrlimit RLIMIT_FSIZE works" >&5 | 13857 | $as_echo_n "checking if setrlimit RLIMIT_FSIZE works... " >&6; } |
24764 | echo $ECHO_N "checking if setrlimit RLIMIT_FSIZE works... $ECHO_C" >&6; } | 13858 | if test "$cross_compiling" = yes; then : |
24765 | if test "$cross_compiling" = yes; then | 13859 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5 |
24766 | { echo "$as_me:$LINENO: WARNING: cross compiling: assuming yes" >&5 | 13860 | $as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;} |
24767 | echo "$as_me: WARNING: cross compiling: assuming yes" >&2;} | ||
24768 | 13861 | ||
24769 | else | 13862 | else |
24770 | cat >conftest.$ac_ext <<_ACEOF | 13863 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
24771 | /* confdefs.h. */ | ||
24772 | _ACEOF | ||
24773 | cat confdefs.h >>conftest.$ac_ext | ||
24774 | cat >>conftest.$ac_ext <<_ACEOF | ||
24775 | /* end confdefs.h. */ | 13864 | /* end confdefs.h. */ |
24776 | 13865 | ||
24777 | #include <sys/types.h> | 13866 | #include <sys/types.h> |
@@ -24791,84 +13880,46 @@ main () | |||
24791 | return 0; | 13880 | return 0; |
24792 | } | 13881 | } |
24793 | _ACEOF | 13882 | _ACEOF |
24794 | rm -f conftest$ac_exeext | 13883 | if ac_fn_c_try_run "$LINENO"; then : |
24795 | if { (ac_try="$ac_link" | 13884 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
24796 | case "(($ac_try" in | 13885 | $as_echo "yes" >&6; } |
24797 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24798 | *) ac_try_echo=$ac_try;; | ||
24799 | esac | ||
24800 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24801 | (eval "$ac_link") 2>&5 | ||
24802 | ac_status=$? | ||
24803 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
24804 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
24805 | { (case "(($ac_try" in | ||
24806 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24807 | *) ac_try_echo=$ac_try;; | ||
24808 | esac | ||
24809 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24810 | (eval "$ac_try") 2>&5 | ||
24811 | ac_status=$? | ||
24812 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
24813 | (exit $ac_status); }; }; then | ||
24814 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
24815 | echo "${ECHO_T}yes" >&6; } | ||
24816 | else | 13886 | else |
24817 | echo "$as_me: program exited with status $ac_status" >&5 | 13887 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
24818 | echo "$as_me: failed program was:" >&5 | 13888 | $as_echo "no" >&6; } |
24819 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
24820 | |||
24821 | ( exit $ac_status ) | ||
24822 | { echo "$as_me:$LINENO: result: no" >&5 | ||
24823 | echo "${ECHO_T}no" >&6; } | ||
24824 | 13889 | ||
24825 | cat >>confdefs.h <<\_ACEOF | 13890 | $as_echo "#define SANDBOX_SKIP_RLIMIT_FSIZE 1" >>confdefs.h |
24826 | #define SANDBOX_SKIP_RLIMIT_FSIZE 1 | ||
24827 | _ACEOF | ||
24828 | 13891 | ||
24829 | fi | 13892 | fi |
24830 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 13893 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
13894 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
24831 | fi | 13895 | fi |
24832 | 13896 | ||
24833 | 13897 | ||
24834 | |||
24835 | if test "x$sandbox_arg" = "xpledge" || \ | 13898 | if test "x$sandbox_arg" = "xpledge" || \ |
24836 | ( test -z "$sandbox_arg" && test "x$ac_cv_func_pledge" = "xyes" ) ; then | 13899 | ( test -z "$sandbox_arg" && test "x$ac_cv_func_pledge" = "xyes" ) ; then |
24837 | test "x$ac_cv_func_pledge" != "xyes" && \ | 13900 | test "x$ac_cv_func_pledge" != "xyes" && \ |
24838 | { { echo "$as_me:$LINENO: error: pledge sandbox requires pledge(2) support" >&5 | 13901 | as_fn_error $? "pledge sandbox requires pledge(2) support" "$LINENO" 5 |
24839 | echo "$as_me: error: pledge sandbox requires pledge(2) support" >&2;} | ||
24840 | { (exit 1); exit 1; }; } | ||
24841 | SANDBOX_STYLE="pledge" | 13902 | SANDBOX_STYLE="pledge" |
24842 | 13903 | ||
24843 | cat >>confdefs.h <<\_ACEOF | 13904 | $as_echo "#define SANDBOX_PLEDGE 1" >>confdefs.h |
24844 | #define SANDBOX_PLEDGE 1 | ||
24845 | _ACEOF | ||
24846 | 13905 | ||
24847 | elif test "x$sandbox_arg" = "xsystrace" || \ | 13906 | elif test "x$sandbox_arg" = "xsystrace" || \ |
24848 | ( test -z "$sandbox_arg" && test "x$have_systr_policy_kill" = "x1" ) ; then | 13907 | ( test -z "$sandbox_arg" && test "x$have_systr_policy_kill" = "x1" ) ; then |
24849 | test "x$have_systr_policy_kill" != "x1" && \ | 13908 | test "x$have_systr_policy_kill" != "x1" && \ |
24850 | { { echo "$as_me:$LINENO: error: systrace sandbox requires systrace headers and SYSTR_POLICY_KILL support" >&5 | 13909 | as_fn_error $? "systrace sandbox requires systrace headers and SYSTR_POLICY_KILL support" "$LINENO" 5 |
24851 | echo "$as_me: error: systrace sandbox requires systrace headers and SYSTR_POLICY_KILL support" >&2;} | ||
24852 | { (exit 1); exit 1; }; } | ||
24853 | SANDBOX_STYLE="systrace" | 13910 | SANDBOX_STYLE="systrace" |
24854 | 13911 | ||
24855 | cat >>confdefs.h <<\_ACEOF | 13912 | $as_echo "#define SANDBOX_SYSTRACE 1" >>confdefs.h |
24856 | #define SANDBOX_SYSTRACE 1 | ||
24857 | _ACEOF | ||
24858 | 13913 | ||
24859 | elif test "x$sandbox_arg" = "xdarwin" || \ | 13914 | elif test "x$sandbox_arg" = "xdarwin" || \ |
24860 | ( test -z "$sandbox_arg" && test "x$ac_cv_func_sandbox_init" = "xyes" && \ | 13915 | ( test -z "$sandbox_arg" && test "x$ac_cv_func_sandbox_init" = "xyes" && \ |
24861 | test "x$ac_cv_header_sandbox_h" = "xyes") ; then | 13916 | test "x$ac_cv_header_sandbox_h" = "xyes") ; then |
24862 | test "x$ac_cv_func_sandbox_init" != "xyes" -o \ | 13917 | test "x$ac_cv_func_sandbox_init" != "xyes" -o \ |
24863 | "x$ac_cv_header_sandbox_h" != "xyes" && \ | 13918 | "x$ac_cv_header_sandbox_h" != "xyes" && \ |
24864 | { { echo "$as_me:$LINENO: error: Darwin seatbelt sandbox requires sandbox.h and sandbox_init function" >&5 | 13919 | as_fn_error $? "Darwin seatbelt sandbox requires sandbox.h and sandbox_init function" "$LINENO" 5 |
24865 | echo "$as_me: error: Darwin seatbelt sandbox requires sandbox.h and sandbox_init function" >&2;} | ||
24866 | { (exit 1); exit 1; }; } | ||
24867 | SANDBOX_STYLE="darwin" | 13920 | SANDBOX_STYLE="darwin" |
24868 | 13921 | ||
24869 | cat >>confdefs.h <<\_ACEOF | 13922 | $as_echo "#define SANDBOX_DARWIN 1" >>confdefs.h |
24870 | #define SANDBOX_DARWIN 1 | ||
24871 | _ACEOF | ||
24872 | 13923 | ||
24873 | elif test "x$sandbox_arg" = "xseccomp_filter" || \ | 13924 | elif test "x$sandbox_arg" = "xseccomp_filter" || \ |
24874 | ( test -z "$sandbox_arg" && \ | 13925 | ( test -z "$sandbox_arg" && \ |
@@ -24880,83 +13931,55 @@ elif test "x$sandbox_arg" = "xseccomp_filter" || \ | |||
24880 | test "x$have_linux_no_new_privs" = "x1" && \ | 13931 | test "x$have_linux_no_new_privs" = "x1" && \ |
24881 | test "x$ac_cv_func_prctl" = "xyes" ) ; then | 13932 | test "x$ac_cv_func_prctl" = "xyes" ) ; then |
24882 | test "x$seccomp_audit_arch" = "x" && \ | 13933 | test "x$seccomp_audit_arch" = "x" && \ |
24883 | { { echo "$as_me:$LINENO: error: seccomp_filter sandbox not supported on $host" >&5 | 13934 | as_fn_error $? "seccomp_filter sandbox not supported on $host" "$LINENO" 5 |
24884 | echo "$as_me: error: seccomp_filter sandbox not supported on $host" >&2;} | ||
24885 | { (exit 1); exit 1; }; } | ||
24886 | test "x$have_linux_no_new_privs" != "x1" && \ | 13935 | test "x$have_linux_no_new_privs" != "x1" && \ |
24887 | { { echo "$as_me:$LINENO: error: seccomp_filter sandbox requires PR_SET_NO_NEW_PRIVS" >&5 | 13936 | as_fn_error $? "seccomp_filter sandbox requires PR_SET_NO_NEW_PRIVS" "$LINENO" 5 |
24888 | echo "$as_me: error: seccomp_filter sandbox requires PR_SET_NO_NEW_PRIVS" >&2;} | ||
24889 | { (exit 1); exit 1; }; } | ||
24890 | test "x$have_seccomp_filter" != "x1" && \ | 13937 | test "x$have_seccomp_filter" != "x1" && \ |
24891 | { { echo "$as_me:$LINENO: error: seccomp_filter sandbox requires seccomp headers" >&5 | 13938 | as_fn_error $? "seccomp_filter sandbox requires seccomp headers" "$LINENO" 5 |
24892 | echo "$as_me: error: seccomp_filter sandbox requires seccomp headers" >&2;} | ||
24893 | { (exit 1); exit 1; }; } | ||
24894 | test "x$ac_cv_func_prctl" != "xyes" && \ | 13939 | test "x$ac_cv_func_prctl" != "xyes" && \ |
24895 | { { echo "$as_me:$LINENO: error: seccomp_filter sandbox requires prctl function" >&5 | 13940 | as_fn_error $? "seccomp_filter sandbox requires prctl function" "$LINENO" 5 |
24896 | echo "$as_me: error: seccomp_filter sandbox requires prctl function" >&2;} | ||
24897 | { (exit 1); exit 1; }; } | ||
24898 | SANDBOX_STYLE="seccomp_filter" | 13941 | SANDBOX_STYLE="seccomp_filter" |
24899 | 13942 | ||
24900 | cat >>confdefs.h <<\_ACEOF | 13943 | $as_echo "#define SANDBOX_SECCOMP_FILTER 1" >>confdefs.h |
24901 | #define SANDBOX_SECCOMP_FILTER 1 | ||
24902 | _ACEOF | ||
24903 | 13944 | ||
24904 | elif test "x$sandbox_arg" = "xcapsicum" || \ | 13945 | elif test "x$sandbox_arg" = "xcapsicum" || \ |
24905 | ( test -z "$sandbox_arg" && \ | 13946 | ( test -z "$sandbox_arg" && \ |
24906 | test "x$ac_cv_header_sys_capability_h" = "xyes" && \ | 13947 | test "x$ac_cv_header_sys_capability_h" = "xyes" && \ |
24907 | test "x$ac_cv_func_cap_rights_limit" = "xyes") ; then | 13948 | test "x$ac_cv_func_cap_rights_limit" = "xyes") ; then |
24908 | test "x$ac_cv_header_sys_capability_h" != "xyes" && \ | 13949 | test "x$ac_cv_header_sys_capability_h" != "xyes" && \ |
24909 | { { echo "$as_me:$LINENO: error: capsicum sandbox requires sys/capability.h header" >&5 | 13950 | as_fn_error $? "capsicum sandbox requires sys/capability.h header" "$LINENO" 5 |
24910 | echo "$as_me: error: capsicum sandbox requires sys/capability.h header" >&2;} | ||
24911 | { (exit 1); exit 1; }; } | ||
24912 | test "x$ac_cv_func_cap_rights_limit" != "xyes" && \ | 13951 | test "x$ac_cv_func_cap_rights_limit" != "xyes" && \ |
24913 | { { echo "$as_me:$LINENO: error: capsicum sandbox requires cap_rights_limit function" >&5 | 13952 | as_fn_error $? "capsicum sandbox requires cap_rights_limit function" "$LINENO" 5 |
24914 | echo "$as_me: error: capsicum sandbox requires cap_rights_limit function" >&2;} | ||
24915 | { (exit 1); exit 1; }; } | ||
24916 | SANDBOX_STYLE="capsicum" | 13953 | SANDBOX_STYLE="capsicum" |
24917 | 13954 | ||
24918 | cat >>confdefs.h <<\_ACEOF | 13955 | $as_echo "#define SANDBOX_CAPSICUM 1" >>confdefs.h |
24919 | #define SANDBOX_CAPSICUM 1 | ||
24920 | _ACEOF | ||
24921 | 13956 | ||
24922 | elif test "x$sandbox_arg" = "xrlimit" || \ | 13957 | elif test "x$sandbox_arg" = "xrlimit" || \ |
24923 | ( test -z "$sandbox_arg" && test "x$ac_cv_func_setrlimit" = "xyes" && \ | 13958 | ( test -z "$sandbox_arg" && test "x$ac_cv_func_setrlimit" = "xyes" && \ |
24924 | test "x$select_works_with_rlimit" = "xyes" && \ | 13959 | test "x$select_works_with_rlimit" = "xyes" && \ |
24925 | test "x$rlimit_nofile_zero_works" = "xyes" ) ; then | 13960 | test "x$rlimit_nofile_zero_works" = "xyes" ) ; then |
24926 | test "x$ac_cv_func_setrlimit" != "xyes" && \ | 13961 | test "x$ac_cv_func_setrlimit" != "xyes" && \ |
24927 | { { echo "$as_me:$LINENO: error: rlimit sandbox requires setrlimit function" >&5 | 13962 | as_fn_error $? "rlimit sandbox requires setrlimit function" "$LINENO" 5 |
24928 | echo "$as_me: error: rlimit sandbox requires setrlimit function" >&2;} | ||
24929 | { (exit 1); exit 1; }; } | ||
24930 | test "x$select_works_with_rlimit" != "xyes" && \ | 13963 | test "x$select_works_with_rlimit" != "xyes" && \ |
24931 | { { echo "$as_me:$LINENO: error: rlimit sandbox requires select to work with rlimit" >&5 | 13964 | as_fn_error $? "rlimit sandbox requires select to work with rlimit" "$LINENO" 5 |
24932 | echo "$as_me: error: rlimit sandbox requires select to work with rlimit" >&2;} | ||
24933 | { (exit 1); exit 1; }; } | ||
24934 | SANDBOX_STYLE="rlimit" | 13965 | SANDBOX_STYLE="rlimit" |
24935 | 13966 | ||
24936 | cat >>confdefs.h <<\_ACEOF | 13967 | $as_echo "#define SANDBOX_RLIMIT 1" >>confdefs.h |
24937 | #define SANDBOX_RLIMIT 1 | ||
24938 | _ACEOF | ||
24939 | 13968 | ||
24940 | elif test "x$sandbox_arg" = "xsolaris" || \ | 13969 | elif test "x$sandbox_arg" = "xsolaris" || \ |
24941 | ( test -z "$sandbox_arg" && test "x$SOLARIS_PRIVS" = "xyes" ) ; then | 13970 | ( test -z "$sandbox_arg" && test "x$SOLARIS_PRIVS" = "xyes" ) ; then |
24942 | SANDBOX_STYLE="solaris" | 13971 | SANDBOX_STYLE="solaris" |
24943 | 13972 | ||
24944 | cat >>confdefs.h <<\_ACEOF | 13973 | $as_echo "#define SANDBOX_SOLARIS 1" >>confdefs.h |
24945 | #define SANDBOX_SOLARIS 1 | ||
24946 | _ACEOF | ||
24947 | 13974 | ||
24948 | elif test -z "$sandbox_arg" || test "x$sandbox_arg" = "xno" || \ | 13975 | elif test -z "$sandbox_arg" || test "x$sandbox_arg" = "xno" || \ |
24949 | test "x$sandbox_arg" = "xnone" || test "x$sandbox_arg" = "xnull" ; then | 13976 | test "x$sandbox_arg" = "xnone" || test "x$sandbox_arg" = "xnull" ; then |
24950 | SANDBOX_STYLE="none" | 13977 | SANDBOX_STYLE="none" |
24951 | 13978 | ||
24952 | cat >>confdefs.h <<\_ACEOF | 13979 | $as_echo "#define SANDBOX_NULL 1" >>confdefs.h |
24953 | #define SANDBOX_NULL 1 | ||
24954 | _ACEOF | ||
24955 | 13980 | ||
24956 | else | 13981 | else |
24957 | { { echo "$as_me:$LINENO: error: unsupported --with-sandbox" >&5 | 13982 | as_fn_error $? "unsupported --with-sandbox" "$LINENO" 5 |
24958 | echo "$as_me: error: unsupported --with-sandbox" >&2;} | ||
24959 | { (exit 1); exit 1; }; } | ||
24960 | fi | 13983 | fi |
24961 | 13984 | ||
24962 | # Cheap hack to ensure NEWS-OS libraries are arranged right. | 13985 | # Cheap hack to ensure NEWS-OS libraries are arranged right. |
@@ -24965,60 +13988,8 @@ if test ! -z "$SONY" ; then | |||
24965 | fi | 13988 | fi |
24966 | 13989 | ||
24967 | # Check for long long datatypes | 13990 | # Check for long long datatypes |
24968 | { echo "$as_me:$LINENO: checking for long long" >&5 | 13991 | ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default" |
24969 | echo $ECHO_N "checking for long long... $ECHO_C" >&6; } | 13992 | if test "x$ac_cv_type_long_long" = xyes; then : |
24970 | if test "${ac_cv_type_long_long+set}" = set; then | ||
24971 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
24972 | else | ||
24973 | cat >conftest.$ac_ext <<_ACEOF | ||
24974 | /* confdefs.h. */ | ||
24975 | _ACEOF | ||
24976 | cat confdefs.h >>conftest.$ac_ext | ||
24977 | cat >>conftest.$ac_ext <<_ACEOF | ||
24978 | /* end confdefs.h. */ | ||
24979 | $ac_includes_default | ||
24980 | typedef long long ac__type_new_; | ||
24981 | int | ||
24982 | main () | ||
24983 | { | ||
24984 | if ((ac__type_new_ *) 0) | ||
24985 | return 0; | ||
24986 | if (sizeof (ac__type_new_)) | ||
24987 | return 0; | ||
24988 | ; | ||
24989 | return 0; | ||
24990 | } | ||
24991 | _ACEOF | ||
24992 | rm -f conftest.$ac_objext | ||
24993 | if { (ac_try="$ac_compile" | ||
24994 | case "(($ac_try" in | ||
24995 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
24996 | *) ac_try_echo=$ac_try;; | ||
24997 | esac | ||
24998 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
24999 | (eval "$ac_compile") 2>conftest.er1 | ||
25000 | ac_status=$? | ||
25001 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25002 | rm -f conftest.er1 | ||
25003 | cat conftest.err >&5 | ||
25004 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25005 | (exit $ac_status); } && { | ||
25006 | test -z "$ac_c_werror_flag" || | ||
25007 | test ! -s conftest.err | ||
25008 | } && test -s conftest.$ac_objext; then | ||
25009 | ac_cv_type_long_long=yes | ||
25010 | else | ||
25011 | echo "$as_me: failed program was:" >&5 | ||
25012 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25013 | |||
25014 | ac_cv_type_long_long=no | ||
25015 | fi | ||
25016 | |||
25017 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25018 | fi | ||
25019 | { echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5 | ||
25020 | echo "${ECHO_T}$ac_cv_type_long_long" >&6; } | ||
25021 | if test $ac_cv_type_long_long = yes; then | ||
25022 | 13993 | ||
25023 | cat >>confdefs.h <<_ACEOF | 13994 | cat >>confdefs.h <<_ACEOF |
25024 | #define HAVE_LONG_LONG 1 | 13995 | #define HAVE_LONG_LONG 1 |
@@ -25026,60 +13997,8 @@ _ACEOF | |||
25026 | 13997 | ||
25027 | 13998 | ||
25028 | fi | 13999 | fi |
25029 | { echo "$as_me:$LINENO: checking for unsigned long long" >&5 | 14000 | ac_fn_c_check_type "$LINENO" "unsigned long long" "ac_cv_type_unsigned_long_long" "$ac_includes_default" |
25030 | echo $ECHO_N "checking for unsigned long long... $ECHO_C" >&6; } | 14001 | if test "x$ac_cv_type_unsigned_long_long" = xyes; then : |
25031 | if test "${ac_cv_type_unsigned_long_long+set}" = set; then | ||
25032 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
25033 | else | ||
25034 | cat >conftest.$ac_ext <<_ACEOF | ||
25035 | /* confdefs.h. */ | ||
25036 | _ACEOF | ||
25037 | cat confdefs.h >>conftest.$ac_ext | ||
25038 | cat >>conftest.$ac_ext <<_ACEOF | ||
25039 | /* end confdefs.h. */ | ||
25040 | $ac_includes_default | ||
25041 | typedef unsigned long long ac__type_new_; | ||
25042 | int | ||
25043 | main () | ||
25044 | { | ||
25045 | if ((ac__type_new_ *) 0) | ||
25046 | return 0; | ||
25047 | if (sizeof (ac__type_new_)) | ||
25048 | return 0; | ||
25049 | ; | ||
25050 | return 0; | ||
25051 | } | ||
25052 | _ACEOF | ||
25053 | rm -f conftest.$ac_objext | ||
25054 | if { (ac_try="$ac_compile" | ||
25055 | case "(($ac_try" in | ||
25056 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25057 | *) ac_try_echo=$ac_try;; | ||
25058 | esac | ||
25059 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25060 | (eval "$ac_compile") 2>conftest.er1 | ||
25061 | ac_status=$? | ||
25062 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25063 | rm -f conftest.er1 | ||
25064 | cat conftest.err >&5 | ||
25065 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25066 | (exit $ac_status); } && { | ||
25067 | test -z "$ac_c_werror_flag" || | ||
25068 | test ! -s conftest.err | ||
25069 | } && test -s conftest.$ac_objext; then | ||
25070 | ac_cv_type_unsigned_long_long=yes | ||
25071 | else | ||
25072 | echo "$as_me: failed program was:" >&5 | ||
25073 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25074 | |||
25075 | ac_cv_type_unsigned_long_long=no | ||
25076 | fi | ||
25077 | |||
25078 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25079 | fi | ||
25080 | { echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long" >&5 | ||
25081 | echo "${ECHO_T}$ac_cv_type_unsigned_long_long" >&6; } | ||
25082 | if test $ac_cv_type_unsigned_long_long = yes; then | ||
25083 | 14002 | ||
25084 | cat >>confdefs.h <<_ACEOF | 14003 | cat >>confdefs.h <<_ACEOF |
25085 | #define HAVE_UNSIGNED_LONG_LONG 1 | 14004 | #define HAVE_UNSIGNED_LONG_LONG 1 |
@@ -25087,60 +14006,8 @@ _ACEOF | |||
25087 | 14006 | ||
25088 | 14007 | ||
25089 | fi | 14008 | fi |
25090 | { echo "$as_me:$LINENO: checking for long double" >&5 | 14009 | ac_fn_c_check_type "$LINENO" "long double" "ac_cv_type_long_double" "$ac_includes_default" |
25091 | echo $ECHO_N "checking for long double... $ECHO_C" >&6; } | 14010 | if test "x$ac_cv_type_long_double" = xyes; then : |
25092 | if test "${ac_cv_type_long_double+set}" = set; then | ||
25093 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
25094 | else | ||
25095 | cat >conftest.$ac_ext <<_ACEOF | ||
25096 | /* confdefs.h. */ | ||
25097 | _ACEOF | ||
25098 | cat confdefs.h >>conftest.$ac_ext | ||
25099 | cat >>conftest.$ac_ext <<_ACEOF | ||
25100 | /* end confdefs.h. */ | ||
25101 | $ac_includes_default | ||
25102 | typedef long double ac__type_new_; | ||
25103 | int | ||
25104 | main () | ||
25105 | { | ||
25106 | if ((ac__type_new_ *) 0) | ||
25107 | return 0; | ||
25108 | if (sizeof (ac__type_new_)) | ||
25109 | return 0; | ||
25110 | ; | ||
25111 | return 0; | ||
25112 | } | ||
25113 | _ACEOF | ||
25114 | rm -f conftest.$ac_objext | ||
25115 | if { (ac_try="$ac_compile" | ||
25116 | case "(($ac_try" in | ||
25117 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25118 | *) ac_try_echo=$ac_try;; | ||
25119 | esac | ||
25120 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25121 | (eval "$ac_compile") 2>conftest.er1 | ||
25122 | ac_status=$? | ||
25123 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25124 | rm -f conftest.er1 | ||
25125 | cat conftest.err >&5 | ||
25126 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25127 | (exit $ac_status); } && { | ||
25128 | test -z "$ac_c_werror_flag" || | ||
25129 | test ! -s conftest.err | ||
25130 | } && test -s conftest.$ac_objext; then | ||
25131 | ac_cv_type_long_double=yes | ||
25132 | else | ||
25133 | echo "$as_me: failed program was:" >&5 | ||
25134 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25135 | |||
25136 | ac_cv_type_long_double=no | ||
25137 | fi | ||
25138 | |||
25139 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25140 | fi | ||
25141 | { echo "$as_me:$LINENO: result: $ac_cv_type_long_double" >&5 | ||
25142 | echo "${ECHO_T}$ac_cv_type_long_double" >&6; } | ||
25143 | if test $ac_cv_type_long_double = yes; then | ||
25144 | 14011 | ||
25145 | cat >>confdefs.h <<_ACEOF | 14012 | cat >>confdefs.h <<_ACEOF |
25146 | #define HAVE_LONG_DOUBLE 1 | 14013 | #define HAVE_LONG_DOUBLE 1 |
@@ -25151,403 +14018,31 @@ fi | |||
25151 | 14018 | ||
25152 | 14019 | ||
25153 | # Check datatype sizes | 14020 | # Check datatype sizes |
25154 | { echo "$as_me:$LINENO: checking for short int" >&5 | ||
25155 | echo $ECHO_N "checking for short int... $ECHO_C" >&6; } | ||
25156 | if test "${ac_cv_type_short_int+set}" = set; then | ||
25157 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
25158 | else | ||
25159 | cat >conftest.$ac_ext <<_ACEOF | ||
25160 | /* confdefs.h. */ | ||
25161 | _ACEOF | ||
25162 | cat confdefs.h >>conftest.$ac_ext | ||
25163 | cat >>conftest.$ac_ext <<_ACEOF | ||
25164 | /* end confdefs.h. */ | ||
25165 | $ac_includes_default | ||
25166 | typedef short int ac__type_new_; | ||
25167 | int | ||
25168 | main () | ||
25169 | { | ||
25170 | if ((ac__type_new_ *) 0) | ||
25171 | return 0; | ||
25172 | if (sizeof (ac__type_new_)) | ||
25173 | return 0; | ||
25174 | ; | ||
25175 | return 0; | ||
25176 | } | ||
25177 | _ACEOF | ||
25178 | rm -f conftest.$ac_objext | ||
25179 | if { (ac_try="$ac_compile" | ||
25180 | case "(($ac_try" in | ||
25181 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25182 | *) ac_try_echo=$ac_try;; | ||
25183 | esac | ||
25184 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25185 | (eval "$ac_compile") 2>conftest.er1 | ||
25186 | ac_status=$? | ||
25187 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25188 | rm -f conftest.er1 | ||
25189 | cat conftest.err >&5 | ||
25190 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25191 | (exit $ac_status); } && { | ||
25192 | test -z "$ac_c_werror_flag" || | ||
25193 | test ! -s conftest.err | ||
25194 | } && test -s conftest.$ac_objext; then | ||
25195 | ac_cv_type_short_int=yes | ||
25196 | else | ||
25197 | echo "$as_me: failed program was:" >&5 | ||
25198 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25199 | |||
25200 | ac_cv_type_short_int=no | ||
25201 | fi | ||
25202 | |||
25203 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25204 | fi | ||
25205 | { echo "$as_me:$LINENO: result: $ac_cv_type_short_int" >&5 | ||
25206 | echo "${ECHO_T}$ac_cv_type_short_int" >&6; } | ||
25207 | |||
25208 | # The cast to long int works around a bug in the HP C Compiler | 14021 | # The cast to long int works around a bug in the HP C Compiler |
25209 | # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects | 14022 | # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
25210 | # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. | 14023 | # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
25211 | # This bug is HP SR number 8606223364. | 14024 | # This bug is HP SR number 8606223364. |
25212 | { echo "$as_me:$LINENO: checking size of short int" >&5 | 14025 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short int" >&5 |
25213 | echo $ECHO_N "checking size of short int... $ECHO_C" >&6; } | 14026 | $as_echo_n "checking size of short int... " >&6; } |
25214 | if test "${ac_cv_sizeof_short_int+set}" = set; then | 14027 | if ${ac_cv_sizeof_short_int+:} false; then : |
25215 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14028 | $as_echo_n "(cached) " >&6 |
25216 | else | ||
25217 | if test "$cross_compiling" = yes; then | ||
25218 | # Depending upon the size, compute the lo and hi bounds. | ||
25219 | cat >conftest.$ac_ext <<_ACEOF | ||
25220 | /* confdefs.h. */ | ||
25221 | _ACEOF | ||
25222 | cat confdefs.h >>conftest.$ac_ext | ||
25223 | cat >>conftest.$ac_ext <<_ACEOF | ||
25224 | /* end confdefs.h. */ | ||
25225 | $ac_includes_default | ||
25226 | typedef short int ac__type_sizeof_; | ||
25227 | int | ||
25228 | main () | ||
25229 | { | ||
25230 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; | ||
25231 | test_array [0] = 0 | ||
25232 | |||
25233 | ; | ||
25234 | return 0; | ||
25235 | } | ||
25236 | _ACEOF | ||
25237 | rm -f conftest.$ac_objext | ||
25238 | if { (ac_try="$ac_compile" | ||
25239 | case "(($ac_try" in | ||
25240 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25241 | *) ac_try_echo=$ac_try;; | ||
25242 | esac | ||
25243 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25244 | (eval "$ac_compile") 2>conftest.er1 | ||
25245 | ac_status=$? | ||
25246 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25247 | rm -f conftest.er1 | ||
25248 | cat conftest.err >&5 | ||
25249 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25250 | (exit $ac_status); } && { | ||
25251 | test -z "$ac_c_werror_flag" || | ||
25252 | test ! -s conftest.err | ||
25253 | } && test -s conftest.$ac_objext; then | ||
25254 | ac_lo=0 ac_mid=0 | ||
25255 | while :; do | ||
25256 | cat >conftest.$ac_ext <<_ACEOF | ||
25257 | /* confdefs.h. */ | ||
25258 | _ACEOF | ||
25259 | cat confdefs.h >>conftest.$ac_ext | ||
25260 | cat >>conftest.$ac_ext <<_ACEOF | ||
25261 | /* end confdefs.h. */ | ||
25262 | $ac_includes_default | ||
25263 | typedef short int ac__type_sizeof_; | ||
25264 | int | ||
25265 | main () | ||
25266 | { | ||
25267 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; | ||
25268 | test_array [0] = 0 | ||
25269 | |||
25270 | ; | ||
25271 | return 0; | ||
25272 | } | ||
25273 | _ACEOF | ||
25274 | rm -f conftest.$ac_objext | ||
25275 | if { (ac_try="$ac_compile" | ||
25276 | case "(($ac_try" in | ||
25277 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25278 | *) ac_try_echo=$ac_try;; | ||
25279 | esac | ||
25280 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25281 | (eval "$ac_compile") 2>conftest.er1 | ||
25282 | ac_status=$? | ||
25283 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25284 | rm -f conftest.er1 | ||
25285 | cat conftest.err >&5 | ||
25286 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25287 | (exit $ac_status); } && { | ||
25288 | test -z "$ac_c_werror_flag" || | ||
25289 | test ! -s conftest.err | ||
25290 | } && test -s conftest.$ac_objext; then | ||
25291 | ac_hi=$ac_mid; break | ||
25292 | else | 14029 | else |
25293 | echo "$as_me: failed program was:" >&5 | 14030 | if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short int))" "ac_cv_sizeof_short_int" "$ac_includes_default"; then : |
25294 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25295 | |||
25296 | ac_lo=`expr $ac_mid + 1` | ||
25297 | if test $ac_lo -le $ac_mid; then | ||
25298 | ac_lo= ac_hi= | ||
25299 | break | ||
25300 | fi | ||
25301 | ac_mid=`expr 2 '*' $ac_mid + 1` | ||
25302 | fi | ||
25303 | 14031 | ||
25304 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25305 | done | ||
25306 | else | 14032 | else |
25307 | echo "$as_me: failed program was:" >&5 | 14033 | if test "$ac_cv_type_short_int" = yes; then |
25308 | sed 's/^/| /' conftest.$ac_ext >&5 | 14034 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
25309 | 14035 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | |
25310 | cat >conftest.$ac_ext <<_ACEOF | 14036 | as_fn_error 77 "cannot compute sizeof (short int) |
25311 | /* confdefs.h. */ | 14037 | See \`config.log' for more details" "$LINENO" 5; } |
25312 | _ACEOF | ||
25313 | cat confdefs.h >>conftest.$ac_ext | ||
25314 | cat >>conftest.$ac_ext <<_ACEOF | ||
25315 | /* end confdefs.h. */ | ||
25316 | $ac_includes_default | ||
25317 | typedef short int ac__type_sizeof_; | ||
25318 | int | ||
25319 | main () | ||
25320 | { | ||
25321 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; | ||
25322 | test_array [0] = 0 | ||
25323 | |||
25324 | ; | ||
25325 | return 0; | ||
25326 | } | ||
25327 | _ACEOF | ||
25328 | rm -f conftest.$ac_objext | ||
25329 | if { (ac_try="$ac_compile" | ||
25330 | case "(($ac_try" in | ||
25331 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25332 | *) ac_try_echo=$ac_try;; | ||
25333 | esac | ||
25334 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25335 | (eval "$ac_compile") 2>conftest.er1 | ||
25336 | ac_status=$? | ||
25337 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25338 | rm -f conftest.er1 | ||
25339 | cat conftest.err >&5 | ||
25340 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25341 | (exit $ac_status); } && { | ||
25342 | test -z "$ac_c_werror_flag" || | ||
25343 | test ! -s conftest.err | ||
25344 | } && test -s conftest.$ac_objext; then | ||
25345 | ac_hi=-1 ac_mid=-1 | ||
25346 | while :; do | ||
25347 | cat >conftest.$ac_ext <<_ACEOF | ||
25348 | /* confdefs.h. */ | ||
25349 | _ACEOF | ||
25350 | cat confdefs.h >>conftest.$ac_ext | ||
25351 | cat >>conftest.$ac_ext <<_ACEOF | ||
25352 | /* end confdefs.h. */ | ||
25353 | $ac_includes_default | ||
25354 | typedef short int ac__type_sizeof_; | ||
25355 | int | ||
25356 | main () | ||
25357 | { | ||
25358 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; | ||
25359 | test_array [0] = 0 | ||
25360 | |||
25361 | ; | ||
25362 | return 0; | ||
25363 | } | ||
25364 | _ACEOF | ||
25365 | rm -f conftest.$ac_objext | ||
25366 | if { (ac_try="$ac_compile" | ||
25367 | case "(($ac_try" in | ||
25368 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25369 | *) ac_try_echo=$ac_try;; | ||
25370 | esac | ||
25371 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25372 | (eval "$ac_compile") 2>conftest.er1 | ||
25373 | ac_status=$? | ||
25374 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25375 | rm -f conftest.er1 | ||
25376 | cat conftest.err >&5 | ||
25377 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25378 | (exit $ac_status); } && { | ||
25379 | test -z "$ac_c_werror_flag" || | ||
25380 | test ! -s conftest.err | ||
25381 | } && test -s conftest.$ac_objext; then | ||
25382 | ac_lo=$ac_mid; break | ||
25383 | else | ||
25384 | echo "$as_me: failed program was:" >&5 | ||
25385 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25386 | |||
25387 | ac_hi=`expr '(' $ac_mid ')' - 1` | ||
25388 | if test $ac_mid -le $ac_hi; then | ||
25389 | ac_lo= ac_hi= | ||
25390 | break | ||
25391 | fi | ||
25392 | ac_mid=`expr 2 '*' $ac_mid` | ||
25393 | fi | ||
25394 | |||
25395 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25396 | done | ||
25397 | else | ||
25398 | echo "$as_me: failed program was:" >&5 | ||
25399 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25400 | |||
25401 | ac_lo= ac_hi= | ||
25402 | fi | ||
25403 | |||
25404 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25405 | fi | ||
25406 | |||
25407 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25408 | # Binary search between lo and hi bounds. | ||
25409 | while test "x$ac_lo" != "x$ac_hi"; do | ||
25410 | ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` | ||
25411 | cat >conftest.$ac_ext <<_ACEOF | ||
25412 | /* confdefs.h. */ | ||
25413 | _ACEOF | ||
25414 | cat confdefs.h >>conftest.$ac_ext | ||
25415 | cat >>conftest.$ac_ext <<_ACEOF | ||
25416 | /* end confdefs.h. */ | ||
25417 | $ac_includes_default | ||
25418 | typedef short int ac__type_sizeof_; | ||
25419 | int | ||
25420 | main () | ||
25421 | { | ||
25422 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; | ||
25423 | test_array [0] = 0 | ||
25424 | |||
25425 | ; | ||
25426 | return 0; | ||
25427 | } | ||
25428 | _ACEOF | ||
25429 | rm -f conftest.$ac_objext | ||
25430 | if { (ac_try="$ac_compile" | ||
25431 | case "(($ac_try" in | ||
25432 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25433 | *) ac_try_echo=$ac_try;; | ||
25434 | esac | ||
25435 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25436 | (eval "$ac_compile") 2>conftest.er1 | ||
25437 | ac_status=$? | ||
25438 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25439 | rm -f conftest.er1 | ||
25440 | cat conftest.err >&5 | ||
25441 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25442 | (exit $ac_status); } && { | ||
25443 | test -z "$ac_c_werror_flag" || | ||
25444 | test ! -s conftest.err | ||
25445 | } && test -s conftest.$ac_objext; then | ||
25446 | ac_hi=$ac_mid | ||
25447 | else | ||
25448 | echo "$as_me: failed program was:" >&5 | ||
25449 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25450 | |||
25451 | ac_lo=`expr '(' $ac_mid ')' + 1` | ||
25452 | fi | ||
25453 | |||
25454 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25455 | done | ||
25456 | case $ac_lo in | ||
25457 | ?*) ac_cv_sizeof_short_int=$ac_lo;; | ||
25458 | '') if test "$ac_cv_type_short_int" = yes; then | ||
25459 | { { echo "$as_me:$LINENO: error: cannot compute sizeof (short int) | ||
25460 | See \`config.log' for more details." >&5 | ||
25461 | echo "$as_me: error: cannot compute sizeof (short int) | ||
25462 | See \`config.log' for more details." >&2;} | ||
25463 | { (exit 77); exit 77; }; } | ||
25464 | else | ||
25465 | ac_cv_sizeof_short_int=0 | ||
25466 | fi ;; | ||
25467 | esac | ||
25468 | else | ||
25469 | cat >conftest.$ac_ext <<_ACEOF | ||
25470 | /* confdefs.h. */ | ||
25471 | _ACEOF | ||
25472 | cat confdefs.h >>conftest.$ac_ext | ||
25473 | cat >>conftest.$ac_ext <<_ACEOF | ||
25474 | /* end confdefs.h. */ | ||
25475 | $ac_includes_default | ||
25476 | typedef short int ac__type_sizeof_; | ||
25477 | static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } | ||
25478 | static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } | ||
25479 | #include <stdio.h> | ||
25480 | #include <stdlib.h> | ||
25481 | int | ||
25482 | main () | ||
25483 | { | ||
25484 | |||
25485 | FILE *f = fopen ("conftest.val", "w"); | ||
25486 | if (! f) | ||
25487 | return 1; | ||
25488 | if (((long int) (sizeof (ac__type_sizeof_))) < 0) | ||
25489 | { | ||
25490 | long int i = longval (); | ||
25491 | if (i != ((long int) (sizeof (ac__type_sizeof_)))) | ||
25492 | return 1; | ||
25493 | fprintf (f, "%ld\n", i); | ||
25494 | } | ||
25495 | else | ||
25496 | { | ||
25497 | unsigned long int i = ulongval (); | ||
25498 | if (i != ((long int) (sizeof (ac__type_sizeof_)))) | ||
25499 | return 1; | ||
25500 | fprintf (f, "%lu\n", i); | ||
25501 | } | ||
25502 | return ferror (f) || fclose (f) != 0; | ||
25503 | |||
25504 | ; | ||
25505 | return 0; | ||
25506 | } | ||
25507 | _ACEOF | ||
25508 | rm -f conftest$ac_exeext | ||
25509 | if { (ac_try="$ac_link" | ||
25510 | case "(($ac_try" in | ||
25511 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25512 | *) ac_try_echo=$ac_try;; | ||
25513 | esac | ||
25514 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25515 | (eval "$ac_link") 2>&5 | ||
25516 | ac_status=$? | ||
25517 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25518 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
25519 | { (case "(($ac_try" in | ||
25520 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25521 | *) ac_try_echo=$ac_try;; | ||
25522 | esac | ||
25523 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25524 | (eval "$ac_try") 2>&5 | ||
25525 | ac_status=$? | ||
25526 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25527 | (exit $ac_status); }; }; then | ||
25528 | ac_cv_sizeof_short_int=`cat conftest.val` | ||
25529 | else | ||
25530 | echo "$as_me: program exited with status $ac_status" >&5 | ||
25531 | echo "$as_me: failed program was:" >&5 | ||
25532 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25533 | |||
25534 | ( exit $ac_status ) | ||
25535 | if test "$ac_cv_type_short_int" = yes; then | ||
25536 | { { echo "$as_me:$LINENO: error: cannot compute sizeof (short int) | ||
25537 | See \`config.log' for more details." >&5 | ||
25538 | echo "$as_me: error: cannot compute sizeof (short int) | ||
25539 | See \`config.log' for more details." >&2;} | ||
25540 | { (exit 77); exit 77; }; } | ||
25541 | else | 14038 | else |
25542 | ac_cv_sizeof_short_int=0 | 14039 | ac_cv_sizeof_short_int=0 |
25543 | fi | 14040 | fi |
25544 | fi | 14041 | fi |
25545 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 14042 | |
25546 | fi | ||
25547 | rm -f conftest.val | ||
25548 | fi | 14043 | fi |
25549 | { echo "$as_me:$LINENO: result: $ac_cv_sizeof_short_int" >&5 | 14044 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short_int" >&5 |
25550 | echo "${ECHO_T}$ac_cv_sizeof_short_int" >&6; } | 14045 | $as_echo "$ac_cv_sizeof_short_int" >&6; } |
25551 | 14046 | ||
25552 | 14047 | ||
25553 | 14048 | ||
@@ -25556,403 +14051,31 @@ cat >>confdefs.h <<_ACEOF | |||
25556 | _ACEOF | 14051 | _ACEOF |
25557 | 14052 | ||
25558 | 14053 | ||
25559 | { echo "$as_me:$LINENO: checking for int" >&5 | ||
25560 | echo $ECHO_N "checking for int... $ECHO_C" >&6; } | ||
25561 | if test "${ac_cv_type_int+set}" = set; then | ||
25562 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
25563 | else | ||
25564 | cat >conftest.$ac_ext <<_ACEOF | ||
25565 | /* confdefs.h. */ | ||
25566 | _ACEOF | ||
25567 | cat confdefs.h >>conftest.$ac_ext | ||
25568 | cat >>conftest.$ac_ext <<_ACEOF | ||
25569 | /* end confdefs.h. */ | ||
25570 | $ac_includes_default | ||
25571 | typedef int ac__type_new_; | ||
25572 | int | ||
25573 | main () | ||
25574 | { | ||
25575 | if ((ac__type_new_ *) 0) | ||
25576 | return 0; | ||
25577 | if (sizeof (ac__type_new_)) | ||
25578 | return 0; | ||
25579 | ; | ||
25580 | return 0; | ||
25581 | } | ||
25582 | _ACEOF | ||
25583 | rm -f conftest.$ac_objext | ||
25584 | if { (ac_try="$ac_compile" | ||
25585 | case "(($ac_try" in | ||
25586 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25587 | *) ac_try_echo=$ac_try;; | ||
25588 | esac | ||
25589 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25590 | (eval "$ac_compile") 2>conftest.er1 | ||
25591 | ac_status=$? | ||
25592 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25593 | rm -f conftest.er1 | ||
25594 | cat conftest.err >&5 | ||
25595 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25596 | (exit $ac_status); } && { | ||
25597 | test -z "$ac_c_werror_flag" || | ||
25598 | test ! -s conftest.err | ||
25599 | } && test -s conftest.$ac_objext; then | ||
25600 | ac_cv_type_int=yes | ||
25601 | else | ||
25602 | echo "$as_me: failed program was:" >&5 | ||
25603 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25604 | |||
25605 | ac_cv_type_int=no | ||
25606 | fi | ||
25607 | |||
25608 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25609 | fi | ||
25610 | { echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5 | ||
25611 | echo "${ECHO_T}$ac_cv_type_int" >&6; } | ||
25612 | |||
25613 | # The cast to long int works around a bug in the HP C Compiler | 14054 | # The cast to long int works around a bug in the HP C Compiler |
25614 | # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects | 14055 | # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
25615 | # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. | 14056 | # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
25616 | # This bug is HP SR number 8606223364. | 14057 | # This bug is HP SR number 8606223364. |
25617 | { echo "$as_me:$LINENO: checking size of int" >&5 | 14058 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 |
25618 | echo $ECHO_N "checking size of int... $ECHO_C" >&6; } | 14059 | $as_echo_n "checking size of int... " >&6; } |
25619 | if test "${ac_cv_sizeof_int+set}" = set; then | 14060 | if ${ac_cv_sizeof_int+:} false; then : |
25620 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14061 | $as_echo_n "(cached) " >&6 |
25621 | else | ||
25622 | if test "$cross_compiling" = yes; then | ||
25623 | # Depending upon the size, compute the lo and hi bounds. | ||
25624 | cat >conftest.$ac_ext <<_ACEOF | ||
25625 | /* confdefs.h. */ | ||
25626 | _ACEOF | ||
25627 | cat confdefs.h >>conftest.$ac_ext | ||
25628 | cat >>conftest.$ac_ext <<_ACEOF | ||
25629 | /* end confdefs.h. */ | ||
25630 | $ac_includes_default | ||
25631 | typedef int ac__type_sizeof_; | ||
25632 | int | ||
25633 | main () | ||
25634 | { | ||
25635 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; | ||
25636 | test_array [0] = 0 | ||
25637 | |||
25638 | ; | ||
25639 | return 0; | ||
25640 | } | ||
25641 | _ACEOF | ||
25642 | rm -f conftest.$ac_objext | ||
25643 | if { (ac_try="$ac_compile" | ||
25644 | case "(($ac_try" in | ||
25645 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25646 | *) ac_try_echo=$ac_try;; | ||
25647 | esac | ||
25648 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25649 | (eval "$ac_compile") 2>conftest.er1 | ||
25650 | ac_status=$? | ||
25651 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25652 | rm -f conftest.er1 | ||
25653 | cat conftest.err >&5 | ||
25654 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25655 | (exit $ac_status); } && { | ||
25656 | test -z "$ac_c_werror_flag" || | ||
25657 | test ! -s conftest.err | ||
25658 | } && test -s conftest.$ac_objext; then | ||
25659 | ac_lo=0 ac_mid=0 | ||
25660 | while :; do | ||
25661 | cat >conftest.$ac_ext <<_ACEOF | ||
25662 | /* confdefs.h. */ | ||
25663 | _ACEOF | ||
25664 | cat confdefs.h >>conftest.$ac_ext | ||
25665 | cat >>conftest.$ac_ext <<_ACEOF | ||
25666 | /* end confdefs.h. */ | ||
25667 | $ac_includes_default | ||
25668 | typedef int ac__type_sizeof_; | ||
25669 | int | ||
25670 | main () | ||
25671 | { | ||
25672 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; | ||
25673 | test_array [0] = 0 | ||
25674 | |||
25675 | ; | ||
25676 | return 0; | ||
25677 | } | ||
25678 | _ACEOF | ||
25679 | rm -f conftest.$ac_objext | ||
25680 | if { (ac_try="$ac_compile" | ||
25681 | case "(($ac_try" in | ||
25682 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25683 | *) ac_try_echo=$ac_try;; | ||
25684 | esac | ||
25685 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25686 | (eval "$ac_compile") 2>conftest.er1 | ||
25687 | ac_status=$? | ||
25688 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25689 | rm -f conftest.er1 | ||
25690 | cat conftest.err >&5 | ||
25691 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25692 | (exit $ac_status); } && { | ||
25693 | test -z "$ac_c_werror_flag" || | ||
25694 | test ! -s conftest.err | ||
25695 | } && test -s conftest.$ac_objext; then | ||
25696 | ac_hi=$ac_mid; break | ||
25697 | else | ||
25698 | echo "$as_me: failed program was:" >&5 | ||
25699 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25700 | |||
25701 | ac_lo=`expr $ac_mid + 1` | ||
25702 | if test $ac_lo -le $ac_mid; then | ||
25703 | ac_lo= ac_hi= | ||
25704 | break | ||
25705 | fi | ||
25706 | ac_mid=`expr 2 '*' $ac_mid + 1` | ||
25707 | fi | ||
25708 | |||
25709 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25710 | done | ||
25711 | else | ||
25712 | echo "$as_me: failed program was:" >&5 | ||
25713 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25714 | |||
25715 | cat >conftest.$ac_ext <<_ACEOF | ||
25716 | /* confdefs.h. */ | ||
25717 | _ACEOF | ||
25718 | cat confdefs.h >>conftest.$ac_ext | ||
25719 | cat >>conftest.$ac_ext <<_ACEOF | ||
25720 | /* end confdefs.h. */ | ||
25721 | $ac_includes_default | ||
25722 | typedef int ac__type_sizeof_; | ||
25723 | int | ||
25724 | main () | ||
25725 | { | ||
25726 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; | ||
25727 | test_array [0] = 0 | ||
25728 | |||
25729 | ; | ||
25730 | return 0; | ||
25731 | } | ||
25732 | _ACEOF | ||
25733 | rm -f conftest.$ac_objext | ||
25734 | if { (ac_try="$ac_compile" | ||
25735 | case "(($ac_try" in | ||
25736 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25737 | *) ac_try_echo=$ac_try;; | ||
25738 | esac | ||
25739 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25740 | (eval "$ac_compile") 2>conftest.er1 | ||
25741 | ac_status=$? | ||
25742 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25743 | rm -f conftest.er1 | ||
25744 | cat conftest.err >&5 | ||
25745 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25746 | (exit $ac_status); } && { | ||
25747 | test -z "$ac_c_werror_flag" || | ||
25748 | test ! -s conftest.err | ||
25749 | } && test -s conftest.$ac_objext; then | ||
25750 | ac_hi=-1 ac_mid=-1 | ||
25751 | while :; do | ||
25752 | cat >conftest.$ac_ext <<_ACEOF | ||
25753 | /* confdefs.h. */ | ||
25754 | _ACEOF | ||
25755 | cat confdefs.h >>conftest.$ac_ext | ||
25756 | cat >>conftest.$ac_ext <<_ACEOF | ||
25757 | /* end confdefs.h. */ | ||
25758 | $ac_includes_default | ||
25759 | typedef int ac__type_sizeof_; | ||
25760 | int | ||
25761 | main () | ||
25762 | { | ||
25763 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; | ||
25764 | test_array [0] = 0 | ||
25765 | |||
25766 | ; | ||
25767 | return 0; | ||
25768 | } | ||
25769 | _ACEOF | ||
25770 | rm -f conftest.$ac_objext | ||
25771 | if { (ac_try="$ac_compile" | ||
25772 | case "(($ac_try" in | ||
25773 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25774 | *) ac_try_echo=$ac_try;; | ||
25775 | esac | ||
25776 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25777 | (eval "$ac_compile") 2>conftest.er1 | ||
25778 | ac_status=$? | ||
25779 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25780 | rm -f conftest.er1 | ||
25781 | cat conftest.err >&5 | ||
25782 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25783 | (exit $ac_status); } && { | ||
25784 | test -z "$ac_c_werror_flag" || | ||
25785 | test ! -s conftest.err | ||
25786 | } && test -s conftest.$ac_objext; then | ||
25787 | ac_lo=$ac_mid; break | ||
25788 | else | ||
25789 | echo "$as_me: failed program was:" >&5 | ||
25790 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25791 | |||
25792 | ac_hi=`expr '(' $ac_mid ')' - 1` | ||
25793 | if test $ac_mid -le $ac_hi; then | ||
25794 | ac_lo= ac_hi= | ||
25795 | break | ||
25796 | fi | ||
25797 | ac_mid=`expr 2 '*' $ac_mid` | ||
25798 | fi | ||
25799 | |||
25800 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25801 | done | ||
25802 | else | ||
25803 | echo "$as_me: failed program was:" >&5 | ||
25804 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25805 | |||
25806 | ac_lo= ac_hi= | ||
25807 | fi | ||
25808 | |||
25809 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25810 | fi | ||
25811 | |||
25812 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25813 | # Binary search between lo and hi bounds. | ||
25814 | while test "x$ac_lo" != "x$ac_hi"; do | ||
25815 | ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` | ||
25816 | cat >conftest.$ac_ext <<_ACEOF | ||
25817 | /* confdefs.h. */ | ||
25818 | _ACEOF | ||
25819 | cat confdefs.h >>conftest.$ac_ext | ||
25820 | cat >>conftest.$ac_ext <<_ACEOF | ||
25821 | /* end confdefs.h. */ | ||
25822 | $ac_includes_default | ||
25823 | typedef int ac__type_sizeof_; | ||
25824 | int | ||
25825 | main () | ||
25826 | { | ||
25827 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; | ||
25828 | test_array [0] = 0 | ||
25829 | |||
25830 | ; | ||
25831 | return 0; | ||
25832 | } | ||
25833 | _ACEOF | ||
25834 | rm -f conftest.$ac_objext | ||
25835 | if { (ac_try="$ac_compile" | ||
25836 | case "(($ac_try" in | ||
25837 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25838 | *) ac_try_echo=$ac_try;; | ||
25839 | esac | ||
25840 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25841 | (eval "$ac_compile") 2>conftest.er1 | ||
25842 | ac_status=$? | ||
25843 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25844 | rm -f conftest.er1 | ||
25845 | cat conftest.err >&5 | ||
25846 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25847 | (exit $ac_status); } && { | ||
25848 | test -z "$ac_c_werror_flag" || | ||
25849 | test ! -s conftest.err | ||
25850 | } && test -s conftest.$ac_objext; then | ||
25851 | ac_hi=$ac_mid | ||
25852 | else | ||
25853 | echo "$as_me: failed program was:" >&5 | ||
25854 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
25855 | |||
25856 | ac_lo=`expr '(' $ac_mid ')' + 1` | ||
25857 | fi | ||
25858 | |||
25859 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
25860 | done | ||
25861 | case $ac_lo in | ||
25862 | ?*) ac_cv_sizeof_int=$ac_lo;; | ||
25863 | '') if test "$ac_cv_type_int" = yes; then | ||
25864 | { { echo "$as_me:$LINENO: error: cannot compute sizeof (int) | ||
25865 | See \`config.log' for more details." >&5 | ||
25866 | echo "$as_me: error: cannot compute sizeof (int) | ||
25867 | See \`config.log' for more details." >&2;} | ||
25868 | { (exit 77); exit 77; }; } | ||
25869 | else | ||
25870 | ac_cv_sizeof_int=0 | ||
25871 | fi ;; | ||
25872 | esac | ||
25873 | else | 14062 | else |
25874 | cat >conftest.$ac_ext <<_ACEOF | 14063 | if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : |
25875 | /* confdefs.h. */ | ||
25876 | _ACEOF | ||
25877 | cat confdefs.h >>conftest.$ac_ext | ||
25878 | cat >>conftest.$ac_ext <<_ACEOF | ||
25879 | /* end confdefs.h. */ | ||
25880 | $ac_includes_default | ||
25881 | typedef int ac__type_sizeof_; | ||
25882 | static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } | ||
25883 | static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } | ||
25884 | #include <stdio.h> | ||
25885 | #include <stdlib.h> | ||
25886 | int | ||
25887 | main () | ||
25888 | { | ||
25889 | 14064 | ||
25890 | FILE *f = fopen ("conftest.val", "w"); | ||
25891 | if (! f) | ||
25892 | return 1; | ||
25893 | if (((long int) (sizeof (ac__type_sizeof_))) < 0) | ||
25894 | { | ||
25895 | long int i = longval (); | ||
25896 | if (i != ((long int) (sizeof (ac__type_sizeof_)))) | ||
25897 | return 1; | ||
25898 | fprintf (f, "%ld\n", i); | ||
25899 | } | ||
25900 | else | ||
25901 | { | ||
25902 | unsigned long int i = ulongval (); | ||
25903 | if (i != ((long int) (sizeof (ac__type_sizeof_)))) | ||
25904 | return 1; | ||
25905 | fprintf (f, "%lu\n", i); | ||
25906 | } | ||
25907 | return ferror (f) || fclose (f) != 0; | ||
25908 | |||
25909 | ; | ||
25910 | return 0; | ||
25911 | } | ||
25912 | _ACEOF | ||
25913 | rm -f conftest$ac_exeext | ||
25914 | if { (ac_try="$ac_link" | ||
25915 | case "(($ac_try" in | ||
25916 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25917 | *) ac_try_echo=$ac_try;; | ||
25918 | esac | ||
25919 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25920 | (eval "$ac_link") 2>&5 | ||
25921 | ac_status=$? | ||
25922 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25923 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
25924 | { (case "(($ac_try" in | ||
25925 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25926 | *) ac_try_echo=$ac_try;; | ||
25927 | esac | ||
25928 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25929 | (eval "$ac_try") 2>&5 | ||
25930 | ac_status=$? | ||
25931 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
25932 | (exit $ac_status); }; }; then | ||
25933 | ac_cv_sizeof_int=`cat conftest.val` | ||
25934 | else | 14065 | else |
25935 | echo "$as_me: program exited with status $ac_status" >&5 | 14066 | if test "$ac_cv_type_int" = yes; then |
25936 | echo "$as_me: failed program was:" >&5 | 14067 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
25937 | sed 's/^/| /' conftest.$ac_ext >&5 | 14068 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
25938 | 14069 | as_fn_error 77 "cannot compute sizeof (int) | |
25939 | ( exit $ac_status ) | 14070 | See \`config.log' for more details" "$LINENO" 5; } |
25940 | if test "$ac_cv_type_int" = yes; then | ||
25941 | { { echo "$as_me:$LINENO: error: cannot compute sizeof (int) | ||
25942 | See \`config.log' for more details." >&5 | ||
25943 | echo "$as_me: error: cannot compute sizeof (int) | ||
25944 | See \`config.log' for more details." >&2;} | ||
25945 | { (exit 77); exit 77; }; } | ||
25946 | else | 14071 | else |
25947 | ac_cv_sizeof_int=0 | 14072 | ac_cv_sizeof_int=0 |
25948 | fi | 14073 | fi |
25949 | fi | 14074 | fi |
25950 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 14075 | |
25951 | fi | ||
25952 | rm -f conftest.val | ||
25953 | fi | 14076 | fi |
25954 | { echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5 | 14077 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 |
25955 | echo "${ECHO_T}$ac_cv_sizeof_int" >&6; } | 14078 | $as_echo "$ac_cv_sizeof_int" >&6; } |
25956 | 14079 | ||
25957 | 14080 | ||
25958 | 14081 | ||
@@ -25961,403 +14084,31 @@ cat >>confdefs.h <<_ACEOF | |||
25961 | _ACEOF | 14084 | _ACEOF |
25962 | 14085 | ||
25963 | 14086 | ||
25964 | { echo "$as_me:$LINENO: checking for long int" >&5 | ||
25965 | echo $ECHO_N "checking for long int... $ECHO_C" >&6; } | ||
25966 | if test "${ac_cv_type_long_int+set}" = set; then | ||
25967 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
25968 | else | ||
25969 | cat >conftest.$ac_ext <<_ACEOF | ||
25970 | /* confdefs.h. */ | ||
25971 | _ACEOF | ||
25972 | cat confdefs.h >>conftest.$ac_ext | ||
25973 | cat >>conftest.$ac_ext <<_ACEOF | ||
25974 | /* end confdefs.h. */ | ||
25975 | $ac_includes_default | ||
25976 | typedef long int ac__type_new_; | ||
25977 | int | ||
25978 | main () | ||
25979 | { | ||
25980 | if ((ac__type_new_ *) 0) | ||
25981 | return 0; | ||
25982 | if (sizeof (ac__type_new_)) | ||
25983 | return 0; | ||
25984 | ; | ||
25985 | return 0; | ||
25986 | } | ||
25987 | _ACEOF | ||
25988 | rm -f conftest.$ac_objext | ||
25989 | if { (ac_try="$ac_compile" | ||
25990 | case "(($ac_try" in | ||
25991 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
25992 | *) ac_try_echo=$ac_try;; | ||
25993 | esac | ||
25994 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
25995 | (eval "$ac_compile") 2>conftest.er1 | ||
25996 | ac_status=$? | ||
25997 | grep -v '^ *+' conftest.er1 >conftest.err | ||
25998 | rm -f conftest.er1 | ||
25999 | cat conftest.err >&5 | ||
26000 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26001 | (exit $ac_status); } && { | ||
26002 | test -z "$ac_c_werror_flag" || | ||
26003 | test ! -s conftest.err | ||
26004 | } && test -s conftest.$ac_objext; then | ||
26005 | ac_cv_type_long_int=yes | ||
26006 | else | ||
26007 | echo "$as_me: failed program was:" >&5 | ||
26008 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26009 | |||
26010 | ac_cv_type_long_int=no | ||
26011 | fi | ||
26012 | |||
26013 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
26014 | fi | ||
26015 | { echo "$as_me:$LINENO: result: $ac_cv_type_long_int" >&5 | ||
26016 | echo "${ECHO_T}$ac_cv_type_long_int" >&6; } | ||
26017 | |||
26018 | # The cast to long int works around a bug in the HP C Compiler | 14087 | # The cast to long int works around a bug in the HP C Compiler |
26019 | # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects | 14088 | # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
26020 | # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. | 14089 | # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
26021 | # This bug is HP SR number 8606223364. | 14090 | # This bug is HP SR number 8606223364. |
26022 | { echo "$as_me:$LINENO: checking size of long int" >&5 | 14091 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long int" >&5 |
26023 | echo $ECHO_N "checking size of long int... $ECHO_C" >&6; } | 14092 | $as_echo_n "checking size of long int... " >&6; } |
26024 | if test "${ac_cv_sizeof_long_int+set}" = set; then | 14093 | if ${ac_cv_sizeof_long_int+:} false; then : |
26025 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14094 | $as_echo_n "(cached) " >&6 |
26026 | else | 14095 | else |
26027 | if test "$cross_compiling" = yes; then | 14096 | if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long int))" "ac_cv_sizeof_long_int" "$ac_includes_default"; then : |
26028 | # Depending upon the size, compute the lo and hi bounds. | ||
26029 | cat >conftest.$ac_ext <<_ACEOF | ||
26030 | /* confdefs.h. */ | ||
26031 | _ACEOF | ||
26032 | cat confdefs.h >>conftest.$ac_ext | ||
26033 | cat >>conftest.$ac_ext <<_ACEOF | ||
26034 | /* end confdefs.h. */ | ||
26035 | $ac_includes_default | ||
26036 | typedef long int ac__type_sizeof_; | ||
26037 | int | ||
26038 | main () | ||
26039 | { | ||
26040 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; | ||
26041 | test_array [0] = 0 | ||
26042 | 14097 | ||
26043 | ; | ||
26044 | return 0; | ||
26045 | } | ||
26046 | _ACEOF | ||
26047 | rm -f conftest.$ac_objext | ||
26048 | if { (ac_try="$ac_compile" | ||
26049 | case "(($ac_try" in | ||
26050 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26051 | *) ac_try_echo=$ac_try;; | ||
26052 | esac | ||
26053 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26054 | (eval "$ac_compile") 2>conftest.er1 | ||
26055 | ac_status=$? | ||
26056 | grep -v '^ *+' conftest.er1 >conftest.err | ||
26057 | rm -f conftest.er1 | ||
26058 | cat conftest.err >&5 | ||
26059 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26060 | (exit $ac_status); } && { | ||
26061 | test -z "$ac_c_werror_flag" || | ||
26062 | test ! -s conftest.err | ||
26063 | } && test -s conftest.$ac_objext; then | ||
26064 | ac_lo=0 ac_mid=0 | ||
26065 | while :; do | ||
26066 | cat >conftest.$ac_ext <<_ACEOF | ||
26067 | /* confdefs.h. */ | ||
26068 | _ACEOF | ||
26069 | cat confdefs.h >>conftest.$ac_ext | ||
26070 | cat >>conftest.$ac_ext <<_ACEOF | ||
26071 | /* end confdefs.h. */ | ||
26072 | $ac_includes_default | ||
26073 | typedef long int ac__type_sizeof_; | ||
26074 | int | ||
26075 | main () | ||
26076 | { | ||
26077 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; | ||
26078 | test_array [0] = 0 | ||
26079 | |||
26080 | ; | ||
26081 | return 0; | ||
26082 | } | ||
26083 | _ACEOF | ||
26084 | rm -f conftest.$ac_objext | ||
26085 | if { (ac_try="$ac_compile" | ||
26086 | case "(($ac_try" in | ||
26087 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26088 | *) ac_try_echo=$ac_try;; | ||
26089 | esac | ||
26090 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26091 | (eval "$ac_compile") 2>conftest.er1 | ||
26092 | ac_status=$? | ||
26093 | grep -v '^ *+' conftest.er1 >conftest.err | ||
26094 | rm -f conftest.er1 | ||
26095 | cat conftest.err >&5 | ||
26096 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26097 | (exit $ac_status); } && { | ||
26098 | test -z "$ac_c_werror_flag" || | ||
26099 | test ! -s conftest.err | ||
26100 | } && test -s conftest.$ac_objext; then | ||
26101 | ac_hi=$ac_mid; break | ||
26102 | else | ||
26103 | echo "$as_me: failed program was:" >&5 | ||
26104 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26105 | |||
26106 | ac_lo=`expr $ac_mid + 1` | ||
26107 | if test $ac_lo -le $ac_mid; then | ||
26108 | ac_lo= ac_hi= | ||
26109 | break | ||
26110 | fi | ||
26111 | ac_mid=`expr 2 '*' $ac_mid + 1` | ||
26112 | fi | ||
26113 | |||
26114 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
26115 | done | ||
26116 | else | ||
26117 | echo "$as_me: failed program was:" >&5 | ||
26118 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26119 | |||
26120 | cat >conftest.$ac_ext <<_ACEOF | ||
26121 | /* confdefs.h. */ | ||
26122 | _ACEOF | ||
26123 | cat confdefs.h >>conftest.$ac_ext | ||
26124 | cat >>conftest.$ac_ext <<_ACEOF | ||
26125 | /* end confdefs.h. */ | ||
26126 | $ac_includes_default | ||
26127 | typedef long int ac__type_sizeof_; | ||
26128 | int | ||
26129 | main () | ||
26130 | { | ||
26131 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; | ||
26132 | test_array [0] = 0 | ||
26133 | |||
26134 | ; | ||
26135 | return 0; | ||
26136 | } | ||
26137 | _ACEOF | ||
26138 | rm -f conftest.$ac_objext | ||
26139 | if { (ac_try="$ac_compile" | ||
26140 | case "(($ac_try" in | ||
26141 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26142 | *) ac_try_echo=$ac_try;; | ||
26143 | esac | ||
26144 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26145 | (eval "$ac_compile") 2>conftest.er1 | ||
26146 | ac_status=$? | ||
26147 | grep -v '^ *+' conftest.er1 >conftest.err | ||
26148 | rm -f conftest.er1 | ||
26149 | cat conftest.err >&5 | ||
26150 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26151 | (exit $ac_status); } && { | ||
26152 | test -z "$ac_c_werror_flag" || | ||
26153 | test ! -s conftest.err | ||
26154 | } && test -s conftest.$ac_objext; then | ||
26155 | ac_hi=-1 ac_mid=-1 | ||
26156 | while :; do | ||
26157 | cat >conftest.$ac_ext <<_ACEOF | ||
26158 | /* confdefs.h. */ | ||
26159 | _ACEOF | ||
26160 | cat confdefs.h >>conftest.$ac_ext | ||
26161 | cat >>conftest.$ac_ext <<_ACEOF | ||
26162 | /* end confdefs.h. */ | ||
26163 | $ac_includes_default | ||
26164 | typedef long int ac__type_sizeof_; | ||
26165 | int | ||
26166 | main () | ||
26167 | { | ||
26168 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; | ||
26169 | test_array [0] = 0 | ||
26170 | |||
26171 | ; | ||
26172 | return 0; | ||
26173 | } | ||
26174 | _ACEOF | ||
26175 | rm -f conftest.$ac_objext | ||
26176 | if { (ac_try="$ac_compile" | ||
26177 | case "(($ac_try" in | ||
26178 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26179 | *) ac_try_echo=$ac_try;; | ||
26180 | esac | ||
26181 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26182 | (eval "$ac_compile") 2>conftest.er1 | ||
26183 | ac_status=$? | ||
26184 | grep -v '^ *+' conftest.er1 >conftest.err | ||
26185 | rm -f conftest.er1 | ||
26186 | cat conftest.err >&5 | ||
26187 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26188 | (exit $ac_status); } && { | ||
26189 | test -z "$ac_c_werror_flag" || | ||
26190 | test ! -s conftest.err | ||
26191 | } && test -s conftest.$ac_objext; then | ||
26192 | ac_lo=$ac_mid; break | ||
26193 | else | ||
26194 | echo "$as_me: failed program was:" >&5 | ||
26195 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26196 | |||
26197 | ac_hi=`expr '(' $ac_mid ')' - 1` | ||
26198 | if test $ac_mid -le $ac_hi; then | ||
26199 | ac_lo= ac_hi= | ||
26200 | break | ||
26201 | fi | ||
26202 | ac_mid=`expr 2 '*' $ac_mid` | ||
26203 | fi | ||
26204 | |||
26205 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
26206 | done | ||
26207 | else | 14098 | else |
26208 | echo "$as_me: failed program was:" >&5 | 14099 | if test "$ac_cv_type_long_int" = yes; then |
26209 | sed 's/^/| /' conftest.$ac_ext >&5 | 14100 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
26210 | 14101 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | |
26211 | ac_lo= ac_hi= | 14102 | as_fn_error 77 "cannot compute sizeof (long int) |
26212 | fi | 14103 | See \`config.log' for more details" "$LINENO" 5; } |
26213 | |||
26214 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
26215 | fi | ||
26216 | |||
26217 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
26218 | # Binary search between lo and hi bounds. | ||
26219 | while test "x$ac_lo" != "x$ac_hi"; do | ||
26220 | ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` | ||
26221 | cat >conftest.$ac_ext <<_ACEOF | ||
26222 | /* confdefs.h. */ | ||
26223 | _ACEOF | ||
26224 | cat confdefs.h >>conftest.$ac_ext | ||
26225 | cat >>conftest.$ac_ext <<_ACEOF | ||
26226 | /* end confdefs.h. */ | ||
26227 | $ac_includes_default | ||
26228 | typedef long int ac__type_sizeof_; | ||
26229 | int | ||
26230 | main () | ||
26231 | { | ||
26232 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; | ||
26233 | test_array [0] = 0 | ||
26234 | |||
26235 | ; | ||
26236 | return 0; | ||
26237 | } | ||
26238 | _ACEOF | ||
26239 | rm -f conftest.$ac_objext | ||
26240 | if { (ac_try="$ac_compile" | ||
26241 | case "(($ac_try" in | ||
26242 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26243 | *) ac_try_echo=$ac_try;; | ||
26244 | esac | ||
26245 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26246 | (eval "$ac_compile") 2>conftest.er1 | ||
26247 | ac_status=$? | ||
26248 | grep -v '^ *+' conftest.er1 >conftest.err | ||
26249 | rm -f conftest.er1 | ||
26250 | cat conftest.err >&5 | ||
26251 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26252 | (exit $ac_status); } && { | ||
26253 | test -z "$ac_c_werror_flag" || | ||
26254 | test ! -s conftest.err | ||
26255 | } && test -s conftest.$ac_objext; then | ||
26256 | ac_hi=$ac_mid | ||
26257 | else | ||
26258 | echo "$as_me: failed program was:" >&5 | ||
26259 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26260 | |||
26261 | ac_lo=`expr '(' $ac_mid ')' + 1` | ||
26262 | fi | ||
26263 | |||
26264 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
26265 | done | ||
26266 | case $ac_lo in | ||
26267 | ?*) ac_cv_sizeof_long_int=$ac_lo;; | ||
26268 | '') if test "$ac_cv_type_long_int" = yes; then | ||
26269 | { { echo "$as_me:$LINENO: error: cannot compute sizeof (long int) | ||
26270 | See \`config.log' for more details." >&5 | ||
26271 | echo "$as_me: error: cannot compute sizeof (long int) | ||
26272 | See \`config.log' for more details." >&2;} | ||
26273 | { (exit 77); exit 77; }; } | ||
26274 | else | ||
26275 | ac_cv_sizeof_long_int=0 | ||
26276 | fi ;; | ||
26277 | esac | ||
26278 | else | ||
26279 | cat >conftest.$ac_ext <<_ACEOF | ||
26280 | /* confdefs.h. */ | ||
26281 | _ACEOF | ||
26282 | cat confdefs.h >>conftest.$ac_ext | ||
26283 | cat >>conftest.$ac_ext <<_ACEOF | ||
26284 | /* end confdefs.h. */ | ||
26285 | $ac_includes_default | ||
26286 | typedef long int ac__type_sizeof_; | ||
26287 | static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } | ||
26288 | static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } | ||
26289 | #include <stdio.h> | ||
26290 | #include <stdlib.h> | ||
26291 | int | ||
26292 | main () | ||
26293 | { | ||
26294 | |||
26295 | FILE *f = fopen ("conftest.val", "w"); | ||
26296 | if (! f) | ||
26297 | return 1; | ||
26298 | if (((long int) (sizeof (ac__type_sizeof_))) < 0) | ||
26299 | { | ||
26300 | long int i = longval (); | ||
26301 | if (i != ((long int) (sizeof (ac__type_sizeof_)))) | ||
26302 | return 1; | ||
26303 | fprintf (f, "%ld\n", i); | ||
26304 | } | ||
26305 | else | ||
26306 | { | ||
26307 | unsigned long int i = ulongval (); | ||
26308 | if (i != ((long int) (sizeof (ac__type_sizeof_)))) | ||
26309 | return 1; | ||
26310 | fprintf (f, "%lu\n", i); | ||
26311 | } | ||
26312 | return ferror (f) || fclose (f) != 0; | ||
26313 | |||
26314 | ; | ||
26315 | return 0; | ||
26316 | } | ||
26317 | _ACEOF | ||
26318 | rm -f conftest$ac_exeext | ||
26319 | if { (ac_try="$ac_link" | ||
26320 | case "(($ac_try" in | ||
26321 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26322 | *) ac_try_echo=$ac_try;; | ||
26323 | esac | ||
26324 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26325 | (eval "$ac_link") 2>&5 | ||
26326 | ac_status=$? | ||
26327 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26328 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
26329 | { (case "(($ac_try" in | ||
26330 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26331 | *) ac_try_echo=$ac_try;; | ||
26332 | esac | ||
26333 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26334 | (eval "$ac_try") 2>&5 | ||
26335 | ac_status=$? | ||
26336 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26337 | (exit $ac_status); }; }; then | ||
26338 | ac_cv_sizeof_long_int=`cat conftest.val` | ||
26339 | else | ||
26340 | echo "$as_me: program exited with status $ac_status" >&5 | ||
26341 | echo "$as_me: failed program was:" >&5 | ||
26342 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26343 | |||
26344 | ( exit $ac_status ) | ||
26345 | if test "$ac_cv_type_long_int" = yes; then | ||
26346 | { { echo "$as_me:$LINENO: error: cannot compute sizeof (long int) | ||
26347 | See \`config.log' for more details." >&5 | ||
26348 | echo "$as_me: error: cannot compute sizeof (long int) | ||
26349 | See \`config.log' for more details." >&2;} | ||
26350 | { (exit 77); exit 77; }; } | ||
26351 | else | 14104 | else |
26352 | ac_cv_sizeof_long_int=0 | 14105 | ac_cv_sizeof_long_int=0 |
26353 | fi | 14106 | fi |
26354 | fi | 14107 | fi |
26355 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 14108 | |
26356 | fi | ||
26357 | rm -f conftest.val | ||
26358 | fi | 14109 | fi |
26359 | { echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_int" >&5 | 14110 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_int" >&5 |
26360 | echo "${ECHO_T}$ac_cv_sizeof_long_int" >&6; } | 14111 | $as_echo "$ac_cv_sizeof_long_int" >&6; } |
26361 | 14112 | ||
26362 | 14113 | ||
26363 | 14114 | ||
@@ -26366,403 +14117,31 @@ cat >>confdefs.h <<_ACEOF | |||
26366 | _ACEOF | 14117 | _ACEOF |
26367 | 14118 | ||
26368 | 14119 | ||
26369 | { echo "$as_me:$LINENO: checking for long long int" >&5 | ||
26370 | echo $ECHO_N "checking for long long int... $ECHO_C" >&6; } | ||
26371 | if test "${ac_cv_type_long_long_int+set}" = set; then | ||
26372 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
26373 | else | ||
26374 | cat >conftest.$ac_ext <<_ACEOF | ||
26375 | /* confdefs.h. */ | ||
26376 | _ACEOF | ||
26377 | cat confdefs.h >>conftest.$ac_ext | ||
26378 | cat >>conftest.$ac_ext <<_ACEOF | ||
26379 | /* end confdefs.h. */ | ||
26380 | $ac_includes_default | ||
26381 | typedef long long int ac__type_new_; | ||
26382 | int | ||
26383 | main () | ||
26384 | { | ||
26385 | if ((ac__type_new_ *) 0) | ||
26386 | return 0; | ||
26387 | if (sizeof (ac__type_new_)) | ||
26388 | return 0; | ||
26389 | ; | ||
26390 | return 0; | ||
26391 | } | ||
26392 | _ACEOF | ||
26393 | rm -f conftest.$ac_objext | ||
26394 | if { (ac_try="$ac_compile" | ||
26395 | case "(($ac_try" in | ||
26396 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26397 | *) ac_try_echo=$ac_try;; | ||
26398 | esac | ||
26399 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26400 | (eval "$ac_compile") 2>conftest.er1 | ||
26401 | ac_status=$? | ||
26402 | grep -v '^ *+' conftest.er1 >conftest.err | ||
26403 | rm -f conftest.er1 | ||
26404 | cat conftest.err >&5 | ||
26405 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26406 | (exit $ac_status); } && { | ||
26407 | test -z "$ac_c_werror_flag" || | ||
26408 | test ! -s conftest.err | ||
26409 | } && test -s conftest.$ac_objext; then | ||
26410 | ac_cv_type_long_long_int=yes | ||
26411 | else | ||
26412 | echo "$as_me: failed program was:" >&5 | ||
26413 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26414 | |||
26415 | ac_cv_type_long_long_int=no | ||
26416 | fi | ||
26417 | |||
26418 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
26419 | fi | ||
26420 | { echo "$as_me:$LINENO: result: $ac_cv_type_long_long_int" >&5 | ||
26421 | echo "${ECHO_T}$ac_cv_type_long_long_int" >&6; } | ||
26422 | |||
26423 | # The cast to long int works around a bug in the HP C Compiler | 14120 | # The cast to long int works around a bug in the HP C Compiler |
26424 | # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects | 14121 | # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects |
26425 | # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. | 14122 | # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. |
26426 | # This bug is HP SR number 8606223364. | 14123 | # This bug is HP SR number 8606223364. |
26427 | { echo "$as_me:$LINENO: checking size of long long int" >&5 | 14124 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long int" >&5 |
26428 | echo $ECHO_N "checking size of long long int... $ECHO_C" >&6; } | 14125 | $as_echo_n "checking size of long long int... " >&6; } |
26429 | if test "${ac_cv_sizeof_long_long_int+set}" = set; then | 14126 | if ${ac_cv_sizeof_long_long_int+:} false; then : |
26430 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14127 | $as_echo_n "(cached) " >&6 |
26431 | else | ||
26432 | if test "$cross_compiling" = yes; then | ||
26433 | # Depending upon the size, compute the lo and hi bounds. | ||
26434 | cat >conftest.$ac_ext <<_ACEOF | ||
26435 | /* confdefs.h. */ | ||
26436 | _ACEOF | ||
26437 | cat confdefs.h >>conftest.$ac_ext | ||
26438 | cat >>conftest.$ac_ext <<_ACEOF | ||
26439 | /* end confdefs.h. */ | ||
26440 | $ac_includes_default | ||
26441 | typedef long long int ac__type_sizeof_; | ||
26442 | int | ||
26443 | main () | ||
26444 | { | ||
26445 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; | ||
26446 | test_array [0] = 0 | ||
26447 | |||
26448 | ; | ||
26449 | return 0; | ||
26450 | } | ||
26451 | _ACEOF | ||
26452 | rm -f conftest.$ac_objext | ||
26453 | if { (ac_try="$ac_compile" | ||
26454 | case "(($ac_try" in | ||
26455 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26456 | *) ac_try_echo=$ac_try;; | ||
26457 | esac | ||
26458 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26459 | (eval "$ac_compile") 2>conftest.er1 | ||
26460 | ac_status=$? | ||
26461 | grep -v '^ *+' conftest.er1 >conftest.err | ||
26462 | rm -f conftest.er1 | ||
26463 | cat conftest.err >&5 | ||
26464 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26465 | (exit $ac_status); } && { | ||
26466 | test -z "$ac_c_werror_flag" || | ||
26467 | test ! -s conftest.err | ||
26468 | } && test -s conftest.$ac_objext; then | ||
26469 | ac_lo=0 ac_mid=0 | ||
26470 | while :; do | ||
26471 | cat >conftest.$ac_ext <<_ACEOF | ||
26472 | /* confdefs.h. */ | ||
26473 | _ACEOF | ||
26474 | cat confdefs.h >>conftest.$ac_ext | ||
26475 | cat >>conftest.$ac_ext <<_ACEOF | ||
26476 | /* end confdefs.h. */ | ||
26477 | $ac_includes_default | ||
26478 | typedef long long int ac__type_sizeof_; | ||
26479 | int | ||
26480 | main () | ||
26481 | { | ||
26482 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; | ||
26483 | test_array [0] = 0 | ||
26484 | |||
26485 | ; | ||
26486 | return 0; | ||
26487 | } | ||
26488 | _ACEOF | ||
26489 | rm -f conftest.$ac_objext | ||
26490 | if { (ac_try="$ac_compile" | ||
26491 | case "(($ac_try" in | ||
26492 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26493 | *) ac_try_echo=$ac_try;; | ||
26494 | esac | ||
26495 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26496 | (eval "$ac_compile") 2>conftest.er1 | ||
26497 | ac_status=$? | ||
26498 | grep -v '^ *+' conftest.er1 >conftest.err | ||
26499 | rm -f conftest.er1 | ||
26500 | cat conftest.err >&5 | ||
26501 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26502 | (exit $ac_status); } && { | ||
26503 | test -z "$ac_c_werror_flag" || | ||
26504 | test ! -s conftest.err | ||
26505 | } && test -s conftest.$ac_objext; then | ||
26506 | ac_hi=$ac_mid; break | ||
26507 | else | 14128 | else |
26508 | echo "$as_me: failed program was:" >&5 | 14129 | if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long int))" "ac_cv_sizeof_long_long_int" "$ac_includes_default"; then : |
26509 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26510 | 14130 | ||
26511 | ac_lo=`expr $ac_mid + 1` | ||
26512 | if test $ac_lo -le $ac_mid; then | ||
26513 | ac_lo= ac_hi= | ||
26514 | break | ||
26515 | fi | ||
26516 | ac_mid=`expr 2 '*' $ac_mid + 1` | ||
26517 | fi | ||
26518 | |||
26519 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
26520 | done | ||
26521 | else | 14131 | else |
26522 | echo "$as_me: failed program was:" >&5 | 14132 | if test "$ac_cv_type_long_long_int" = yes; then |
26523 | sed 's/^/| /' conftest.$ac_ext >&5 | 14133 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
26524 | 14134 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | |
26525 | cat >conftest.$ac_ext <<_ACEOF | 14135 | as_fn_error 77 "cannot compute sizeof (long long int) |
26526 | /* confdefs.h. */ | 14136 | See \`config.log' for more details" "$LINENO" 5; } |
26527 | _ACEOF | ||
26528 | cat confdefs.h >>conftest.$ac_ext | ||
26529 | cat >>conftest.$ac_ext <<_ACEOF | ||
26530 | /* end confdefs.h. */ | ||
26531 | $ac_includes_default | ||
26532 | typedef long long int ac__type_sizeof_; | ||
26533 | int | ||
26534 | main () | ||
26535 | { | ||
26536 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; | ||
26537 | test_array [0] = 0 | ||
26538 | |||
26539 | ; | ||
26540 | return 0; | ||
26541 | } | ||
26542 | _ACEOF | ||
26543 | rm -f conftest.$ac_objext | ||
26544 | if { (ac_try="$ac_compile" | ||
26545 | case "(($ac_try" in | ||
26546 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26547 | *) ac_try_echo=$ac_try;; | ||
26548 | esac | ||
26549 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26550 | (eval "$ac_compile") 2>conftest.er1 | ||
26551 | ac_status=$? | ||
26552 | grep -v '^ *+' conftest.er1 >conftest.err | ||
26553 | rm -f conftest.er1 | ||
26554 | cat conftest.err >&5 | ||
26555 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26556 | (exit $ac_status); } && { | ||
26557 | test -z "$ac_c_werror_flag" || | ||
26558 | test ! -s conftest.err | ||
26559 | } && test -s conftest.$ac_objext; then | ||
26560 | ac_hi=-1 ac_mid=-1 | ||
26561 | while :; do | ||
26562 | cat >conftest.$ac_ext <<_ACEOF | ||
26563 | /* confdefs.h. */ | ||
26564 | _ACEOF | ||
26565 | cat confdefs.h >>conftest.$ac_ext | ||
26566 | cat >>conftest.$ac_ext <<_ACEOF | ||
26567 | /* end confdefs.h. */ | ||
26568 | $ac_includes_default | ||
26569 | typedef long long int ac__type_sizeof_; | ||
26570 | int | ||
26571 | main () | ||
26572 | { | ||
26573 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; | ||
26574 | test_array [0] = 0 | ||
26575 | |||
26576 | ; | ||
26577 | return 0; | ||
26578 | } | ||
26579 | _ACEOF | ||
26580 | rm -f conftest.$ac_objext | ||
26581 | if { (ac_try="$ac_compile" | ||
26582 | case "(($ac_try" in | ||
26583 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26584 | *) ac_try_echo=$ac_try;; | ||
26585 | esac | ||
26586 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26587 | (eval "$ac_compile") 2>conftest.er1 | ||
26588 | ac_status=$? | ||
26589 | grep -v '^ *+' conftest.er1 >conftest.err | ||
26590 | rm -f conftest.er1 | ||
26591 | cat conftest.err >&5 | ||
26592 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26593 | (exit $ac_status); } && { | ||
26594 | test -z "$ac_c_werror_flag" || | ||
26595 | test ! -s conftest.err | ||
26596 | } && test -s conftest.$ac_objext; then | ||
26597 | ac_lo=$ac_mid; break | ||
26598 | else | ||
26599 | echo "$as_me: failed program was:" >&5 | ||
26600 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26601 | |||
26602 | ac_hi=`expr '(' $ac_mid ')' - 1` | ||
26603 | if test $ac_mid -le $ac_hi; then | ||
26604 | ac_lo= ac_hi= | ||
26605 | break | ||
26606 | fi | ||
26607 | ac_mid=`expr 2 '*' $ac_mid` | ||
26608 | fi | ||
26609 | |||
26610 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
26611 | done | ||
26612 | else | ||
26613 | echo "$as_me: failed program was:" >&5 | ||
26614 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26615 | |||
26616 | ac_lo= ac_hi= | ||
26617 | fi | ||
26618 | |||
26619 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
26620 | fi | ||
26621 | |||
26622 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
26623 | # Binary search between lo and hi bounds. | ||
26624 | while test "x$ac_lo" != "x$ac_hi"; do | ||
26625 | ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` | ||
26626 | cat >conftest.$ac_ext <<_ACEOF | ||
26627 | /* confdefs.h. */ | ||
26628 | _ACEOF | ||
26629 | cat confdefs.h >>conftest.$ac_ext | ||
26630 | cat >>conftest.$ac_ext <<_ACEOF | ||
26631 | /* end confdefs.h. */ | ||
26632 | $ac_includes_default | ||
26633 | typedef long long int ac__type_sizeof_; | ||
26634 | int | ||
26635 | main () | ||
26636 | { | ||
26637 | static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; | ||
26638 | test_array [0] = 0 | ||
26639 | |||
26640 | ; | ||
26641 | return 0; | ||
26642 | } | ||
26643 | _ACEOF | ||
26644 | rm -f conftest.$ac_objext | ||
26645 | if { (ac_try="$ac_compile" | ||
26646 | case "(($ac_try" in | ||
26647 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26648 | *) ac_try_echo=$ac_try;; | ||
26649 | esac | ||
26650 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26651 | (eval "$ac_compile") 2>conftest.er1 | ||
26652 | ac_status=$? | ||
26653 | grep -v '^ *+' conftest.er1 >conftest.err | ||
26654 | rm -f conftest.er1 | ||
26655 | cat conftest.err >&5 | ||
26656 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26657 | (exit $ac_status); } && { | ||
26658 | test -z "$ac_c_werror_flag" || | ||
26659 | test ! -s conftest.err | ||
26660 | } && test -s conftest.$ac_objext; then | ||
26661 | ac_hi=$ac_mid | ||
26662 | else | ||
26663 | echo "$as_me: failed program was:" >&5 | ||
26664 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26665 | |||
26666 | ac_lo=`expr '(' $ac_mid ')' + 1` | ||
26667 | fi | ||
26668 | |||
26669 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
26670 | done | ||
26671 | case $ac_lo in | ||
26672 | ?*) ac_cv_sizeof_long_long_int=$ac_lo;; | ||
26673 | '') if test "$ac_cv_type_long_long_int" = yes; then | ||
26674 | { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long int) | ||
26675 | See \`config.log' for more details." >&5 | ||
26676 | echo "$as_me: error: cannot compute sizeof (long long int) | ||
26677 | See \`config.log' for more details." >&2;} | ||
26678 | { (exit 77); exit 77; }; } | ||
26679 | else | ||
26680 | ac_cv_sizeof_long_long_int=0 | ||
26681 | fi ;; | ||
26682 | esac | ||
26683 | else | ||
26684 | cat >conftest.$ac_ext <<_ACEOF | ||
26685 | /* confdefs.h. */ | ||
26686 | _ACEOF | ||
26687 | cat confdefs.h >>conftest.$ac_ext | ||
26688 | cat >>conftest.$ac_ext <<_ACEOF | ||
26689 | /* end confdefs.h. */ | ||
26690 | $ac_includes_default | ||
26691 | typedef long long int ac__type_sizeof_; | ||
26692 | static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } | ||
26693 | static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } | ||
26694 | #include <stdio.h> | ||
26695 | #include <stdlib.h> | ||
26696 | int | ||
26697 | main () | ||
26698 | { | ||
26699 | |||
26700 | FILE *f = fopen ("conftest.val", "w"); | ||
26701 | if (! f) | ||
26702 | return 1; | ||
26703 | if (((long int) (sizeof (ac__type_sizeof_))) < 0) | ||
26704 | { | ||
26705 | long int i = longval (); | ||
26706 | if (i != ((long int) (sizeof (ac__type_sizeof_)))) | ||
26707 | return 1; | ||
26708 | fprintf (f, "%ld\n", i); | ||
26709 | } | ||
26710 | else | ||
26711 | { | ||
26712 | unsigned long int i = ulongval (); | ||
26713 | if (i != ((long int) (sizeof (ac__type_sizeof_)))) | ||
26714 | return 1; | ||
26715 | fprintf (f, "%lu\n", i); | ||
26716 | } | ||
26717 | return ferror (f) || fclose (f) != 0; | ||
26718 | |||
26719 | ; | ||
26720 | return 0; | ||
26721 | } | ||
26722 | _ACEOF | ||
26723 | rm -f conftest$ac_exeext | ||
26724 | if { (ac_try="$ac_link" | ||
26725 | case "(($ac_try" in | ||
26726 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26727 | *) ac_try_echo=$ac_try;; | ||
26728 | esac | ||
26729 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26730 | (eval "$ac_link") 2>&5 | ||
26731 | ac_status=$? | ||
26732 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26733 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
26734 | { (case "(($ac_try" in | ||
26735 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26736 | *) ac_try_echo=$ac_try;; | ||
26737 | esac | ||
26738 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26739 | (eval "$ac_try") 2>&5 | ||
26740 | ac_status=$? | ||
26741 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26742 | (exit $ac_status); }; }; then | ||
26743 | ac_cv_sizeof_long_long_int=`cat conftest.val` | ||
26744 | else | ||
26745 | echo "$as_me: program exited with status $ac_status" >&5 | ||
26746 | echo "$as_me: failed program was:" >&5 | ||
26747 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26748 | |||
26749 | ( exit $ac_status ) | ||
26750 | if test "$ac_cv_type_long_long_int" = yes; then | ||
26751 | { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long int) | ||
26752 | See \`config.log' for more details." >&5 | ||
26753 | echo "$as_me: error: cannot compute sizeof (long long int) | ||
26754 | See \`config.log' for more details." >&2;} | ||
26755 | { (exit 77); exit 77; }; } | ||
26756 | else | 14137 | else |
26757 | ac_cv_sizeof_long_long_int=0 | 14138 | ac_cv_sizeof_long_long_int=0 |
26758 | fi | 14139 | fi |
26759 | fi | 14140 | fi |
26760 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 14141 | |
26761 | fi | ||
26762 | rm -f conftest.val | ||
26763 | fi | 14142 | fi |
26764 | { echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long_int" >&5 | 14143 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long_int" >&5 |
26765 | echo "${ECHO_T}$ac_cv_sizeof_long_long_int" >&6; } | 14144 | $as_echo "$ac_cv_sizeof_long_long_int" >&6; } |
26766 | 14145 | ||
26767 | 14146 | ||
26768 | 14147 | ||
@@ -26779,20 +14158,16 @@ fi | |||
26779 | 14158 | ||
26780 | # compute LLONG_MIN and LLONG_MAX if we don't know them. | 14159 | # compute LLONG_MIN and LLONG_MAX if we don't know them. |
26781 | if test -z "$have_llong_max"; then | 14160 | if test -z "$have_llong_max"; then |
26782 | { echo "$as_me:$LINENO: checking for max value of long long" >&5 | 14161 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for max value of long long" >&5 |
26783 | echo $ECHO_N "checking for max value of long long... $ECHO_C" >&6; } | 14162 | $as_echo_n "checking for max value of long long... " >&6; } |
26784 | if test "$cross_compiling" = yes; then | 14163 | if test "$cross_compiling" = yes; then : |
26785 | 14164 | ||
26786 | { echo "$as_me:$LINENO: WARNING: cross compiling: not checking" >&5 | 14165 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5 |
26787 | echo "$as_me: WARNING: cross compiling: not checking" >&2;} | 14166 | $as_echo "$as_me: WARNING: cross compiling: not checking" >&2;} |
26788 | 14167 | ||
26789 | 14168 | ||
26790 | else | 14169 | else |
26791 | cat >conftest.$ac_ext <<_ACEOF | 14170 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
26792 | /* confdefs.h. */ | ||
26793 | _ACEOF | ||
26794 | cat confdefs.h >>conftest.$ac_ext | ||
26795 | cat >>conftest.$ac_ext <<_ACEOF | ||
26796 | /* end confdefs.h. */ | 14171 | /* end confdefs.h. */ |
26797 | 14172 | ||
26798 | #include <stdio.h> | 14173 | #include <stdio.h> |
@@ -26873,41 +14248,22 @@ main () | |||
26873 | return 0; | 14248 | return 0; |
26874 | } | 14249 | } |
26875 | _ACEOF | 14250 | _ACEOF |
26876 | rm -f conftest$ac_exeext | 14251 | if ac_fn_c_try_run "$LINENO"; then : |
26877 | if { (ac_try="$ac_link" | ||
26878 | case "(($ac_try" in | ||
26879 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26880 | *) ac_try_echo=$ac_try;; | ||
26881 | esac | ||
26882 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26883 | (eval "$ac_link") 2>&5 | ||
26884 | ac_status=$? | ||
26885 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26886 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
26887 | { (case "(($ac_try" in | ||
26888 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26889 | *) ac_try_echo=$ac_try;; | ||
26890 | esac | ||
26891 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26892 | (eval "$ac_try") 2>&5 | ||
26893 | ac_status=$? | ||
26894 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26895 | (exit $ac_status); }; }; then | ||
26896 | 14252 | ||
26897 | llong_min=`$AWK '{print $1}' conftest.llminmax` | 14253 | llong_min=`$AWK '{print $1}' conftest.llminmax` |
26898 | llong_max=`$AWK '{print $2}' conftest.llminmax` | 14254 | llong_max=`$AWK '{print $2}' conftest.llminmax` |
26899 | 14255 | ||
26900 | { echo "$as_me:$LINENO: result: $llong_max" >&5 | 14256 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $llong_max" >&5 |
26901 | echo "${ECHO_T}$llong_max" >&6; } | 14257 | $as_echo "$llong_max" >&6; } |
26902 | 14258 | ||
26903 | cat >>confdefs.h <<_ACEOF | 14259 | cat >>confdefs.h <<_ACEOF |
26904 | #define LLONG_MAX ${llong_max}LL | 14260 | #define LLONG_MAX ${llong_max}LL |
26905 | _ACEOF | 14261 | _ACEOF |
26906 | 14262 | ||
26907 | { echo "$as_me:$LINENO: checking for min value of long long" >&5 | 14263 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for min value of long long" >&5 |
26908 | echo $ECHO_N "checking for min value of long long... $ECHO_C" >&6; } | 14264 | $as_echo_n "checking for min value of long long... " >&6; } |
26909 | { echo "$as_me:$LINENO: result: $llong_min" >&5 | 14265 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $llong_min" >&5 |
26910 | echo "${ECHO_T}$llong_min" >&6; } | 14266 | $as_echo "$llong_min" >&6; } |
26911 | 14267 | ||
26912 | cat >>confdefs.h <<_ACEOF | 14268 | cat >>confdefs.h <<_ACEOF |
26913 | #define LLONG_MIN ${llong_min}LL | 14269 | #define LLONG_MIN ${llong_min}LL |
@@ -26915,35 +14271,26 @@ _ACEOF | |||
26915 | 14271 | ||
26916 | 14272 | ||
26917 | else | 14273 | else |
26918 | echo "$as_me: program exited with status $ac_status" >&5 | ||
26919 | echo "$as_me: failed program was:" >&5 | ||
26920 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26921 | |||
26922 | ( exit $ac_status ) | ||
26923 | 14274 | ||
26924 | { echo "$as_me:$LINENO: result: not found" >&5 | 14275 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 |
26925 | echo "${ECHO_T}not found" >&6; } | 14276 | $as_echo "not found" >&6; } |
26926 | 14277 | ||
26927 | fi | 14278 | fi |
26928 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 14279 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
14280 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
26929 | fi | 14281 | fi |
26930 | 14282 | ||
26931 | |||
26932 | fi | 14283 | fi |
26933 | 14284 | ||
26934 | 14285 | ||
26935 | # More checks for data types | 14286 | # More checks for data types |
26936 | { echo "$as_me:$LINENO: checking for u_int type" >&5 | 14287 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int type" >&5 |
26937 | echo $ECHO_N "checking for u_int type... $ECHO_C" >&6; } | 14288 | $as_echo_n "checking for u_int type... " >&6; } |
26938 | if test "${ac_cv_have_u_int+set}" = set; then | 14289 | if ${ac_cv_have_u_int+:} false; then : |
26939 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14290 | $as_echo_n "(cached) " >&6 |
26940 | else | 14291 | else |
26941 | 14292 | ||
26942 | cat >conftest.$ac_ext <<_ACEOF | 14293 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
26943 | /* confdefs.h. */ | ||
26944 | _ACEOF | ||
26945 | cat confdefs.h >>conftest.$ac_ext | ||
26946 | cat >>conftest.$ac_ext <<_ACEOF | ||
26947 | /* end confdefs.h. */ | 14294 | /* end confdefs.h. */ |
26948 | #include <sys/types.h> | 14295 | #include <sys/types.h> |
26949 | int | 14296 | int |
@@ -26954,57 +14301,31 @@ main () | |||
26954 | return 0; | 14301 | return 0; |
26955 | } | 14302 | } |
26956 | _ACEOF | 14303 | _ACEOF |
26957 | rm -f conftest.$ac_objext | 14304 | if ac_fn_c_try_compile "$LINENO"; then : |
26958 | if { (ac_try="$ac_compile" | ||
26959 | case "(($ac_try" in | ||
26960 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
26961 | *) ac_try_echo=$ac_try;; | ||
26962 | esac | ||
26963 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
26964 | (eval "$ac_compile") 2>conftest.er1 | ||
26965 | ac_status=$? | ||
26966 | grep -v '^ *+' conftest.er1 >conftest.err | ||
26967 | rm -f conftest.er1 | ||
26968 | cat conftest.err >&5 | ||
26969 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
26970 | (exit $ac_status); } && { | ||
26971 | test -z "$ac_c_werror_flag" || | ||
26972 | test ! -s conftest.err | ||
26973 | } && test -s conftest.$ac_objext; then | ||
26974 | ac_cv_have_u_int="yes" | 14305 | ac_cv_have_u_int="yes" |
26975 | else | 14306 | else |
26976 | echo "$as_me: failed program was:" >&5 | 14307 | ac_cv_have_u_int="no" |
26977 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
26978 | |||
26979 | ac_cv_have_u_int="no" | ||
26980 | 14308 | ||
26981 | fi | 14309 | fi |
26982 | |||
26983 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14310 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
26984 | 14311 | ||
26985 | fi | 14312 | fi |
26986 | { echo "$as_me:$LINENO: result: $ac_cv_have_u_int" >&5 | 14313 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_int" >&5 |
26987 | echo "${ECHO_T}$ac_cv_have_u_int" >&6; } | 14314 | $as_echo "$ac_cv_have_u_int" >&6; } |
26988 | if test "x$ac_cv_have_u_int" = "xyes" ; then | 14315 | if test "x$ac_cv_have_u_int" = "xyes" ; then |
26989 | 14316 | ||
26990 | cat >>confdefs.h <<\_ACEOF | 14317 | $as_echo "#define HAVE_U_INT 1" >>confdefs.h |
26991 | #define HAVE_U_INT 1 | ||
26992 | _ACEOF | ||
26993 | 14318 | ||
26994 | have_u_int=1 | 14319 | have_u_int=1 |
26995 | fi | 14320 | fi |
26996 | 14321 | ||
26997 | { echo "$as_me:$LINENO: checking for intXX_t types" >&5 | 14322 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t types" >&5 |
26998 | echo $ECHO_N "checking for intXX_t types... $ECHO_C" >&6; } | 14323 | $as_echo_n "checking for intXX_t types... " >&6; } |
26999 | if test "${ac_cv_have_intxx_t+set}" = set; then | 14324 | if ${ac_cv_have_intxx_t+:} false; then : |
27000 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14325 | $as_echo_n "(cached) " >&6 |
27001 | else | 14326 | else |
27002 | 14327 | ||
27003 | cat >conftest.$ac_ext <<_ACEOF | 14328 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
27004 | /* confdefs.h. */ | ||
27005 | _ACEOF | ||
27006 | cat confdefs.h >>conftest.$ac_ext | ||
27007 | cat >>conftest.$ac_ext <<_ACEOF | ||
27008 | /* end confdefs.h. */ | 14329 | /* end confdefs.h. */ |
27009 | #include <sys/types.h> | 14330 | #include <sys/types.h> |
27010 | int | 14331 | int |
@@ -27015,42 +14336,20 @@ main () | |||
27015 | return 0; | 14336 | return 0; |
27016 | } | 14337 | } |
27017 | _ACEOF | 14338 | _ACEOF |
27018 | rm -f conftest.$ac_objext | 14339 | if ac_fn_c_try_compile "$LINENO"; then : |
27019 | if { (ac_try="$ac_compile" | ||
27020 | case "(($ac_try" in | ||
27021 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27022 | *) ac_try_echo=$ac_try;; | ||
27023 | esac | ||
27024 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27025 | (eval "$ac_compile") 2>conftest.er1 | ||
27026 | ac_status=$? | ||
27027 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27028 | rm -f conftest.er1 | ||
27029 | cat conftest.err >&5 | ||
27030 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27031 | (exit $ac_status); } && { | ||
27032 | test -z "$ac_c_werror_flag" || | ||
27033 | test ! -s conftest.err | ||
27034 | } && test -s conftest.$ac_objext; then | ||
27035 | ac_cv_have_intxx_t="yes" | 14340 | ac_cv_have_intxx_t="yes" |
27036 | else | 14341 | else |
27037 | echo "$as_me: failed program was:" >&5 | 14342 | ac_cv_have_intxx_t="no" |
27038 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
27039 | |||
27040 | ac_cv_have_intxx_t="no" | ||
27041 | 14343 | ||
27042 | fi | 14344 | fi |
27043 | |||
27044 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14345 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
27045 | 14346 | ||
27046 | fi | 14347 | fi |
27047 | { echo "$as_me:$LINENO: result: $ac_cv_have_intxx_t" >&5 | 14348 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_intxx_t" >&5 |
27048 | echo "${ECHO_T}$ac_cv_have_intxx_t" >&6; } | 14349 | $as_echo "$ac_cv_have_intxx_t" >&6; } |
27049 | if test "x$ac_cv_have_intxx_t" = "xyes" ; then | 14350 | if test "x$ac_cv_have_intxx_t" = "xyes" ; then |
27050 | 14351 | ||
27051 | cat >>confdefs.h <<\_ACEOF | 14352 | $as_echo "#define HAVE_INTXX_T 1" >>confdefs.h |
27052 | #define HAVE_INTXX_T 1 | ||
27053 | _ACEOF | ||
27054 | 14353 | ||
27055 | have_intxx_t=1 | 14354 | have_intxx_t=1 |
27056 | fi | 14355 | fi |
@@ -27058,13 +14357,9 @@ fi | |||
27058 | if (test -z "$have_intxx_t" && \ | 14357 | if (test -z "$have_intxx_t" && \ |
27059 | test "x$ac_cv_header_stdint_h" = "xyes") | 14358 | test "x$ac_cv_header_stdint_h" = "xyes") |
27060 | then | 14359 | then |
27061 | { echo "$as_me:$LINENO: checking for intXX_t types in stdint.h" >&5 | 14360 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t types in stdint.h" >&5 |
27062 | echo $ECHO_N "checking for intXX_t types in stdint.h... $ECHO_C" >&6; } | 14361 | $as_echo_n "checking for intXX_t types in stdint.h... " >&6; } |
27063 | cat >conftest.$ac_ext <<_ACEOF | 14362 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
27064 | /* confdefs.h. */ | ||
27065 | _ACEOF | ||
27066 | cat confdefs.h >>conftest.$ac_ext | ||
27067 | cat >>conftest.$ac_ext <<_ACEOF | ||
27068 | /* end confdefs.h. */ | 14363 | /* end confdefs.h. */ |
27069 | #include <stdint.h> | 14364 | #include <stdint.h> |
27070 | int | 14365 | int |
@@ -27075,54 +14370,28 @@ main () | |||
27075 | return 0; | 14370 | return 0; |
27076 | } | 14371 | } |
27077 | _ACEOF | 14372 | _ACEOF |
27078 | rm -f conftest.$ac_objext | 14373 | if ac_fn_c_try_compile "$LINENO"; then : |
27079 | if { (ac_try="$ac_compile" | ||
27080 | case "(($ac_try" in | ||
27081 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27082 | *) ac_try_echo=$ac_try;; | ||
27083 | esac | ||
27084 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27085 | (eval "$ac_compile") 2>conftest.er1 | ||
27086 | ac_status=$? | ||
27087 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27088 | rm -f conftest.er1 | ||
27089 | cat conftest.err >&5 | ||
27090 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27091 | (exit $ac_status); } && { | ||
27092 | test -z "$ac_c_werror_flag" || | ||
27093 | test ! -s conftest.err | ||
27094 | } && test -s conftest.$ac_objext; then | ||
27095 | 14374 | ||
27096 | cat >>confdefs.h <<\_ACEOF | 14375 | $as_echo "#define HAVE_INTXX_T 1" >>confdefs.h |
27097 | #define HAVE_INTXX_T 1 | ||
27098 | _ACEOF | ||
27099 | 14376 | ||
27100 | { echo "$as_me:$LINENO: result: yes" >&5 | 14377 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
27101 | echo "${ECHO_T}yes" >&6; } | 14378 | $as_echo "yes" >&6; } |
27102 | 14379 | ||
27103 | else | 14380 | else |
27104 | echo "$as_me: failed program was:" >&5 | 14381 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
27105 | sed 's/^/| /' conftest.$ac_ext >&5 | 14382 | $as_echo "no" >&6; } |
27106 | |||
27107 | { echo "$as_me:$LINENO: result: no" >&5 | ||
27108 | echo "${ECHO_T}no" >&6; } | ||
27109 | 14383 | ||
27110 | fi | 14384 | fi |
27111 | |||
27112 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14385 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
27113 | fi | 14386 | fi |
27114 | 14387 | ||
27115 | { echo "$as_me:$LINENO: checking for int64_t type" >&5 | 14388 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int64_t type" >&5 |
27116 | echo $ECHO_N "checking for int64_t type... $ECHO_C" >&6; } | 14389 | $as_echo_n "checking for int64_t type... " >&6; } |
27117 | if test "${ac_cv_have_int64_t+set}" = set; then | 14390 | if ${ac_cv_have_int64_t+:} false; then : |
27118 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14391 | $as_echo_n "(cached) " >&6 |
27119 | else | 14392 | else |
27120 | 14393 | ||
27121 | cat >conftest.$ac_ext <<_ACEOF | 14394 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
27122 | /* confdefs.h. */ | ||
27123 | _ACEOF | ||
27124 | cat confdefs.h >>conftest.$ac_ext | ||
27125 | cat >>conftest.$ac_ext <<_ACEOF | ||
27126 | /* end confdefs.h. */ | 14395 | /* end confdefs.h. */ |
27127 | 14396 | ||
27128 | #include <sys/types.h> | 14397 | #include <sys/types.h> |
@@ -27144,56 +14413,30 @@ int64_t a; a = 1; | |||
27144 | return 0; | 14413 | return 0; |
27145 | } | 14414 | } |
27146 | _ACEOF | 14415 | _ACEOF |
27147 | rm -f conftest.$ac_objext | 14416 | if ac_fn_c_try_compile "$LINENO"; then : |
27148 | if { (ac_try="$ac_compile" | ||
27149 | case "(($ac_try" in | ||
27150 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27151 | *) ac_try_echo=$ac_try;; | ||
27152 | esac | ||
27153 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27154 | (eval "$ac_compile") 2>conftest.er1 | ||
27155 | ac_status=$? | ||
27156 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27157 | rm -f conftest.er1 | ||
27158 | cat conftest.err >&5 | ||
27159 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27160 | (exit $ac_status); } && { | ||
27161 | test -z "$ac_c_werror_flag" || | ||
27162 | test ! -s conftest.err | ||
27163 | } && test -s conftest.$ac_objext; then | ||
27164 | ac_cv_have_int64_t="yes" | 14417 | ac_cv_have_int64_t="yes" |
27165 | else | 14418 | else |
27166 | echo "$as_me: failed program was:" >&5 | 14419 | ac_cv_have_int64_t="no" |
27167 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
27168 | |||
27169 | ac_cv_have_int64_t="no" | ||
27170 | 14420 | ||
27171 | fi | 14421 | fi |
27172 | |||
27173 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14422 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
27174 | 14423 | ||
27175 | fi | 14424 | fi |
27176 | { echo "$as_me:$LINENO: result: $ac_cv_have_int64_t" >&5 | 14425 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_int64_t" >&5 |
27177 | echo "${ECHO_T}$ac_cv_have_int64_t" >&6; } | 14426 | $as_echo "$ac_cv_have_int64_t" >&6; } |
27178 | if test "x$ac_cv_have_int64_t" = "xyes" ; then | 14427 | if test "x$ac_cv_have_int64_t" = "xyes" ; then |
27179 | 14428 | ||
27180 | cat >>confdefs.h <<\_ACEOF | 14429 | $as_echo "#define HAVE_INT64_T 1" >>confdefs.h |
27181 | #define HAVE_INT64_T 1 | ||
27182 | _ACEOF | ||
27183 | 14430 | ||
27184 | fi | 14431 | fi |
27185 | 14432 | ||
27186 | { echo "$as_me:$LINENO: checking for u_intXX_t types" >&5 | 14433 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_intXX_t types" >&5 |
27187 | echo $ECHO_N "checking for u_intXX_t types... $ECHO_C" >&6; } | 14434 | $as_echo_n "checking for u_intXX_t types... " >&6; } |
27188 | if test "${ac_cv_have_u_intxx_t+set}" = set; then | 14435 | if ${ac_cv_have_u_intxx_t+:} false; then : |
27189 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14436 | $as_echo_n "(cached) " >&6 |
27190 | else | 14437 | else |
27191 | 14438 | ||
27192 | cat >conftest.$ac_ext <<_ACEOF | 14439 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
27193 | /* confdefs.h. */ | ||
27194 | _ACEOF | ||
27195 | cat confdefs.h >>conftest.$ac_ext | ||
27196 | cat >>conftest.$ac_ext <<_ACEOF | ||
27197 | /* end confdefs.h. */ | 14440 | /* end confdefs.h. */ |
27198 | #include <sys/types.h> | 14441 | #include <sys/types.h> |
27199 | int | 14442 | int |
@@ -27204,54 +14447,28 @@ main () | |||
27204 | return 0; | 14447 | return 0; |
27205 | } | 14448 | } |
27206 | _ACEOF | 14449 | _ACEOF |
27207 | rm -f conftest.$ac_objext | 14450 | if ac_fn_c_try_compile "$LINENO"; then : |
27208 | if { (ac_try="$ac_compile" | ||
27209 | case "(($ac_try" in | ||
27210 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27211 | *) ac_try_echo=$ac_try;; | ||
27212 | esac | ||
27213 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27214 | (eval "$ac_compile") 2>conftest.er1 | ||
27215 | ac_status=$? | ||
27216 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27217 | rm -f conftest.er1 | ||
27218 | cat conftest.err >&5 | ||
27219 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27220 | (exit $ac_status); } && { | ||
27221 | test -z "$ac_c_werror_flag" || | ||
27222 | test ! -s conftest.err | ||
27223 | } && test -s conftest.$ac_objext; then | ||
27224 | ac_cv_have_u_intxx_t="yes" | 14451 | ac_cv_have_u_intxx_t="yes" |
27225 | else | 14452 | else |
27226 | echo "$as_me: failed program was:" >&5 | 14453 | ac_cv_have_u_intxx_t="no" |
27227 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
27228 | |||
27229 | ac_cv_have_u_intxx_t="no" | ||
27230 | 14454 | ||
27231 | fi | 14455 | fi |
27232 | |||
27233 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14456 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
27234 | 14457 | ||
27235 | fi | 14458 | fi |
27236 | { echo "$as_me:$LINENO: result: $ac_cv_have_u_intxx_t" >&5 | 14459 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_intxx_t" >&5 |
27237 | echo "${ECHO_T}$ac_cv_have_u_intxx_t" >&6; } | 14460 | $as_echo "$ac_cv_have_u_intxx_t" >&6; } |
27238 | if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then | 14461 | if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then |
27239 | 14462 | ||
27240 | cat >>confdefs.h <<\_ACEOF | 14463 | $as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h |
27241 | #define HAVE_U_INTXX_T 1 | ||
27242 | _ACEOF | ||
27243 | 14464 | ||
27244 | have_u_intxx_t=1 | 14465 | have_u_intxx_t=1 |
27245 | fi | 14466 | fi |
27246 | 14467 | ||
27247 | if test -z "$have_u_intxx_t" ; then | 14468 | if test -z "$have_u_intxx_t" ; then |
27248 | { echo "$as_me:$LINENO: checking for u_intXX_t types in sys/socket.h" >&5 | 14469 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_intXX_t types in sys/socket.h" >&5 |
27249 | echo $ECHO_N "checking for u_intXX_t types in sys/socket.h... $ECHO_C" >&6; } | 14470 | $as_echo_n "checking for u_intXX_t types in sys/socket.h... " >&6; } |
27250 | cat >conftest.$ac_ext <<_ACEOF | 14471 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
27251 | /* confdefs.h. */ | ||
27252 | _ACEOF | ||
27253 | cat confdefs.h >>conftest.$ac_ext | ||
27254 | cat >>conftest.$ac_ext <<_ACEOF | ||
27255 | /* end confdefs.h. */ | 14472 | /* end confdefs.h. */ |
27256 | #include <sys/socket.h> | 14473 | #include <sys/socket.h> |
27257 | int | 14474 | int |
@@ -27262,54 +14479,28 @@ main () | |||
27262 | return 0; | 14479 | return 0; |
27263 | } | 14480 | } |
27264 | _ACEOF | 14481 | _ACEOF |
27265 | rm -f conftest.$ac_objext | 14482 | if ac_fn_c_try_compile "$LINENO"; then : |
27266 | if { (ac_try="$ac_compile" | ||
27267 | case "(($ac_try" in | ||
27268 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27269 | *) ac_try_echo=$ac_try;; | ||
27270 | esac | ||
27271 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27272 | (eval "$ac_compile") 2>conftest.er1 | ||
27273 | ac_status=$? | ||
27274 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27275 | rm -f conftest.er1 | ||
27276 | cat conftest.err >&5 | ||
27277 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27278 | (exit $ac_status); } && { | ||
27279 | test -z "$ac_c_werror_flag" || | ||
27280 | test ! -s conftest.err | ||
27281 | } && test -s conftest.$ac_objext; then | ||
27282 | 14483 | ||
27283 | cat >>confdefs.h <<\_ACEOF | 14484 | $as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h |
27284 | #define HAVE_U_INTXX_T 1 | ||
27285 | _ACEOF | ||
27286 | 14485 | ||
27287 | { echo "$as_me:$LINENO: result: yes" >&5 | 14486 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
27288 | echo "${ECHO_T}yes" >&6; } | 14487 | $as_echo "yes" >&6; } |
27289 | 14488 | ||
27290 | else | 14489 | else |
27291 | echo "$as_me: failed program was:" >&5 | 14490 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
27292 | sed 's/^/| /' conftest.$ac_ext >&5 | 14491 | $as_echo "no" >&6; } |
27293 | |||
27294 | { echo "$as_me:$LINENO: result: no" >&5 | ||
27295 | echo "${ECHO_T}no" >&6; } | ||
27296 | 14492 | ||
27297 | fi | 14493 | fi |
27298 | |||
27299 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14494 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
27300 | fi | 14495 | fi |
27301 | 14496 | ||
27302 | { echo "$as_me:$LINENO: checking for u_int64_t types" >&5 | 14497 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int64_t types" >&5 |
27303 | echo $ECHO_N "checking for u_int64_t types... $ECHO_C" >&6; } | 14498 | $as_echo_n "checking for u_int64_t types... " >&6; } |
27304 | if test "${ac_cv_have_u_int64_t+set}" = set; then | 14499 | if ${ac_cv_have_u_int64_t+:} false; then : |
27305 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14500 | $as_echo_n "(cached) " >&6 |
27306 | else | 14501 | else |
27307 | 14502 | ||
27308 | cat >conftest.$ac_ext <<_ACEOF | 14503 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
27309 | /* confdefs.h. */ | ||
27310 | _ACEOF | ||
27311 | cat confdefs.h >>conftest.$ac_ext | ||
27312 | cat >>conftest.$ac_ext <<_ACEOF | ||
27313 | /* end confdefs.h. */ | 14504 | /* end confdefs.h. */ |
27314 | #include <sys/types.h> | 14505 | #include <sys/types.h> |
27315 | int | 14506 | int |
@@ -27320,42 +14511,20 @@ main () | |||
27320 | return 0; | 14511 | return 0; |
27321 | } | 14512 | } |
27322 | _ACEOF | 14513 | _ACEOF |
27323 | rm -f conftest.$ac_objext | 14514 | if ac_fn_c_try_compile "$LINENO"; then : |
27324 | if { (ac_try="$ac_compile" | ||
27325 | case "(($ac_try" in | ||
27326 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27327 | *) ac_try_echo=$ac_try;; | ||
27328 | esac | ||
27329 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27330 | (eval "$ac_compile") 2>conftest.er1 | ||
27331 | ac_status=$? | ||
27332 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27333 | rm -f conftest.er1 | ||
27334 | cat conftest.err >&5 | ||
27335 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27336 | (exit $ac_status); } && { | ||
27337 | test -z "$ac_c_werror_flag" || | ||
27338 | test ! -s conftest.err | ||
27339 | } && test -s conftest.$ac_objext; then | ||
27340 | ac_cv_have_u_int64_t="yes" | 14515 | ac_cv_have_u_int64_t="yes" |
27341 | else | 14516 | else |
27342 | echo "$as_me: failed program was:" >&5 | 14517 | ac_cv_have_u_int64_t="no" |
27343 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
27344 | |||
27345 | ac_cv_have_u_int64_t="no" | ||
27346 | 14518 | ||
27347 | fi | 14519 | fi |
27348 | |||
27349 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14520 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
27350 | 14521 | ||
27351 | fi | 14522 | fi |
27352 | { echo "$as_me:$LINENO: result: $ac_cv_have_u_int64_t" >&5 | 14523 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_int64_t" >&5 |
27353 | echo "${ECHO_T}$ac_cv_have_u_int64_t" >&6; } | 14524 | $as_echo "$ac_cv_have_u_int64_t" >&6; } |
27354 | if test "x$ac_cv_have_u_int64_t" = "xyes" ; then | 14525 | if test "x$ac_cv_have_u_int64_t" = "xyes" ; then |
27355 | 14526 | ||
27356 | cat >>confdefs.h <<\_ACEOF | 14527 | $as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h |
27357 | #define HAVE_U_INT64_T 1 | ||
27358 | _ACEOF | ||
27359 | 14528 | ||
27360 | have_u_int64_t=1 | 14529 | have_u_int64_t=1 |
27361 | fi | 14530 | fi |
@@ -27363,13 +14532,9 @@ fi | |||
27363 | if (test -z "$have_u_int64_t" && \ | 14532 | if (test -z "$have_u_int64_t" && \ |
27364 | test "x$ac_cv_header_sys_bitypes_h" = "xyes") | 14533 | test "x$ac_cv_header_sys_bitypes_h" = "xyes") |
27365 | then | 14534 | then |
27366 | { echo "$as_me:$LINENO: checking for u_int64_t type in sys/bitypes.h" >&5 | 14535 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int64_t type in sys/bitypes.h" >&5 |
27367 | echo $ECHO_N "checking for u_int64_t type in sys/bitypes.h... $ECHO_C" >&6; } | 14536 | $as_echo_n "checking for u_int64_t type in sys/bitypes.h... " >&6; } |
27368 | cat >conftest.$ac_ext <<_ACEOF | 14537 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
27369 | /* confdefs.h. */ | ||
27370 | _ACEOF | ||
27371 | cat confdefs.h >>conftest.$ac_ext | ||
27372 | cat >>conftest.$ac_ext <<_ACEOF | ||
27373 | /* end confdefs.h. */ | 14538 | /* end confdefs.h. */ |
27374 | #include <sys/bitypes.h> | 14539 | #include <sys/bitypes.h> |
27375 | int | 14540 | int |
@@ -27380,55 +14545,29 @@ main () | |||
27380 | return 0; | 14545 | return 0; |
27381 | } | 14546 | } |
27382 | _ACEOF | 14547 | _ACEOF |
27383 | rm -f conftest.$ac_objext | 14548 | if ac_fn_c_try_compile "$LINENO"; then : |
27384 | if { (ac_try="$ac_compile" | ||
27385 | case "(($ac_try" in | ||
27386 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27387 | *) ac_try_echo=$ac_try;; | ||
27388 | esac | ||
27389 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27390 | (eval "$ac_compile") 2>conftest.er1 | ||
27391 | ac_status=$? | ||
27392 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27393 | rm -f conftest.er1 | ||
27394 | cat conftest.err >&5 | ||
27395 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27396 | (exit $ac_status); } && { | ||
27397 | test -z "$ac_c_werror_flag" || | ||
27398 | test ! -s conftest.err | ||
27399 | } && test -s conftest.$ac_objext; then | ||
27400 | 14549 | ||
27401 | cat >>confdefs.h <<\_ACEOF | 14550 | $as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h |
27402 | #define HAVE_U_INT64_T 1 | ||
27403 | _ACEOF | ||
27404 | 14551 | ||
27405 | { echo "$as_me:$LINENO: result: yes" >&5 | 14552 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
27406 | echo "${ECHO_T}yes" >&6; } | 14553 | $as_echo "yes" >&6; } |
27407 | 14554 | ||
27408 | else | 14555 | else |
27409 | echo "$as_me: failed program was:" >&5 | 14556 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
27410 | sed 's/^/| /' conftest.$ac_ext >&5 | 14557 | $as_echo "no" >&6; } |
27411 | |||
27412 | { echo "$as_me:$LINENO: result: no" >&5 | ||
27413 | echo "${ECHO_T}no" >&6; } | ||
27414 | 14558 | ||
27415 | fi | 14559 | fi |
27416 | |||
27417 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14560 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
27418 | fi | 14561 | fi |
27419 | 14562 | ||
27420 | if test -z "$have_u_intxx_t" ; then | 14563 | if test -z "$have_u_intxx_t" ; then |
27421 | { echo "$as_me:$LINENO: checking for uintXX_t types" >&5 | 14564 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types" >&5 |
27422 | echo $ECHO_N "checking for uintXX_t types... $ECHO_C" >&6; } | 14565 | $as_echo_n "checking for uintXX_t types... " >&6; } |
27423 | if test "${ac_cv_have_uintxx_t+set}" = set; then | 14566 | if ${ac_cv_have_uintxx_t+:} false; then : |
27424 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14567 | $as_echo_n "(cached) " >&6 |
27425 | else | 14568 | else |
27426 | 14569 | ||
27427 | cat >conftest.$ac_ext <<_ACEOF | 14570 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
27428 | /* confdefs.h. */ | ||
27429 | _ACEOF | ||
27430 | cat confdefs.h >>conftest.$ac_ext | ||
27431 | cat >>conftest.$ac_ext <<_ACEOF | ||
27432 | /* end confdefs.h. */ | 14571 | /* end confdefs.h. */ |
27433 | 14572 | ||
27434 | #include <sys/types.h> | 14573 | #include <sys/types.h> |
@@ -27446,42 +14585,20 @@ main () | |||
27446 | return 0; | 14585 | return 0; |
27447 | } | 14586 | } |
27448 | _ACEOF | 14587 | _ACEOF |
27449 | rm -f conftest.$ac_objext | 14588 | if ac_fn_c_try_compile "$LINENO"; then : |
27450 | if { (ac_try="$ac_compile" | ||
27451 | case "(($ac_try" in | ||
27452 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27453 | *) ac_try_echo=$ac_try;; | ||
27454 | esac | ||
27455 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27456 | (eval "$ac_compile") 2>conftest.er1 | ||
27457 | ac_status=$? | ||
27458 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27459 | rm -f conftest.er1 | ||
27460 | cat conftest.err >&5 | ||
27461 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27462 | (exit $ac_status); } && { | ||
27463 | test -z "$ac_c_werror_flag" || | ||
27464 | test ! -s conftest.err | ||
27465 | } && test -s conftest.$ac_objext; then | ||
27466 | ac_cv_have_uintxx_t="yes" | 14589 | ac_cv_have_uintxx_t="yes" |
27467 | else | 14590 | else |
27468 | echo "$as_me: failed program was:" >&5 | 14591 | ac_cv_have_uintxx_t="no" |
27469 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
27470 | |||
27471 | ac_cv_have_uintxx_t="no" | ||
27472 | 14592 | ||
27473 | fi | 14593 | fi |
27474 | |||
27475 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14594 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
27476 | 14595 | ||
27477 | fi | 14596 | fi |
27478 | { echo "$as_me:$LINENO: result: $ac_cv_have_uintxx_t" >&5 | 14597 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_uintxx_t" >&5 |
27479 | echo "${ECHO_T}$ac_cv_have_uintxx_t" >&6; } | 14598 | $as_echo "$ac_cv_have_uintxx_t" >&6; } |
27480 | if test "x$ac_cv_have_uintxx_t" = "xyes" ; then | 14599 | if test "x$ac_cv_have_uintxx_t" = "xyes" ; then |
27481 | 14600 | ||
27482 | cat >>confdefs.h <<\_ACEOF | 14601 | $as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h |
27483 | #define HAVE_UINTXX_T 1 | ||
27484 | _ACEOF | ||
27485 | 14602 | ||
27486 | fi | 14603 | fi |
27487 | fi | 14604 | fi |
@@ -27489,13 +14606,9 @@ fi | |||
27489 | if (test -z "$have_uintxx_t" && \ | 14606 | if (test -z "$have_uintxx_t" && \ |
27490 | test "x$ac_cv_header_stdint_h" = "xyes") | 14607 | test "x$ac_cv_header_stdint_h" = "xyes") |
27491 | then | 14608 | then |
27492 | { echo "$as_me:$LINENO: checking for uintXX_t types in stdint.h" >&5 | 14609 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types in stdint.h" >&5 |
27493 | echo $ECHO_N "checking for uintXX_t types in stdint.h... $ECHO_C" >&6; } | 14610 | $as_echo_n "checking for uintXX_t types in stdint.h... " >&6; } |
27494 | cat >conftest.$ac_ext <<_ACEOF | 14611 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
27495 | /* confdefs.h. */ | ||
27496 | _ACEOF | ||
27497 | cat confdefs.h >>conftest.$ac_ext | ||
27498 | cat >>conftest.$ac_ext <<_ACEOF | ||
27499 | /* end confdefs.h. */ | 14612 | /* end confdefs.h. */ |
27500 | #include <stdint.h> | 14613 | #include <stdint.h> |
27501 | int | 14614 | int |
@@ -27506,53 +14619,27 @@ main () | |||
27506 | return 0; | 14619 | return 0; |
27507 | } | 14620 | } |
27508 | _ACEOF | 14621 | _ACEOF |
27509 | rm -f conftest.$ac_objext | 14622 | if ac_fn_c_try_compile "$LINENO"; then : |
27510 | if { (ac_try="$ac_compile" | ||
27511 | case "(($ac_try" in | ||
27512 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27513 | *) ac_try_echo=$ac_try;; | ||
27514 | esac | ||
27515 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27516 | (eval "$ac_compile") 2>conftest.er1 | ||
27517 | ac_status=$? | ||
27518 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27519 | rm -f conftest.er1 | ||
27520 | cat conftest.err >&5 | ||
27521 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27522 | (exit $ac_status); } && { | ||
27523 | test -z "$ac_c_werror_flag" || | ||
27524 | test ! -s conftest.err | ||
27525 | } && test -s conftest.$ac_objext; then | ||
27526 | 14623 | ||
27527 | cat >>confdefs.h <<\_ACEOF | 14624 | $as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h |
27528 | #define HAVE_UINTXX_T 1 | ||
27529 | _ACEOF | ||
27530 | 14625 | ||
27531 | { echo "$as_me:$LINENO: result: yes" >&5 | 14626 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
27532 | echo "${ECHO_T}yes" >&6; } | 14627 | $as_echo "yes" >&6; } |
27533 | 14628 | ||
27534 | else | 14629 | else |
27535 | echo "$as_me: failed program was:" >&5 | 14630 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
27536 | sed 's/^/| /' conftest.$ac_ext >&5 | 14631 | $as_echo "no" >&6; } |
27537 | |||
27538 | { echo "$as_me:$LINENO: result: no" >&5 | ||
27539 | echo "${ECHO_T}no" >&6; } | ||
27540 | 14632 | ||
27541 | fi | 14633 | fi |
27542 | |||
27543 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14634 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
27544 | fi | 14635 | fi |
27545 | 14636 | ||
27546 | if (test -z "$have_uintxx_t" && \ | 14637 | if (test -z "$have_uintxx_t" && \ |
27547 | test "x$ac_cv_header_inttypes_h" = "xyes") | 14638 | test "x$ac_cv_header_inttypes_h" = "xyes") |
27548 | then | 14639 | then |
27549 | { echo "$as_me:$LINENO: checking for uintXX_t types in inttypes.h" >&5 | 14640 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types in inttypes.h" >&5 |
27550 | echo $ECHO_N "checking for uintXX_t types in inttypes.h... $ECHO_C" >&6; } | 14641 | $as_echo_n "checking for uintXX_t types in inttypes.h... " >&6; } |
27551 | cat >conftest.$ac_ext <<_ACEOF | 14642 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
27552 | /* confdefs.h. */ | ||
27553 | _ACEOF | ||
27554 | cat confdefs.h >>conftest.$ac_ext | ||
27555 | cat >>conftest.$ac_ext <<_ACEOF | ||
27556 | /* end confdefs.h. */ | 14643 | /* end confdefs.h. */ |
27557 | #include <inttypes.h> | 14644 | #include <inttypes.h> |
27558 | int | 14645 | int |
@@ -27563,53 +14650,27 @@ main () | |||
27563 | return 0; | 14650 | return 0; |
27564 | } | 14651 | } |
27565 | _ACEOF | 14652 | _ACEOF |
27566 | rm -f conftest.$ac_objext | 14653 | if ac_fn_c_try_compile "$LINENO"; then : |
27567 | if { (ac_try="$ac_compile" | ||
27568 | case "(($ac_try" in | ||
27569 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27570 | *) ac_try_echo=$ac_try;; | ||
27571 | esac | ||
27572 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27573 | (eval "$ac_compile") 2>conftest.er1 | ||
27574 | ac_status=$? | ||
27575 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27576 | rm -f conftest.er1 | ||
27577 | cat conftest.err >&5 | ||
27578 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27579 | (exit $ac_status); } && { | ||
27580 | test -z "$ac_c_werror_flag" || | ||
27581 | test ! -s conftest.err | ||
27582 | } && test -s conftest.$ac_objext; then | ||
27583 | 14654 | ||
27584 | cat >>confdefs.h <<\_ACEOF | 14655 | $as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h |
27585 | #define HAVE_UINTXX_T 1 | ||
27586 | _ACEOF | ||
27587 | 14656 | ||
27588 | { echo "$as_me:$LINENO: result: yes" >&5 | 14657 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
27589 | echo "${ECHO_T}yes" >&6; } | 14658 | $as_echo "yes" >&6; } |
27590 | 14659 | ||
27591 | else | 14660 | else |
27592 | echo "$as_me: failed program was:" >&5 | 14661 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
27593 | sed 's/^/| /' conftest.$ac_ext >&5 | 14662 | $as_echo "no" >&6; } |
27594 | |||
27595 | { echo "$as_me:$LINENO: result: no" >&5 | ||
27596 | echo "${ECHO_T}no" >&6; } | ||
27597 | 14663 | ||
27598 | fi | 14664 | fi |
27599 | |||
27600 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14665 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
27601 | fi | 14666 | fi |
27602 | 14667 | ||
27603 | if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \ | 14668 | if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \ |
27604 | test "x$ac_cv_header_sys_bitypes_h" = "xyes") | 14669 | test "x$ac_cv_header_sys_bitypes_h" = "xyes") |
27605 | then | 14670 | then |
27606 | { echo "$as_me:$LINENO: checking for intXX_t and u_intXX_t types in sys/bitypes.h" >&5 | 14671 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t and u_intXX_t types in sys/bitypes.h" >&5 |
27607 | echo $ECHO_N "checking for intXX_t and u_intXX_t types in sys/bitypes.h... $ECHO_C" >&6; } | 14672 | $as_echo_n "checking for intXX_t and u_intXX_t types in sys/bitypes.h... " >&6; } |
27608 | cat >conftest.$ac_ext <<_ACEOF | 14673 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
27609 | /* confdefs.h. */ | ||
27610 | _ACEOF | ||
27611 | cat confdefs.h >>conftest.$ac_ext | ||
27612 | cat >>conftest.$ac_ext <<_ACEOF | ||
27613 | /* end confdefs.h. */ | 14674 | /* end confdefs.h. */ |
27614 | 14675 | ||
27615 | #include <sys/bitypes.h> | 14676 | #include <sys/bitypes.h> |
@@ -27626,59 +14687,31 @@ main () | |||
27626 | return 0; | 14687 | return 0; |
27627 | } | 14688 | } |
27628 | _ACEOF | 14689 | _ACEOF |
27629 | rm -f conftest.$ac_objext | 14690 | if ac_fn_c_try_compile "$LINENO"; then : |
27630 | if { (ac_try="$ac_compile" | ||
27631 | case "(($ac_try" in | ||
27632 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27633 | *) ac_try_echo=$ac_try;; | ||
27634 | esac | ||
27635 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27636 | (eval "$ac_compile") 2>conftest.er1 | ||
27637 | ac_status=$? | ||
27638 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27639 | rm -f conftest.er1 | ||
27640 | cat conftest.err >&5 | ||
27641 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27642 | (exit $ac_status); } && { | ||
27643 | test -z "$ac_c_werror_flag" || | ||
27644 | test ! -s conftest.err | ||
27645 | } && test -s conftest.$ac_objext; then | ||
27646 | 14691 | ||
27647 | cat >>confdefs.h <<\_ACEOF | 14692 | $as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h |
27648 | #define HAVE_U_INTXX_T 1 | ||
27649 | _ACEOF | ||
27650 | 14693 | ||
27651 | cat >>confdefs.h <<\_ACEOF | 14694 | $as_echo "#define HAVE_INTXX_T 1" >>confdefs.h |
27652 | #define HAVE_INTXX_T 1 | ||
27653 | _ACEOF | ||
27654 | 14695 | ||
27655 | { echo "$as_me:$LINENO: result: yes" >&5 | 14696 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
27656 | echo "${ECHO_T}yes" >&6; } | 14697 | $as_echo "yes" >&6; } |
27657 | 14698 | ||
27658 | else | 14699 | else |
27659 | echo "$as_me: failed program was:" >&5 | 14700 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
27660 | sed 's/^/| /' conftest.$ac_ext >&5 | 14701 | $as_echo "no" >&6; } |
27661 | |||
27662 | { echo "$as_me:$LINENO: result: no" >&5 | ||
27663 | echo "${ECHO_T}no" >&6; } | ||
27664 | 14702 | ||
27665 | fi | 14703 | fi |
27666 | |||
27667 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14704 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
27668 | fi | 14705 | fi |
27669 | 14706 | ||
27670 | 14707 | ||
27671 | { echo "$as_me:$LINENO: checking for u_char" >&5 | 14708 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_char" >&5 |
27672 | echo $ECHO_N "checking for u_char... $ECHO_C" >&6; } | 14709 | $as_echo_n "checking for u_char... " >&6; } |
27673 | if test "${ac_cv_have_u_char+set}" = set; then | 14710 | if ${ac_cv_have_u_char+:} false; then : |
27674 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14711 | $as_echo_n "(cached) " >&6 |
27675 | else | 14712 | else |
27676 | 14713 | ||
27677 | cat >conftest.$ac_ext <<_ACEOF | 14714 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
27678 | /* confdefs.h. */ | ||
27679 | _ACEOF | ||
27680 | cat confdefs.h >>conftest.$ac_ext | ||
27681 | cat >>conftest.$ac_ext <<_ACEOF | ||
27682 | /* end confdefs.h. */ | 14715 | /* end confdefs.h. */ |
27683 | #include <sys/types.h> | 14716 | #include <sys/types.h> |
27684 | int | 14717 | int |
@@ -27689,103 +14722,29 @@ main () | |||
27689 | return 0; | 14722 | return 0; |
27690 | } | 14723 | } |
27691 | _ACEOF | 14724 | _ACEOF |
27692 | rm -f conftest.$ac_objext | 14725 | if ac_fn_c_try_compile "$LINENO"; then : |
27693 | if { (ac_try="$ac_compile" | ||
27694 | case "(($ac_try" in | ||
27695 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27696 | *) ac_try_echo=$ac_try;; | ||
27697 | esac | ||
27698 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27699 | (eval "$ac_compile") 2>conftest.er1 | ||
27700 | ac_status=$? | ||
27701 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27702 | rm -f conftest.er1 | ||
27703 | cat conftest.err >&5 | ||
27704 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27705 | (exit $ac_status); } && { | ||
27706 | test -z "$ac_c_werror_flag" || | ||
27707 | test ! -s conftest.err | ||
27708 | } && test -s conftest.$ac_objext; then | ||
27709 | ac_cv_have_u_char="yes" | 14726 | ac_cv_have_u_char="yes" |
27710 | else | 14727 | else |
27711 | echo "$as_me: failed program was:" >&5 | 14728 | ac_cv_have_u_char="no" |
27712 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
27713 | |||
27714 | ac_cv_have_u_char="no" | ||
27715 | 14729 | ||
27716 | fi | 14730 | fi |
27717 | |||
27718 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14731 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
27719 | 14732 | ||
27720 | fi | 14733 | fi |
27721 | { echo "$as_me:$LINENO: result: $ac_cv_have_u_char" >&5 | 14734 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_char" >&5 |
27722 | echo "${ECHO_T}$ac_cv_have_u_char" >&6; } | 14735 | $as_echo "$ac_cv_have_u_char" >&6; } |
27723 | if test "x$ac_cv_have_u_char" = "xyes" ; then | 14736 | if test "x$ac_cv_have_u_char" = "xyes" ; then |
27724 | 14737 | ||
27725 | cat >>confdefs.h <<\_ACEOF | 14738 | $as_echo "#define HAVE_U_CHAR 1" >>confdefs.h |
27726 | #define HAVE_U_CHAR 1 | ||
27727 | _ACEOF | ||
27728 | 14739 | ||
27729 | fi | 14740 | fi |
27730 | 14741 | ||
27731 | { echo "$as_me:$LINENO: checking for intmax_t" >&5 | 14742 | ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" " |
27732 | echo $ECHO_N "checking for intmax_t... $ECHO_C" >&6; } | ||
27733 | if test "${ac_cv_type_intmax_t+set}" = set; then | ||
27734 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
27735 | else | ||
27736 | cat >conftest.$ac_ext <<_ACEOF | ||
27737 | /* confdefs.h. */ | ||
27738 | _ACEOF | ||
27739 | cat confdefs.h >>conftest.$ac_ext | ||
27740 | cat >>conftest.$ac_ext <<_ACEOF | ||
27741 | /* end confdefs.h. */ | ||
27742 | |||
27743 | #include <sys/types.h> | 14743 | #include <sys/types.h> |
27744 | #include <stdint.h> | 14744 | #include <stdint.h> |
27745 | 14745 | ||
27746 | 14746 | " | |
27747 | typedef intmax_t ac__type_new_; | 14747 | if test "x$ac_cv_type_intmax_t" = xyes; then : |
27748 | int | ||
27749 | main () | ||
27750 | { | ||
27751 | if ((ac__type_new_ *) 0) | ||
27752 | return 0; | ||
27753 | if (sizeof (ac__type_new_)) | ||
27754 | return 0; | ||
27755 | ; | ||
27756 | return 0; | ||
27757 | } | ||
27758 | _ACEOF | ||
27759 | rm -f conftest.$ac_objext | ||
27760 | if { (ac_try="$ac_compile" | ||
27761 | case "(($ac_try" in | ||
27762 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27763 | *) ac_try_echo=$ac_try;; | ||
27764 | esac | ||
27765 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27766 | (eval "$ac_compile") 2>conftest.er1 | ||
27767 | ac_status=$? | ||
27768 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27769 | rm -f conftest.er1 | ||
27770 | cat conftest.err >&5 | ||
27771 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27772 | (exit $ac_status); } && { | ||
27773 | test -z "$ac_c_werror_flag" || | ||
27774 | test ! -s conftest.err | ||
27775 | } && test -s conftest.$ac_objext; then | ||
27776 | ac_cv_type_intmax_t=yes | ||
27777 | else | ||
27778 | echo "$as_me: failed program was:" >&5 | ||
27779 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
27780 | |||
27781 | ac_cv_type_intmax_t=no | ||
27782 | fi | ||
27783 | |||
27784 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
27785 | fi | ||
27786 | { echo "$as_me:$LINENO: result: $ac_cv_type_intmax_t" >&5 | ||
27787 | echo "${ECHO_T}$ac_cv_type_intmax_t" >&6; } | ||
27788 | if test $ac_cv_type_intmax_t = yes; then | ||
27789 | 14748 | ||
27790 | cat >>confdefs.h <<_ACEOF | 14749 | cat >>confdefs.h <<_ACEOF |
27791 | #define HAVE_INTMAX_T 1 | 14750 | #define HAVE_INTMAX_T 1 |
@@ -27793,64 +14752,12 @@ _ACEOF | |||
27793 | 14752 | ||
27794 | 14753 | ||
27795 | fi | 14754 | fi |
27796 | { echo "$as_me:$LINENO: checking for uintmax_t" >&5 | 14755 | ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" " |
27797 | echo $ECHO_N "checking for uintmax_t... $ECHO_C" >&6; } | ||
27798 | if test "${ac_cv_type_uintmax_t+set}" = set; then | ||
27799 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
27800 | else | ||
27801 | cat >conftest.$ac_ext <<_ACEOF | ||
27802 | /* confdefs.h. */ | ||
27803 | _ACEOF | ||
27804 | cat confdefs.h >>conftest.$ac_ext | ||
27805 | cat >>conftest.$ac_ext <<_ACEOF | ||
27806 | /* end confdefs.h. */ | ||
27807 | |||
27808 | #include <sys/types.h> | 14756 | #include <sys/types.h> |
27809 | #include <stdint.h> | 14757 | #include <stdint.h> |
27810 | 14758 | ||
27811 | 14759 | " | |
27812 | typedef uintmax_t ac__type_new_; | 14760 | if test "x$ac_cv_type_uintmax_t" = xyes; then : |
27813 | int | ||
27814 | main () | ||
27815 | { | ||
27816 | if ((ac__type_new_ *) 0) | ||
27817 | return 0; | ||
27818 | if (sizeof (ac__type_new_)) | ||
27819 | return 0; | ||
27820 | ; | ||
27821 | return 0; | ||
27822 | } | ||
27823 | _ACEOF | ||
27824 | rm -f conftest.$ac_objext | ||
27825 | if { (ac_try="$ac_compile" | ||
27826 | case "(($ac_try" in | ||
27827 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27828 | *) ac_try_echo=$ac_try;; | ||
27829 | esac | ||
27830 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27831 | (eval "$ac_compile") 2>conftest.er1 | ||
27832 | ac_status=$? | ||
27833 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27834 | rm -f conftest.er1 | ||
27835 | cat conftest.err >&5 | ||
27836 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27837 | (exit $ac_status); } && { | ||
27838 | test -z "$ac_c_werror_flag" || | ||
27839 | test ! -s conftest.err | ||
27840 | } && test -s conftest.$ac_objext; then | ||
27841 | ac_cv_type_uintmax_t=yes | ||
27842 | else | ||
27843 | echo "$as_me: failed program was:" >&5 | ||
27844 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
27845 | |||
27846 | ac_cv_type_uintmax_t=no | ||
27847 | fi | ||
27848 | |||
27849 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
27850 | fi | ||
27851 | { echo "$as_me:$LINENO: result: $ac_cv_type_uintmax_t" >&5 | ||
27852 | echo "${ECHO_T}$ac_cv_type_uintmax_t" >&6; } | ||
27853 | if test $ac_cv_type_uintmax_t = yes; then | ||
27854 | 14761 | ||
27855 | cat >>confdefs.h <<_ACEOF | 14762 | cat >>confdefs.h <<_ACEOF |
27856 | #define HAVE_UINTMAX_T 1 | 14763 | #define HAVE_UINTMAX_T 1 |
@@ -27861,69 +14768,17 @@ fi | |||
27861 | 14768 | ||
27862 | 14769 | ||
27863 | 14770 | ||
27864 | { echo "$as_me:$LINENO: checking for socklen_t" >&5 | 14771 | ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "#include <sys/types.h> |
27865 | echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6; } | ||
27866 | if test "${ac_cv_type_socklen_t+set}" = set; then | ||
27867 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
27868 | else | ||
27869 | cat >conftest.$ac_ext <<_ACEOF | ||
27870 | /* confdefs.h. */ | ||
27871 | _ACEOF | ||
27872 | cat confdefs.h >>conftest.$ac_ext | ||
27873 | cat >>conftest.$ac_ext <<_ACEOF | ||
27874 | /* end confdefs.h. */ | ||
27875 | #include <sys/types.h> | ||
27876 | #include <sys/socket.h> | 14772 | #include <sys/socket.h> |
14773 | " | ||
14774 | if test "x$ac_cv_type_socklen_t" = xyes; then : | ||
27877 | 14775 | ||
27878 | typedef socklen_t ac__type_new_; | ||
27879 | int | ||
27880 | main () | ||
27881 | { | ||
27882 | if ((ac__type_new_ *) 0) | ||
27883 | return 0; | ||
27884 | if (sizeof (ac__type_new_)) | ||
27885 | return 0; | ||
27886 | ; | ||
27887 | return 0; | ||
27888 | } | ||
27889 | _ACEOF | ||
27890 | rm -f conftest.$ac_objext | ||
27891 | if { (ac_try="$ac_compile" | ||
27892 | case "(($ac_try" in | ||
27893 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27894 | *) ac_try_echo=$ac_try;; | ||
27895 | esac | ||
27896 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27897 | (eval "$ac_compile") 2>conftest.er1 | ||
27898 | ac_status=$? | ||
27899 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27900 | rm -f conftest.er1 | ||
27901 | cat conftest.err >&5 | ||
27902 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27903 | (exit $ac_status); } && { | ||
27904 | test -z "$ac_c_werror_flag" || | ||
27905 | test ! -s conftest.err | ||
27906 | } && test -s conftest.$ac_objext; then | ||
27907 | ac_cv_type_socklen_t=yes | ||
27908 | else | ||
27909 | echo "$as_me: failed program was:" >&5 | ||
27910 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
27911 | |||
27912 | ac_cv_type_socklen_t=no | ||
27913 | fi | ||
27914 | |||
27915 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
27916 | fi | ||
27917 | { echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5 | ||
27918 | echo "${ECHO_T}$ac_cv_type_socklen_t" >&6; } | ||
27919 | if test $ac_cv_type_socklen_t = yes; then | ||
27920 | : | ||
27921 | else | 14776 | else |
27922 | 14777 | ||
27923 | { echo "$as_me:$LINENO: checking for socklen_t equivalent" >&5 | 14778 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5 |
27924 | echo $ECHO_N "checking for socklen_t equivalent... $ECHO_C" >&6; } | 14779 | $as_echo_n "checking for socklen_t equivalent... " >&6; } |
27925 | if test "${curl_cv_socklen_t_equiv+set}" = set; then | 14780 | if ${curl_cv_socklen_t_equiv+:} false; then : |
27926 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14781 | $as_echo_n "(cached) " >&6 |
27927 | else | 14782 | else |
27928 | 14783 | ||
27929 | # Systems have either "struct sockaddr *" or | 14784 | # Systems have either "struct sockaddr *" or |
@@ -27931,11 +14786,7 @@ else | |||
27931 | curl_cv_socklen_t_equiv= | 14786 | curl_cv_socklen_t_equiv= |
27932 | for arg2 in "struct sockaddr" void; do | 14787 | for arg2 in "struct sockaddr" void; do |
27933 | for t in int size_t unsigned long "unsigned long"; do | 14788 | for t in int size_t unsigned long "unsigned long"; do |
27934 | cat >conftest.$ac_ext <<_ACEOF | 14789 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
27935 | /* confdefs.h. */ | ||
27936 | _ACEOF | ||
27937 | cat confdefs.h >>conftest.$ac_ext | ||
27938 | cat >>conftest.$ac_ext <<_ACEOF | ||
27939 | /* end confdefs.h. */ | 14790 | /* end confdefs.h. */ |
27940 | 14791 | ||
27941 | #include <sys/types.h> | 14792 | #include <sys/types.h> |
@@ -27954,48 +14805,24 @@ main () | |||
27954 | return 0; | 14805 | return 0; |
27955 | } | 14806 | } |
27956 | _ACEOF | 14807 | _ACEOF |
27957 | rm -f conftest.$ac_objext | 14808 | if ac_fn_c_try_compile "$LINENO"; then : |
27958 | if { (ac_try="$ac_compile" | ||
27959 | case "(($ac_try" in | ||
27960 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
27961 | *) ac_try_echo=$ac_try;; | ||
27962 | esac | ||
27963 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
27964 | (eval "$ac_compile") 2>conftest.er1 | ||
27965 | ac_status=$? | ||
27966 | grep -v '^ *+' conftest.er1 >conftest.err | ||
27967 | rm -f conftest.er1 | ||
27968 | cat conftest.err >&5 | ||
27969 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
27970 | (exit $ac_status); } && { | ||
27971 | test -z "$ac_c_werror_flag" || | ||
27972 | test ! -s conftest.err | ||
27973 | } && test -s conftest.$ac_objext; then | ||
27974 | 14809 | ||
27975 | curl_cv_socklen_t_equiv="$t" | 14810 | curl_cv_socklen_t_equiv="$t" |
27976 | break | 14811 | break |
27977 | 14812 | ||
27978 | else | ||
27979 | echo "$as_me: failed program was:" >&5 | ||
27980 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
27981 | |||
27982 | |||
27983 | fi | 14813 | fi |
27984 | |||
27985 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14814 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
27986 | done | 14815 | done |
27987 | done | 14816 | done |
27988 | 14817 | ||
27989 | if test "x$curl_cv_socklen_t_equiv" = x; then | 14818 | if test "x$curl_cv_socklen_t_equiv" = x; then |
27990 | { { echo "$as_me:$LINENO: error: Cannot find a type to use in place of socklen_t" >&5 | 14819 | as_fn_error $? "Cannot find a type to use in place of socklen_t" "$LINENO" 5 |
27991 | echo "$as_me: error: Cannot find a type to use in place of socklen_t" >&2;} | ||
27992 | { (exit 1); exit 1; }; } | ||
27993 | fi | 14820 | fi |
27994 | 14821 | ||
27995 | fi | 14822 | fi |
27996 | 14823 | ||
27997 | { echo "$as_me:$LINENO: result: $curl_cv_socklen_t_equiv" >&5 | 14824 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $curl_cv_socklen_t_equiv" >&5 |
27998 | echo "${ECHO_T}$curl_cv_socklen_t_equiv" >&6; } | 14825 | $as_echo "$curl_cv_socklen_t_equiv" >&6; } |
27999 | 14826 | ||
28000 | cat >>confdefs.h <<_ACEOF | 14827 | cat >>confdefs.h <<_ACEOF |
28001 | #define socklen_t $curl_cv_socklen_t_equiv | 14828 | #define socklen_t $curl_cv_socklen_t_equiv |
@@ -28005,61 +14832,9 @@ fi | |||
28005 | 14832 | ||
28006 | 14833 | ||
28007 | 14834 | ||
28008 | { echo "$as_me:$LINENO: checking for sig_atomic_t" >&5 | 14835 | ac_fn_c_check_type "$LINENO" "sig_atomic_t" "ac_cv_type_sig_atomic_t" "#include <signal.h> |
28009 | echo $ECHO_N "checking for sig_atomic_t... $ECHO_C" >&6; } | 14836 | " |
28010 | if test "${ac_cv_type_sig_atomic_t+set}" = set; then | 14837 | if test "x$ac_cv_type_sig_atomic_t" = xyes; then : |
28011 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
28012 | else | ||
28013 | cat >conftest.$ac_ext <<_ACEOF | ||
28014 | /* confdefs.h. */ | ||
28015 | _ACEOF | ||
28016 | cat confdefs.h >>conftest.$ac_ext | ||
28017 | cat >>conftest.$ac_ext <<_ACEOF | ||
28018 | /* end confdefs.h. */ | ||
28019 | #include <signal.h> | ||
28020 | |||
28021 | typedef sig_atomic_t ac__type_new_; | ||
28022 | int | ||
28023 | main () | ||
28024 | { | ||
28025 | if ((ac__type_new_ *) 0) | ||
28026 | return 0; | ||
28027 | if (sizeof (ac__type_new_)) | ||
28028 | return 0; | ||
28029 | ; | ||
28030 | return 0; | ||
28031 | } | ||
28032 | _ACEOF | ||
28033 | rm -f conftest.$ac_objext | ||
28034 | if { (ac_try="$ac_compile" | ||
28035 | case "(($ac_try" in | ||
28036 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28037 | *) ac_try_echo=$ac_try;; | ||
28038 | esac | ||
28039 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28040 | (eval "$ac_compile") 2>conftest.er1 | ||
28041 | ac_status=$? | ||
28042 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28043 | rm -f conftest.er1 | ||
28044 | cat conftest.err >&5 | ||
28045 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28046 | (exit $ac_status); } && { | ||
28047 | test -z "$ac_c_werror_flag" || | ||
28048 | test ! -s conftest.err | ||
28049 | } && test -s conftest.$ac_objext; then | ||
28050 | ac_cv_type_sig_atomic_t=yes | ||
28051 | else | ||
28052 | echo "$as_me: failed program was:" >&5 | ||
28053 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28054 | |||
28055 | ac_cv_type_sig_atomic_t=no | ||
28056 | fi | ||
28057 | |||
28058 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
28059 | fi | ||
28060 | { echo "$as_me:$LINENO: result: $ac_cv_type_sig_atomic_t" >&5 | ||
28061 | echo "${ECHO_T}$ac_cv_type_sig_atomic_t" >&6; } | ||
28062 | if test $ac_cv_type_sig_atomic_t = yes; then | ||
28063 | 14838 | ||
28064 | cat >>confdefs.h <<_ACEOF | 14839 | cat >>confdefs.h <<_ACEOF |
28065 | #define HAVE_SIG_ATOMIC_T 1 | 14840 | #define HAVE_SIG_ATOMIC_T 1 |
@@ -28068,18 +14843,7 @@ _ACEOF | |||
28068 | 14843 | ||
28069 | fi | 14844 | fi |
28070 | 14845 | ||
28071 | { echo "$as_me:$LINENO: checking for fsblkcnt_t" >&5 | 14846 | ac_fn_c_check_type "$LINENO" "fsblkcnt_t" "ac_cv_type_fsblkcnt_t" " |
28072 | echo $ECHO_N "checking for fsblkcnt_t... $ECHO_C" >&6; } | ||
28073 | if test "${ac_cv_type_fsblkcnt_t+set}" = set; then | ||
28074 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
28075 | else | ||
28076 | cat >conftest.$ac_ext <<_ACEOF | ||
28077 | /* confdefs.h. */ | ||
28078 | _ACEOF | ||
28079 | cat confdefs.h >>conftest.$ac_ext | ||
28080 | cat >>conftest.$ac_ext <<_ACEOF | ||
28081 | /* end confdefs.h. */ | ||
28082 | |||
28083 | #include <sys/types.h> | 14847 | #include <sys/types.h> |
28084 | #ifdef HAVE_SYS_BITYPES_H | 14848 | #ifdef HAVE_SYS_BITYPES_H |
28085 | #include <sys/bitypes.h> | 14849 | #include <sys/bitypes.h> |
@@ -28091,49 +14855,8 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
28091 | #include <sys/statvfs.h> | 14855 | #include <sys/statvfs.h> |
28092 | #endif | 14856 | #endif |
28093 | 14857 | ||
28094 | 14858 | " | |
28095 | typedef fsblkcnt_t ac__type_new_; | 14859 | if test "x$ac_cv_type_fsblkcnt_t" = xyes; then : |
28096 | int | ||
28097 | main () | ||
28098 | { | ||
28099 | if ((ac__type_new_ *) 0) | ||
28100 | return 0; | ||
28101 | if (sizeof (ac__type_new_)) | ||
28102 | return 0; | ||
28103 | ; | ||
28104 | return 0; | ||
28105 | } | ||
28106 | _ACEOF | ||
28107 | rm -f conftest.$ac_objext | ||
28108 | if { (ac_try="$ac_compile" | ||
28109 | case "(($ac_try" in | ||
28110 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28111 | *) ac_try_echo=$ac_try;; | ||
28112 | esac | ||
28113 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28114 | (eval "$ac_compile") 2>conftest.er1 | ||
28115 | ac_status=$? | ||
28116 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28117 | rm -f conftest.er1 | ||
28118 | cat conftest.err >&5 | ||
28119 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28120 | (exit $ac_status); } && { | ||
28121 | test -z "$ac_c_werror_flag" || | ||
28122 | test ! -s conftest.err | ||
28123 | } && test -s conftest.$ac_objext; then | ||
28124 | ac_cv_type_fsblkcnt_t=yes | ||
28125 | else | ||
28126 | echo "$as_me: failed program was:" >&5 | ||
28127 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28128 | |||
28129 | ac_cv_type_fsblkcnt_t=no | ||
28130 | fi | ||
28131 | |||
28132 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
28133 | fi | ||
28134 | { echo "$as_me:$LINENO: result: $ac_cv_type_fsblkcnt_t" >&5 | ||
28135 | echo "${ECHO_T}$ac_cv_type_fsblkcnt_t" >&6; } | ||
28136 | if test $ac_cv_type_fsblkcnt_t = yes; then | ||
28137 | 14860 | ||
28138 | cat >>confdefs.h <<_ACEOF | 14861 | cat >>confdefs.h <<_ACEOF |
28139 | #define HAVE_FSBLKCNT_T 1 | 14862 | #define HAVE_FSBLKCNT_T 1 |
@@ -28141,18 +14864,7 @@ _ACEOF | |||
28141 | 14864 | ||
28142 | 14865 | ||
28143 | fi | 14866 | fi |
28144 | { echo "$as_me:$LINENO: checking for fsfilcnt_t" >&5 | 14867 | ac_fn_c_check_type "$LINENO" "fsfilcnt_t" "ac_cv_type_fsfilcnt_t" " |
28145 | echo $ECHO_N "checking for fsfilcnt_t... $ECHO_C" >&6; } | ||
28146 | if test "${ac_cv_type_fsfilcnt_t+set}" = set; then | ||
28147 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
28148 | else | ||
28149 | cat >conftest.$ac_ext <<_ACEOF | ||
28150 | /* confdefs.h. */ | ||
28151 | _ACEOF | ||
28152 | cat confdefs.h >>conftest.$ac_ext | ||
28153 | cat >>conftest.$ac_ext <<_ACEOF | ||
28154 | /* end confdefs.h. */ | ||
28155 | |||
28156 | #include <sys/types.h> | 14868 | #include <sys/types.h> |
28157 | #ifdef HAVE_SYS_BITYPES_H | 14869 | #ifdef HAVE_SYS_BITYPES_H |
28158 | #include <sys/bitypes.h> | 14870 | #include <sys/bitypes.h> |
@@ -28164,49 +14876,8 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
28164 | #include <sys/statvfs.h> | 14876 | #include <sys/statvfs.h> |
28165 | #endif | 14877 | #endif |
28166 | 14878 | ||
28167 | 14879 | " | |
28168 | typedef fsfilcnt_t ac__type_new_; | 14880 | if test "x$ac_cv_type_fsfilcnt_t" = xyes; then : |
28169 | int | ||
28170 | main () | ||
28171 | { | ||
28172 | if ((ac__type_new_ *) 0) | ||
28173 | return 0; | ||
28174 | if (sizeof (ac__type_new_)) | ||
28175 | return 0; | ||
28176 | ; | ||
28177 | return 0; | ||
28178 | } | ||
28179 | _ACEOF | ||
28180 | rm -f conftest.$ac_objext | ||
28181 | if { (ac_try="$ac_compile" | ||
28182 | case "(($ac_try" in | ||
28183 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28184 | *) ac_try_echo=$ac_try;; | ||
28185 | esac | ||
28186 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28187 | (eval "$ac_compile") 2>conftest.er1 | ||
28188 | ac_status=$? | ||
28189 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28190 | rm -f conftest.er1 | ||
28191 | cat conftest.err >&5 | ||
28192 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28193 | (exit $ac_status); } && { | ||
28194 | test -z "$ac_c_werror_flag" || | ||
28195 | test ! -s conftest.err | ||
28196 | } && test -s conftest.$ac_objext; then | ||
28197 | ac_cv_type_fsfilcnt_t=yes | ||
28198 | else | ||
28199 | echo "$as_me: failed program was:" >&5 | ||
28200 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28201 | |||
28202 | ac_cv_type_fsfilcnt_t=no | ||
28203 | fi | ||
28204 | |||
28205 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
28206 | fi | ||
28207 | { echo "$as_me:$LINENO: result: $ac_cv_type_fsfilcnt_t" >&5 | ||
28208 | echo "${ECHO_T}$ac_cv_type_fsfilcnt_t" >&6; } | ||
28209 | if test $ac_cv_type_fsfilcnt_t = yes; then | ||
28210 | 14881 | ||
28211 | cat >>confdefs.h <<_ACEOF | 14882 | cat >>confdefs.h <<_ACEOF |
28212 | #define HAVE_FSFILCNT_T 1 | 14883 | #define HAVE_FSFILCNT_T 1 |
@@ -28216,62 +14887,10 @@ _ACEOF | |||
28216 | fi | 14887 | fi |
28217 | 14888 | ||
28218 | 14889 | ||
28219 | { echo "$as_me:$LINENO: checking for in_addr_t" >&5 | 14890 | ac_fn_c_check_type "$LINENO" "in_addr_t" "ac_cv_type_in_addr_t" "#include <sys/types.h> |
28220 | echo $ECHO_N "checking for in_addr_t... $ECHO_C" >&6; } | ||
28221 | if test "${ac_cv_type_in_addr_t+set}" = set; then | ||
28222 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
28223 | else | ||
28224 | cat >conftest.$ac_ext <<_ACEOF | ||
28225 | /* confdefs.h. */ | ||
28226 | _ACEOF | ||
28227 | cat confdefs.h >>conftest.$ac_ext | ||
28228 | cat >>conftest.$ac_ext <<_ACEOF | ||
28229 | /* end confdefs.h. */ | ||
28230 | #include <sys/types.h> | ||
28231 | #include <netinet/in.h> | 14891 | #include <netinet/in.h> |
28232 | 14892 | " | |
28233 | typedef in_addr_t ac__type_new_; | 14893 | if test "x$ac_cv_type_in_addr_t" = xyes; then : |
28234 | int | ||
28235 | main () | ||
28236 | { | ||
28237 | if ((ac__type_new_ *) 0) | ||
28238 | return 0; | ||
28239 | if (sizeof (ac__type_new_)) | ||
28240 | return 0; | ||
28241 | ; | ||
28242 | return 0; | ||
28243 | } | ||
28244 | _ACEOF | ||
28245 | rm -f conftest.$ac_objext | ||
28246 | if { (ac_try="$ac_compile" | ||
28247 | case "(($ac_try" in | ||
28248 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28249 | *) ac_try_echo=$ac_try;; | ||
28250 | esac | ||
28251 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28252 | (eval "$ac_compile") 2>conftest.er1 | ||
28253 | ac_status=$? | ||
28254 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28255 | rm -f conftest.er1 | ||
28256 | cat conftest.err >&5 | ||
28257 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28258 | (exit $ac_status); } && { | ||
28259 | test -z "$ac_c_werror_flag" || | ||
28260 | test ! -s conftest.err | ||
28261 | } && test -s conftest.$ac_objext; then | ||
28262 | ac_cv_type_in_addr_t=yes | ||
28263 | else | ||
28264 | echo "$as_me: failed program was:" >&5 | ||
28265 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28266 | |||
28267 | ac_cv_type_in_addr_t=no | ||
28268 | fi | ||
28269 | |||
28270 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
28271 | fi | ||
28272 | { echo "$as_me:$LINENO: result: $ac_cv_type_in_addr_t" >&5 | ||
28273 | echo "${ECHO_T}$ac_cv_type_in_addr_t" >&6; } | ||
28274 | if test $ac_cv_type_in_addr_t = yes; then | ||
28275 | 14894 | ||
28276 | cat >>confdefs.h <<_ACEOF | 14895 | cat >>confdefs.h <<_ACEOF |
28277 | #define HAVE_IN_ADDR_T 1 | 14896 | #define HAVE_IN_ADDR_T 1 |
@@ -28279,62 +14898,10 @@ _ACEOF | |||
28279 | 14898 | ||
28280 | 14899 | ||
28281 | fi | 14900 | fi |
28282 | { echo "$as_me:$LINENO: checking for in_port_t" >&5 | 14901 | ac_fn_c_check_type "$LINENO" "in_port_t" "ac_cv_type_in_port_t" "#include <sys/types.h> |
28283 | echo $ECHO_N "checking for in_port_t... $ECHO_C" >&6; } | ||
28284 | if test "${ac_cv_type_in_port_t+set}" = set; then | ||
28285 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
28286 | else | ||
28287 | cat >conftest.$ac_ext <<_ACEOF | ||
28288 | /* confdefs.h. */ | ||
28289 | _ACEOF | ||
28290 | cat confdefs.h >>conftest.$ac_ext | ||
28291 | cat >>conftest.$ac_ext <<_ACEOF | ||
28292 | /* end confdefs.h. */ | ||
28293 | #include <sys/types.h> | ||
28294 | #include <netinet/in.h> | 14902 | #include <netinet/in.h> |
28295 | 14903 | " | |
28296 | typedef in_port_t ac__type_new_; | 14904 | if test "x$ac_cv_type_in_port_t" = xyes; then : |
28297 | int | ||
28298 | main () | ||
28299 | { | ||
28300 | if ((ac__type_new_ *) 0) | ||
28301 | return 0; | ||
28302 | if (sizeof (ac__type_new_)) | ||
28303 | return 0; | ||
28304 | ; | ||
28305 | return 0; | ||
28306 | } | ||
28307 | _ACEOF | ||
28308 | rm -f conftest.$ac_objext | ||
28309 | if { (ac_try="$ac_compile" | ||
28310 | case "(($ac_try" in | ||
28311 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28312 | *) ac_try_echo=$ac_try;; | ||
28313 | esac | ||
28314 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28315 | (eval "$ac_compile") 2>conftest.er1 | ||
28316 | ac_status=$? | ||
28317 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28318 | rm -f conftest.er1 | ||
28319 | cat conftest.err >&5 | ||
28320 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28321 | (exit $ac_status); } && { | ||
28322 | test -z "$ac_c_werror_flag" || | ||
28323 | test ! -s conftest.err | ||
28324 | } && test -s conftest.$ac_objext; then | ||
28325 | ac_cv_type_in_port_t=yes | ||
28326 | else | ||
28327 | echo "$as_me: failed program was:" >&5 | ||
28328 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28329 | |||
28330 | ac_cv_type_in_port_t=no | ||
28331 | fi | ||
28332 | |||
28333 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
28334 | fi | ||
28335 | { echo "$as_me:$LINENO: result: $ac_cv_type_in_port_t" >&5 | ||
28336 | echo "${ECHO_T}$ac_cv_type_in_port_t" >&6; } | ||
28337 | if test $ac_cv_type_in_port_t = yes; then | ||
28338 | 14905 | ||
28339 | cat >>confdefs.h <<_ACEOF | 14906 | cat >>confdefs.h <<_ACEOF |
28340 | #define HAVE_IN_PORT_T 1 | 14907 | #define HAVE_IN_PORT_T 1 |
@@ -28344,17 +14911,13 @@ _ACEOF | |||
28344 | fi | 14911 | fi |
28345 | 14912 | ||
28346 | 14913 | ||
28347 | { echo "$as_me:$LINENO: checking for size_t" >&5 | 14914 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for size_t" >&5 |
28348 | echo $ECHO_N "checking for size_t... $ECHO_C" >&6; } | 14915 | $as_echo_n "checking for size_t... " >&6; } |
28349 | if test "${ac_cv_have_size_t+set}" = set; then | 14916 | if ${ac_cv_have_size_t+:} false; then : |
28350 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14917 | $as_echo_n "(cached) " >&6 |
28351 | else | 14918 | else |
28352 | 14919 | ||
28353 | cat >conftest.$ac_ext <<_ACEOF | 14920 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
28354 | /* confdefs.h. */ | ||
28355 | _ACEOF | ||
28356 | cat confdefs.h >>conftest.$ac_ext | ||
28357 | cat >>conftest.$ac_ext <<_ACEOF | ||
28358 | /* end confdefs.h. */ | 14921 | /* end confdefs.h. */ |
28359 | #include <sys/types.h> | 14922 | #include <sys/types.h> |
28360 | int | 14923 | int |
@@ -28365,56 +14928,30 @@ main () | |||
28365 | return 0; | 14928 | return 0; |
28366 | } | 14929 | } |
28367 | _ACEOF | 14930 | _ACEOF |
28368 | rm -f conftest.$ac_objext | 14931 | if ac_fn_c_try_compile "$LINENO"; then : |
28369 | if { (ac_try="$ac_compile" | ||
28370 | case "(($ac_try" in | ||
28371 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28372 | *) ac_try_echo=$ac_try;; | ||
28373 | esac | ||
28374 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28375 | (eval "$ac_compile") 2>conftest.er1 | ||
28376 | ac_status=$? | ||
28377 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28378 | rm -f conftest.er1 | ||
28379 | cat conftest.err >&5 | ||
28380 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28381 | (exit $ac_status); } && { | ||
28382 | test -z "$ac_c_werror_flag" || | ||
28383 | test ! -s conftest.err | ||
28384 | } && test -s conftest.$ac_objext; then | ||
28385 | ac_cv_have_size_t="yes" | 14932 | ac_cv_have_size_t="yes" |
28386 | else | 14933 | else |
28387 | echo "$as_me: failed program was:" >&5 | 14934 | ac_cv_have_size_t="no" |
28388 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28389 | |||
28390 | ac_cv_have_size_t="no" | ||
28391 | 14935 | ||
28392 | fi | 14936 | fi |
28393 | |||
28394 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14937 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
28395 | 14938 | ||
28396 | fi | 14939 | fi |
28397 | { echo "$as_me:$LINENO: result: $ac_cv_have_size_t" >&5 | 14940 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_size_t" >&5 |
28398 | echo "${ECHO_T}$ac_cv_have_size_t" >&6; } | 14941 | $as_echo "$ac_cv_have_size_t" >&6; } |
28399 | if test "x$ac_cv_have_size_t" = "xyes" ; then | 14942 | if test "x$ac_cv_have_size_t" = "xyes" ; then |
28400 | 14943 | ||
28401 | cat >>confdefs.h <<\_ACEOF | 14944 | $as_echo "#define HAVE_SIZE_T 1" >>confdefs.h |
28402 | #define HAVE_SIZE_T 1 | ||
28403 | _ACEOF | ||
28404 | 14945 | ||
28405 | fi | 14946 | fi |
28406 | 14947 | ||
28407 | { echo "$as_me:$LINENO: checking for ssize_t" >&5 | 14948 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 |
28408 | echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6; } | 14949 | $as_echo_n "checking for ssize_t... " >&6; } |
28409 | if test "${ac_cv_have_ssize_t+set}" = set; then | 14950 | if ${ac_cv_have_ssize_t+:} false; then : |
28410 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14951 | $as_echo_n "(cached) " >&6 |
28411 | else | 14952 | else |
28412 | 14953 | ||
28413 | cat >conftest.$ac_ext <<_ACEOF | 14954 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
28414 | /* confdefs.h. */ | ||
28415 | _ACEOF | ||
28416 | cat confdefs.h >>conftest.$ac_ext | ||
28417 | cat >>conftest.$ac_ext <<_ACEOF | ||
28418 | /* end confdefs.h. */ | 14955 | /* end confdefs.h. */ |
28419 | #include <sys/types.h> | 14956 | #include <sys/types.h> |
28420 | int | 14957 | int |
@@ -28425,56 +14962,30 @@ main () | |||
28425 | return 0; | 14962 | return 0; |
28426 | } | 14963 | } |
28427 | _ACEOF | 14964 | _ACEOF |
28428 | rm -f conftest.$ac_objext | 14965 | if ac_fn_c_try_compile "$LINENO"; then : |
28429 | if { (ac_try="$ac_compile" | ||
28430 | case "(($ac_try" in | ||
28431 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28432 | *) ac_try_echo=$ac_try;; | ||
28433 | esac | ||
28434 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28435 | (eval "$ac_compile") 2>conftest.er1 | ||
28436 | ac_status=$? | ||
28437 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28438 | rm -f conftest.er1 | ||
28439 | cat conftest.err >&5 | ||
28440 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28441 | (exit $ac_status); } && { | ||
28442 | test -z "$ac_c_werror_flag" || | ||
28443 | test ! -s conftest.err | ||
28444 | } && test -s conftest.$ac_objext; then | ||
28445 | ac_cv_have_ssize_t="yes" | 14966 | ac_cv_have_ssize_t="yes" |
28446 | else | 14967 | else |
28447 | echo "$as_me: failed program was:" >&5 | 14968 | ac_cv_have_ssize_t="no" |
28448 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28449 | |||
28450 | ac_cv_have_ssize_t="no" | ||
28451 | 14969 | ||
28452 | fi | 14970 | fi |
28453 | |||
28454 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 14971 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
28455 | 14972 | ||
28456 | fi | 14973 | fi |
28457 | { echo "$as_me:$LINENO: result: $ac_cv_have_ssize_t" >&5 | 14974 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_ssize_t" >&5 |
28458 | echo "${ECHO_T}$ac_cv_have_ssize_t" >&6; } | 14975 | $as_echo "$ac_cv_have_ssize_t" >&6; } |
28459 | if test "x$ac_cv_have_ssize_t" = "xyes" ; then | 14976 | if test "x$ac_cv_have_ssize_t" = "xyes" ; then |
28460 | 14977 | ||
28461 | cat >>confdefs.h <<\_ACEOF | 14978 | $as_echo "#define HAVE_SSIZE_T 1" >>confdefs.h |
28462 | #define HAVE_SSIZE_T 1 | ||
28463 | _ACEOF | ||
28464 | 14979 | ||
28465 | fi | 14980 | fi |
28466 | 14981 | ||
28467 | { echo "$as_me:$LINENO: checking for clock_t" >&5 | 14982 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_t" >&5 |
28468 | echo $ECHO_N "checking for clock_t... $ECHO_C" >&6; } | 14983 | $as_echo_n "checking for clock_t... " >&6; } |
28469 | if test "${ac_cv_have_clock_t+set}" = set; then | 14984 | if ${ac_cv_have_clock_t+:} false; then : |
28470 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 14985 | $as_echo_n "(cached) " >&6 |
28471 | else | 14986 | else |
28472 | 14987 | ||
28473 | cat >conftest.$ac_ext <<_ACEOF | 14988 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
28474 | /* confdefs.h. */ | ||
28475 | _ACEOF | ||
28476 | cat confdefs.h >>conftest.$ac_ext | ||
28477 | cat >>conftest.$ac_ext <<_ACEOF | ||
28478 | /* end confdefs.h. */ | 14989 | /* end confdefs.h. */ |
28479 | #include <time.h> | 14990 | #include <time.h> |
28480 | int | 14991 | int |
@@ -28485,56 +14996,30 @@ main () | |||
28485 | return 0; | 14996 | return 0; |
28486 | } | 14997 | } |
28487 | _ACEOF | 14998 | _ACEOF |
28488 | rm -f conftest.$ac_objext | 14999 | if ac_fn_c_try_compile "$LINENO"; then : |
28489 | if { (ac_try="$ac_compile" | ||
28490 | case "(($ac_try" in | ||
28491 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28492 | *) ac_try_echo=$ac_try;; | ||
28493 | esac | ||
28494 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28495 | (eval "$ac_compile") 2>conftest.er1 | ||
28496 | ac_status=$? | ||
28497 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28498 | rm -f conftest.er1 | ||
28499 | cat conftest.err >&5 | ||
28500 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28501 | (exit $ac_status); } && { | ||
28502 | test -z "$ac_c_werror_flag" || | ||
28503 | test ! -s conftest.err | ||
28504 | } && test -s conftest.$ac_objext; then | ||
28505 | ac_cv_have_clock_t="yes" | 15000 | ac_cv_have_clock_t="yes" |
28506 | else | 15001 | else |
28507 | echo "$as_me: failed program was:" >&5 | 15002 | ac_cv_have_clock_t="no" |
28508 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28509 | |||
28510 | ac_cv_have_clock_t="no" | ||
28511 | 15003 | ||
28512 | fi | 15004 | fi |
28513 | |||
28514 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 15005 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
28515 | 15006 | ||
28516 | fi | 15007 | fi |
28517 | { echo "$as_me:$LINENO: result: $ac_cv_have_clock_t" >&5 | 15008 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_clock_t" >&5 |
28518 | echo "${ECHO_T}$ac_cv_have_clock_t" >&6; } | 15009 | $as_echo "$ac_cv_have_clock_t" >&6; } |
28519 | if test "x$ac_cv_have_clock_t" = "xyes" ; then | 15010 | if test "x$ac_cv_have_clock_t" = "xyes" ; then |
28520 | 15011 | ||
28521 | cat >>confdefs.h <<\_ACEOF | 15012 | $as_echo "#define HAVE_CLOCK_T 1" >>confdefs.h |
28522 | #define HAVE_CLOCK_T 1 | ||
28523 | _ACEOF | ||
28524 | 15013 | ||
28525 | fi | 15014 | fi |
28526 | 15015 | ||
28527 | { echo "$as_me:$LINENO: checking for sa_family_t" >&5 | 15016 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sa_family_t" >&5 |
28528 | echo $ECHO_N "checking for sa_family_t... $ECHO_C" >&6; } | 15017 | $as_echo_n "checking for sa_family_t... " >&6; } |
28529 | if test "${ac_cv_have_sa_family_t+set}" = set; then | 15018 | if ${ac_cv_have_sa_family_t+:} false; then : |
28530 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15019 | $as_echo_n "(cached) " >&6 |
28531 | else | 15020 | else |
28532 | 15021 | ||
28533 | cat >conftest.$ac_ext <<_ACEOF | 15022 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
28534 | /* confdefs.h. */ | ||
28535 | _ACEOF | ||
28536 | cat confdefs.h >>conftest.$ac_ext | ||
28537 | cat >>conftest.$ac_ext <<_ACEOF | ||
28538 | /* end confdefs.h. */ | 15023 | /* end confdefs.h. */ |
28539 | 15024 | ||
28540 | #include <sys/types.h> | 15025 | #include <sys/types.h> |
@@ -28548,33 +15033,10 @@ main () | |||
28548 | return 0; | 15033 | return 0; |
28549 | } | 15034 | } |
28550 | _ACEOF | 15035 | _ACEOF |
28551 | rm -f conftest.$ac_objext | 15036 | if ac_fn_c_try_compile "$LINENO"; then : |
28552 | if { (ac_try="$ac_compile" | ||
28553 | case "(($ac_try" in | ||
28554 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28555 | *) ac_try_echo=$ac_try;; | ||
28556 | esac | ||
28557 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28558 | (eval "$ac_compile") 2>conftest.er1 | ||
28559 | ac_status=$? | ||
28560 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28561 | rm -f conftest.er1 | ||
28562 | cat conftest.err >&5 | ||
28563 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28564 | (exit $ac_status); } && { | ||
28565 | test -z "$ac_c_werror_flag" || | ||
28566 | test ! -s conftest.err | ||
28567 | } && test -s conftest.$ac_objext; then | ||
28568 | ac_cv_have_sa_family_t="yes" | 15037 | ac_cv_have_sa_family_t="yes" |
28569 | else | 15038 | else |
28570 | echo "$as_me: failed program was:" >&5 | 15039 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
28571 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28572 | |||
28573 | cat >conftest.$ac_ext <<_ACEOF | ||
28574 | /* confdefs.h. */ | ||
28575 | _ACEOF | ||
28576 | cat confdefs.h >>conftest.$ac_ext | ||
28577 | cat >>conftest.$ac_ext <<_ACEOF | ||
28578 | /* end confdefs.h. */ | 15040 | /* end confdefs.h. */ |
28579 | 15041 | ||
28580 | #include <sys/types.h> | 15042 | #include <sys/types.h> |
@@ -28589,60 +15051,33 @@ main () | |||
28589 | return 0; | 15051 | return 0; |
28590 | } | 15052 | } |
28591 | _ACEOF | 15053 | _ACEOF |
28592 | rm -f conftest.$ac_objext | 15054 | if ac_fn_c_try_compile "$LINENO"; then : |
28593 | if { (ac_try="$ac_compile" | ||
28594 | case "(($ac_try" in | ||
28595 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28596 | *) ac_try_echo=$ac_try;; | ||
28597 | esac | ||
28598 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28599 | (eval "$ac_compile") 2>conftest.er1 | ||
28600 | ac_status=$? | ||
28601 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28602 | rm -f conftest.er1 | ||
28603 | cat conftest.err >&5 | ||
28604 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28605 | (exit $ac_status); } && { | ||
28606 | test -z "$ac_c_werror_flag" || | ||
28607 | test ! -s conftest.err | ||
28608 | } && test -s conftest.$ac_objext; then | ||
28609 | ac_cv_have_sa_family_t="yes" | 15055 | ac_cv_have_sa_family_t="yes" |
28610 | else | 15056 | else |
28611 | echo "$as_me: failed program was:" >&5 | 15057 | ac_cv_have_sa_family_t="no" |
28612 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28613 | |||
28614 | ac_cv_have_sa_family_t="no" | ||
28615 | 15058 | ||
28616 | fi | 15059 | fi |
28617 | |||
28618 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 15060 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
28619 | 15061 | ||
28620 | fi | 15062 | fi |
28621 | |||
28622 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 15063 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
28623 | 15064 | ||
28624 | fi | 15065 | fi |
28625 | { echo "$as_me:$LINENO: result: $ac_cv_have_sa_family_t" >&5 | 15066 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_sa_family_t" >&5 |
28626 | echo "${ECHO_T}$ac_cv_have_sa_family_t" >&6; } | 15067 | $as_echo "$ac_cv_have_sa_family_t" >&6; } |
28627 | if test "x$ac_cv_have_sa_family_t" = "xyes" ; then | 15068 | if test "x$ac_cv_have_sa_family_t" = "xyes" ; then |
28628 | 15069 | ||
28629 | cat >>confdefs.h <<\_ACEOF | 15070 | $as_echo "#define HAVE_SA_FAMILY_T 1" >>confdefs.h |
28630 | #define HAVE_SA_FAMILY_T 1 | ||
28631 | _ACEOF | ||
28632 | 15071 | ||
28633 | fi | 15072 | fi |
28634 | 15073 | ||
28635 | { echo "$as_me:$LINENO: checking for pid_t" >&5 | 15074 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pid_t" >&5 |
28636 | echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; } | 15075 | $as_echo_n "checking for pid_t... " >&6; } |
28637 | if test "${ac_cv_have_pid_t+set}" = set; then | 15076 | if ${ac_cv_have_pid_t+:} false; then : |
28638 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15077 | $as_echo_n "(cached) " >&6 |
28639 | else | 15078 | else |
28640 | 15079 | ||
28641 | cat >conftest.$ac_ext <<_ACEOF | 15080 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
28642 | /* confdefs.h. */ | ||
28643 | _ACEOF | ||
28644 | cat confdefs.h >>conftest.$ac_ext | ||
28645 | cat >>conftest.$ac_ext <<_ACEOF | ||
28646 | /* end confdefs.h. */ | 15081 | /* end confdefs.h. */ |
28647 | #include <sys/types.h> | 15082 | #include <sys/types.h> |
28648 | int | 15083 | int |
@@ -28653,56 +15088,30 @@ main () | |||
28653 | return 0; | 15088 | return 0; |
28654 | } | 15089 | } |
28655 | _ACEOF | 15090 | _ACEOF |
28656 | rm -f conftest.$ac_objext | 15091 | if ac_fn_c_try_compile "$LINENO"; then : |
28657 | if { (ac_try="$ac_compile" | ||
28658 | case "(($ac_try" in | ||
28659 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28660 | *) ac_try_echo=$ac_try;; | ||
28661 | esac | ||
28662 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28663 | (eval "$ac_compile") 2>conftest.er1 | ||
28664 | ac_status=$? | ||
28665 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28666 | rm -f conftest.er1 | ||
28667 | cat conftest.err >&5 | ||
28668 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28669 | (exit $ac_status); } && { | ||
28670 | test -z "$ac_c_werror_flag" || | ||
28671 | test ! -s conftest.err | ||
28672 | } && test -s conftest.$ac_objext; then | ||
28673 | ac_cv_have_pid_t="yes" | 15092 | ac_cv_have_pid_t="yes" |
28674 | else | 15093 | else |
28675 | echo "$as_me: failed program was:" >&5 | 15094 | ac_cv_have_pid_t="no" |
28676 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28677 | |||
28678 | ac_cv_have_pid_t="no" | ||
28679 | 15095 | ||
28680 | fi | 15096 | fi |
28681 | |||
28682 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 15097 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
28683 | 15098 | ||
28684 | fi | 15099 | fi |
28685 | { echo "$as_me:$LINENO: result: $ac_cv_have_pid_t" >&5 | 15100 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_pid_t" >&5 |
28686 | echo "${ECHO_T}$ac_cv_have_pid_t" >&6; } | 15101 | $as_echo "$ac_cv_have_pid_t" >&6; } |
28687 | if test "x$ac_cv_have_pid_t" = "xyes" ; then | 15102 | if test "x$ac_cv_have_pid_t" = "xyes" ; then |
28688 | 15103 | ||
28689 | cat >>confdefs.h <<\_ACEOF | 15104 | $as_echo "#define HAVE_PID_T 1" >>confdefs.h |
28690 | #define HAVE_PID_T 1 | ||
28691 | _ACEOF | ||
28692 | 15105 | ||
28693 | fi | 15106 | fi |
28694 | 15107 | ||
28695 | { echo "$as_me:$LINENO: checking for mode_t" >&5 | 15108 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mode_t" >&5 |
28696 | echo $ECHO_N "checking for mode_t... $ECHO_C" >&6; } | 15109 | $as_echo_n "checking for mode_t... " >&6; } |
28697 | if test "${ac_cv_have_mode_t+set}" = set; then | 15110 | if ${ac_cv_have_mode_t+:} false; then : |
28698 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15111 | $as_echo_n "(cached) " >&6 |
28699 | else | 15112 | else |
28700 | 15113 | ||
28701 | cat >conftest.$ac_ext <<_ACEOF | 15114 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
28702 | /* confdefs.h. */ | ||
28703 | _ACEOF | ||
28704 | cat confdefs.h >>conftest.$ac_ext | ||
28705 | cat >>conftest.$ac_ext <<_ACEOF | ||
28706 | /* end confdefs.h. */ | 15115 | /* end confdefs.h. */ |
28707 | #include <sys/types.h> | 15116 | #include <sys/types.h> |
28708 | int | 15117 | int |
@@ -28713,57 +15122,31 @@ main () | |||
28713 | return 0; | 15122 | return 0; |
28714 | } | 15123 | } |
28715 | _ACEOF | 15124 | _ACEOF |
28716 | rm -f conftest.$ac_objext | 15125 | if ac_fn_c_try_compile "$LINENO"; then : |
28717 | if { (ac_try="$ac_compile" | ||
28718 | case "(($ac_try" in | ||
28719 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28720 | *) ac_try_echo=$ac_try;; | ||
28721 | esac | ||
28722 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28723 | (eval "$ac_compile") 2>conftest.er1 | ||
28724 | ac_status=$? | ||
28725 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28726 | rm -f conftest.er1 | ||
28727 | cat conftest.err >&5 | ||
28728 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28729 | (exit $ac_status); } && { | ||
28730 | test -z "$ac_c_werror_flag" || | ||
28731 | test ! -s conftest.err | ||
28732 | } && test -s conftest.$ac_objext; then | ||
28733 | ac_cv_have_mode_t="yes" | 15126 | ac_cv_have_mode_t="yes" |
28734 | else | 15127 | else |
28735 | echo "$as_me: failed program was:" >&5 | 15128 | ac_cv_have_mode_t="no" |
28736 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28737 | |||
28738 | ac_cv_have_mode_t="no" | ||
28739 | 15129 | ||
28740 | fi | 15130 | fi |
28741 | |||
28742 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 15131 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
28743 | 15132 | ||
28744 | fi | 15133 | fi |
28745 | { echo "$as_me:$LINENO: result: $ac_cv_have_mode_t" >&5 | 15134 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_mode_t" >&5 |
28746 | echo "${ECHO_T}$ac_cv_have_mode_t" >&6; } | 15135 | $as_echo "$ac_cv_have_mode_t" >&6; } |
28747 | if test "x$ac_cv_have_mode_t" = "xyes" ; then | 15136 | if test "x$ac_cv_have_mode_t" = "xyes" ; then |
28748 | 15137 | ||
28749 | cat >>confdefs.h <<\_ACEOF | 15138 | $as_echo "#define HAVE_MODE_T 1" >>confdefs.h |
28750 | #define HAVE_MODE_T 1 | ||
28751 | _ACEOF | ||
28752 | 15139 | ||
28753 | fi | 15140 | fi |
28754 | 15141 | ||
28755 | 15142 | ||
28756 | { echo "$as_me:$LINENO: checking for struct sockaddr_storage" >&5 | 15143 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct sockaddr_storage" >&5 |
28757 | echo $ECHO_N "checking for struct sockaddr_storage... $ECHO_C" >&6; } | 15144 | $as_echo_n "checking for struct sockaddr_storage... " >&6; } |
28758 | if test "${ac_cv_have_struct_sockaddr_storage+set}" = set; then | 15145 | if ${ac_cv_have_struct_sockaddr_storage+:} false; then : |
28759 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15146 | $as_echo_n "(cached) " >&6 |
28760 | else | 15147 | else |
28761 | 15148 | ||
28762 | cat >conftest.$ac_ext <<_ACEOF | 15149 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
28763 | /* confdefs.h. */ | ||
28764 | _ACEOF | ||
28765 | cat confdefs.h >>conftest.$ac_ext | ||
28766 | cat >>conftest.$ac_ext <<_ACEOF | ||
28767 | /* end confdefs.h. */ | 15150 | /* end confdefs.h. */ |
28768 | 15151 | ||
28769 | #include <sys/types.h> | 15152 | #include <sys/types.h> |
@@ -28777,56 +15160,30 @@ main () | |||
28777 | return 0; | 15160 | return 0; |
28778 | } | 15161 | } |
28779 | _ACEOF | 15162 | _ACEOF |
28780 | rm -f conftest.$ac_objext | 15163 | if ac_fn_c_try_compile "$LINENO"; then : |
28781 | if { (ac_try="$ac_compile" | ||
28782 | case "(($ac_try" in | ||
28783 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28784 | *) ac_try_echo=$ac_try;; | ||
28785 | esac | ||
28786 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28787 | (eval "$ac_compile") 2>conftest.er1 | ||
28788 | ac_status=$? | ||
28789 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28790 | rm -f conftest.er1 | ||
28791 | cat conftest.err >&5 | ||
28792 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28793 | (exit $ac_status); } && { | ||
28794 | test -z "$ac_c_werror_flag" || | ||
28795 | test ! -s conftest.err | ||
28796 | } && test -s conftest.$ac_objext; then | ||
28797 | ac_cv_have_struct_sockaddr_storage="yes" | 15164 | ac_cv_have_struct_sockaddr_storage="yes" |
28798 | else | 15165 | else |
28799 | echo "$as_me: failed program was:" >&5 | 15166 | ac_cv_have_struct_sockaddr_storage="no" |
28800 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28801 | |||
28802 | ac_cv_have_struct_sockaddr_storage="no" | ||
28803 | 15167 | ||
28804 | fi | 15168 | fi |
28805 | |||
28806 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 15169 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
28807 | 15170 | ||
28808 | fi | 15171 | fi |
28809 | { echo "$as_me:$LINENO: result: $ac_cv_have_struct_sockaddr_storage" >&5 | 15172 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_sockaddr_storage" >&5 |
28810 | echo "${ECHO_T}$ac_cv_have_struct_sockaddr_storage" >&6; } | 15173 | $as_echo "$ac_cv_have_struct_sockaddr_storage" >&6; } |
28811 | if test "x$ac_cv_have_struct_sockaddr_storage" = "xyes" ; then | 15174 | if test "x$ac_cv_have_struct_sockaddr_storage" = "xyes" ; then |
28812 | 15175 | ||
28813 | cat >>confdefs.h <<\_ACEOF | 15176 | $as_echo "#define HAVE_STRUCT_SOCKADDR_STORAGE 1" >>confdefs.h |
28814 | #define HAVE_STRUCT_SOCKADDR_STORAGE 1 | ||
28815 | _ACEOF | ||
28816 | 15177 | ||
28817 | fi | 15178 | fi |
28818 | 15179 | ||
28819 | { echo "$as_me:$LINENO: checking for struct sockaddr_in6" >&5 | 15180 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct sockaddr_in6" >&5 |
28820 | echo $ECHO_N "checking for struct sockaddr_in6... $ECHO_C" >&6; } | 15181 | $as_echo_n "checking for struct sockaddr_in6... " >&6; } |
28821 | if test "${ac_cv_have_struct_sockaddr_in6+set}" = set; then | 15182 | if ${ac_cv_have_struct_sockaddr_in6+:} false; then : |
28822 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15183 | $as_echo_n "(cached) " >&6 |
28823 | else | 15184 | else |
28824 | 15185 | ||
28825 | cat >conftest.$ac_ext <<_ACEOF | 15186 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
28826 | /* confdefs.h. */ | ||
28827 | _ACEOF | ||
28828 | cat confdefs.h >>conftest.$ac_ext | ||
28829 | cat >>conftest.$ac_ext <<_ACEOF | ||
28830 | /* end confdefs.h. */ | 15187 | /* end confdefs.h. */ |
28831 | 15188 | ||
28832 | #include <sys/types.h> | 15189 | #include <sys/types.h> |
@@ -28840,56 +15197,30 @@ main () | |||
28840 | return 0; | 15197 | return 0; |
28841 | } | 15198 | } |
28842 | _ACEOF | 15199 | _ACEOF |
28843 | rm -f conftest.$ac_objext | 15200 | if ac_fn_c_try_compile "$LINENO"; then : |
28844 | if { (ac_try="$ac_compile" | ||
28845 | case "(($ac_try" in | ||
28846 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28847 | *) ac_try_echo=$ac_try;; | ||
28848 | esac | ||
28849 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28850 | (eval "$ac_compile") 2>conftest.er1 | ||
28851 | ac_status=$? | ||
28852 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28853 | rm -f conftest.er1 | ||
28854 | cat conftest.err >&5 | ||
28855 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28856 | (exit $ac_status); } && { | ||
28857 | test -z "$ac_c_werror_flag" || | ||
28858 | test ! -s conftest.err | ||
28859 | } && test -s conftest.$ac_objext; then | ||
28860 | ac_cv_have_struct_sockaddr_in6="yes" | 15201 | ac_cv_have_struct_sockaddr_in6="yes" |
28861 | else | 15202 | else |
28862 | echo "$as_me: failed program was:" >&5 | 15203 | ac_cv_have_struct_sockaddr_in6="no" |
28863 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28864 | |||
28865 | ac_cv_have_struct_sockaddr_in6="no" | ||
28866 | 15204 | ||
28867 | fi | 15205 | fi |
28868 | |||
28869 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 15206 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
28870 | 15207 | ||
28871 | fi | 15208 | fi |
28872 | { echo "$as_me:$LINENO: result: $ac_cv_have_struct_sockaddr_in6" >&5 | 15209 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_sockaddr_in6" >&5 |
28873 | echo "${ECHO_T}$ac_cv_have_struct_sockaddr_in6" >&6; } | 15210 | $as_echo "$ac_cv_have_struct_sockaddr_in6" >&6; } |
28874 | if test "x$ac_cv_have_struct_sockaddr_in6" = "xyes" ; then | 15211 | if test "x$ac_cv_have_struct_sockaddr_in6" = "xyes" ; then |
28875 | 15212 | ||
28876 | cat >>confdefs.h <<\_ACEOF | 15213 | $as_echo "#define HAVE_STRUCT_SOCKADDR_IN6 1" >>confdefs.h |
28877 | #define HAVE_STRUCT_SOCKADDR_IN6 1 | ||
28878 | _ACEOF | ||
28879 | 15214 | ||
28880 | fi | 15215 | fi |
28881 | 15216 | ||
28882 | { echo "$as_me:$LINENO: checking for struct in6_addr" >&5 | 15217 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct in6_addr" >&5 |
28883 | echo $ECHO_N "checking for struct in6_addr... $ECHO_C" >&6; } | 15218 | $as_echo_n "checking for struct in6_addr... " >&6; } |
28884 | if test "${ac_cv_have_struct_in6_addr+set}" = set; then | 15219 | if ${ac_cv_have_struct_in6_addr+:} false; then : |
28885 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15220 | $as_echo_n "(cached) " >&6 |
28886 | else | 15221 | else |
28887 | 15222 | ||
28888 | cat >conftest.$ac_ext <<_ACEOF | 15223 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
28889 | /* confdefs.h. */ | ||
28890 | _ACEOF | ||
28891 | cat confdefs.h >>conftest.$ac_ext | ||
28892 | cat >>conftest.$ac_ext <<_ACEOF | ||
28893 | /* end confdefs.h. */ | 15224 | /* end confdefs.h. */ |
28894 | 15225 | ||
28895 | #include <sys/types.h> | 15226 | #include <sys/types.h> |
@@ -28903,150 +15234,30 @@ main () | |||
28903 | return 0; | 15234 | return 0; |
28904 | } | 15235 | } |
28905 | _ACEOF | 15236 | _ACEOF |
28906 | rm -f conftest.$ac_objext | 15237 | if ac_fn_c_try_compile "$LINENO"; then : |
28907 | if { (ac_try="$ac_compile" | ||
28908 | case "(($ac_try" in | ||
28909 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28910 | *) ac_try_echo=$ac_try;; | ||
28911 | esac | ||
28912 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28913 | (eval "$ac_compile") 2>conftest.er1 | ||
28914 | ac_status=$? | ||
28915 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28916 | rm -f conftest.er1 | ||
28917 | cat conftest.err >&5 | ||
28918 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28919 | (exit $ac_status); } && { | ||
28920 | test -z "$ac_c_werror_flag" || | ||
28921 | test ! -s conftest.err | ||
28922 | } && test -s conftest.$ac_objext; then | ||
28923 | ac_cv_have_struct_in6_addr="yes" | 15238 | ac_cv_have_struct_in6_addr="yes" |
28924 | else | 15239 | else |
28925 | echo "$as_me: failed program was:" >&5 | 15240 | ac_cv_have_struct_in6_addr="no" |
28926 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28927 | |||
28928 | ac_cv_have_struct_in6_addr="no" | ||
28929 | 15241 | ||
28930 | fi | 15242 | fi |
28931 | |||
28932 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 15243 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
28933 | 15244 | ||
28934 | fi | 15245 | fi |
28935 | { echo "$as_me:$LINENO: result: $ac_cv_have_struct_in6_addr" >&5 | 15246 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_in6_addr" >&5 |
28936 | echo "${ECHO_T}$ac_cv_have_struct_in6_addr" >&6; } | 15247 | $as_echo "$ac_cv_have_struct_in6_addr" >&6; } |
28937 | if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then | 15248 | if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then |
28938 | 15249 | ||
28939 | cat >>confdefs.h <<\_ACEOF | 15250 | $as_echo "#define HAVE_STRUCT_IN6_ADDR 1" >>confdefs.h |
28940 | #define HAVE_STRUCT_IN6_ADDR 1 | ||
28941 | _ACEOF | ||
28942 | |||
28943 | |||
28944 | { echo "$as_me:$LINENO: checking for struct sockaddr_in6.sin6_scope_id" >&5 | ||
28945 | echo $ECHO_N "checking for struct sockaddr_in6.sin6_scope_id... $ECHO_C" >&6; } | ||
28946 | if test "${ac_cv_member_struct_sockaddr_in6_sin6_scope_id+set}" = set; then | ||
28947 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
28948 | else | ||
28949 | cat >conftest.$ac_ext <<_ACEOF | ||
28950 | /* confdefs.h. */ | ||
28951 | _ACEOF | ||
28952 | cat confdefs.h >>conftest.$ac_ext | ||
28953 | cat >>conftest.$ac_ext <<_ACEOF | ||
28954 | /* end confdefs.h. */ | ||
28955 | |||
28956 | #ifdef HAVE_SYS_TYPES_H | ||
28957 | #include <sys/types.h> | ||
28958 | #endif | ||
28959 | #include <netinet/in.h> | ||
28960 | |||
28961 | |||
28962 | int | ||
28963 | main () | ||
28964 | { | ||
28965 | static struct sockaddr_in6 ac_aggr; | ||
28966 | if (ac_aggr.sin6_scope_id) | ||
28967 | return 0; | ||
28968 | ; | ||
28969 | return 0; | ||
28970 | } | ||
28971 | _ACEOF | ||
28972 | rm -f conftest.$ac_objext | ||
28973 | if { (ac_try="$ac_compile" | ||
28974 | case "(($ac_try" in | ||
28975 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
28976 | *) ac_try_echo=$ac_try;; | ||
28977 | esac | ||
28978 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
28979 | (eval "$ac_compile") 2>conftest.er1 | ||
28980 | ac_status=$? | ||
28981 | grep -v '^ *+' conftest.er1 >conftest.err | ||
28982 | rm -f conftest.er1 | ||
28983 | cat conftest.err >&5 | ||
28984 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
28985 | (exit $ac_status); } && { | ||
28986 | test -z "$ac_c_werror_flag" || | ||
28987 | test ! -s conftest.err | ||
28988 | } && test -s conftest.$ac_objext; then | ||
28989 | ac_cv_member_struct_sockaddr_in6_sin6_scope_id=yes | ||
28990 | else | ||
28991 | echo "$as_me: failed program was:" >&5 | ||
28992 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
28993 | 15251 | ||
28994 | cat >conftest.$ac_ext <<_ACEOF | ||
28995 | /* confdefs.h. */ | ||
28996 | _ACEOF | ||
28997 | cat confdefs.h >>conftest.$ac_ext | ||
28998 | cat >>conftest.$ac_ext <<_ACEOF | ||
28999 | /* end confdefs.h. */ | ||
29000 | 15252 | ||
15253 | ac_fn_c_check_member "$LINENO" "struct sockaddr_in6" "sin6_scope_id" "ac_cv_member_struct_sockaddr_in6_sin6_scope_id" " | ||
29001 | #ifdef HAVE_SYS_TYPES_H | 15254 | #ifdef HAVE_SYS_TYPES_H |
29002 | #include <sys/types.h> | 15255 | #include <sys/types.h> |
29003 | #endif | 15256 | #endif |
29004 | #include <netinet/in.h> | 15257 | #include <netinet/in.h> |
29005 | 15258 | ||
29006 | 15259 | " | |
29007 | int | 15260 | if test "x$ac_cv_member_struct_sockaddr_in6_sin6_scope_id" = xyes; then : |
29008 | main () | ||
29009 | { | ||
29010 | static struct sockaddr_in6 ac_aggr; | ||
29011 | if (sizeof ac_aggr.sin6_scope_id) | ||
29012 | return 0; | ||
29013 | ; | ||
29014 | return 0; | ||
29015 | } | ||
29016 | _ACEOF | ||
29017 | rm -f conftest.$ac_objext | ||
29018 | if { (ac_try="$ac_compile" | ||
29019 | case "(($ac_try" in | ||
29020 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
29021 | *) ac_try_echo=$ac_try;; | ||
29022 | esac | ||
29023 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
29024 | (eval "$ac_compile") 2>conftest.er1 | ||
29025 | ac_status=$? | ||
29026 | grep -v '^ *+' conftest.er1 >conftest.err | ||
29027 | rm -f conftest.er1 | ||
29028 | cat conftest.err >&5 | ||
29029 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
29030 | (exit $ac_status); } && { | ||
29031 | test -z "$ac_c_werror_flag" || | ||
29032 | test ! -s conftest.err | ||
29033 | } && test -s conftest.$ac_objext; then | ||
29034 | ac_cv_member_struct_sockaddr_in6_sin6_scope_id=yes | ||
29035 | else | ||
29036 | echo "$as_me: failed program was:" >&5 | ||
29037 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
29038 | |||
29039 | ac_cv_member_struct_sockaddr_in6_sin6_scope_id=no | ||
29040 | fi | ||
29041 | |||
29042 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
29043 | fi | ||
29044 | |||
29045 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
29046 | fi | ||
29047 | { echo "$as_me:$LINENO: result: $ac_cv_member_struct_sockaddr_in6_sin6_scope_id" >&5 | ||
29048 | echo "${ECHO_T}$ac_cv_member_struct_sockaddr_in6_sin6_scope_id" >&6; } | ||
29049 | if test $ac_cv_member_struct_sockaddr_in6_sin6_scope_id = yes; then | ||
29050 | 15261 | ||
29051 | cat >>confdefs.h <<_ACEOF | 15262 | cat >>confdefs.h <<_ACEOF |
29052 | #define HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID 1 | 15263 | #define HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID 1 |
@@ -29057,17 +15268,13 @@ fi | |||
29057 | 15268 | ||
29058 | fi | 15269 | fi |
29059 | 15270 | ||
29060 | { echo "$as_me:$LINENO: checking for struct addrinfo" >&5 | 15271 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct addrinfo" >&5 |
29061 | echo $ECHO_N "checking for struct addrinfo... $ECHO_C" >&6; } | 15272 | $as_echo_n "checking for struct addrinfo... " >&6; } |
29062 | if test "${ac_cv_have_struct_addrinfo+set}" = set; then | 15273 | if ${ac_cv_have_struct_addrinfo+:} false; then : |
29063 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15274 | $as_echo_n "(cached) " >&6 |
29064 | else | 15275 | else |
29065 | 15276 | ||
29066 | cat >conftest.$ac_ext <<_ACEOF | 15277 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29067 | /* confdefs.h. */ | ||
29068 | _ACEOF | ||
29069 | cat confdefs.h >>conftest.$ac_ext | ||
29070 | cat >>conftest.$ac_ext <<_ACEOF | ||
29071 | /* end confdefs.h. */ | 15278 | /* end confdefs.h. */ |
29072 | 15279 | ||
29073 | #include <sys/types.h> | 15280 | #include <sys/types.h> |
@@ -29082,56 +15289,30 @@ main () | |||
29082 | return 0; | 15289 | return 0; |
29083 | } | 15290 | } |
29084 | _ACEOF | 15291 | _ACEOF |
29085 | rm -f conftest.$ac_objext | 15292 | if ac_fn_c_try_compile "$LINENO"; then : |
29086 | if { (ac_try="$ac_compile" | ||
29087 | case "(($ac_try" in | ||
29088 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
29089 | *) ac_try_echo=$ac_try;; | ||
29090 | esac | ||
29091 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
29092 | (eval "$ac_compile") 2>conftest.er1 | ||
29093 | ac_status=$? | ||
29094 | grep -v '^ *+' conftest.er1 >conftest.err | ||
29095 | rm -f conftest.er1 | ||
29096 | cat conftest.err >&5 | ||
29097 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
29098 | (exit $ac_status); } && { | ||
29099 | test -z "$ac_c_werror_flag" || | ||
29100 | test ! -s conftest.err | ||
29101 | } && test -s conftest.$ac_objext; then | ||
29102 | ac_cv_have_struct_addrinfo="yes" | 15293 | ac_cv_have_struct_addrinfo="yes" |
29103 | else | 15294 | else |
29104 | echo "$as_me: failed program was:" >&5 | 15295 | ac_cv_have_struct_addrinfo="no" |
29105 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
29106 | |||
29107 | ac_cv_have_struct_addrinfo="no" | ||
29108 | 15296 | ||
29109 | fi | 15297 | fi |
29110 | |||
29111 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 15298 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
29112 | 15299 | ||
29113 | fi | 15300 | fi |
29114 | { echo "$as_me:$LINENO: result: $ac_cv_have_struct_addrinfo" >&5 | 15301 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_addrinfo" >&5 |
29115 | echo "${ECHO_T}$ac_cv_have_struct_addrinfo" >&6; } | 15302 | $as_echo "$ac_cv_have_struct_addrinfo" >&6; } |
29116 | if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then | 15303 | if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then |
29117 | 15304 | ||
29118 | cat >>confdefs.h <<\_ACEOF | 15305 | $as_echo "#define HAVE_STRUCT_ADDRINFO 1" >>confdefs.h |
29119 | #define HAVE_STRUCT_ADDRINFO 1 | ||
29120 | _ACEOF | ||
29121 | 15306 | ||
29122 | fi | 15307 | fi |
29123 | 15308 | ||
29124 | { echo "$as_me:$LINENO: checking for struct timeval" >&5 | 15309 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5 |
29125 | echo $ECHO_N "checking for struct timeval... $ECHO_C" >&6; } | 15310 | $as_echo_n "checking for struct timeval... " >&6; } |
29126 | if test "${ac_cv_have_struct_timeval+set}" = set; then | 15311 | if ${ac_cv_have_struct_timeval+:} false; then : |
29127 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15312 | $as_echo_n "(cached) " >&6 |
29128 | else | 15313 | else |
29129 | 15314 | ||
29130 | cat >conftest.$ac_ext <<_ACEOF | 15315 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29131 | /* confdefs.h. */ | ||
29132 | _ACEOF | ||
29133 | cat confdefs.h >>conftest.$ac_ext | ||
29134 | cat >>conftest.$ac_ext <<_ACEOF | ||
29135 | /* end confdefs.h. */ | 15316 | /* end confdefs.h. */ |
29136 | #include <sys/time.h> | 15317 | #include <sys/time.h> |
29137 | int | 15318 | int |
@@ -29142,100 +15323,26 @@ main () | |||
29142 | return 0; | 15323 | return 0; |
29143 | } | 15324 | } |
29144 | _ACEOF | 15325 | _ACEOF |
29145 | rm -f conftest.$ac_objext | 15326 | if ac_fn_c_try_compile "$LINENO"; then : |
29146 | if { (ac_try="$ac_compile" | ||
29147 | case "(($ac_try" in | ||
29148 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
29149 | *) ac_try_echo=$ac_try;; | ||
29150 | esac | ||
29151 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
29152 | (eval "$ac_compile") 2>conftest.er1 | ||
29153 | ac_status=$? | ||
29154 | grep -v '^ *+' conftest.er1 >conftest.err | ||
29155 | rm -f conftest.er1 | ||
29156 | cat conftest.err >&5 | ||
29157 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
29158 | (exit $ac_status); } && { | ||
29159 | test -z "$ac_c_werror_flag" || | ||
29160 | test ! -s conftest.err | ||
29161 | } && test -s conftest.$ac_objext; then | ||
29162 | ac_cv_have_struct_timeval="yes" | 15327 | ac_cv_have_struct_timeval="yes" |
29163 | else | 15328 | else |
29164 | echo "$as_me: failed program was:" >&5 | 15329 | ac_cv_have_struct_timeval="no" |
29165 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
29166 | |||
29167 | ac_cv_have_struct_timeval="no" | ||
29168 | 15330 | ||
29169 | fi | 15331 | fi |
29170 | |||
29171 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 15332 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
29172 | 15333 | ||
29173 | fi | 15334 | fi |
29174 | { echo "$as_me:$LINENO: result: $ac_cv_have_struct_timeval" >&5 | 15335 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_timeval" >&5 |
29175 | echo "${ECHO_T}$ac_cv_have_struct_timeval" >&6; } | 15336 | $as_echo "$ac_cv_have_struct_timeval" >&6; } |
29176 | if test "x$ac_cv_have_struct_timeval" = "xyes" ; then | 15337 | if test "x$ac_cv_have_struct_timeval" = "xyes" ; then |
29177 | 15338 | ||
29178 | cat >>confdefs.h <<\_ACEOF | 15339 | $as_echo "#define HAVE_STRUCT_TIMEVAL 1" >>confdefs.h |
29179 | #define HAVE_STRUCT_TIMEVAL 1 | ||
29180 | _ACEOF | ||
29181 | 15340 | ||
29182 | have_struct_timeval=1 | 15341 | have_struct_timeval=1 |
29183 | fi | 15342 | fi |
29184 | 15343 | ||
29185 | { echo "$as_me:$LINENO: checking for struct timespec" >&5 | 15344 | ac_fn_c_check_type "$LINENO" "struct timespec" "ac_cv_type_struct_timespec" "$ac_includes_default" |
29186 | echo $ECHO_N "checking for struct timespec... $ECHO_C" >&6; } | 15345 | if test "x$ac_cv_type_struct_timespec" = xyes; then : |
29187 | if test "${ac_cv_type_struct_timespec+set}" = set; then | ||
29188 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
29189 | else | ||
29190 | cat >conftest.$ac_ext <<_ACEOF | ||
29191 | /* confdefs.h. */ | ||
29192 | _ACEOF | ||
29193 | cat confdefs.h >>conftest.$ac_ext | ||
29194 | cat >>conftest.$ac_ext <<_ACEOF | ||
29195 | /* end confdefs.h. */ | ||
29196 | $ac_includes_default | ||
29197 | typedef struct timespec ac__type_new_; | ||
29198 | int | ||
29199 | main () | ||
29200 | { | ||
29201 | if ((ac__type_new_ *) 0) | ||
29202 | return 0; | ||
29203 | if (sizeof (ac__type_new_)) | ||
29204 | return 0; | ||
29205 | ; | ||
29206 | return 0; | ||
29207 | } | ||
29208 | _ACEOF | ||
29209 | rm -f conftest.$ac_objext | ||
29210 | if { (ac_try="$ac_compile" | ||
29211 | case "(($ac_try" in | ||
29212 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
29213 | *) ac_try_echo=$ac_try;; | ||
29214 | esac | ||
29215 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
29216 | (eval "$ac_compile") 2>conftest.er1 | ||
29217 | ac_status=$? | ||
29218 | grep -v '^ *+' conftest.er1 >conftest.err | ||
29219 | rm -f conftest.er1 | ||
29220 | cat conftest.err >&5 | ||
29221 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
29222 | (exit $ac_status); } && { | ||
29223 | test -z "$ac_c_werror_flag" || | ||
29224 | test ! -s conftest.err | ||
29225 | } && test -s conftest.$ac_objext; then | ||
29226 | ac_cv_type_struct_timespec=yes | ||
29227 | else | ||
29228 | echo "$as_me: failed program was:" >&5 | ||
29229 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
29230 | |||
29231 | ac_cv_type_struct_timespec=no | ||
29232 | fi | ||
29233 | |||
29234 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
29235 | fi | ||
29236 | { echo "$as_me:$LINENO: result: $ac_cv_type_struct_timespec" >&5 | ||
29237 | echo "${ECHO_T}$ac_cv_type_struct_timespec" >&6; } | ||
29238 | if test $ac_cv_type_struct_timespec = yes; then | ||
29239 | 15346 | ||
29240 | cat >>confdefs.h <<_ACEOF | 15347 | cat >>confdefs.h <<_ACEOF |
29241 | #define HAVE_STRUCT_TIMESPEC 1 | 15348 | #define HAVE_STRUCT_TIMESPEC 1 |
@@ -29254,16 +15361,12 @@ if test "x$ac_cv_have_int64_t" = "xno" && \ | |||
29254 | echo "" | 15361 | echo "" |
29255 | exit 1; | 15362 | exit 1; |
29256 | else | 15363 | else |
29257 | if test "$cross_compiling" = yes; then | 15364 | if test "$cross_compiling" = yes; then : |
29258 | { echo "$as_me:$LINENO: WARNING: cross compiling: Assuming working snprintf()" >&5 | 15365 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5 |
29259 | echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;} | 15366 | $as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;} |
29260 | 15367 | ||
29261 | else | 15368 | else |
29262 | cat >conftest.$ac_ext <<_ACEOF | 15369 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29263 | /* confdefs.h. */ | ||
29264 | _ACEOF | ||
29265 | cat confdefs.h >>conftest.$ac_ext | ||
29266 | cat >>conftest.$ac_ext <<_ACEOF | ||
29267 | /* end confdefs.h. */ | 15370 | /* end confdefs.h. */ |
29268 | 15371 | ||
29269 | #include <stdio.h> | 15372 | #include <stdio.h> |
@@ -29290,65 +15393,35 @@ main() { exit(0); } | |||
29290 | #endif | 15393 | #endif |
29291 | 15394 | ||
29292 | _ACEOF | 15395 | _ACEOF |
29293 | rm -f conftest$ac_exeext | 15396 | if ac_fn_c_try_run "$LINENO"; then : |
29294 | if { (ac_try="$ac_link" | ||
29295 | case "(($ac_try" in | ||
29296 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
29297 | *) ac_try_echo=$ac_try;; | ||
29298 | esac | ||
29299 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
29300 | (eval "$ac_link") 2>&5 | ||
29301 | ac_status=$? | ||
29302 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
29303 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
29304 | { (case "(($ac_try" in | ||
29305 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
29306 | *) ac_try_echo=$ac_try;; | ||
29307 | esac | ||
29308 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
29309 | (eval "$ac_try") 2>&5 | ||
29310 | ac_status=$? | ||
29311 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
29312 | (exit $ac_status); }; }; then | ||
29313 | true | 15397 | true |
29314 | else | 15398 | else |
29315 | echo "$as_me: program exited with status $ac_status" >&5 | 15399 | $as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h |
29316 | echo "$as_me: failed program was:" >&5 | ||
29317 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
29318 | |||
29319 | ( exit $ac_status ) | ||
29320 | cat >>confdefs.h <<\_ACEOF | ||
29321 | #define BROKEN_SNPRINTF 1 | ||
29322 | _ACEOF | ||
29323 | 15400 | ||
29324 | fi | 15401 | fi |
29325 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 15402 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
15403 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
29326 | fi | 15404 | fi |
29327 | 15405 | ||
29328 | |||
29329 | fi | 15406 | fi |
29330 | 15407 | ||
29331 | 15408 | ||
29332 | # look for field 'ut_host' in header 'utmp.h' | 15409 | # look for field 'ut_host' in header 'utmp.h' |
29333 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` | 15410 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` |
29334 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_host | 15411 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_host |
29335 | { echo "$as_me:$LINENO: checking for ut_host field in utmp.h" >&5 | 15412 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_host field in utmp.h" >&5 |
29336 | echo $ECHO_N "checking for ut_host field in utmp.h... $ECHO_C" >&6; } | 15413 | $as_echo_n "checking for ut_host field in utmp.h... " >&6; } |
29337 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15414 | if eval \${$ossh_varname+:} false; then : |
29338 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15415 | $as_echo_n "(cached) " >&6 |
29339 | else | 15416 | else |
29340 | 15417 | ||
29341 | cat >conftest.$ac_ext <<_ACEOF | 15418 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29342 | /* confdefs.h. */ | ||
29343 | _ACEOF | ||
29344 | cat confdefs.h >>conftest.$ac_ext | ||
29345 | cat >>conftest.$ac_ext <<_ACEOF | ||
29346 | /* end confdefs.h. */ | 15419 | /* end confdefs.h. */ |
29347 | #include <utmp.h> | 15420 | #include <utmp.h> |
29348 | 15421 | ||
29349 | _ACEOF | 15422 | _ACEOF |
29350 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15423 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29351 | $EGREP "ut_host" >/dev/null 2>&1; then | 15424 | $EGREP "ut_host" >/dev/null 2>&1; then : |
29352 | eval "$ossh_varname=yes" | 15425 | eval "$ossh_varname=yes" |
29353 | else | 15426 | else |
29354 | eval "$ossh_varname=no" | 15427 | eval "$ossh_varname=no" |
@@ -29359,41 +15432,35 @@ fi | |||
29359 | 15432 | ||
29360 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15433 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29361 | if test -n "`echo $ossh_varname`"; then | 15434 | if test -n "`echo $ossh_varname`"; then |
29362 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15435 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29363 | echo "${ECHO_T}$ossh_result" >&6; } | 15436 | $as_echo "$ossh_result" >&6; } |
29364 | if test "x$ossh_result" = "xyes"; then | 15437 | if test "x$ossh_result" = "xyes"; then |
29365 | 15438 | ||
29366 | cat >>confdefs.h <<\_ACEOF | 15439 | $as_echo "#define HAVE_HOST_IN_UTMP 1" >>confdefs.h |
29367 | #define HAVE_HOST_IN_UTMP 1 | ||
29368 | _ACEOF | ||
29369 | 15440 | ||
29370 | fi | 15441 | fi |
29371 | else | 15442 | else |
29372 | { echo "$as_me:$LINENO: result: no" >&5 | 15443 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29373 | echo "${ECHO_T}no" >&6; } | 15444 | $as_echo "no" >&6; } |
29374 | fi | 15445 | fi |
29375 | 15446 | ||
29376 | 15447 | ||
29377 | # look for field 'ut_host' in header 'utmpx.h' | 15448 | # look for field 'ut_host' in header 'utmpx.h' |
29378 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` | 15449 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` |
29379 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_host | 15450 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_host |
29380 | { echo "$as_me:$LINENO: checking for ut_host field in utmpx.h" >&5 | 15451 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_host field in utmpx.h" >&5 |
29381 | echo $ECHO_N "checking for ut_host field in utmpx.h... $ECHO_C" >&6; } | 15452 | $as_echo_n "checking for ut_host field in utmpx.h... " >&6; } |
29382 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15453 | if eval \${$ossh_varname+:} false; then : |
29383 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15454 | $as_echo_n "(cached) " >&6 |
29384 | else | 15455 | else |
29385 | 15456 | ||
29386 | cat >conftest.$ac_ext <<_ACEOF | 15457 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29387 | /* confdefs.h. */ | ||
29388 | _ACEOF | ||
29389 | cat confdefs.h >>conftest.$ac_ext | ||
29390 | cat >>conftest.$ac_ext <<_ACEOF | ||
29391 | /* end confdefs.h. */ | 15458 | /* end confdefs.h. */ |
29392 | #include <utmpx.h> | 15459 | #include <utmpx.h> |
29393 | 15460 | ||
29394 | _ACEOF | 15461 | _ACEOF |
29395 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15462 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29396 | $EGREP "ut_host" >/dev/null 2>&1; then | 15463 | $EGREP "ut_host" >/dev/null 2>&1; then : |
29397 | eval "$ossh_varname=yes" | 15464 | eval "$ossh_varname=yes" |
29398 | else | 15465 | else |
29399 | eval "$ossh_varname=no" | 15466 | eval "$ossh_varname=no" |
@@ -29404,41 +15471,35 @@ fi | |||
29404 | 15471 | ||
29405 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15472 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29406 | if test -n "`echo $ossh_varname`"; then | 15473 | if test -n "`echo $ossh_varname`"; then |
29407 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15474 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29408 | echo "${ECHO_T}$ossh_result" >&6; } | 15475 | $as_echo "$ossh_result" >&6; } |
29409 | if test "x$ossh_result" = "xyes"; then | 15476 | if test "x$ossh_result" = "xyes"; then |
29410 | 15477 | ||
29411 | cat >>confdefs.h <<\_ACEOF | 15478 | $as_echo "#define HAVE_HOST_IN_UTMPX 1" >>confdefs.h |
29412 | #define HAVE_HOST_IN_UTMPX 1 | ||
29413 | _ACEOF | ||
29414 | 15479 | ||
29415 | fi | 15480 | fi |
29416 | else | 15481 | else |
29417 | { echo "$as_me:$LINENO: result: no" >&5 | 15482 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29418 | echo "${ECHO_T}no" >&6; } | 15483 | $as_echo "no" >&6; } |
29419 | fi | 15484 | fi |
29420 | 15485 | ||
29421 | 15486 | ||
29422 | # look for field 'syslen' in header 'utmpx.h' | 15487 | # look for field 'syslen' in header 'utmpx.h' |
29423 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` | 15488 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` |
29424 | ossh_varname="ossh_cv_$ossh_safe""_has_"syslen | 15489 | ossh_varname="ossh_cv_$ossh_safe""_has_"syslen |
29425 | { echo "$as_me:$LINENO: checking for syslen field in utmpx.h" >&5 | 15490 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syslen field in utmpx.h" >&5 |
29426 | echo $ECHO_N "checking for syslen field in utmpx.h... $ECHO_C" >&6; } | 15491 | $as_echo_n "checking for syslen field in utmpx.h... " >&6; } |
29427 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15492 | if eval \${$ossh_varname+:} false; then : |
29428 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15493 | $as_echo_n "(cached) " >&6 |
29429 | else | 15494 | else |
29430 | 15495 | ||
29431 | cat >conftest.$ac_ext <<_ACEOF | 15496 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29432 | /* confdefs.h. */ | ||
29433 | _ACEOF | ||
29434 | cat confdefs.h >>conftest.$ac_ext | ||
29435 | cat >>conftest.$ac_ext <<_ACEOF | ||
29436 | /* end confdefs.h. */ | 15497 | /* end confdefs.h. */ |
29437 | #include <utmpx.h> | 15498 | #include <utmpx.h> |
29438 | 15499 | ||
29439 | _ACEOF | 15500 | _ACEOF |
29440 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15501 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29441 | $EGREP "syslen" >/dev/null 2>&1; then | 15502 | $EGREP "syslen" >/dev/null 2>&1; then : |
29442 | eval "$ossh_varname=yes" | 15503 | eval "$ossh_varname=yes" |
29443 | else | 15504 | else |
29444 | eval "$ossh_varname=no" | 15505 | eval "$ossh_varname=no" |
@@ -29449,41 +15510,35 @@ fi | |||
29449 | 15510 | ||
29450 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15511 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29451 | if test -n "`echo $ossh_varname`"; then | 15512 | if test -n "`echo $ossh_varname`"; then |
29452 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15513 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29453 | echo "${ECHO_T}$ossh_result" >&6; } | 15514 | $as_echo "$ossh_result" >&6; } |
29454 | if test "x$ossh_result" = "xyes"; then | 15515 | if test "x$ossh_result" = "xyes"; then |
29455 | 15516 | ||
29456 | cat >>confdefs.h <<\_ACEOF | 15517 | $as_echo "#define HAVE_SYSLEN_IN_UTMPX 1" >>confdefs.h |
29457 | #define HAVE_SYSLEN_IN_UTMPX 1 | ||
29458 | _ACEOF | ||
29459 | 15518 | ||
29460 | fi | 15519 | fi |
29461 | else | 15520 | else |
29462 | { echo "$as_me:$LINENO: result: no" >&5 | 15521 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29463 | echo "${ECHO_T}no" >&6; } | 15522 | $as_echo "no" >&6; } |
29464 | fi | 15523 | fi |
29465 | 15524 | ||
29466 | 15525 | ||
29467 | # look for field 'ut_pid' in header 'utmp.h' | 15526 | # look for field 'ut_pid' in header 'utmp.h' |
29468 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` | 15527 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` |
29469 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_pid | 15528 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_pid |
29470 | { echo "$as_me:$LINENO: checking for ut_pid field in utmp.h" >&5 | 15529 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_pid field in utmp.h" >&5 |
29471 | echo $ECHO_N "checking for ut_pid field in utmp.h... $ECHO_C" >&6; } | 15530 | $as_echo_n "checking for ut_pid field in utmp.h... " >&6; } |
29472 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15531 | if eval \${$ossh_varname+:} false; then : |
29473 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15532 | $as_echo_n "(cached) " >&6 |
29474 | else | 15533 | else |
29475 | 15534 | ||
29476 | cat >conftest.$ac_ext <<_ACEOF | 15535 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29477 | /* confdefs.h. */ | ||
29478 | _ACEOF | ||
29479 | cat confdefs.h >>conftest.$ac_ext | ||
29480 | cat >>conftest.$ac_ext <<_ACEOF | ||
29481 | /* end confdefs.h. */ | 15536 | /* end confdefs.h. */ |
29482 | #include <utmp.h> | 15537 | #include <utmp.h> |
29483 | 15538 | ||
29484 | _ACEOF | 15539 | _ACEOF |
29485 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15540 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29486 | $EGREP "ut_pid" >/dev/null 2>&1; then | 15541 | $EGREP "ut_pid" >/dev/null 2>&1; then : |
29487 | eval "$ossh_varname=yes" | 15542 | eval "$ossh_varname=yes" |
29488 | else | 15543 | else |
29489 | eval "$ossh_varname=no" | 15544 | eval "$ossh_varname=no" |
@@ -29494,41 +15549,35 @@ fi | |||
29494 | 15549 | ||
29495 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15550 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29496 | if test -n "`echo $ossh_varname`"; then | 15551 | if test -n "`echo $ossh_varname`"; then |
29497 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15552 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29498 | echo "${ECHO_T}$ossh_result" >&6; } | 15553 | $as_echo "$ossh_result" >&6; } |
29499 | if test "x$ossh_result" = "xyes"; then | 15554 | if test "x$ossh_result" = "xyes"; then |
29500 | 15555 | ||
29501 | cat >>confdefs.h <<\_ACEOF | 15556 | $as_echo "#define HAVE_PID_IN_UTMP 1" >>confdefs.h |
29502 | #define HAVE_PID_IN_UTMP 1 | ||
29503 | _ACEOF | ||
29504 | 15557 | ||
29505 | fi | 15558 | fi |
29506 | else | 15559 | else |
29507 | { echo "$as_me:$LINENO: result: no" >&5 | 15560 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29508 | echo "${ECHO_T}no" >&6; } | 15561 | $as_echo "no" >&6; } |
29509 | fi | 15562 | fi |
29510 | 15563 | ||
29511 | 15564 | ||
29512 | # look for field 'ut_type' in header 'utmp.h' | 15565 | # look for field 'ut_type' in header 'utmp.h' |
29513 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` | 15566 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` |
29514 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_type | 15567 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_type |
29515 | { echo "$as_me:$LINENO: checking for ut_type field in utmp.h" >&5 | 15568 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_type field in utmp.h" >&5 |
29516 | echo $ECHO_N "checking for ut_type field in utmp.h... $ECHO_C" >&6; } | 15569 | $as_echo_n "checking for ut_type field in utmp.h... " >&6; } |
29517 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15570 | if eval \${$ossh_varname+:} false; then : |
29518 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15571 | $as_echo_n "(cached) " >&6 |
29519 | else | 15572 | else |
29520 | 15573 | ||
29521 | cat >conftest.$ac_ext <<_ACEOF | 15574 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29522 | /* confdefs.h. */ | ||
29523 | _ACEOF | ||
29524 | cat confdefs.h >>conftest.$ac_ext | ||
29525 | cat >>conftest.$ac_ext <<_ACEOF | ||
29526 | /* end confdefs.h. */ | 15575 | /* end confdefs.h. */ |
29527 | #include <utmp.h> | 15576 | #include <utmp.h> |
29528 | 15577 | ||
29529 | _ACEOF | 15578 | _ACEOF |
29530 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15579 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29531 | $EGREP "ut_type" >/dev/null 2>&1; then | 15580 | $EGREP "ut_type" >/dev/null 2>&1; then : |
29532 | eval "$ossh_varname=yes" | 15581 | eval "$ossh_varname=yes" |
29533 | else | 15582 | else |
29534 | eval "$ossh_varname=no" | 15583 | eval "$ossh_varname=no" |
@@ -29539,41 +15588,35 @@ fi | |||
29539 | 15588 | ||
29540 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15589 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29541 | if test -n "`echo $ossh_varname`"; then | 15590 | if test -n "`echo $ossh_varname`"; then |
29542 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15591 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29543 | echo "${ECHO_T}$ossh_result" >&6; } | 15592 | $as_echo "$ossh_result" >&6; } |
29544 | if test "x$ossh_result" = "xyes"; then | 15593 | if test "x$ossh_result" = "xyes"; then |
29545 | 15594 | ||
29546 | cat >>confdefs.h <<\_ACEOF | 15595 | $as_echo "#define HAVE_TYPE_IN_UTMP 1" >>confdefs.h |
29547 | #define HAVE_TYPE_IN_UTMP 1 | ||
29548 | _ACEOF | ||
29549 | 15596 | ||
29550 | fi | 15597 | fi |
29551 | else | 15598 | else |
29552 | { echo "$as_me:$LINENO: result: no" >&5 | 15599 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29553 | echo "${ECHO_T}no" >&6; } | 15600 | $as_echo "no" >&6; } |
29554 | fi | 15601 | fi |
29555 | 15602 | ||
29556 | 15603 | ||
29557 | # look for field 'ut_type' in header 'utmpx.h' | 15604 | # look for field 'ut_type' in header 'utmpx.h' |
29558 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` | 15605 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` |
29559 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_type | 15606 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_type |
29560 | { echo "$as_me:$LINENO: checking for ut_type field in utmpx.h" >&5 | 15607 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_type field in utmpx.h" >&5 |
29561 | echo $ECHO_N "checking for ut_type field in utmpx.h... $ECHO_C" >&6; } | 15608 | $as_echo_n "checking for ut_type field in utmpx.h... " >&6; } |
29562 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15609 | if eval \${$ossh_varname+:} false; then : |
29563 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15610 | $as_echo_n "(cached) " >&6 |
29564 | else | 15611 | else |
29565 | 15612 | ||
29566 | cat >conftest.$ac_ext <<_ACEOF | 15613 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29567 | /* confdefs.h. */ | ||
29568 | _ACEOF | ||
29569 | cat confdefs.h >>conftest.$ac_ext | ||
29570 | cat >>conftest.$ac_ext <<_ACEOF | ||
29571 | /* end confdefs.h. */ | 15614 | /* end confdefs.h. */ |
29572 | #include <utmpx.h> | 15615 | #include <utmpx.h> |
29573 | 15616 | ||
29574 | _ACEOF | 15617 | _ACEOF |
29575 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15618 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29576 | $EGREP "ut_type" >/dev/null 2>&1; then | 15619 | $EGREP "ut_type" >/dev/null 2>&1; then : |
29577 | eval "$ossh_varname=yes" | 15620 | eval "$ossh_varname=yes" |
29578 | else | 15621 | else |
29579 | eval "$ossh_varname=no" | 15622 | eval "$ossh_varname=no" |
@@ -29584,41 +15627,35 @@ fi | |||
29584 | 15627 | ||
29585 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15628 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29586 | if test -n "`echo $ossh_varname`"; then | 15629 | if test -n "`echo $ossh_varname`"; then |
29587 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15630 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29588 | echo "${ECHO_T}$ossh_result" >&6; } | 15631 | $as_echo "$ossh_result" >&6; } |
29589 | if test "x$ossh_result" = "xyes"; then | 15632 | if test "x$ossh_result" = "xyes"; then |
29590 | 15633 | ||
29591 | cat >>confdefs.h <<\_ACEOF | 15634 | $as_echo "#define HAVE_TYPE_IN_UTMPX 1" >>confdefs.h |
29592 | #define HAVE_TYPE_IN_UTMPX 1 | ||
29593 | _ACEOF | ||
29594 | 15635 | ||
29595 | fi | 15636 | fi |
29596 | else | 15637 | else |
29597 | { echo "$as_me:$LINENO: result: no" >&5 | 15638 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29598 | echo "${ECHO_T}no" >&6; } | 15639 | $as_echo "no" >&6; } |
29599 | fi | 15640 | fi |
29600 | 15641 | ||
29601 | 15642 | ||
29602 | # look for field 'ut_tv' in header 'utmp.h' | 15643 | # look for field 'ut_tv' in header 'utmp.h' |
29603 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` | 15644 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` |
29604 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_tv | 15645 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_tv |
29605 | { echo "$as_me:$LINENO: checking for ut_tv field in utmp.h" >&5 | 15646 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_tv field in utmp.h" >&5 |
29606 | echo $ECHO_N "checking for ut_tv field in utmp.h... $ECHO_C" >&6; } | 15647 | $as_echo_n "checking for ut_tv field in utmp.h... " >&6; } |
29607 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15648 | if eval \${$ossh_varname+:} false; then : |
29608 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15649 | $as_echo_n "(cached) " >&6 |
29609 | else | 15650 | else |
29610 | 15651 | ||
29611 | cat >conftest.$ac_ext <<_ACEOF | 15652 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29612 | /* confdefs.h. */ | ||
29613 | _ACEOF | ||
29614 | cat confdefs.h >>conftest.$ac_ext | ||
29615 | cat >>conftest.$ac_ext <<_ACEOF | ||
29616 | /* end confdefs.h. */ | 15653 | /* end confdefs.h. */ |
29617 | #include <utmp.h> | 15654 | #include <utmp.h> |
29618 | 15655 | ||
29619 | _ACEOF | 15656 | _ACEOF |
29620 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15657 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29621 | $EGREP "ut_tv" >/dev/null 2>&1; then | 15658 | $EGREP "ut_tv" >/dev/null 2>&1; then : |
29622 | eval "$ossh_varname=yes" | 15659 | eval "$ossh_varname=yes" |
29623 | else | 15660 | else |
29624 | eval "$ossh_varname=no" | 15661 | eval "$ossh_varname=no" |
@@ -29629,41 +15666,35 @@ fi | |||
29629 | 15666 | ||
29630 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15667 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29631 | if test -n "`echo $ossh_varname`"; then | 15668 | if test -n "`echo $ossh_varname`"; then |
29632 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15669 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29633 | echo "${ECHO_T}$ossh_result" >&6; } | 15670 | $as_echo "$ossh_result" >&6; } |
29634 | if test "x$ossh_result" = "xyes"; then | 15671 | if test "x$ossh_result" = "xyes"; then |
29635 | 15672 | ||
29636 | cat >>confdefs.h <<\_ACEOF | 15673 | $as_echo "#define HAVE_TV_IN_UTMP 1" >>confdefs.h |
29637 | #define HAVE_TV_IN_UTMP 1 | ||
29638 | _ACEOF | ||
29639 | 15674 | ||
29640 | fi | 15675 | fi |
29641 | else | 15676 | else |
29642 | { echo "$as_me:$LINENO: result: no" >&5 | 15677 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29643 | echo "${ECHO_T}no" >&6; } | 15678 | $as_echo "no" >&6; } |
29644 | fi | 15679 | fi |
29645 | 15680 | ||
29646 | 15681 | ||
29647 | # look for field 'ut_id' in header 'utmp.h' | 15682 | # look for field 'ut_id' in header 'utmp.h' |
29648 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` | 15683 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` |
29649 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_id | 15684 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_id |
29650 | { echo "$as_me:$LINENO: checking for ut_id field in utmp.h" >&5 | 15685 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_id field in utmp.h" >&5 |
29651 | echo $ECHO_N "checking for ut_id field in utmp.h... $ECHO_C" >&6; } | 15686 | $as_echo_n "checking for ut_id field in utmp.h... " >&6; } |
29652 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15687 | if eval \${$ossh_varname+:} false; then : |
29653 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15688 | $as_echo_n "(cached) " >&6 |
29654 | else | 15689 | else |
29655 | 15690 | ||
29656 | cat >conftest.$ac_ext <<_ACEOF | 15691 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29657 | /* confdefs.h. */ | ||
29658 | _ACEOF | ||
29659 | cat confdefs.h >>conftest.$ac_ext | ||
29660 | cat >>conftest.$ac_ext <<_ACEOF | ||
29661 | /* end confdefs.h. */ | 15692 | /* end confdefs.h. */ |
29662 | #include <utmp.h> | 15693 | #include <utmp.h> |
29663 | 15694 | ||
29664 | _ACEOF | 15695 | _ACEOF |
29665 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15696 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29666 | $EGREP "ut_id" >/dev/null 2>&1; then | 15697 | $EGREP "ut_id" >/dev/null 2>&1; then : |
29667 | eval "$ossh_varname=yes" | 15698 | eval "$ossh_varname=yes" |
29668 | else | 15699 | else |
29669 | eval "$ossh_varname=no" | 15700 | eval "$ossh_varname=no" |
@@ -29674,41 +15705,35 @@ fi | |||
29674 | 15705 | ||
29675 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15706 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29676 | if test -n "`echo $ossh_varname`"; then | 15707 | if test -n "`echo $ossh_varname`"; then |
29677 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15708 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29678 | echo "${ECHO_T}$ossh_result" >&6; } | 15709 | $as_echo "$ossh_result" >&6; } |
29679 | if test "x$ossh_result" = "xyes"; then | 15710 | if test "x$ossh_result" = "xyes"; then |
29680 | 15711 | ||
29681 | cat >>confdefs.h <<\_ACEOF | 15712 | $as_echo "#define HAVE_ID_IN_UTMP 1" >>confdefs.h |
29682 | #define HAVE_ID_IN_UTMP 1 | ||
29683 | _ACEOF | ||
29684 | 15713 | ||
29685 | fi | 15714 | fi |
29686 | else | 15715 | else |
29687 | { echo "$as_me:$LINENO: result: no" >&5 | 15716 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29688 | echo "${ECHO_T}no" >&6; } | 15717 | $as_echo "no" >&6; } |
29689 | fi | 15718 | fi |
29690 | 15719 | ||
29691 | 15720 | ||
29692 | # look for field 'ut_id' in header 'utmpx.h' | 15721 | # look for field 'ut_id' in header 'utmpx.h' |
29693 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` | 15722 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` |
29694 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_id | 15723 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_id |
29695 | { echo "$as_me:$LINENO: checking for ut_id field in utmpx.h" >&5 | 15724 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_id field in utmpx.h" >&5 |
29696 | echo $ECHO_N "checking for ut_id field in utmpx.h... $ECHO_C" >&6; } | 15725 | $as_echo_n "checking for ut_id field in utmpx.h... " >&6; } |
29697 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15726 | if eval \${$ossh_varname+:} false; then : |
29698 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15727 | $as_echo_n "(cached) " >&6 |
29699 | else | 15728 | else |
29700 | 15729 | ||
29701 | cat >conftest.$ac_ext <<_ACEOF | 15730 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29702 | /* confdefs.h. */ | ||
29703 | _ACEOF | ||
29704 | cat confdefs.h >>conftest.$ac_ext | ||
29705 | cat >>conftest.$ac_ext <<_ACEOF | ||
29706 | /* end confdefs.h. */ | 15731 | /* end confdefs.h. */ |
29707 | #include <utmpx.h> | 15732 | #include <utmpx.h> |
29708 | 15733 | ||
29709 | _ACEOF | 15734 | _ACEOF |
29710 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15735 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29711 | $EGREP "ut_id" >/dev/null 2>&1; then | 15736 | $EGREP "ut_id" >/dev/null 2>&1; then : |
29712 | eval "$ossh_varname=yes" | 15737 | eval "$ossh_varname=yes" |
29713 | else | 15738 | else |
29714 | eval "$ossh_varname=no" | 15739 | eval "$ossh_varname=no" |
@@ -29719,41 +15744,35 @@ fi | |||
29719 | 15744 | ||
29720 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15745 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29721 | if test -n "`echo $ossh_varname`"; then | 15746 | if test -n "`echo $ossh_varname`"; then |
29722 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15747 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29723 | echo "${ECHO_T}$ossh_result" >&6; } | 15748 | $as_echo "$ossh_result" >&6; } |
29724 | if test "x$ossh_result" = "xyes"; then | 15749 | if test "x$ossh_result" = "xyes"; then |
29725 | 15750 | ||
29726 | cat >>confdefs.h <<\_ACEOF | 15751 | $as_echo "#define HAVE_ID_IN_UTMPX 1" >>confdefs.h |
29727 | #define HAVE_ID_IN_UTMPX 1 | ||
29728 | _ACEOF | ||
29729 | 15752 | ||
29730 | fi | 15753 | fi |
29731 | else | 15754 | else |
29732 | { echo "$as_me:$LINENO: result: no" >&5 | 15755 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29733 | echo "${ECHO_T}no" >&6; } | 15756 | $as_echo "no" >&6; } |
29734 | fi | 15757 | fi |
29735 | 15758 | ||
29736 | 15759 | ||
29737 | # look for field 'ut_addr' in header 'utmp.h' | 15760 | # look for field 'ut_addr' in header 'utmp.h' |
29738 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` | 15761 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` |
29739 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr | 15762 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr |
29740 | { echo "$as_me:$LINENO: checking for ut_addr field in utmp.h" >&5 | 15763 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr field in utmp.h" >&5 |
29741 | echo $ECHO_N "checking for ut_addr field in utmp.h... $ECHO_C" >&6; } | 15764 | $as_echo_n "checking for ut_addr field in utmp.h... " >&6; } |
29742 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15765 | if eval \${$ossh_varname+:} false; then : |
29743 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15766 | $as_echo_n "(cached) " >&6 |
29744 | else | 15767 | else |
29745 | 15768 | ||
29746 | cat >conftest.$ac_ext <<_ACEOF | 15769 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29747 | /* confdefs.h. */ | ||
29748 | _ACEOF | ||
29749 | cat confdefs.h >>conftest.$ac_ext | ||
29750 | cat >>conftest.$ac_ext <<_ACEOF | ||
29751 | /* end confdefs.h. */ | 15770 | /* end confdefs.h. */ |
29752 | #include <utmp.h> | 15771 | #include <utmp.h> |
29753 | 15772 | ||
29754 | _ACEOF | 15773 | _ACEOF |
29755 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15774 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29756 | $EGREP "ut_addr" >/dev/null 2>&1; then | 15775 | $EGREP "ut_addr" >/dev/null 2>&1; then : |
29757 | eval "$ossh_varname=yes" | 15776 | eval "$ossh_varname=yes" |
29758 | else | 15777 | else |
29759 | eval "$ossh_varname=no" | 15778 | eval "$ossh_varname=no" |
@@ -29764,41 +15783,35 @@ fi | |||
29764 | 15783 | ||
29765 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15784 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29766 | if test -n "`echo $ossh_varname`"; then | 15785 | if test -n "`echo $ossh_varname`"; then |
29767 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15786 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29768 | echo "${ECHO_T}$ossh_result" >&6; } | 15787 | $as_echo "$ossh_result" >&6; } |
29769 | if test "x$ossh_result" = "xyes"; then | 15788 | if test "x$ossh_result" = "xyes"; then |
29770 | 15789 | ||
29771 | cat >>confdefs.h <<\_ACEOF | 15790 | $as_echo "#define HAVE_ADDR_IN_UTMP 1" >>confdefs.h |
29772 | #define HAVE_ADDR_IN_UTMP 1 | ||
29773 | _ACEOF | ||
29774 | 15791 | ||
29775 | fi | 15792 | fi |
29776 | else | 15793 | else |
29777 | { echo "$as_me:$LINENO: result: no" >&5 | 15794 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29778 | echo "${ECHO_T}no" >&6; } | 15795 | $as_echo "no" >&6; } |
29779 | fi | 15796 | fi |
29780 | 15797 | ||
29781 | 15798 | ||
29782 | # look for field 'ut_addr' in header 'utmpx.h' | 15799 | # look for field 'ut_addr' in header 'utmpx.h' |
29783 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` | 15800 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` |
29784 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr | 15801 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr |
29785 | { echo "$as_me:$LINENO: checking for ut_addr field in utmpx.h" >&5 | 15802 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr field in utmpx.h" >&5 |
29786 | echo $ECHO_N "checking for ut_addr field in utmpx.h... $ECHO_C" >&6; } | 15803 | $as_echo_n "checking for ut_addr field in utmpx.h... " >&6; } |
29787 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15804 | if eval \${$ossh_varname+:} false; then : |
29788 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15805 | $as_echo_n "(cached) " >&6 |
29789 | else | 15806 | else |
29790 | 15807 | ||
29791 | cat >conftest.$ac_ext <<_ACEOF | 15808 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29792 | /* confdefs.h. */ | ||
29793 | _ACEOF | ||
29794 | cat confdefs.h >>conftest.$ac_ext | ||
29795 | cat >>conftest.$ac_ext <<_ACEOF | ||
29796 | /* end confdefs.h. */ | 15809 | /* end confdefs.h. */ |
29797 | #include <utmpx.h> | 15810 | #include <utmpx.h> |
29798 | 15811 | ||
29799 | _ACEOF | 15812 | _ACEOF |
29800 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15813 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29801 | $EGREP "ut_addr" >/dev/null 2>&1; then | 15814 | $EGREP "ut_addr" >/dev/null 2>&1; then : |
29802 | eval "$ossh_varname=yes" | 15815 | eval "$ossh_varname=yes" |
29803 | else | 15816 | else |
29804 | eval "$ossh_varname=no" | 15817 | eval "$ossh_varname=no" |
@@ -29809,41 +15822,35 @@ fi | |||
29809 | 15822 | ||
29810 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15823 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29811 | if test -n "`echo $ossh_varname`"; then | 15824 | if test -n "`echo $ossh_varname`"; then |
29812 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15825 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29813 | echo "${ECHO_T}$ossh_result" >&6; } | 15826 | $as_echo "$ossh_result" >&6; } |
29814 | if test "x$ossh_result" = "xyes"; then | 15827 | if test "x$ossh_result" = "xyes"; then |
29815 | 15828 | ||
29816 | cat >>confdefs.h <<\_ACEOF | 15829 | $as_echo "#define HAVE_ADDR_IN_UTMPX 1" >>confdefs.h |
29817 | #define HAVE_ADDR_IN_UTMPX 1 | ||
29818 | _ACEOF | ||
29819 | 15830 | ||
29820 | fi | 15831 | fi |
29821 | else | 15832 | else |
29822 | { echo "$as_me:$LINENO: result: no" >&5 | 15833 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29823 | echo "${ECHO_T}no" >&6; } | 15834 | $as_echo "no" >&6; } |
29824 | fi | 15835 | fi |
29825 | 15836 | ||
29826 | 15837 | ||
29827 | # look for field 'ut_addr_v6' in header 'utmp.h' | 15838 | # look for field 'ut_addr_v6' in header 'utmp.h' |
29828 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` | 15839 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` |
29829 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr_v6 | 15840 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr_v6 |
29830 | { echo "$as_me:$LINENO: checking for ut_addr_v6 field in utmp.h" >&5 | 15841 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr_v6 field in utmp.h" >&5 |
29831 | echo $ECHO_N "checking for ut_addr_v6 field in utmp.h... $ECHO_C" >&6; } | 15842 | $as_echo_n "checking for ut_addr_v6 field in utmp.h... " >&6; } |
29832 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15843 | if eval \${$ossh_varname+:} false; then : |
29833 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15844 | $as_echo_n "(cached) " >&6 |
29834 | else | 15845 | else |
29835 | 15846 | ||
29836 | cat >conftest.$ac_ext <<_ACEOF | 15847 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29837 | /* confdefs.h. */ | ||
29838 | _ACEOF | ||
29839 | cat confdefs.h >>conftest.$ac_ext | ||
29840 | cat >>conftest.$ac_ext <<_ACEOF | ||
29841 | /* end confdefs.h. */ | 15848 | /* end confdefs.h. */ |
29842 | #include <utmp.h> | 15849 | #include <utmp.h> |
29843 | 15850 | ||
29844 | _ACEOF | 15851 | _ACEOF |
29845 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15852 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29846 | $EGREP "ut_addr_v6" >/dev/null 2>&1; then | 15853 | $EGREP "ut_addr_v6" >/dev/null 2>&1; then : |
29847 | eval "$ossh_varname=yes" | 15854 | eval "$ossh_varname=yes" |
29848 | else | 15855 | else |
29849 | eval "$ossh_varname=no" | 15856 | eval "$ossh_varname=no" |
@@ -29854,41 +15861,35 @@ fi | |||
29854 | 15861 | ||
29855 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15862 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29856 | if test -n "`echo $ossh_varname`"; then | 15863 | if test -n "`echo $ossh_varname`"; then |
29857 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15864 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29858 | echo "${ECHO_T}$ossh_result" >&6; } | 15865 | $as_echo "$ossh_result" >&6; } |
29859 | if test "x$ossh_result" = "xyes"; then | 15866 | if test "x$ossh_result" = "xyes"; then |
29860 | 15867 | ||
29861 | cat >>confdefs.h <<\_ACEOF | 15868 | $as_echo "#define HAVE_ADDR_V6_IN_UTMP 1" >>confdefs.h |
29862 | #define HAVE_ADDR_V6_IN_UTMP 1 | ||
29863 | _ACEOF | ||
29864 | 15869 | ||
29865 | fi | 15870 | fi |
29866 | else | 15871 | else |
29867 | { echo "$as_me:$LINENO: result: no" >&5 | 15872 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29868 | echo "${ECHO_T}no" >&6; } | 15873 | $as_echo "no" >&6; } |
29869 | fi | 15874 | fi |
29870 | 15875 | ||
29871 | 15876 | ||
29872 | # look for field 'ut_addr_v6' in header 'utmpx.h' | 15877 | # look for field 'ut_addr_v6' in header 'utmpx.h' |
29873 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` | 15878 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` |
29874 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr_v6 | 15879 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr_v6 |
29875 | { echo "$as_me:$LINENO: checking for ut_addr_v6 field in utmpx.h" >&5 | 15880 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr_v6 field in utmpx.h" >&5 |
29876 | echo $ECHO_N "checking for ut_addr_v6 field in utmpx.h... $ECHO_C" >&6; } | 15881 | $as_echo_n "checking for ut_addr_v6 field in utmpx.h... " >&6; } |
29877 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15882 | if eval \${$ossh_varname+:} false; then : |
29878 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15883 | $as_echo_n "(cached) " >&6 |
29879 | else | 15884 | else |
29880 | 15885 | ||
29881 | cat >conftest.$ac_ext <<_ACEOF | 15886 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29882 | /* confdefs.h. */ | ||
29883 | _ACEOF | ||
29884 | cat confdefs.h >>conftest.$ac_ext | ||
29885 | cat >>conftest.$ac_ext <<_ACEOF | ||
29886 | /* end confdefs.h. */ | 15887 | /* end confdefs.h. */ |
29887 | #include <utmpx.h> | 15888 | #include <utmpx.h> |
29888 | 15889 | ||
29889 | _ACEOF | 15890 | _ACEOF |
29890 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15891 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29891 | $EGREP "ut_addr_v6" >/dev/null 2>&1; then | 15892 | $EGREP "ut_addr_v6" >/dev/null 2>&1; then : |
29892 | eval "$ossh_varname=yes" | 15893 | eval "$ossh_varname=yes" |
29893 | else | 15894 | else |
29894 | eval "$ossh_varname=no" | 15895 | eval "$ossh_varname=no" |
@@ -29899,41 +15900,35 @@ fi | |||
29899 | 15900 | ||
29900 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15901 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29901 | if test -n "`echo $ossh_varname`"; then | 15902 | if test -n "`echo $ossh_varname`"; then |
29902 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15903 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29903 | echo "${ECHO_T}$ossh_result" >&6; } | 15904 | $as_echo "$ossh_result" >&6; } |
29904 | if test "x$ossh_result" = "xyes"; then | 15905 | if test "x$ossh_result" = "xyes"; then |
29905 | 15906 | ||
29906 | cat >>confdefs.h <<\_ACEOF | 15907 | $as_echo "#define HAVE_ADDR_V6_IN_UTMPX 1" >>confdefs.h |
29907 | #define HAVE_ADDR_V6_IN_UTMPX 1 | ||
29908 | _ACEOF | ||
29909 | 15908 | ||
29910 | fi | 15909 | fi |
29911 | else | 15910 | else |
29912 | { echo "$as_me:$LINENO: result: no" >&5 | 15911 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29913 | echo "${ECHO_T}no" >&6; } | 15912 | $as_echo "no" >&6; } |
29914 | fi | 15913 | fi |
29915 | 15914 | ||
29916 | 15915 | ||
29917 | # look for field 'ut_exit' in header 'utmp.h' | 15916 | # look for field 'ut_exit' in header 'utmp.h' |
29918 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` | 15917 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` |
29919 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_exit | 15918 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_exit |
29920 | { echo "$as_me:$LINENO: checking for ut_exit field in utmp.h" >&5 | 15919 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_exit field in utmp.h" >&5 |
29921 | echo $ECHO_N "checking for ut_exit field in utmp.h... $ECHO_C" >&6; } | 15920 | $as_echo_n "checking for ut_exit field in utmp.h... " >&6; } |
29922 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15921 | if eval \${$ossh_varname+:} false; then : |
29923 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15922 | $as_echo_n "(cached) " >&6 |
29924 | else | 15923 | else |
29925 | 15924 | ||
29926 | cat >conftest.$ac_ext <<_ACEOF | 15925 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29927 | /* confdefs.h. */ | ||
29928 | _ACEOF | ||
29929 | cat confdefs.h >>conftest.$ac_ext | ||
29930 | cat >>conftest.$ac_ext <<_ACEOF | ||
29931 | /* end confdefs.h. */ | 15926 | /* end confdefs.h. */ |
29932 | #include <utmp.h> | 15927 | #include <utmp.h> |
29933 | 15928 | ||
29934 | _ACEOF | 15929 | _ACEOF |
29935 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15930 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29936 | $EGREP "ut_exit" >/dev/null 2>&1; then | 15931 | $EGREP "ut_exit" >/dev/null 2>&1; then : |
29937 | eval "$ossh_varname=yes" | 15932 | eval "$ossh_varname=yes" |
29938 | else | 15933 | else |
29939 | eval "$ossh_varname=no" | 15934 | eval "$ossh_varname=no" |
@@ -29944,41 +15939,35 @@ fi | |||
29944 | 15939 | ||
29945 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15940 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29946 | if test -n "`echo $ossh_varname`"; then | 15941 | if test -n "`echo $ossh_varname`"; then |
29947 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15942 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29948 | echo "${ECHO_T}$ossh_result" >&6; } | 15943 | $as_echo "$ossh_result" >&6; } |
29949 | if test "x$ossh_result" = "xyes"; then | 15944 | if test "x$ossh_result" = "xyes"; then |
29950 | 15945 | ||
29951 | cat >>confdefs.h <<\_ACEOF | 15946 | $as_echo "#define HAVE_EXIT_IN_UTMP 1" >>confdefs.h |
29952 | #define HAVE_EXIT_IN_UTMP 1 | ||
29953 | _ACEOF | ||
29954 | 15947 | ||
29955 | fi | 15948 | fi |
29956 | else | 15949 | else |
29957 | { echo "$as_me:$LINENO: result: no" >&5 | 15950 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
29958 | echo "${ECHO_T}no" >&6; } | 15951 | $as_echo "no" >&6; } |
29959 | fi | 15952 | fi |
29960 | 15953 | ||
29961 | 15954 | ||
29962 | # look for field 'ut_time' in header 'utmp.h' | 15955 | # look for field 'ut_time' in header 'utmp.h' |
29963 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` | 15956 | ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'` |
29964 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_time | 15957 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_time |
29965 | { echo "$as_me:$LINENO: checking for ut_time field in utmp.h" >&5 | 15958 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_time field in utmp.h" >&5 |
29966 | echo $ECHO_N "checking for ut_time field in utmp.h... $ECHO_C" >&6; } | 15959 | $as_echo_n "checking for ut_time field in utmp.h... " >&6; } |
29967 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15960 | if eval \${$ossh_varname+:} false; then : |
29968 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 15961 | $as_echo_n "(cached) " >&6 |
29969 | else | 15962 | else |
29970 | 15963 | ||
29971 | cat >conftest.$ac_ext <<_ACEOF | 15964 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
29972 | /* confdefs.h. */ | ||
29973 | _ACEOF | ||
29974 | cat confdefs.h >>conftest.$ac_ext | ||
29975 | cat >>conftest.$ac_ext <<_ACEOF | ||
29976 | /* end confdefs.h. */ | 15965 | /* end confdefs.h. */ |
29977 | #include <utmp.h> | 15966 | #include <utmp.h> |
29978 | 15967 | ||
29979 | _ACEOF | 15968 | _ACEOF |
29980 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 15969 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
29981 | $EGREP "ut_time" >/dev/null 2>&1; then | 15970 | $EGREP "ut_time" >/dev/null 2>&1; then : |
29982 | eval "$ossh_varname=yes" | 15971 | eval "$ossh_varname=yes" |
29983 | else | 15972 | else |
29984 | eval "$ossh_varname=no" | 15973 | eval "$ossh_varname=no" |
@@ -29989,41 +15978,35 @@ fi | |||
29989 | 15978 | ||
29990 | ossh_result=`eval 'echo $'"$ossh_varname"` | 15979 | ossh_result=`eval 'echo $'"$ossh_varname"` |
29991 | if test -n "`echo $ossh_varname`"; then | 15980 | if test -n "`echo $ossh_varname`"; then |
29992 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 15981 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
29993 | echo "${ECHO_T}$ossh_result" >&6; } | 15982 | $as_echo "$ossh_result" >&6; } |
29994 | if test "x$ossh_result" = "xyes"; then | 15983 | if test "x$ossh_result" = "xyes"; then |
29995 | 15984 | ||
29996 | cat >>confdefs.h <<\_ACEOF | 15985 | $as_echo "#define HAVE_TIME_IN_UTMP 1" >>confdefs.h |
29997 | #define HAVE_TIME_IN_UTMP 1 | ||
29998 | _ACEOF | ||
29999 | 15986 | ||
30000 | fi | 15987 | fi |
30001 | else | 15988 | else |
30002 | { echo "$as_me:$LINENO: result: no" >&5 | 15989 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
30003 | echo "${ECHO_T}no" >&6; } | 15990 | $as_echo "no" >&6; } |
30004 | fi | 15991 | fi |
30005 | 15992 | ||
30006 | 15993 | ||
30007 | # look for field 'ut_time' in header 'utmpx.h' | 15994 | # look for field 'ut_time' in header 'utmpx.h' |
30008 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` | 15995 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` |
30009 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_time | 15996 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_time |
30010 | { echo "$as_me:$LINENO: checking for ut_time field in utmpx.h" >&5 | 15997 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_time field in utmpx.h" >&5 |
30011 | echo $ECHO_N "checking for ut_time field in utmpx.h... $ECHO_C" >&6; } | 15998 | $as_echo_n "checking for ut_time field in utmpx.h... " >&6; } |
30012 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 15999 | if eval \${$ossh_varname+:} false; then : |
30013 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16000 | $as_echo_n "(cached) " >&6 |
30014 | else | 16001 | else |
30015 | 16002 | ||
30016 | cat >conftest.$ac_ext <<_ACEOF | 16003 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
30017 | /* confdefs.h. */ | ||
30018 | _ACEOF | ||
30019 | cat confdefs.h >>conftest.$ac_ext | ||
30020 | cat >>conftest.$ac_ext <<_ACEOF | ||
30021 | /* end confdefs.h. */ | 16004 | /* end confdefs.h. */ |
30022 | #include <utmpx.h> | 16005 | #include <utmpx.h> |
30023 | 16006 | ||
30024 | _ACEOF | 16007 | _ACEOF |
30025 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 16008 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
30026 | $EGREP "ut_time" >/dev/null 2>&1; then | 16009 | $EGREP "ut_time" >/dev/null 2>&1; then : |
30027 | eval "$ossh_varname=yes" | 16010 | eval "$ossh_varname=yes" |
30028 | else | 16011 | else |
30029 | eval "$ossh_varname=no" | 16012 | eval "$ossh_varname=no" |
@@ -30034,41 +16017,35 @@ fi | |||
30034 | 16017 | ||
30035 | ossh_result=`eval 'echo $'"$ossh_varname"` | 16018 | ossh_result=`eval 'echo $'"$ossh_varname"` |
30036 | if test -n "`echo $ossh_varname`"; then | 16019 | if test -n "`echo $ossh_varname`"; then |
30037 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 16020 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
30038 | echo "${ECHO_T}$ossh_result" >&6; } | 16021 | $as_echo "$ossh_result" >&6; } |
30039 | if test "x$ossh_result" = "xyes"; then | 16022 | if test "x$ossh_result" = "xyes"; then |
30040 | 16023 | ||
30041 | cat >>confdefs.h <<\_ACEOF | 16024 | $as_echo "#define HAVE_TIME_IN_UTMPX 1" >>confdefs.h |
30042 | #define HAVE_TIME_IN_UTMPX 1 | ||
30043 | _ACEOF | ||
30044 | 16025 | ||
30045 | fi | 16026 | fi |
30046 | else | 16027 | else |
30047 | { echo "$as_me:$LINENO: result: no" >&5 | 16028 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
30048 | echo "${ECHO_T}no" >&6; } | 16029 | $as_echo "no" >&6; } |
30049 | fi | 16030 | fi |
30050 | 16031 | ||
30051 | 16032 | ||
30052 | # look for field 'ut_tv' in header 'utmpx.h' | 16033 | # look for field 'ut_tv' in header 'utmpx.h' |
30053 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` | 16034 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` |
30054 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_tv | 16035 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_tv |
30055 | { echo "$as_me:$LINENO: checking for ut_tv field in utmpx.h" >&5 | 16036 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_tv field in utmpx.h" >&5 |
30056 | echo $ECHO_N "checking for ut_tv field in utmpx.h... $ECHO_C" >&6; } | 16037 | $as_echo_n "checking for ut_tv field in utmpx.h... " >&6; } |
30057 | if { as_var=$ossh_varname; eval "test \"\${$as_var+set}\" = set"; }; then | 16038 | if eval \${$ossh_varname+:} false; then : |
30058 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16039 | $as_echo_n "(cached) " >&6 |
30059 | else | 16040 | else |
30060 | 16041 | ||
30061 | cat >conftest.$ac_ext <<_ACEOF | 16042 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
30062 | /* confdefs.h. */ | ||
30063 | _ACEOF | ||
30064 | cat confdefs.h >>conftest.$ac_ext | ||
30065 | cat >>conftest.$ac_ext <<_ACEOF | ||
30066 | /* end confdefs.h. */ | 16043 | /* end confdefs.h. */ |
30067 | #include <utmpx.h> | 16044 | #include <utmpx.h> |
30068 | 16045 | ||
30069 | _ACEOF | 16046 | _ACEOF |
30070 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | 16047 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | |
30071 | $EGREP "ut_tv" >/dev/null 2>&1; then | 16048 | $EGREP "ut_tv" >/dev/null 2>&1; then : |
30072 | eval "$ossh_varname=yes" | 16049 | eval "$ossh_varname=yes" |
30073 | else | 16050 | else |
30074 | eval "$ossh_varname=no" | 16051 | eval "$ossh_varname=no" |
@@ -30079,115 +16056,21 @@ fi | |||
30079 | 16056 | ||
30080 | ossh_result=`eval 'echo $'"$ossh_varname"` | 16057 | ossh_result=`eval 'echo $'"$ossh_varname"` |
30081 | if test -n "`echo $ossh_varname`"; then | 16058 | if test -n "`echo $ossh_varname`"; then |
30082 | { echo "$as_me:$LINENO: result: $ossh_result" >&5 | 16059 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 |
30083 | echo "${ECHO_T}$ossh_result" >&6; } | 16060 | $as_echo "$ossh_result" >&6; } |
30084 | if test "x$ossh_result" = "xyes"; then | 16061 | if test "x$ossh_result" = "xyes"; then |
30085 | 16062 | ||
30086 | cat >>confdefs.h <<\_ACEOF | 16063 | $as_echo "#define HAVE_TV_IN_UTMPX 1" >>confdefs.h |
30087 | #define HAVE_TV_IN_UTMPX 1 | ||
30088 | _ACEOF | ||
30089 | 16064 | ||
30090 | fi | 16065 | fi |
30091 | else | 16066 | else |
30092 | { echo "$as_me:$LINENO: result: no" >&5 | 16067 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
30093 | echo "${ECHO_T}no" >&6; } | 16068 | $as_echo "no" >&6; } |
30094 | fi | 16069 | fi |
30095 | 16070 | ||
30096 | 16071 | ||
30097 | { echo "$as_me:$LINENO: checking for struct stat.st_blksize" >&5 | 16072 | ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default" |
30098 | echo $ECHO_N "checking for struct stat.st_blksize... $ECHO_C" >&6; } | 16073 | if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then : |
30099 | if test "${ac_cv_member_struct_stat_st_blksize+set}" = set; then | ||
30100 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
30101 | else | ||
30102 | cat >conftest.$ac_ext <<_ACEOF | ||
30103 | /* confdefs.h. */ | ||
30104 | _ACEOF | ||
30105 | cat confdefs.h >>conftest.$ac_ext | ||
30106 | cat >>conftest.$ac_ext <<_ACEOF | ||
30107 | /* end confdefs.h. */ | ||
30108 | $ac_includes_default | ||
30109 | int | ||
30110 | main () | ||
30111 | { | ||
30112 | static struct stat ac_aggr; | ||
30113 | if (ac_aggr.st_blksize) | ||
30114 | return 0; | ||
30115 | ; | ||
30116 | return 0; | ||
30117 | } | ||
30118 | _ACEOF | ||
30119 | rm -f conftest.$ac_objext | ||
30120 | if { (ac_try="$ac_compile" | ||
30121 | case "(($ac_try" in | ||
30122 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30123 | *) ac_try_echo=$ac_try;; | ||
30124 | esac | ||
30125 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30126 | (eval "$ac_compile") 2>conftest.er1 | ||
30127 | ac_status=$? | ||
30128 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30129 | rm -f conftest.er1 | ||
30130 | cat conftest.err >&5 | ||
30131 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30132 | (exit $ac_status); } && { | ||
30133 | test -z "$ac_c_werror_flag" || | ||
30134 | test ! -s conftest.err | ||
30135 | } && test -s conftest.$ac_objext; then | ||
30136 | ac_cv_member_struct_stat_st_blksize=yes | ||
30137 | else | ||
30138 | echo "$as_me: failed program was:" >&5 | ||
30139 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30140 | |||
30141 | cat >conftest.$ac_ext <<_ACEOF | ||
30142 | /* confdefs.h. */ | ||
30143 | _ACEOF | ||
30144 | cat confdefs.h >>conftest.$ac_ext | ||
30145 | cat >>conftest.$ac_ext <<_ACEOF | ||
30146 | /* end confdefs.h. */ | ||
30147 | $ac_includes_default | ||
30148 | int | ||
30149 | main () | ||
30150 | { | ||
30151 | static struct stat ac_aggr; | ||
30152 | if (sizeof ac_aggr.st_blksize) | ||
30153 | return 0; | ||
30154 | ; | ||
30155 | return 0; | ||
30156 | } | ||
30157 | _ACEOF | ||
30158 | rm -f conftest.$ac_objext | ||
30159 | if { (ac_try="$ac_compile" | ||
30160 | case "(($ac_try" in | ||
30161 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30162 | *) ac_try_echo=$ac_try;; | ||
30163 | esac | ||
30164 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30165 | (eval "$ac_compile") 2>conftest.er1 | ||
30166 | ac_status=$? | ||
30167 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30168 | rm -f conftest.er1 | ||
30169 | cat conftest.err >&5 | ||
30170 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30171 | (exit $ac_status); } && { | ||
30172 | test -z "$ac_c_werror_flag" || | ||
30173 | test ! -s conftest.err | ||
30174 | } && test -s conftest.$ac_objext; then | ||
30175 | ac_cv_member_struct_stat_st_blksize=yes | ||
30176 | else | ||
30177 | echo "$as_me: failed program was:" >&5 | ||
30178 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30179 | |||
30180 | ac_cv_member_struct_stat_st_blksize=no | ||
30181 | fi | ||
30182 | |||
30183 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
30184 | fi | ||
30185 | |||
30186 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
30187 | fi | ||
30188 | { echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blksize" >&5 | ||
30189 | echo "${ECHO_T}$ac_cv_member_struct_stat_st_blksize" >&6; } | ||
30190 | if test $ac_cv_member_struct_stat_st_blksize = yes; then | ||
30191 | 16074 | ||
30192 | cat >>confdefs.h <<_ACEOF | 16075 | cat >>confdefs.h <<_ACEOF |
30193 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | 16076 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 |
@@ -30196,108 +16079,12 @@ _ACEOF | |||
30196 | 16079 | ||
30197 | fi | 16080 | fi |
30198 | 16081 | ||
30199 | { echo "$as_me:$LINENO: checking for struct passwd.pw_gecos" >&5 | 16082 | ac_fn_c_check_member "$LINENO" "struct passwd" "pw_gecos" "ac_cv_member_struct_passwd_pw_gecos" " |
30200 | echo $ECHO_N "checking for struct passwd.pw_gecos... $ECHO_C" >&6; } | ||
30201 | if test "${ac_cv_member_struct_passwd_pw_gecos+set}" = set; then | ||
30202 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
30203 | else | ||
30204 | cat >conftest.$ac_ext <<_ACEOF | ||
30205 | /* confdefs.h. */ | ||
30206 | _ACEOF | ||
30207 | cat confdefs.h >>conftest.$ac_ext | ||
30208 | cat >>conftest.$ac_ext <<_ACEOF | ||
30209 | /* end confdefs.h. */ | ||
30210 | |||
30211 | #include <sys/types.h> | 16083 | #include <sys/types.h> |
30212 | #include <pwd.h> | 16084 | #include <pwd.h> |
30213 | 16085 | ||
30214 | 16086 | " | |
30215 | int | 16087 | if test "x$ac_cv_member_struct_passwd_pw_gecos" = xyes; then : |
30216 | main () | ||
30217 | { | ||
30218 | static struct passwd ac_aggr; | ||
30219 | if (ac_aggr.pw_gecos) | ||
30220 | return 0; | ||
30221 | ; | ||
30222 | return 0; | ||
30223 | } | ||
30224 | _ACEOF | ||
30225 | rm -f conftest.$ac_objext | ||
30226 | if { (ac_try="$ac_compile" | ||
30227 | case "(($ac_try" in | ||
30228 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30229 | *) ac_try_echo=$ac_try;; | ||
30230 | esac | ||
30231 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30232 | (eval "$ac_compile") 2>conftest.er1 | ||
30233 | ac_status=$? | ||
30234 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30235 | rm -f conftest.er1 | ||
30236 | cat conftest.err >&5 | ||
30237 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30238 | (exit $ac_status); } && { | ||
30239 | test -z "$ac_c_werror_flag" || | ||
30240 | test ! -s conftest.err | ||
30241 | } && test -s conftest.$ac_objext; then | ||
30242 | ac_cv_member_struct_passwd_pw_gecos=yes | ||
30243 | else | ||
30244 | echo "$as_me: failed program was:" >&5 | ||
30245 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30246 | |||
30247 | cat >conftest.$ac_ext <<_ACEOF | ||
30248 | /* confdefs.h. */ | ||
30249 | _ACEOF | ||
30250 | cat confdefs.h >>conftest.$ac_ext | ||
30251 | cat >>conftest.$ac_ext <<_ACEOF | ||
30252 | /* end confdefs.h. */ | ||
30253 | |||
30254 | #include <sys/types.h> | ||
30255 | #include <pwd.h> | ||
30256 | |||
30257 | |||
30258 | int | ||
30259 | main () | ||
30260 | { | ||
30261 | static struct passwd ac_aggr; | ||
30262 | if (sizeof ac_aggr.pw_gecos) | ||
30263 | return 0; | ||
30264 | ; | ||
30265 | return 0; | ||
30266 | } | ||
30267 | _ACEOF | ||
30268 | rm -f conftest.$ac_objext | ||
30269 | if { (ac_try="$ac_compile" | ||
30270 | case "(($ac_try" in | ||
30271 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30272 | *) ac_try_echo=$ac_try;; | ||
30273 | esac | ||
30274 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30275 | (eval "$ac_compile") 2>conftest.er1 | ||
30276 | ac_status=$? | ||
30277 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30278 | rm -f conftest.er1 | ||
30279 | cat conftest.err >&5 | ||
30280 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30281 | (exit $ac_status); } && { | ||
30282 | test -z "$ac_c_werror_flag" || | ||
30283 | test ! -s conftest.err | ||
30284 | } && test -s conftest.$ac_objext; then | ||
30285 | ac_cv_member_struct_passwd_pw_gecos=yes | ||
30286 | else | ||
30287 | echo "$as_me: failed program was:" >&5 | ||
30288 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30289 | |||
30290 | ac_cv_member_struct_passwd_pw_gecos=no | ||
30291 | fi | ||
30292 | |||
30293 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
30294 | fi | ||
30295 | |||
30296 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
30297 | fi | ||
30298 | { echo "$as_me:$LINENO: result: $ac_cv_member_struct_passwd_pw_gecos" >&5 | ||
30299 | echo "${ECHO_T}$ac_cv_member_struct_passwd_pw_gecos" >&6; } | ||
30300 | if test $ac_cv_member_struct_passwd_pw_gecos = yes; then | ||
30301 | 16088 | ||
30302 | cat >>confdefs.h <<_ACEOF | 16089 | cat >>confdefs.h <<_ACEOF |
30303 | #define HAVE_STRUCT_PASSWD_PW_GECOS 1 | 16090 | #define HAVE_STRUCT_PASSWD_PW_GECOS 1 |
@@ -30305,108 +16092,12 @@ _ACEOF | |||
30305 | 16092 | ||
30306 | 16093 | ||
30307 | fi | 16094 | fi |
30308 | { echo "$as_me:$LINENO: checking for struct passwd.pw_class" >&5 | 16095 | ac_fn_c_check_member "$LINENO" "struct passwd" "pw_class" "ac_cv_member_struct_passwd_pw_class" " |
30309 | echo $ECHO_N "checking for struct passwd.pw_class... $ECHO_C" >&6; } | ||
30310 | if test "${ac_cv_member_struct_passwd_pw_class+set}" = set; then | ||
30311 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
30312 | else | ||
30313 | cat >conftest.$ac_ext <<_ACEOF | ||
30314 | /* confdefs.h. */ | ||
30315 | _ACEOF | ||
30316 | cat confdefs.h >>conftest.$ac_ext | ||
30317 | cat >>conftest.$ac_ext <<_ACEOF | ||
30318 | /* end confdefs.h. */ | ||
30319 | |||
30320 | #include <sys/types.h> | ||
30321 | #include <pwd.h> | ||
30322 | |||
30323 | |||
30324 | int | ||
30325 | main () | ||
30326 | { | ||
30327 | static struct passwd ac_aggr; | ||
30328 | if (ac_aggr.pw_class) | ||
30329 | return 0; | ||
30330 | ; | ||
30331 | return 0; | ||
30332 | } | ||
30333 | _ACEOF | ||
30334 | rm -f conftest.$ac_objext | ||
30335 | if { (ac_try="$ac_compile" | ||
30336 | case "(($ac_try" in | ||
30337 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30338 | *) ac_try_echo=$ac_try;; | ||
30339 | esac | ||
30340 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30341 | (eval "$ac_compile") 2>conftest.er1 | ||
30342 | ac_status=$? | ||
30343 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30344 | rm -f conftest.er1 | ||
30345 | cat conftest.err >&5 | ||
30346 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30347 | (exit $ac_status); } && { | ||
30348 | test -z "$ac_c_werror_flag" || | ||
30349 | test ! -s conftest.err | ||
30350 | } && test -s conftest.$ac_objext; then | ||
30351 | ac_cv_member_struct_passwd_pw_class=yes | ||
30352 | else | ||
30353 | echo "$as_me: failed program was:" >&5 | ||
30354 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30355 | |||
30356 | cat >conftest.$ac_ext <<_ACEOF | ||
30357 | /* confdefs.h. */ | ||
30358 | _ACEOF | ||
30359 | cat confdefs.h >>conftest.$ac_ext | ||
30360 | cat >>conftest.$ac_ext <<_ACEOF | ||
30361 | /* end confdefs.h. */ | ||
30362 | |||
30363 | #include <sys/types.h> | 16096 | #include <sys/types.h> |
30364 | #include <pwd.h> | 16097 | #include <pwd.h> |
30365 | 16098 | ||
30366 | 16099 | " | |
30367 | int | 16100 | if test "x$ac_cv_member_struct_passwd_pw_class" = xyes; then : |
30368 | main () | ||
30369 | { | ||
30370 | static struct passwd ac_aggr; | ||
30371 | if (sizeof ac_aggr.pw_class) | ||
30372 | return 0; | ||
30373 | ; | ||
30374 | return 0; | ||
30375 | } | ||
30376 | _ACEOF | ||
30377 | rm -f conftest.$ac_objext | ||
30378 | if { (ac_try="$ac_compile" | ||
30379 | case "(($ac_try" in | ||
30380 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30381 | *) ac_try_echo=$ac_try;; | ||
30382 | esac | ||
30383 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30384 | (eval "$ac_compile") 2>conftest.er1 | ||
30385 | ac_status=$? | ||
30386 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30387 | rm -f conftest.er1 | ||
30388 | cat conftest.err >&5 | ||
30389 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30390 | (exit $ac_status); } && { | ||
30391 | test -z "$ac_c_werror_flag" || | ||
30392 | test ! -s conftest.err | ||
30393 | } && test -s conftest.$ac_objext; then | ||
30394 | ac_cv_member_struct_passwd_pw_class=yes | ||
30395 | else | ||
30396 | echo "$as_me: failed program was:" >&5 | ||
30397 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30398 | |||
30399 | ac_cv_member_struct_passwd_pw_class=no | ||
30400 | fi | ||
30401 | |||
30402 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
30403 | fi | ||
30404 | |||
30405 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
30406 | fi | ||
30407 | { echo "$as_me:$LINENO: result: $ac_cv_member_struct_passwd_pw_class" >&5 | ||
30408 | echo "${ECHO_T}$ac_cv_member_struct_passwd_pw_class" >&6; } | ||
30409 | if test $ac_cv_member_struct_passwd_pw_class = yes; then | ||
30410 | 16101 | ||
30411 | cat >>confdefs.h <<_ACEOF | 16102 | cat >>confdefs.h <<_ACEOF |
30412 | #define HAVE_STRUCT_PASSWD_PW_CLASS 1 | 16103 | #define HAVE_STRUCT_PASSWD_PW_CLASS 1 |
@@ -30414,108 +16105,12 @@ _ACEOF | |||
30414 | 16105 | ||
30415 | 16106 | ||
30416 | fi | 16107 | fi |
30417 | { echo "$as_me:$LINENO: checking for struct passwd.pw_change" >&5 | 16108 | ac_fn_c_check_member "$LINENO" "struct passwd" "pw_change" "ac_cv_member_struct_passwd_pw_change" " |
30418 | echo $ECHO_N "checking for struct passwd.pw_change... $ECHO_C" >&6; } | ||
30419 | if test "${ac_cv_member_struct_passwd_pw_change+set}" = set; then | ||
30420 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
30421 | else | ||
30422 | cat >conftest.$ac_ext <<_ACEOF | ||
30423 | /* confdefs.h. */ | ||
30424 | _ACEOF | ||
30425 | cat confdefs.h >>conftest.$ac_ext | ||
30426 | cat >>conftest.$ac_ext <<_ACEOF | ||
30427 | /* end confdefs.h. */ | ||
30428 | |||
30429 | #include <sys/types.h> | ||
30430 | #include <pwd.h> | ||
30431 | |||
30432 | |||
30433 | int | ||
30434 | main () | ||
30435 | { | ||
30436 | static struct passwd ac_aggr; | ||
30437 | if (ac_aggr.pw_change) | ||
30438 | return 0; | ||
30439 | ; | ||
30440 | return 0; | ||
30441 | } | ||
30442 | _ACEOF | ||
30443 | rm -f conftest.$ac_objext | ||
30444 | if { (ac_try="$ac_compile" | ||
30445 | case "(($ac_try" in | ||
30446 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30447 | *) ac_try_echo=$ac_try;; | ||
30448 | esac | ||
30449 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30450 | (eval "$ac_compile") 2>conftest.er1 | ||
30451 | ac_status=$? | ||
30452 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30453 | rm -f conftest.er1 | ||
30454 | cat conftest.err >&5 | ||
30455 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30456 | (exit $ac_status); } && { | ||
30457 | test -z "$ac_c_werror_flag" || | ||
30458 | test ! -s conftest.err | ||
30459 | } && test -s conftest.$ac_objext; then | ||
30460 | ac_cv_member_struct_passwd_pw_change=yes | ||
30461 | else | ||
30462 | echo "$as_me: failed program was:" >&5 | ||
30463 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30464 | |||
30465 | cat >conftest.$ac_ext <<_ACEOF | ||
30466 | /* confdefs.h. */ | ||
30467 | _ACEOF | ||
30468 | cat confdefs.h >>conftest.$ac_ext | ||
30469 | cat >>conftest.$ac_ext <<_ACEOF | ||
30470 | /* end confdefs.h. */ | ||
30471 | |||
30472 | #include <sys/types.h> | 16109 | #include <sys/types.h> |
30473 | #include <pwd.h> | 16110 | #include <pwd.h> |
30474 | 16111 | ||
30475 | 16112 | " | |
30476 | int | 16113 | if test "x$ac_cv_member_struct_passwd_pw_change" = xyes; then : |
30477 | main () | ||
30478 | { | ||
30479 | static struct passwd ac_aggr; | ||
30480 | if (sizeof ac_aggr.pw_change) | ||
30481 | return 0; | ||
30482 | ; | ||
30483 | return 0; | ||
30484 | } | ||
30485 | _ACEOF | ||
30486 | rm -f conftest.$ac_objext | ||
30487 | if { (ac_try="$ac_compile" | ||
30488 | case "(($ac_try" in | ||
30489 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30490 | *) ac_try_echo=$ac_try;; | ||
30491 | esac | ||
30492 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30493 | (eval "$ac_compile") 2>conftest.er1 | ||
30494 | ac_status=$? | ||
30495 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30496 | rm -f conftest.er1 | ||
30497 | cat conftest.err >&5 | ||
30498 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30499 | (exit $ac_status); } && { | ||
30500 | test -z "$ac_c_werror_flag" || | ||
30501 | test ! -s conftest.err | ||
30502 | } && test -s conftest.$ac_objext; then | ||
30503 | ac_cv_member_struct_passwd_pw_change=yes | ||
30504 | else | ||
30505 | echo "$as_me: failed program was:" >&5 | ||
30506 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30507 | |||
30508 | ac_cv_member_struct_passwd_pw_change=no | ||
30509 | fi | ||
30510 | |||
30511 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
30512 | fi | ||
30513 | |||
30514 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
30515 | fi | ||
30516 | { echo "$as_me:$LINENO: result: $ac_cv_member_struct_passwd_pw_change" >&5 | ||
30517 | echo "${ECHO_T}$ac_cv_member_struct_passwd_pw_change" >&6; } | ||
30518 | if test $ac_cv_member_struct_passwd_pw_change = yes; then | ||
30519 | 16114 | ||
30520 | cat >>confdefs.h <<_ACEOF | 16115 | cat >>confdefs.h <<_ACEOF |
30521 | #define HAVE_STRUCT_PASSWD_PW_CHANGE 1 | 16116 | #define HAVE_STRUCT_PASSWD_PW_CHANGE 1 |
@@ -30523,108 +16118,12 @@ _ACEOF | |||
30523 | 16118 | ||
30524 | 16119 | ||
30525 | fi | 16120 | fi |
30526 | { echo "$as_me:$LINENO: checking for struct passwd.pw_expire" >&5 | 16121 | ac_fn_c_check_member "$LINENO" "struct passwd" "pw_expire" "ac_cv_member_struct_passwd_pw_expire" " |
30527 | echo $ECHO_N "checking for struct passwd.pw_expire... $ECHO_C" >&6; } | ||
30528 | if test "${ac_cv_member_struct_passwd_pw_expire+set}" = set; then | ||
30529 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
30530 | else | ||
30531 | cat >conftest.$ac_ext <<_ACEOF | ||
30532 | /* confdefs.h. */ | ||
30533 | _ACEOF | ||
30534 | cat confdefs.h >>conftest.$ac_ext | ||
30535 | cat >>conftest.$ac_ext <<_ACEOF | ||
30536 | /* end confdefs.h. */ | ||
30537 | |||
30538 | #include <sys/types.h> | ||
30539 | #include <pwd.h> | ||
30540 | |||
30541 | |||
30542 | int | ||
30543 | main () | ||
30544 | { | ||
30545 | static struct passwd ac_aggr; | ||
30546 | if (ac_aggr.pw_expire) | ||
30547 | return 0; | ||
30548 | ; | ||
30549 | return 0; | ||
30550 | } | ||
30551 | _ACEOF | ||
30552 | rm -f conftest.$ac_objext | ||
30553 | if { (ac_try="$ac_compile" | ||
30554 | case "(($ac_try" in | ||
30555 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30556 | *) ac_try_echo=$ac_try;; | ||
30557 | esac | ||
30558 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30559 | (eval "$ac_compile") 2>conftest.er1 | ||
30560 | ac_status=$? | ||
30561 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30562 | rm -f conftest.er1 | ||
30563 | cat conftest.err >&5 | ||
30564 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30565 | (exit $ac_status); } && { | ||
30566 | test -z "$ac_c_werror_flag" || | ||
30567 | test ! -s conftest.err | ||
30568 | } && test -s conftest.$ac_objext; then | ||
30569 | ac_cv_member_struct_passwd_pw_expire=yes | ||
30570 | else | ||
30571 | echo "$as_me: failed program was:" >&5 | ||
30572 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30573 | |||
30574 | cat >conftest.$ac_ext <<_ACEOF | ||
30575 | /* confdefs.h. */ | ||
30576 | _ACEOF | ||
30577 | cat confdefs.h >>conftest.$ac_ext | ||
30578 | cat >>conftest.$ac_ext <<_ACEOF | ||
30579 | /* end confdefs.h. */ | ||
30580 | |||
30581 | #include <sys/types.h> | 16122 | #include <sys/types.h> |
30582 | #include <pwd.h> | 16123 | #include <pwd.h> |
30583 | 16124 | ||
30584 | 16125 | " | |
30585 | int | 16126 | if test "x$ac_cv_member_struct_passwd_pw_expire" = xyes; then : |
30586 | main () | ||
30587 | { | ||
30588 | static struct passwd ac_aggr; | ||
30589 | if (sizeof ac_aggr.pw_expire) | ||
30590 | return 0; | ||
30591 | ; | ||
30592 | return 0; | ||
30593 | } | ||
30594 | _ACEOF | ||
30595 | rm -f conftest.$ac_objext | ||
30596 | if { (ac_try="$ac_compile" | ||
30597 | case "(($ac_try" in | ||
30598 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30599 | *) ac_try_echo=$ac_try;; | ||
30600 | esac | ||
30601 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30602 | (eval "$ac_compile") 2>conftest.er1 | ||
30603 | ac_status=$? | ||
30604 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30605 | rm -f conftest.er1 | ||
30606 | cat conftest.err >&5 | ||
30607 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30608 | (exit $ac_status); } && { | ||
30609 | test -z "$ac_c_werror_flag" || | ||
30610 | test ! -s conftest.err | ||
30611 | } && test -s conftest.$ac_objext; then | ||
30612 | ac_cv_member_struct_passwd_pw_expire=yes | ||
30613 | else | ||
30614 | echo "$as_me: failed program was:" >&5 | ||
30615 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30616 | |||
30617 | ac_cv_member_struct_passwd_pw_expire=no | ||
30618 | fi | ||
30619 | |||
30620 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
30621 | fi | ||
30622 | |||
30623 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
30624 | fi | ||
30625 | { echo "$as_me:$LINENO: result: $ac_cv_member_struct_passwd_pw_expire" >&5 | ||
30626 | echo "${ECHO_T}$ac_cv_member_struct_passwd_pw_expire" >&6; } | ||
30627 | if test $ac_cv_member_struct_passwd_pw_expire = yes; then | ||
30628 | 16127 | ||
30629 | cat >>confdefs.h <<_ACEOF | 16128 | cat >>confdefs.h <<_ACEOF |
30630 | #define HAVE_STRUCT_PASSWD_PW_EXPIRE 1 | 16129 | #define HAVE_STRUCT_PASSWD_PW_EXPIRE 1 |
@@ -30634,18 +16133,7 @@ _ACEOF | |||
30634 | fi | 16133 | fi |
30635 | 16134 | ||
30636 | 16135 | ||
30637 | { echo "$as_me:$LINENO: checking for struct __res_state.retrans" >&5 | 16136 | ac_fn_c_check_member "$LINENO" "struct __res_state" "retrans" "ac_cv_member_struct___res_state_retrans" " |
30638 | echo $ECHO_N "checking for struct __res_state.retrans... $ECHO_C" >&6; } | ||
30639 | if test "${ac_cv_member_struct___res_state_retrans+set}" = set; then | ||
30640 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
30641 | else | ||
30642 | cat >conftest.$ac_ext <<_ACEOF | ||
30643 | /* confdefs.h. */ | ||
30644 | _ACEOF | ||
30645 | cat confdefs.h >>conftest.$ac_ext | ||
30646 | cat >>conftest.$ac_ext <<_ACEOF | ||
30647 | /* end confdefs.h. */ | ||
30648 | |||
30649 | #include <stdio.h> | 16137 | #include <stdio.h> |
30650 | #if HAVE_SYS_TYPES_H | 16138 | #if HAVE_SYS_TYPES_H |
30651 | # include <sys/types.h> | 16139 | # include <sys/types.h> |
@@ -30654,119 +16142,23 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
30654 | #include <arpa/nameser.h> | 16142 | #include <arpa/nameser.h> |
30655 | #include <resolv.h> | 16143 | #include <resolv.h> |
30656 | 16144 | ||
16145 | " | ||
16146 | if test "x$ac_cv_member_struct___res_state_retrans" = xyes; then : | ||
30657 | 16147 | ||
30658 | int | ||
30659 | main () | ||
30660 | { | ||
30661 | static struct __res_state ac_aggr; | ||
30662 | if (ac_aggr.retrans) | ||
30663 | return 0; | ||
30664 | ; | ||
30665 | return 0; | ||
30666 | } | ||
30667 | _ACEOF | ||
30668 | rm -f conftest.$ac_objext | ||
30669 | if { (ac_try="$ac_compile" | ||
30670 | case "(($ac_try" in | ||
30671 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30672 | *) ac_try_echo=$ac_try;; | ||
30673 | esac | ||
30674 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30675 | (eval "$ac_compile") 2>conftest.er1 | ||
30676 | ac_status=$? | ||
30677 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30678 | rm -f conftest.er1 | ||
30679 | cat conftest.err >&5 | ||
30680 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30681 | (exit $ac_status); } && { | ||
30682 | test -z "$ac_c_werror_flag" || | ||
30683 | test ! -s conftest.err | ||
30684 | } && test -s conftest.$ac_objext; then | ||
30685 | ac_cv_member_struct___res_state_retrans=yes | ||
30686 | else | ||
30687 | echo "$as_me: failed program was:" >&5 | ||
30688 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30689 | |||
30690 | cat >conftest.$ac_ext <<_ACEOF | ||
30691 | /* confdefs.h. */ | ||
30692 | _ACEOF | ||
30693 | cat confdefs.h >>conftest.$ac_ext | ||
30694 | cat >>conftest.$ac_ext <<_ACEOF | ||
30695 | /* end confdefs.h. */ | ||
30696 | |||
30697 | #include <stdio.h> | ||
30698 | #if HAVE_SYS_TYPES_H | ||
30699 | # include <sys/types.h> | ||
30700 | #endif | ||
30701 | #include <netinet/in.h> | ||
30702 | #include <arpa/nameser.h> | ||
30703 | #include <resolv.h> | ||
30704 | |||
30705 | |||
30706 | int | ||
30707 | main () | ||
30708 | { | ||
30709 | static struct __res_state ac_aggr; | ||
30710 | if (sizeof ac_aggr.retrans) | ||
30711 | return 0; | ||
30712 | ; | ||
30713 | return 0; | ||
30714 | } | ||
30715 | _ACEOF | ||
30716 | rm -f conftest.$ac_objext | ||
30717 | if { (ac_try="$ac_compile" | ||
30718 | case "(($ac_try" in | ||
30719 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30720 | *) ac_try_echo=$ac_try;; | ||
30721 | esac | ||
30722 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30723 | (eval "$ac_compile") 2>conftest.er1 | ||
30724 | ac_status=$? | ||
30725 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30726 | rm -f conftest.er1 | ||
30727 | cat conftest.err >&5 | ||
30728 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30729 | (exit $ac_status); } && { | ||
30730 | test -z "$ac_c_werror_flag" || | ||
30731 | test ! -s conftest.err | ||
30732 | } && test -s conftest.$ac_objext; then | ||
30733 | ac_cv_member_struct___res_state_retrans=yes | ||
30734 | else | ||
30735 | echo "$as_me: failed program was:" >&5 | ||
30736 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30737 | |||
30738 | ac_cv_member_struct___res_state_retrans=no | ||
30739 | fi | ||
30740 | |||
30741 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
30742 | fi | ||
30743 | |||
30744 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
30745 | fi | ||
30746 | { echo "$as_me:$LINENO: result: $ac_cv_member_struct___res_state_retrans" >&5 | ||
30747 | echo "${ECHO_T}$ac_cv_member_struct___res_state_retrans" >&6; } | ||
30748 | if test $ac_cv_member_struct___res_state_retrans = yes; then | ||
30749 | : | ||
30750 | else | 16148 | else |
30751 | 16149 | ||
30752 | cat >>confdefs.h <<\_ACEOF | 16150 | $as_echo "#define __res_state state" >>confdefs.h |
30753 | #define __res_state state | ||
30754 | _ACEOF | ||
30755 | 16151 | ||
30756 | fi | 16152 | fi |
30757 | 16153 | ||
30758 | 16154 | ||
30759 | { echo "$as_me:$LINENO: checking for ss_family field in struct sockaddr_storage" >&5 | 16155 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ss_family field in struct sockaddr_storage" >&5 |
30760 | echo $ECHO_N "checking for ss_family field in struct sockaddr_storage... $ECHO_C" >&6; } | 16156 | $as_echo_n "checking for ss_family field in struct sockaddr_storage... " >&6; } |
30761 | if test "${ac_cv_have_ss_family_in_struct_ss+set}" = set; then | 16157 | if ${ac_cv_have_ss_family_in_struct_ss+:} false; then : |
30762 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16158 | $as_echo_n "(cached) " >&6 |
30763 | else | 16159 | else |
30764 | 16160 | ||
30765 | cat >conftest.$ac_ext <<_ACEOF | 16161 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
30766 | /* confdefs.h. */ | ||
30767 | _ACEOF | ||
30768 | cat confdefs.h >>conftest.$ac_ext | ||
30769 | cat >>conftest.$ac_ext <<_ACEOF | ||
30770 | /* end confdefs.h. */ | 16162 | /* end confdefs.h. */ |
30771 | 16163 | ||
30772 | #include <sys/types.h> | 16164 | #include <sys/types.h> |
@@ -30780,55 +16172,29 @@ main () | |||
30780 | return 0; | 16172 | return 0; |
30781 | } | 16173 | } |
30782 | _ACEOF | 16174 | _ACEOF |
30783 | rm -f conftest.$ac_objext | 16175 | if ac_fn_c_try_compile "$LINENO"; then : |
30784 | if { (ac_try="$ac_compile" | ||
30785 | case "(($ac_try" in | ||
30786 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30787 | *) ac_try_echo=$ac_try;; | ||
30788 | esac | ||
30789 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30790 | (eval "$ac_compile") 2>conftest.er1 | ||
30791 | ac_status=$? | ||
30792 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30793 | rm -f conftest.er1 | ||
30794 | cat conftest.err >&5 | ||
30795 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30796 | (exit $ac_status); } && { | ||
30797 | test -z "$ac_c_werror_flag" || | ||
30798 | test ! -s conftest.err | ||
30799 | } && test -s conftest.$ac_objext; then | ||
30800 | ac_cv_have_ss_family_in_struct_ss="yes" | 16176 | ac_cv_have_ss_family_in_struct_ss="yes" |
30801 | else | 16177 | else |
30802 | echo "$as_me: failed program was:" >&5 | 16178 | ac_cv_have_ss_family_in_struct_ss="no" |
30803 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30804 | |||
30805 | ac_cv_have_ss_family_in_struct_ss="no" | ||
30806 | fi | 16179 | fi |
30807 | |||
30808 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 16180 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
30809 | 16181 | ||
30810 | fi | 16182 | fi |
30811 | { echo "$as_me:$LINENO: result: $ac_cv_have_ss_family_in_struct_ss" >&5 | 16183 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_ss_family_in_struct_ss" >&5 |
30812 | echo "${ECHO_T}$ac_cv_have_ss_family_in_struct_ss" >&6; } | 16184 | $as_echo "$ac_cv_have_ss_family_in_struct_ss" >&6; } |
30813 | if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then | 16185 | if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then |
30814 | 16186 | ||
30815 | cat >>confdefs.h <<\_ACEOF | 16187 | $as_echo "#define HAVE_SS_FAMILY_IN_SS 1" >>confdefs.h |
30816 | #define HAVE_SS_FAMILY_IN_SS 1 | ||
30817 | _ACEOF | ||
30818 | 16188 | ||
30819 | fi | 16189 | fi |
30820 | 16190 | ||
30821 | { echo "$as_me:$LINENO: checking for __ss_family field in struct sockaddr_storage" >&5 | 16191 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __ss_family field in struct sockaddr_storage" >&5 |
30822 | echo $ECHO_N "checking for __ss_family field in struct sockaddr_storage... $ECHO_C" >&6; } | 16192 | $as_echo_n "checking for __ss_family field in struct sockaddr_storage... " >&6; } |
30823 | if test "${ac_cv_have___ss_family_in_struct_ss+set}" = set; then | 16193 | if ${ac_cv_have___ss_family_in_struct_ss+:} false; then : |
30824 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16194 | $as_echo_n "(cached) " >&6 |
30825 | else | 16195 | else |
30826 | 16196 | ||
30827 | cat >conftest.$ac_ext <<_ACEOF | 16197 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
30828 | /* confdefs.h. */ | ||
30829 | _ACEOF | ||
30830 | cat confdefs.h >>conftest.$ac_ext | ||
30831 | cat >>conftest.$ac_ext <<_ACEOF | ||
30832 | /* end confdefs.h. */ | 16198 | /* end confdefs.h. */ |
30833 | 16199 | ||
30834 | #include <sys/types.h> | 16200 | #include <sys/types.h> |
@@ -30842,56 +16208,30 @@ main () | |||
30842 | return 0; | 16208 | return 0; |
30843 | } | 16209 | } |
30844 | _ACEOF | 16210 | _ACEOF |
30845 | rm -f conftest.$ac_objext | 16211 | if ac_fn_c_try_compile "$LINENO"; then : |
30846 | if { (ac_try="$ac_compile" | ||
30847 | case "(($ac_try" in | ||
30848 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30849 | *) ac_try_echo=$ac_try;; | ||
30850 | esac | ||
30851 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30852 | (eval "$ac_compile") 2>conftest.er1 | ||
30853 | ac_status=$? | ||
30854 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30855 | rm -f conftest.er1 | ||
30856 | cat conftest.err >&5 | ||
30857 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30858 | (exit $ac_status); } && { | ||
30859 | test -z "$ac_c_werror_flag" || | ||
30860 | test ! -s conftest.err | ||
30861 | } && test -s conftest.$ac_objext; then | ||
30862 | ac_cv_have___ss_family_in_struct_ss="yes" | 16212 | ac_cv_have___ss_family_in_struct_ss="yes" |
30863 | else | 16213 | else |
30864 | echo "$as_me: failed program was:" >&5 | 16214 | ac_cv_have___ss_family_in_struct_ss="no" |
30865 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30866 | |||
30867 | ac_cv_have___ss_family_in_struct_ss="no" | ||
30868 | 16215 | ||
30869 | fi | 16216 | fi |
30870 | |||
30871 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 16217 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
30872 | 16218 | ||
30873 | fi | 16219 | fi |
30874 | { echo "$as_me:$LINENO: result: $ac_cv_have___ss_family_in_struct_ss" >&5 | 16220 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___ss_family_in_struct_ss" >&5 |
30875 | echo "${ECHO_T}$ac_cv_have___ss_family_in_struct_ss" >&6; } | 16221 | $as_echo "$ac_cv_have___ss_family_in_struct_ss" >&6; } |
30876 | if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then | 16222 | if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then |
30877 | 16223 | ||
30878 | cat >>confdefs.h <<\_ACEOF | 16224 | $as_echo "#define HAVE___SS_FAMILY_IN_SS 1" >>confdefs.h |
30879 | #define HAVE___SS_FAMILY_IN_SS 1 | ||
30880 | _ACEOF | ||
30881 | 16225 | ||
30882 | fi | 16226 | fi |
30883 | 16227 | ||
30884 | { echo "$as_me:$LINENO: checking for msg_accrights field in struct msghdr" >&5 | 16228 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msg_accrights field in struct msghdr" >&5 |
30885 | echo $ECHO_N "checking for msg_accrights field in struct msghdr... $ECHO_C" >&6; } | 16229 | $as_echo_n "checking for msg_accrights field in struct msghdr... " >&6; } |
30886 | if test "${ac_cv_have_accrights_in_msghdr+set}" = set; then | 16230 | if ${ac_cv_have_accrights_in_msghdr+:} false; then : |
30887 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16231 | $as_echo_n "(cached) " >&6 |
30888 | else | 16232 | else |
30889 | 16233 | ||
30890 | cat >conftest.$ac_ext <<_ACEOF | 16234 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
30891 | /* confdefs.h. */ | ||
30892 | _ACEOF | ||
30893 | cat confdefs.h >>conftest.$ac_ext | ||
30894 | cat >>conftest.$ac_ext <<_ACEOF | ||
30895 | /* end confdefs.h. */ | 16235 | /* end confdefs.h. */ |
30896 | 16236 | ||
30897 | #include <sys/types.h> | 16237 | #include <sys/types.h> |
@@ -30914,52 +16254,26 @@ exit(0); | |||
30914 | return 0; | 16254 | return 0; |
30915 | } | 16255 | } |
30916 | _ACEOF | 16256 | _ACEOF |
30917 | rm -f conftest.$ac_objext | 16257 | if ac_fn_c_try_compile "$LINENO"; then : |
30918 | if { (ac_try="$ac_compile" | ||
30919 | case "(($ac_try" in | ||
30920 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30921 | *) ac_try_echo=$ac_try;; | ||
30922 | esac | ||
30923 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30924 | (eval "$ac_compile") 2>conftest.er1 | ||
30925 | ac_status=$? | ||
30926 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30927 | rm -f conftest.er1 | ||
30928 | cat conftest.err >&5 | ||
30929 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30930 | (exit $ac_status); } && { | ||
30931 | test -z "$ac_c_werror_flag" || | ||
30932 | test ! -s conftest.err | ||
30933 | } && test -s conftest.$ac_objext; then | ||
30934 | ac_cv_have_accrights_in_msghdr="yes" | 16258 | ac_cv_have_accrights_in_msghdr="yes" |
30935 | else | 16259 | else |
30936 | echo "$as_me: failed program was:" >&5 | 16260 | ac_cv_have_accrights_in_msghdr="no" |
30937 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
30938 | |||
30939 | ac_cv_have_accrights_in_msghdr="no" | ||
30940 | 16261 | ||
30941 | fi | 16262 | fi |
30942 | |||
30943 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 16263 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
30944 | 16264 | ||
30945 | fi | 16265 | fi |
30946 | { echo "$as_me:$LINENO: result: $ac_cv_have_accrights_in_msghdr" >&5 | 16266 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_accrights_in_msghdr" >&5 |
30947 | echo "${ECHO_T}$ac_cv_have_accrights_in_msghdr" >&6; } | 16267 | $as_echo "$ac_cv_have_accrights_in_msghdr" >&6; } |
30948 | if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then | 16268 | if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then |
30949 | 16269 | ||
30950 | cat >>confdefs.h <<\_ACEOF | 16270 | $as_echo "#define HAVE_ACCRIGHTS_IN_MSGHDR 1" >>confdefs.h |
30951 | #define HAVE_ACCRIGHTS_IN_MSGHDR 1 | ||
30952 | _ACEOF | ||
30953 | 16271 | ||
30954 | fi | 16272 | fi |
30955 | 16273 | ||
30956 | { echo "$as_me:$LINENO: checking if struct statvfs.f_fsid is integral type" >&5 | 16274 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct statvfs.f_fsid is integral type" >&5 |
30957 | echo $ECHO_N "checking if struct statvfs.f_fsid is integral type... $ECHO_C" >&6; } | 16275 | $as_echo_n "checking if struct statvfs.f_fsid is integral type... " >&6; } |
30958 | cat >conftest.$ac_ext <<_ACEOF | 16276 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
30959 | /* confdefs.h. */ | ||
30960 | _ACEOF | ||
30961 | cat confdefs.h >>conftest.$ac_ext | ||
30962 | cat >>conftest.$ac_ext <<_ACEOF | ||
30963 | /* end confdefs.h. */ | 16277 | /* end confdefs.h. */ |
30964 | 16278 | ||
30965 | #include <sys/param.h> | 16279 | #include <sys/param.h> |
@@ -30982,39 +16296,16 @@ main () | |||
30982 | return 0; | 16296 | return 0; |
30983 | } | 16297 | } |
30984 | _ACEOF | 16298 | _ACEOF |
30985 | rm -f conftest.$ac_objext | 16299 | if ac_fn_c_try_compile "$LINENO"; then : |
30986 | if { (ac_try="$ac_compile" | 16300 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
30987 | case "(($ac_try" in | 16301 | $as_echo "yes" >&6; } |
30988 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
30989 | *) ac_try_echo=$ac_try;; | ||
30990 | esac | ||
30991 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
30992 | (eval "$ac_compile") 2>conftest.er1 | ||
30993 | ac_status=$? | ||
30994 | grep -v '^ *+' conftest.er1 >conftest.err | ||
30995 | rm -f conftest.er1 | ||
30996 | cat conftest.err >&5 | ||
30997 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
30998 | (exit $ac_status); } && { | ||
30999 | test -z "$ac_c_werror_flag" || | ||
31000 | test ! -s conftest.err | ||
31001 | } && test -s conftest.$ac_objext; then | ||
31002 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
31003 | echo "${ECHO_T}yes" >&6; } | ||
31004 | else | 16302 | else |
31005 | echo "$as_me: failed program was:" >&5 | 16303 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
31006 | sed 's/^/| /' conftest.$ac_ext >&5 | 16304 | $as_echo "no" >&6; } |
31007 | |||
31008 | { echo "$as_me:$LINENO: result: no" >&5 | ||
31009 | echo "${ECHO_T}no" >&6; } | ||
31010 | 16305 | ||
31011 | { echo "$as_me:$LINENO: checking if fsid_t has member val" >&5 | 16306 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if fsid_t has member val" >&5 |
31012 | echo $ECHO_N "checking if fsid_t has member val... $ECHO_C" >&6; } | 16307 | $as_echo_n "checking if fsid_t has member val... " >&6; } |
31013 | cat >conftest.$ac_ext <<_ACEOF | 16308 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31014 | /* confdefs.h. */ | ||
31015 | _ACEOF | ||
31016 | cat confdefs.h >>conftest.$ac_ext | ||
31017 | cat >>conftest.$ac_ext <<_ACEOF | ||
31018 | /* end confdefs.h. */ | 16309 | /* end confdefs.h. */ |
31019 | 16310 | ||
31020 | #include <sys/types.h> | 16311 | #include <sys/types.h> |
@@ -31028,47 +16319,21 @@ main () | |||
31028 | return 0; | 16319 | return 0; |
31029 | } | 16320 | } |
31030 | _ACEOF | 16321 | _ACEOF |
31031 | rm -f conftest.$ac_objext | 16322 | if ac_fn_c_try_compile "$LINENO"; then : |
31032 | if { (ac_try="$ac_compile" | 16323 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
31033 | case "(($ac_try" in | 16324 | $as_echo "yes" >&6; } |
31034 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31035 | *) ac_try_echo=$ac_try;; | ||
31036 | esac | ||
31037 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31038 | (eval "$ac_compile") 2>conftest.er1 | ||
31039 | ac_status=$? | ||
31040 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31041 | rm -f conftest.er1 | ||
31042 | cat conftest.err >&5 | ||
31043 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31044 | (exit $ac_status); } && { | ||
31045 | test -z "$ac_c_werror_flag" || | ||
31046 | test ! -s conftest.err | ||
31047 | } && test -s conftest.$ac_objext; then | ||
31048 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
31049 | echo "${ECHO_T}yes" >&6; } | ||
31050 | 16325 | ||
31051 | cat >>confdefs.h <<\_ACEOF | 16326 | $as_echo "#define FSID_HAS_VAL 1" >>confdefs.h |
31052 | #define FSID_HAS_VAL 1 | ||
31053 | _ACEOF | ||
31054 | 16327 | ||
31055 | else | 16328 | else |
31056 | echo "$as_me: failed program was:" >&5 | 16329 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
31057 | sed 's/^/| /' conftest.$ac_ext >&5 | 16330 | $as_echo "no" >&6; } |
31058 | |||
31059 | { echo "$as_me:$LINENO: result: no" >&5 | ||
31060 | echo "${ECHO_T}no" >&6; } | ||
31061 | fi | 16331 | fi |
31062 | |||
31063 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 16332 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
31064 | 16333 | ||
31065 | { echo "$as_me:$LINENO: checking if f_fsid has member __val" >&5 | 16334 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if f_fsid has member __val" >&5 |
31066 | echo $ECHO_N "checking if f_fsid has member __val... $ECHO_C" >&6; } | 16335 | $as_echo_n "checking if f_fsid has member __val... " >&6; } |
31067 | cat >conftest.$ac_ext <<_ACEOF | 16336 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31068 | /* confdefs.h. */ | ||
31069 | _ACEOF | ||
31070 | cat confdefs.h >>conftest.$ac_ext | ||
31071 | cat >>conftest.$ac_ext <<_ACEOF | ||
31072 | /* end confdefs.h. */ | 16337 | /* end confdefs.h. */ |
31073 | 16338 | ||
31074 | #include <sys/types.h> | 16339 | #include <sys/types.h> |
@@ -31082,55 +16347,28 @@ main () | |||
31082 | return 0; | 16347 | return 0; |
31083 | } | 16348 | } |
31084 | _ACEOF | 16349 | _ACEOF |
31085 | rm -f conftest.$ac_objext | 16350 | if ac_fn_c_try_compile "$LINENO"; then : |
31086 | if { (ac_try="$ac_compile" | 16351 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
31087 | case "(($ac_try" in | 16352 | $as_echo "yes" >&6; } |
31088 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31089 | *) ac_try_echo=$ac_try;; | ||
31090 | esac | ||
31091 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31092 | (eval "$ac_compile") 2>conftest.er1 | ||
31093 | ac_status=$? | ||
31094 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31095 | rm -f conftest.er1 | ||
31096 | cat conftest.err >&5 | ||
31097 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31098 | (exit $ac_status); } && { | ||
31099 | test -z "$ac_c_werror_flag" || | ||
31100 | test ! -s conftest.err | ||
31101 | } && test -s conftest.$ac_objext; then | ||
31102 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
31103 | echo "${ECHO_T}yes" >&6; } | ||
31104 | 16353 | ||
31105 | cat >>confdefs.h <<\_ACEOF | 16354 | $as_echo "#define FSID_HAS___VAL 1" >>confdefs.h |
31106 | #define FSID_HAS___VAL 1 | ||
31107 | _ACEOF | ||
31108 | 16355 | ||
31109 | else | 16356 | else |
31110 | echo "$as_me: failed program was:" >&5 | 16357 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
31111 | sed 's/^/| /' conftest.$ac_ext >&5 | 16358 | $as_echo "no" >&6; } |
31112 | |||
31113 | { echo "$as_me:$LINENO: result: no" >&5 | ||
31114 | echo "${ECHO_T}no" >&6; } | ||
31115 | fi | 16359 | fi |
31116 | |||
31117 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 16360 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
31118 | 16361 | ||
31119 | fi | 16362 | fi |
31120 | |||
31121 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 16363 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
31122 | 16364 | ||
31123 | { echo "$as_me:$LINENO: checking for msg_control field in struct msghdr" >&5 | 16365 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msg_control field in struct msghdr" >&5 |
31124 | echo $ECHO_N "checking for msg_control field in struct msghdr... $ECHO_C" >&6; } | 16366 | $as_echo_n "checking for msg_control field in struct msghdr... " >&6; } |
31125 | if test "${ac_cv_have_control_in_msghdr+set}" = set; then | 16367 | if ${ac_cv_have_control_in_msghdr+:} false; then : |
31126 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16368 | $as_echo_n "(cached) " >&6 |
31127 | else | 16369 | else |
31128 | 16370 | ||
31129 | cat >conftest.$ac_ext <<_ACEOF | 16371 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31130 | /* confdefs.h. */ | ||
31131 | _ACEOF | ||
31132 | cat confdefs.h >>conftest.$ac_ext | ||
31133 | cat >>conftest.$ac_ext <<_ACEOF | ||
31134 | /* end confdefs.h. */ | 16372 | /* end confdefs.h. */ |
31135 | 16373 | ||
31136 | #include <sys/types.h> | 16374 | #include <sys/types.h> |
@@ -31153,56 +16391,30 @@ exit(0); | |||
31153 | return 0; | 16391 | return 0; |
31154 | } | 16392 | } |
31155 | _ACEOF | 16393 | _ACEOF |
31156 | rm -f conftest.$ac_objext | 16394 | if ac_fn_c_try_compile "$LINENO"; then : |
31157 | if { (ac_try="$ac_compile" | ||
31158 | case "(($ac_try" in | ||
31159 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31160 | *) ac_try_echo=$ac_try;; | ||
31161 | esac | ||
31162 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31163 | (eval "$ac_compile") 2>conftest.er1 | ||
31164 | ac_status=$? | ||
31165 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31166 | rm -f conftest.er1 | ||
31167 | cat conftest.err >&5 | ||
31168 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31169 | (exit $ac_status); } && { | ||
31170 | test -z "$ac_c_werror_flag" || | ||
31171 | test ! -s conftest.err | ||
31172 | } && test -s conftest.$ac_objext; then | ||
31173 | ac_cv_have_control_in_msghdr="yes" | 16395 | ac_cv_have_control_in_msghdr="yes" |
31174 | else | 16396 | else |
31175 | echo "$as_me: failed program was:" >&5 | 16397 | ac_cv_have_control_in_msghdr="no" |
31176 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
31177 | |||
31178 | ac_cv_have_control_in_msghdr="no" | ||
31179 | 16398 | ||
31180 | fi | 16399 | fi |
31181 | |||
31182 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 16400 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
31183 | 16401 | ||
31184 | fi | 16402 | fi |
31185 | { echo "$as_me:$LINENO: result: $ac_cv_have_control_in_msghdr" >&5 | 16403 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_control_in_msghdr" >&5 |
31186 | echo "${ECHO_T}$ac_cv_have_control_in_msghdr" >&6; } | 16404 | $as_echo "$ac_cv_have_control_in_msghdr" >&6; } |
31187 | if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then | 16405 | if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then |
31188 | 16406 | ||
31189 | cat >>confdefs.h <<\_ACEOF | 16407 | $as_echo "#define HAVE_CONTROL_IN_MSGHDR 1" >>confdefs.h |
31190 | #define HAVE_CONTROL_IN_MSGHDR 1 | ||
31191 | _ACEOF | ||
31192 | 16408 | ||
31193 | fi | 16409 | fi |
31194 | 16410 | ||
31195 | { echo "$as_me:$LINENO: checking if libc defines __progname" >&5 | 16411 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines __progname" >&5 |
31196 | echo $ECHO_N "checking if libc defines __progname... $ECHO_C" >&6; } | 16412 | $as_echo_n "checking if libc defines __progname... " >&6; } |
31197 | if test "${ac_cv_libc_defines___progname+set}" = set; then | 16413 | if ${ac_cv_libc_defines___progname+:} false; then : |
31198 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16414 | $as_echo_n "(cached) " >&6 |
31199 | else | 16415 | else |
31200 | 16416 | ||
31201 | cat >conftest.$ac_ext <<_ACEOF | 16417 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31202 | /* confdefs.h. */ | ||
31203 | _ACEOF | ||
31204 | cat confdefs.h >>conftest.$ac_ext | ||
31205 | cat >>conftest.$ac_ext <<_ACEOF | ||
31206 | /* end confdefs.h. */ | 16418 | /* end confdefs.h. */ |
31207 | 16419 | ||
31208 | int | 16420 | int |
@@ -31213,58 +16425,31 @@ main () | |||
31213 | return 0; | 16425 | return 0; |
31214 | } | 16426 | } |
31215 | _ACEOF | 16427 | _ACEOF |
31216 | rm -f conftest.$ac_objext conftest$ac_exeext | 16428 | if ac_fn_c_try_link "$LINENO"; then : |
31217 | if { (ac_try="$ac_link" | ||
31218 | case "(($ac_try" in | ||
31219 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31220 | *) ac_try_echo=$ac_try;; | ||
31221 | esac | ||
31222 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31223 | (eval "$ac_link") 2>conftest.er1 | ||
31224 | ac_status=$? | ||
31225 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31226 | rm -f conftest.er1 | ||
31227 | cat conftest.err >&5 | ||
31228 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31229 | (exit $ac_status); } && { | ||
31230 | test -z "$ac_c_werror_flag" || | ||
31231 | test ! -s conftest.err | ||
31232 | } && test -s conftest$ac_exeext && | ||
31233 | $as_test_x conftest$ac_exeext; then | ||
31234 | ac_cv_libc_defines___progname="yes" | 16429 | ac_cv_libc_defines___progname="yes" |
31235 | else | 16430 | else |
31236 | echo "$as_me: failed program was:" >&5 | 16431 | ac_cv_libc_defines___progname="no" |
31237 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
31238 | |||
31239 | ac_cv_libc_defines___progname="no" | ||
31240 | 16432 | ||
31241 | fi | 16433 | fi |
31242 | 16434 | rm -f core conftest.err conftest.$ac_objext \ | |
31243 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 16435 | conftest$ac_exeext conftest.$ac_ext |
31244 | conftest$ac_exeext conftest.$ac_ext | ||
31245 | 16436 | ||
31246 | fi | 16437 | fi |
31247 | { echo "$as_me:$LINENO: result: $ac_cv_libc_defines___progname" >&5 | 16438 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines___progname" >&5 |
31248 | echo "${ECHO_T}$ac_cv_libc_defines___progname" >&6; } | 16439 | $as_echo "$ac_cv_libc_defines___progname" >&6; } |
31249 | if test "x$ac_cv_libc_defines___progname" = "xyes" ; then | 16440 | if test "x$ac_cv_libc_defines___progname" = "xyes" ; then |
31250 | 16441 | ||
31251 | cat >>confdefs.h <<\_ACEOF | 16442 | $as_echo "#define HAVE___PROGNAME 1" >>confdefs.h |
31252 | #define HAVE___PROGNAME 1 | ||
31253 | _ACEOF | ||
31254 | 16443 | ||
31255 | fi | 16444 | fi |
31256 | 16445 | ||
31257 | { echo "$as_me:$LINENO: checking whether $CC implements __FUNCTION__" >&5 | 16446 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC implements __FUNCTION__" >&5 |
31258 | echo $ECHO_N "checking whether $CC implements __FUNCTION__... $ECHO_C" >&6; } | 16447 | $as_echo_n "checking whether $CC implements __FUNCTION__... " >&6; } |
31259 | if test "${ac_cv_cc_implements___FUNCTION__+set}" = set; then | 16448 | if ${ac_cv_cc_implements___FUNCTION__+:} false; then : |
31260 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16449 | $as_echo_n "(cached) " >&6 |
31261 | else | 16450 | else |
31262 | 16451 | ||
31263 | cat >conftest.$ac_ext <<_ACEOF | 16452 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31264 | /* confdefs.h. */ | ||
31265 | _ACEOF | ||
31266 | cat confdefs.h >>conftest.$ac_ext | ||
31267 | cat >>conftest.$ac_ext <<_ACEOF | ||
31268 | /* end confdefs.h. */ | 16453 | /* end confdefs.h. */ |
31269 | #include <stdio.h> | 16454 | #include <stdio.h> |
31270 | int | 16455 | int |
@@ -31275,58 +16460,31 @@ main () | |||
31275 | return 0; | 16460 | return 0; |
31276 | } | 16461 | } |
31277 | _ACEOF | 16462 | _ACEOF |
31278 | rm -f conftest.$ac_objext conftest$ac_exeext | 16463 | if ac_fn_c_try_link "$LINENO"; then : |
31279 | if { (ac_try="$ac_link" | ||
31280 | case "(($ac_try" in | ||
31281 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31282 | *) ac_try_echo=$ac_try;; | ||
31283 | esac | ||
31284 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31285 | (eval "$ac_link") 2>conftest.er1 | ||
31286 | ac_status=$? | ||
31287 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31288 | rm -f conftest.er1 | ||
31289 | cat conftest.err >&5 | ||
31290 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31291 | (exit $ac_status); } && { | ||
31292 | test -z "$ac_c_werror_flag" || | ||
31293 | test ! -s conftest.err | ||
31294 | } && test -s conftest$ac_exeext && | ||
31295 | $as_test_x conftest$ac_exeext; then | ||
31296 | ac_cv_cc_implements___FUNCTION__="yes" | 16464 | ac_cv_cc_implements___FUNCTION__="yes" |
31297 | else | 16465 | else |
31298 | echo "$as_me: failed program was:" >&5 | 16466 | ac_cv_cc_implements___FUNCTION__="no" |
31299 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
31300 | |||
31301 | ac_cv_cc_implements___FUNCTION__="no" | ||
31302 | 16467 | ||
31303 | fi | 16468 | fi |
31304 | 16469 | rm -f core conftest.err conftest.$ac_objext \ | |
31305 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 16470 | conftest$ac_exeext conftest.$ac_ext |
31306 | conftest$ac_exeext conftest.$ac_ext | ||
31307 | 16471 | ||
31308 | fi | 16472 | fi |
31309 | { echo "$as_me:$LINENO: result: $ac_cv_cc_implements___FUNCTION__" >&5 | 16473 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_implements___FUNCTION__" >&5 |
31310 | echo "${ECHO_T}$ac_cv_cc_implements___FUNCTION__" >&6; } | 16474 | $as_echo "$ac_cv_cc_implements___FUNCTION__" >&6; } |
31311 | if test "x$ac_cv_cc_implements___FUNCTION__" = "xyes" ; then | 16475 | if test "x$ac_cv_cc_implements___FUNCTION__" = "xyes" ; then |
31312 | 16476 | ||
31313 | cat >>confdefs.h <<\_ACEOF | 16477 | $as_echo "#define HAVE___FUNCTION__ 1" >>confdefs.h |
31314 | #define HAVE___FUNCTION__ 1 | ||
31315 | _ACEOF | ||
31316 | 16478 | ||
31317 | fi | 16479 | fi |
31318 | 16480 | ||
31319 | { echo "$as_me:$LINENO: checking whether $CC implements __func__" >&5 | 16481 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC implements __func__" >&5 |
31320 | echo $ECHO_N "checking whether $CC implements __func__... $ECHO_C" >&6; } | 16482 | $as_echo_n "checking whether $CC implements __func__... " >&6; } |
31321 | if test "${ac_cv_cc_implements___func__+set}" = set; then | 16483 | if ${ac_cv_cc_implements___func__+:} false; then : |
31322 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16484 | $as_echo_n "(cached) " >&6 |
31323 | else | 16485 | else |
31324 | 16486 | ||
31325 | cat >conftest.$ac_ext <<_ACEOF | 16487 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31326 | /* confdefs.h. */ | ||
31327 | _ACEOF | ||
31328 | cat confdefs.h >>conftest.$ac_ext | ||
31329 | cat >>conftest.$ac_ext <<_ACEOF | ||
31330 | /* end confdefs.h. */ | 16488 | /* end confdefs.h. */ |
31331 | #include <stdio.h> | 16489 | #include <stdio.h> |
31332 | int | 16490 | int |
@@ -31337,58 +16495,31 @@ main () | |||
31337 | return 0; | 16495 | return 0; |
31338 | } | 16496 | } |
31339 | _ACEOF | 16497 | _ACEOF |
31340 | rm -f conftest.$ac_objext conftest$ac_exeext | 16498 | if ac_fn_c_try_link "$LINENO"; then : |
31341 | if { (ac_try="$ac_link" | ||
31342 | case "(($ac_try" in | ||
31343 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31344 | *) ac_try_echo=$ac_try;; | ||
31345 | esac | ||
31346 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31347 | (eval "$ac_link") 2>conftest.er1 | ||
31348 | ac_status=$? | ||
31349 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31350 | rm -f conftest.er1 | ||
31351 | cat conftest.err >&5 | ||
31352 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31353 | (exit $ac_status); } && { | ||
31354 | test -z "$ac_c_werror_flag" || | ||
31355 | test ! -s conftest.err | ||
31356 | } && test -s conftest$ac_exeext && | ||
31357 | $as_test_x conftest$ac_exeext; then | ||
31358 | ac_cv_cc_implements___func__="yes" | 16499 | ac_cv_cc_implements___func__="yes" |
31359 | else | 16500 | else |
31360 | echo "$as_me: failed program was:" >&5 | 16501 | ac_cv_cc_implements___func__="no" |
31361 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
31362 | |||
31363 | ac_cv_cc_implements___func__="no" | ||
31364 | 16502 | ||
31365 | fi | 16503 | fi |
31366 | 16504 | rm -f core conftest.err conftest.$ac_objext \ | |
31367 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 16505 | conftest$ac_exeext conftest.$ac_ext |
31368 | conftest$ac_exeext conftest.$ac_ext | ||
31369 | 16506 | ||
31370 | fi | 16507 | fi |
31371 | { echo "$as_me:$LINENO: result: $ac_cv_cc_implements___func__" >&5 | 16508 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_implements___func__" >&5 |
31372 | echo "${ECHO_T}$ac_cv_cc_implements___func__" >&6; } | 16509 | $as_echo "$ac_cv_cc_implements___func__" >&6; } |
31373 | if test "x$ac_cv_cc_implements___func__" = "xyes" ; then | 16510 | if test "x$ac_cv_cc_implements___func__" = "xyes" ; then |
31374 | 16511 | ||
31375 | cat >>confdefs.h <<\_ACEOF | 16512 | $as_echo "#define HAVE___func__ 1" >>confdefs.h |
31376 | #define HAVE___func__ 1 | ||
31377 | _ACEOF | ||
31378 | 16513 | ||
31379 | fi | 16514 | fi |
31380 | 16515 | ||
31381 | { echo "$as_me:$LINENO: checking whether va_copy exists" >&5 | 16516 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether va_copy exists" >&5 |
31382 | echo $ECHO_N "checking whether va_copy exists... $ECHO_C" >&6; } | 16517 | $as_echo_n "checking whether va_copy exists... " >&6; } |
31383 | if test "${ac_cv_have_va_copy+set}" = set; then | 16518 | if ${ac_cv_have_va_copy+:} false; then : |
31384 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16519 | $as_echo_n "(cached) " >&6 |
31385 | else | 16520 | else |
31386 | 16521 | ||
31387 | cat >conftest.$ac_ext <<_ACEOF | 16522 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31388 | /* confdefs.h. */ | ||
31389 | _ACEOF | ||
31390 | cat confdefs.h >>conftest.$ac_ext | ||
31391 | cat >>conftest.$ac_ext <<_ACEOF | ||
31392 | /* end confdefs.h. */ | 16523 | /* end confdefs.h. */ |
31393 | 16524 | ||
31394 | #include <stdarg.h> | 16525 | #include <stdarg.h> |
@@ -31402,58 +16533,31 @@ main () | |||
31402 | return 0; | 16533 | return 0; |
31403 | } | 16534 | } |
31404 | _ACEOF | 16535 | _ACEOF |
31405 | rm -f conftest.$ac_objext conftest$ac_exeext | 16536 | if ac_fn_c_try_link "$LINENO"; then : |
31406 | if { (ac_try="$ac_link" | ||
31407 | case "(($ac_try" in | ||
31408 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31409 | *) ac_try_echo=$ac_try;; | ||
31410 | esac | ||
31411 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31412 | (eval "$ac_link") 2>conftest.er1 | ||
31413 | ac_status=$? | ||
31414 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31415 | rm -f conftest.er1 | ||
31416 | cat conftest.err >&5 | ||
31417 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31418 | (exit $ac_status); } && { | ||
31419 | test -z "$ac_c_werror_flag" || | ||
31420 | test ! -s conftest.err | ||
31421 | } && test -s conftest$ac_exeext && | ||
31422 | $as_test_x conftest$ac_exeext; then | ||
31423 | ac_cv_have_va_copy="yes" | 16537 | ac_cv_have_va_copy="yes" |
31424 | else | 16538 | else |
31425 | echo "$as_me: failed program was:" >&5 | 16539 | ac_cv_have_va_copy="no" |
31426 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
31427 | |||
31428 | ac_cv_have_va_copy="no" | ||
31429 | 16540 | ||
31430 | fi | 16541 | fi |
31431 | 16542 | rm -f core conftest.err conftest.$ac_objext \ | |
31432 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 16543 | conftest$ac_exeext conftest.$ac_ext |
31433 | conftest$ac_exeext conftest.$ac_ext | ||
31434 | 16544 | ||
31435 | fi | 16545 | fi |
31436 | { echo "$as_me:$LINENO: result: $ac_cv_have_va_copy" >&5 | 16546 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_va_copy" >&5 |
31437 | echo "${ECHO_T}$ac_cv_have_va_copy" >&6; } | 16547 | $as_echo "$ac_cv_have_va_copy" >&6; } |
31438 | if test "x$ac_cv_have_va_copy" = "xyes" ; then | 16548 | if test "x$ac_cv_have_va_copy" = "xyes" ; then |
31439 | 16549 | ||
31440 | cat >>confdefs.h <<\_ACEOF | 16550 | $as_echo "#define HAVE_VA_COPY 1" >>confdefs.h |
31441 | #define HAVE_VA_COPY 1 | ||
31442 | _ACEOF | ||
31443 | 16551 | ||
31444 | fi | 16552 | fi |
31445 | 16553 | ||
31446 | { echo "$as_me:$LINENO: checking whether __va_copy exists" >&5 | 16554 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __va_copy exists" >&5 |
31447 | echo $ECHO_N "checking whether __va_copy exists... $ECHO_C" >&6; } | 16555 | $as_echo_n "checking whether __va_copy exists... " >&6; } |
31448 | if test "${ac_cv_have___va_copy+set}" = set; then | 16556 | if ${ac_cv_have___va_copy+:} false; then : |
31449 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16557 | $as_echo_n "(cached) " >&6 |
31450 | else | 16558 | else |
31451 | 16559 | ||
31452 | cat >conftest.$ac_ext <<_ACEOF | 16560 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31453 | /* confdefs.h. */ | ||
31454 | _ACEOF | ||
31455 | cat confdefs.h >>conftest.$ac_ext | ||
31456 | cat >>conftest.$ac_ext <<_ACEOF | ||
31457 | /* end confdefs.h. */ | 16561 | /* end confdefs.h. */ |
31458 | 16562 | ||
31459 | #include <stdarg.h> | 16563 | #include <stdarg.h> |
@@ -31467,58 +16571,31 @@ main () | |||
31467 | return 0; | 16571 | return 0; |
31468 | } | 16572 | } |
31469 | _ACEOF | 16573 | _ACEOF |
31470 | rm -f conftest.$ac_objext conftest$ac_exeext | 16574 | if ac_fn_c_try_link "$LINENO"; then : |
31471 | if { (ac_try="$ac_link" | ||
31472 | case "(($ac_try" in | ||
31473 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31474 | *) ac_try_echo=$ac_try;; | ||
31475 | esac | ||
31476 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31477 | (eval "$ac_link") 2>conftest.er1 | ||
31478 | ac_status=$? | ||
31479 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31480 | rm -f conftest.er1 | ||
31481 | cat conftest.err >&5 | ||
31482 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31483 | (exit $ac_status); } && { | ||
31484 | test -z "$ac_c_werror_flag" || | ||
31485 | test ! -s conftest.err | ||
31486 | } && test -s conftest$ac_exeext && | ||
31487 | $as_test_x conftest$ac_exeext; then | ||
31488 | ac_cv_have___va_copy="yes" | 16575 | ac_cv_have___va_copy="yes" |
31489 | else | 16576 | else |
31490 | echo "$as_me: failed program was:" >&5 | 16577 | ac_cv_have___va_copy="no" |
31491 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
31492 | |||
31493 | ac_cv_have___va_copy="no" | ||
31494 | 16578 | ||
31495 | fi | 16579 | fi |
31496 | 16580 | rm -f core conftest.err conftest.$ac_objext \ | |
31497 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 16581 | conftest$ac_exeext conftest.$ac_ext |
31498 | conftest$ac_exeext conftest.$ac_ext | ||
31499 | 16582 | ||
31500 | fi | 16583 | fi |
31501 | { echo "$as_me:$LINENO: result: $ac_cv_have___va_copy" >&5 | 16584 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___va_copy" >&5 |
31502 | echo "${ECHO_T}$ac_cv_have___va_copy" >&6; } | 16585 | $as_echo "$ac_cv_have___va_copy" >&6; } |
31503 | if test "x$ac_cv_have___va_copy" = "xyes" ; then | 16586 | if test "x$ac_cv_have___va_copy" = "xyes" ; then |
31504 | 16587 | ||
31505 | cat >>confdefs.h <<\_ACEOF | 16588 | $as_echo "#define HAVE___VA_COPY 1" >>confdefs.h |
31506 | #define HAVE___VA_COPY 1 | ||
31507 | _ACEOF | ||
31508 | 16589 | ||
31509 | fi | 16590 | fi |
31510 | 16591 | ||
31511 | { echo "$as_me:$LINENO: checking whether getopt has optreset support" >&5 | 16592 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt has optreset support" >&5 |
31512 | echo $ECHO_N "checking whether getopt has optreset support... $ECHO_C" >&6; } | 16593 | $as_echo_n "checking whether getopt has optreset support... " >&6; } |
31513 | if test "${ac_cv_have_getopt_optreset+set}" = set; then | 16594 | if ${ac_cv_have_getopt_optreset+:} false; then : |
31514 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16595 | $as_echo_n "(cached) " >&6 |
31515 | else | 16596 | else |
31516 | 16597 | ||
31517 | cat >conftest.$ac_ext <<_ACEOF | 16598 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31518 | /* confdefs.h. */ | ||
31519 | _ACEOF | ||
31520 | cat confdefs.h >>conftest.$ac_ext | ||
31521 | cat >>conftest.$ac_ext <<_ACEOF | ||
31522 | /* end confdefs.h. */ | 16599 | /* end confdefs.h. */ |
31523 | #include <getopt.h> | 16600 | #include <getopt.h> |
31524 | int | 16601 | int |
@@ -31529,58 +16606,31 @@ main () | |||
31529 | return 0; | 16606 | return 0; |
31530 | } | 16607 | } |
31531 | _ACEOF | 16608 | _ACEOF |
31532 | rm -f conftest.$ac_objext conftest$ac_exeext | 16609 | if ac_fn_c_try_link "$LINENO"; then : |
31533 | if { (ac_try="$ac_link" | ||
31534 | case "(($ac_try" in | ||
31535 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31536 | *) ac_try_echo=$ac_try;; | ||
31537 | esac | ||
31538 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31539 | (eval "$ac_link") 2>conftest.er1 | ||
31540 | ac_status=$? | ||
31541 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31542 | rm -f conftest.er1 | ||
31543 | cat conftest.err >&5 | ||
31544 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31545 | (exit $ac_status); } && { | ||
31546 | test -z "$ac_c_werror_flag" || | ||
31547 | test ! -s conftest.err | ||
31548 | } && test -s conftest$ac_exeext && | ||
31549 | $as_test_x conftest$ac_exeext; then | ||
31550 | ac_cv_have_getopt_optreset="yes" | 16610 | ac_cv_have_getopt_optreset="yes" |
31551 | else | 16611 | else |
31552 | echo "$as_me: failed program was:" >&5 | 16612 | ac_cv_have_getopt_optreset="no" |
31553 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
31554 | |||
31555 | ac_cv_have_getopt_optreset="no" | ||
31556 | 16613 | ||
31557 | fi | 16614 | fi |
31558 | 16615 | rm -f core conftest.err conftest.$ac_objext \ | |
31559 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 16616 | conftest$ac_exeext conftest.$ac_ext |
31560 | conftest$ac_exeext conftest.$ac_ext | ||
31561 | 16617 | ||
31562 | fi | 16618 | fi |
31563 | { echo "$as_me:$LINENO: result: $ac_cv_have_getopt_optreset" >&5 | 16619 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_getopt_optreset" >&5 |
31564 | echo "${ECHO_T}$ac_cv_have_getopt_optreset" >&6; } | 16620 | $as_echo "$ac_cv_have_getopt_optreset" >&6; } |
31565 | if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then | 16621 | if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then |
31566 | 16622 | ||
31567 | cat >>confdefs.h <<\_ACEOF | 16623 | $as_echo "#define HAVE_GETOPT_OPTRESET 1" >>confdefs.h |
31568 | #define HAVE_GETOPT_OPTRESET 1 | ||
31569 | _ACEOF | ||
31570 | 16624 | ||
31571 | fi | 16625 | fi |
31572 | 16626 | ||
31573 | { echo "$as_me:$LINENO: checking if libc defines sys_errlist" >&5 | 16627 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines sys_errlist" >&5 |
31574 | echo $ECHO_N "checking if libc defines sys_errlist... $ECHO_C" >&6; } | 16628 | $as_echo_n "checking if libc defines sys_errlist... " >&6; } |
31575 | if test "${ac_cv_libc_defines_sys_errlist+set}" = set; then | 16629 | if ${ac_cv_libc_defines_sys_errlist+:} false; then : |
31576 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16630 | $as_echo_n "(cached) " >&6 |
31577 | else | 16631 | else |
31578 | 16632 | ||
31579 | cat >conftest.$ac_ext <<_ACEOF | 16633 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31580 | /* confdefs.h. */ | ||
31581 | _ACEOF | ||
31582 | cat confdefs.h >>conftest.$ac_ext | ||
31583 | cat >>conftest.$ac_ext <<_ACEOF | ||
31584 | /* end confdefs.h. */ | 16634 | /* end confdefs.h. */ |
31585 | 16635 | ||
31586 | int | 16636 | int |
@@ -31591,59 +16641,32 @@ main () | |||
31591 | return 0; | 16641 | return 0; |
31592 | } | 16642 | } |
31593 | _ACEOF | 16643 | _ACEOF |
31594 | rm -f conftest.$ac_objext conftest$ac_exeext | 16644 | if ac_fn_c_try_link "$LINENO"; then : |
31595 | if { (ac_try="$ac_link" | ||
31596 | case "(($ac_try" in | ||
31597 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31598 | *) ac_try_echo=$ac_try;; | ||
31599 | esac | ||
31600 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31601 | (eval "$ac_link") 2>conftest.er1 | ||
31602 | ac_status=$? | ||
31603 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31604 | rm -f conftest.er1 | ||
31605 | cat conftest.err >&5 | ||
31606 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31607 | (exit $ac_status); } && { | ||
31608 | test -z "$ac_c_werror_flag" || | ||
31609 | test ! -s conftest.err | ||
31610 | } && test -s conftest$ac_exeext && | ||
31611 | $as_test_x conftest$ac_exeext; then | ||
31612 | ac_cv_libc_defines_sys_errlist="yes" | 16645 | ac_cv_libc_defines_sys_errlist="yes" |
31613 | else | 16646 | else |
31614 | echo "$as_me: failed program was:" >&5 | 16647 | ac_cv_libc_defines_sys_errlist="no" |
31615 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
31616 | |||
31617 | ac_cv_libc_defines_sys_errlist="no" | ||
31618 | 16648 | ||
31619 | fi | 16649 | fi |
31620 | 16650 | rm -f core conftest.err conftest.$ac_objext \ | |
31621 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 16651 | conftest$ac_exeext conftest.$ac_ext |
31622 | conftest$ac_exeext conftest.$ac_ext | ||
31623 | 16652 | ||
31624 | fi | 16653 | fi |
31625 | { echo "$as_me:$LINENO: result: $ac_cv_libc_defines_sys_errlist" >&5 | 16654 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines_sys_errlist" >&5 |
31626 | echo "${ECHO_T}$ac_cv_libc_defines_sys_errlist" >&6; } | 16655 | $as_echo "$ac_cv_libc_defines_sys_errlist" >&6; } |
31627 | if test "x$ac_cv_libc_defines_sys_errlist" = "xyes" ; then | 16656 | if test "x$ac_cv_libc_defines_sys_errlist" = "xyes" ; then |
31628 | 16657 | ||
31629 | cat >>confdefs.h <<\_ACEOF | 16658 | $as_echo "#define HAVE_SYS_ERRLIST 1" >>confdefs.h |
31630 | #define HAVE_SYS_ERRLIST 1 | ||
31631 | _ACEOF | ||
31632 | 16659 | ||
31633 | fi | 16660 | fi |
31634 | 16661 | ||
31635 | 16662 | ||
31636 | { echo "$as_me:$LINENO: checking if libc defines sys_nerr" >&5 | 16663 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines sys_nerr" >&5 |
31637 | echo $ECHO_N "checking if libc defines sys_nerr... $ECHO_C" >&6; } | 16664 | $as_echo_n "checking if libc defines sys_nerr... " >&6; } |
31638 | if test "${ac_cv_libc_defines_sys_nerr+set}" = set; then | 16665 | if ${ac_cv_libc_defines_sys_nerr+:} false; then : |
31639 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16666 | $as_echo_n "(cached) " >&6 |
31640 | else | 16667 | else |
31641 | 16668 | ||
31642 | cat >conftest.$ac_ext <<_ACEOF | 16669 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31643 | /* confdefs.h. */ | ||
31644 | _ACEOF | ||
31645 | cat confdefs.h >>conftest.$ac_ext | ||
31646 | cat >>conftest.$ac_ext <<_ACEOF | ||
31647 | /* end confdefs.h. */ | 16670 | /* end confdefs.h. */ |
31648 | 16671 | ||
31649 | int | 16672 | int |
@@ -31654,59 +16677,32 @@ main () | |||
31654 | return 0; | 16677 | return 0; |
31655 | } | 16678 | } |
31656 | _ACEOF | 16679 | _ACEOF |
31657 | rm -f conftest.$ac_objext conftest$ac_exeext | 16680 | if ac_fn_c_try_link "$LINENO"; then : |
31658 | if { (ac_try="$ac_link" | ||
31659 | case "(($ac_try" in | ||
31660 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31661 | *) ac_try_echo=$ac_try;; | ||
31662 | esac | ||
31663 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31664 | (eval "$ac_link") 2>conftest.er1 | ||
31665 | ac_status=$? | ||
31666 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31667 | rm -f conftest.er1 | ||
31668 | cat conftest.err >&5 | ||
31669 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31670 | (exit $ac_status); } && { | ||
31671 | test -z "$ac_c_werror_flag" || | ||
31672 | test ! -s conftest.err | ||
31673 | } && test -s conftest$ac_exeext && | ||
31674 | $as_test_x conftest$ac_exeext; then | ||
31675 | ac_cv_libc_defines_sys_nerr="yes" | 16681 | ac_cv_libc_defines_sys_nerr="yes" |
31676 | else | 16682 | else |
31677 | echo "$as_me: failed program was:" >&5 | 16683 | ac_cv_libc_defines_sys_nerr="no" |
31678 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
31679 | |||
31680 | ac_cv_libc_defines_sys_nerr="no" | ||
31681 | 16684 | ||
31682 | fi | 16685 | fi |
31683 | 16686 | rm -f core conftest.err conftest.$ac_objext \ | |
31684 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 16687 | conftest$ac_exeext conftest.$ac_ext |
31685 | conftest$ac_exeext conftest.$ac_ext | ||
31686 | 16688 | ||
31687 | fi | 16689 | fi |
31688 | { echo "$as_me:$LINENO: result: $ac_cv_libc_defines_sys_nerr" >&5 | 16690 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines_sys_nerr" >&5 |
31689 | echo "${ECHO_T}$ac_cv_libc_defines_sys_nerr" >&6; } | 16691 | $as_echo "$ac_cv_libc_defines_sys_nerr" >&6; } |
31690 | if test "x$ac_cv_libc_defines_sys_nerr" = "xyes" ; then | 16692 | if test "x$ac_cv_libc_defines_sys_nerr" = "xyes" ; then |
31691 | 16693 | ||
31692 | cat >>confdefs.h <<\_ACEOF | 16694 | $as_echo "#define HAVE_SYS_NERR 1" >>confdefs.h |
31693 | #define HAVE_SYS_NERR 1 | ||
31694 | _ACEOF | ||
31695 | 16695 | ||
31696 | fi | 16696 | fi |
31697 | 16697 | ||
31698 | # Check libraries needed by DNS fingerprint support | 16698 | # Check libraries needed by DNS fingerprint support |
31699 | { echo "$as_me:$LINENO: checking for library containing getrrsetbyname" >&5 | 16699 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getrrsetbyname" >&5 |
31700 | echo $ECHO_N "checking for library containing getrrsetbyname... $ECHO_C" >&6; } | 16700 | $as_echo_n "checking for library containing getrrsetbyname... " >&6; } |
31701 | if test "${ac_cv_search_getrrsetbyname+set}" = set; then | 16701 | if ${ac_cv_search_getrrsetbyname+:} false; then : |
31702 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16702 | $as_echo_n "(cached) " >&6 |
31703 | else | 16703 | else |
31704 | ac_func_search_save_LIBS=$LIBS | 16704 | ac_func_search_save_LIBS=$LIBS |
31705 | cat >conftest.$ac_ext <<_ACEOF | 16705 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31706 | /* confdefs.h. */ | ||
31707 | _ACEOF | ||
31708 | cat confdefs.h >>conftest.$ac_ext | ||
31709 | cat >>conftest.$ac_ext <<_ACEOF | ||
31710 | /* end confdefs.h. */ | 16706 | /* end confdefs.h. */ |
31711 | 16707 | ||
31712 | /* Override any GCC internal prototype to avoid an error. | 16708 | /* Override any GCC internal prototype to avoid an error. |
@@ -31731,70 +16727,41 @@ for ac_lib in '' resolv; do | |||
31731 | ac_res=-l$ac_lib | 16727 | ac_res=-l$ac_lib |
31732 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 16728 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
31733 | fi | 16729 | fi |
31734 | rm -f conftest.$ac_objext conftest$ac_exeext | 16730 | if ac_fn_c_try_link "$LINENO"; then : |
31735 | if { (ac_try="$ac_link" | ||
31736 | case "(($ac_try" in | ||
31737 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31738 | *) ac_try_echo=$ac_try;; | ||
31739 | esac | ||
31740 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31741 | (eval "$ac_link") 2>conftest.er1 | ||
31742 | ac_status=$? | ||
31743 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31744 | rm -f conftest.er1 | ||
31745 | cat conftest.err >&5 | ||
31746 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31747 | (exit $ac_status); } && { | ||
31748 | test -z "$ac_c_werror_flag" || | ||
31749 | test ! -s conftest.err | ||
31750 | } && test -s conftest$ac_exeext && | ||
31751 | $as_test_x conftest$ac_exeext; then | ||
31752 | ac_cv_search_getrrsetbyname=$ac_res | 16731 | ac_cv_search_getrrsetbyname=$ac_res |
31753 | else | ||
31754 | echo "$as_me: failed program was:" >&5 | ||
31755 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
31756 | |||
31757 | |||
31758 | fi | 16732 | fi |
31759 | 16733 | rm -f core conftest.err conftest.$ac_objext \ | |
31760 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 16734 | conftest$ac_exeext |
31761 | conftest$ac_exeext | 16735 | if ${ac_cv_search_getrrsetbyname+:} false; then : |
31762 | if test "${ac_cv_search_getrrsetbyname+set}" = set; then | ||
31763 | break | 16736 | break |
31764 | fi | 16737 | fi |
31765 | done | 16738 | done |
31766 | if test "${ac_cv_search_getrrsetbyname+set}" = set; then | 16739 | if ${ac_cv_search_getrrsetbyname+:} false; then : |
31767 | : | 16740 | |
31768 | else | 16741 | else |
31769 | ac_cv_search_getrrsetbyname=no | 16742 | ac_cv_search_getrrsetbyname=no |
31770 | fi | 16743 | fi |
31771 | rm conftest.$ac_ext | 16744 | rm conftest.$ac_ext |
31772 | LIBS=$ac_func_search_save_LIBS | 16745 | LIBS=$ac_func_search_save_LIBS |
31773 | fi | 16746 | fi |
31774 | { echo "$as_me:$LINENO: result: $ac_cv_search_getrrsetbyname" >&5 | 16747 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getrrsetbyname" >&5 |
31775 | echo "${ECHO_T}$ac_cv_search_getrrsetbyname" >&6; } | 16748 | $as_echo "$ac_cv_search_getrrsetbyname" >&6; } |
31776 | ac_res=$ac_cv_search_getrrsetbyname | 16749 | ac_res=$ac_cv_search_getrrsetbyname |
31777 | if test "$ac_res" != no; then | 16750 | if test "$ac_res" != no; then : |
31778 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 16751 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
31779 | 16752 | ||
31780 | cat >>confdefs.h <<\_ACEOF | 16753 | $as_echo "#define HAVE_GETRRSETBYNAME 1" >>confdefs.h |
31781 | #define HAVE_GETRRSETBYNAME 1 | ||
31782 | _ACEOF | ||
31783 | 16754 | ||
31784 | else | 16755 | else |
31785 | 16756 | ||
31786 | # Needed by our getrrsetbyname() | 16757 | # Needed by our getrrsetbyname() |
31787 | { echo "$as_me:$LINENO: checking for library containing res_query" >&5 | 16758 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing res_query" >&5 |
31788 | echo $ECHO_N "checking for library containing res_query... $ECHO_C" >&6; } | 16759 | $as_echo_n "checking for library containing res_query... " >&6; } |
31789 | if test "${ac_cv_search_res_query+set}" = set; then | 16760 | if ${ac_cv_search_res_query+:} false; then : |
31790 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16761 | $as_echo_n "(cached) " >&6 |
31791 | else | 16762 | else |
31792 | ac_func_search_save_LIBS=$LIBS | 16763 | ac_func_search_save_LIBS=$LIBS |
31793 | cat >conftest.$ac_ext <<_ACEOF | 16764 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31794 | /* confdefs.h. */ | ||
31795 | _ACEOF | ||
31796 | cat confdefs.h >>conftest.$ac_ext | ||
31797 | cat >>conftest.$ac_ext <<_ACEOF | ||
31798 | /* end confdefs.h. */ | 16765 | /* end confdefs.h. */ |
31799 | 16766 | ||
31800 | /* Override any GCC internal prototype to avoid an error. | 16767 | /* Override any GCC internal prototype to avoid an error. |
@@ -31819,65 +16786,38 @@ for ac_lib in '' resolv; do | |||
31819 | ac_res=-l$ac_lib | 16786 | ac_res=-l$ac_lib |
31820 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 16787 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
31821 | fi | 16788 | fi |
31822 | rm -f conftest.$ac_objext conftest$ac_exeext | 16789 | if ac_fn_c_try_link "$LINENO"; then : |
31823 | if { (ac_try="$ac_link" | ||
31824 | case "(($ac_try" in | ||
31825 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31826 | *) ac_try_echo=$ac_try;; | ||
31827 | esac | ||
31828 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31829 | (eval "$ac_link") 2>conftest.er1 | ||
31830 | ac_status=$? | ||
31831 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31832 | rm -f conftest.er1 | ||
31833 | cat conftest.err >&5 | ||
31834 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31835 | (exit $ac_status); } && { | ||
31836 | test -z "$ac_c_werror_flag" || | ||
31837 | test ! -s conftest.err | ||
31838 | } && test -s conftest$ac_exeext && | ||
31839 | $as_test_x conftest$ac_exeext; then | ||
31840 | ac_cv_search_res_query=$ac_res | 16790 | ac_cv_search_res_query=$ac_res |
31841 | else | ||
31842 | echo "$as_me: failed program was:" >&5 | ||
31843 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
31844 | |||
31845 | |||
31846 | fi | 16791 | fi |
31847 | 16792 | rm -f core conftest.err conftest.$ac_objext \ | |
31848 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 16793 | conftest$ac_exeext |
31849 | conftest$ac_exeext | 16794 | if ${ac_cv_search_res_query+:} false; then : |
31850 | if test "${ac_cv_search_res_query+set}" = set; then | ||
31851 | break | 16795 | break |
31852 | fi | 16796 | fi |
31853 | done | 16797 | done |
31854 | if test "${ac_cv_search_res_query+set}" = set; then | 16798 | if ${ac_cv_search_res_query+:} false; then : |
31855 | : | 16799 | |
31856 | else | 16800 | else |
31857 | ac_cv_search_res_query=no | 16801 | ac_cv_search_res_query=no |
31858 | fi | 16802 | fi |
31859 | rm conftest.$ac_ext | 16803 | rm conftest.$ac_ext |
31860 | LIBS=$ac_func_search_save_LIBS | 16804 | LIBS=$ac_func_search_save_LIBS |
31861 | fi | 16805 | fi |
31862 | { echo "$as_me:$LINENO: result: $ac_cv_search_res_query" >&5 | 16806 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_res_query" >&5 |
31863 | echo "${ECHO_T}$ac_cv_search_res_query" >&6; } | 16807 | $as_echo "$ac_cv_search_res_query" >&6; } |
31864 | ac_res=$ac_cv_search_res_query | 16808 | ac_res=$ac_cv_search_res_query |
31865 | if test "$ac_res" != no; then | 16809 | if test "$ac_res" != no; then : |
31866 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 16810 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
31867 | 16811 | ||
31868 | fi | 16812 | fi |
31869 | 16813 | ||
31870 | { echo "$as_me:$LINENO: checking for library containing dn_expand" >&5 | 16814 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dn_expand" >&5 |
31871 | echo $ECHO_N "checking for library containing dn_expand... $ECHO_C" >&6; } | 16815 | $as_echo_n "checking for library containing dn_expand... " >&6; } |
31872 | if test "${ac_cv_search_dn_expand+set}" = set; then | 16816 | if ${ac_cv_search_dn_expand+:} false; then : |
31873 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 16817 | $as_echo_n "(cached) " >&6 |
31874 | else | 16818 | else |
31875 | ac_func_search_save_LIBS=$LIBS | 16819 | ac_func_search_save_LIBS=$LIBS |
31876 | cat >conftest.$ac_ext <<_ACEOF | 16820 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31877 | /* confdefs.h. */ | ||
31878 | _ACEOF | ||
31879 | cat confdefs.h >>conftest.$ac_ext | ||
31880 | cat >>conftest.$ac_ext <<_ACEOF | ||
31881 | /* end confdefs.h. */ | 16821 | /* end confdefs.h. */ |
31882 | 16822 | ||
31883 | /* Override any GCC internal prototype to avoid an error. | 16823 | /* Override any GCC internal prototype to avoid an error. |
@@ -31902,61 +16842,34 @@ for ac_lib in '' resolv; do | |||
31902 | ac_res=-l$ac_lib | 16842 | ac_res=-l$ac_lib |
31903 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 16843 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
31904 | fi | 16844 | fi |
31905 | rm -f conftest.$ac_objext conftest$ac_exeext | 16845 | if ac_fn_c_try_link "$LINENO"; then : |
31906 | if { (ac_try="$ac_link" | ||
31907 | case "(($ac_try" in | ||
31908 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31909 | *) ac_try_echo=$ac_try;; | ||
31910 | esac | ||
31911 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31912 | (eval "$ac_link") 2>conftest.er1 | ||
31913 | ac_status=$? | ||
31914 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31915 | rm -f conftest.er1 | ||
31916 | cat conftest.err >&5 | ||
31917 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31918 | (exit $ac_status); } && { | ||
31919 | test -z "$ac_c_werror_flag" || | ||
31920 | test ! -s conftest.err | ||
31921 | } && test -s conftest$ac_exeext && | ||
31922 | $as_test_x conftest$ac_exeext; then | ||
31923 | ac_cv_search_dn_expand=$ac_res | 16846 | ac_cv_search_dn_expand=$ac_res |
31924 | else | ||
31925 | echo "$as_me: failed program was:" >&5 | ||
31926 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
31927 | |||
31928 | |||
31929 | fi | 16847 | fi |
31930 | 16848 | rm -f core conftest.err conftest.$ac_objext \ | |
31931 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 16849 | conftest$ac_exeext |
31932 | conftest$ac_exeext | 16850 | if ${ac_cv_search_dn_expand+:} false; then : |
31933 | if test "${ac_cv_search_dn_expand+set}" = set; then | ||
31934 | break | 16851 | break |
31935 | fi | 16852 | fi |
31936 | done | 16853 | done |
31937 | if test "${ac_cv_search_dn_expand+set}" = set; then | 16854 | if ${ac_cv_search_dn_expand+:} false; then : |
31938 | : | 16855 | |
31939 | else | 16856 | else |
31940 | ac_cv_search_dn_expand=no | 16857 | ac_cv_search_dn_expand=no |
31941 | fi | 16858 | fi |
31942 | rm conftest.$ac_ext | 16859 | rm conftest.$ac_ext |
31943 | LIBS=$ac_func_search_save_LIBS | 16860 | LIBS=$ac_func_search_save_LIBS |
31944 | fi | 16861 | fi |
31945 | { echo "$as_me:$LINENO: result: $ac_cv_search_dn_expand" >&5 | 16862 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dn_expand" >&5 |
31946 | echo "${ECHO_T}$ac_cv_search_dn_expand" >&6; } | 16863 | $as_echo "$ac_cv_search_dn_expand" >&6; } |
31947 | ac_res=$ac_cv_search_dn_expand | 16864 | ac_res=$ac_cv_search_dn_expand |
31948 | if test "$ac_res" != no; then | 16865 | if test "$ac_res" != no; then : |
31949 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 16866 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
31950 | 16867 | ||
31951 | fi | 16868 | fi |
31952 | 16869 | ||
31953 | { echo "$as_me:$LINENO: checking if res_query will link" >&5 | 16870 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if res_query will link" >&5 |
31954 | echo $ECHO_N "checking if res_query will link... $ECHO_C" >&6; } | 16871 | $as_echo_n "checking if res_query will link... " >&6; } |
31955 | cat >conftest.$ac_ext <<_ACEOF | 16872 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
31956 | /* confdefs.h. */ | ||
31957 | _ACEOF | ||
31958 | cat confdefs.h >>conftest.$ac_ext | ||
31959 | cat >>conftest.$ac_ext <<_ACEOF | ||
31960 | /* end confdefs.h. */ | 16873 | /* end confdefs.h. */ |
31961 | 16874 | ||
31962 | #include <sys/types.h> | 16875 | #include <sys/types.h> |
@@ -31975,41 +16888,17 @@ main () | |||
31975 | return 0; | 16888 | return 0; |
31976 | } | 16889 | } |
31977 | _ACEOF | 16890 | _ACEOF |
31978 | rm -f conftest.$ac_objext conftest$ac_exeext | 16891 | if ac_fn_c_try_link "$LINENO"; then : |
31979 | if { (ac_try="$ac_link" | 16892 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
31980 | case "(($ac_try" in | 16893 | $as_echo "yes" >&6; } |
31981 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
31982 | *) ac_try_echo=$ac_try;; | ||
31983 | esac | ||
31984 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
31985 | (eval "$ac_link") 2>conftest.er1 | ||
31986 | ac_status=$? | ||
31987 | grep -v '^ *+' conftest.er1 >conftest.err | ||
31988 | rm -f conftest.er1 | ||
31989 | cat conftest.err >&5 | ||
31990 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
31991 | (exit $ac_status); } && { | ||
31992 | test -z "$ac_c_werror_flag" || | ||
31993 | test ! -s conftest.err | ||
31994 | } && test -s conftest$ac_exeext && | ||
31995 | $as_test_x conftest$ac_exeext; then | ||
31996 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
31997 | echo "${ECHO_T}yes" >&6; } | ||
31998 | else | 16894 | else |
31999 | echo "$as_me: failed program was:" >&5 | 16895 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
32000 | sed 's/^/| /' conftest.$ac_ext >&5 | 16896 | $as_echo "no" >&6; } |
32001 | |||
32002 | { echo "$as_me:$LINENO: result: no" >&5 | ||
32003 | echo "${ECHO_T}no" >&6; } | ||
32004 | saved_LIBS="$LIBS" | 16897 | saved_LIBS="$LIBS" |
32005 | LIBS="$LIBS -lresolv" | 16898 | LIBS="$LIBS -lresolv" |
32006 | { echo "$as_me:$LINENO: checking for res_query in -lresolv" >&5 | 16899 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_query in -lresolv" >&5 |
32007 | echo $ECHO_N "checking for res_query in -lresolv... $ECHO_C" >&6; } | 16900 | $as_echo_n "checking for res_query in -lresolv... " >&6; } |
32008 | cat >conftest.$ac_ext <<_ACEOF | 16901 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
32009 | /* confdefs.h. */ | ||
32010 | _ACEOF | ||
32011 | cat confdefs.h >>conftest.$ac_ext | ||
32012 | cat >>conftest.$ac_ext <<_ACEOF | ||
32013 | /* end confdefs.h. */ | 16902 | /* end confdefs.h. */ |
32014 | 16903 | ||
32015 | #include <sys/types.h> | 16904 | #include <sys/types.h> |
@@ -32028,375 +16917,62 @@ main () | |||
32028 | return 0; | 16917 | return 0; |
32029 | } | 16918 | } |
32030 | _ACEOF | 16919 | _ACEOF |
32031 | rm -f conftest.$ac_objext conftest$ac_exeext | 16920 | if ac_fn_c_try_link "$LINENO"; then : |
32032 | if { (ac_try="$ac_link" | 16921 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
32033 | case "(($ac_try" in | 16922 | $as_echo "yes" >&6; } |
32034 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
32035 | *) ac_try_echo=$ac_try;; | ||
32036 | esac | ||
32037 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
32038 | (eval "$ac_link") 2>conftest.er1 | ||
32039 | ac_status=$? | ||
32040 | grep -v '^ *+' conftest.er1 >conftest.err | ||
32041 | rm -f conftest.er1 | ||
32042 | cat conftest.err >&5 | ||
32043 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
32044 | (exit $ac_status); } && { | ||
32045 | test -z "$ac_c_werror_flag" || | ||
32046 | test ! -s conftest.err | ||
32047 | } && test -s conftest$ac_exeext && | ||
32048 | $as_test_x conftest$ac_exeext; then | ||
32049 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
32050 | echo "${ECHO_T}yes" >&6; } | ||
32051 | else | 16923 | else |
32052 | echo "$as_me: failed program was:" >&5 | 16924 | LIBS="$saved_LIBS" |
32053 | sed 's/^/| /' conftest.$ac_ext >&5 | 16925 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
32054 | 16926 | $as_echo "no" >&6; } | |
32055 | LIBS="$saved_LIBS" | ||
32056 | { echo "$as_me:$LINENO: result: no" >&5 | ||
32057 | echo "${ECHO_T}no" >&6; } | ||
32058 | fi | 16927 | fi |
32059 | 16928 | rm -f core conftest.err conftest.$ac_objext \ | |
32060 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 16929 | conftest$ac_exeext conftest.$ac_ext |
32061 | conftest$ac_exeext conftest.$ac_ext | ||
32062 | 16930 | ||
32063 | fi | 16931 | fi |
32064 | 16932 | rm -f core conftest.err conftest.$ac_objext \ | |
32065 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 16933 | conftest$ac_exeext conftest.$ac_ext |
32066 | conftest$ac_exeext conftest.$ac_ext | 16934 | for ac_func in _getshort _getlong |
32067 | 16935 | do : | |
32068 | 16936 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | |
32069 | for ac_func in _getshort _getlong | 16937 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
32070 | do | 16938 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
32071 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
32072 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
32073 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
32074 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
32075 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
32076 | else | ||
32077 | cat >conftest.$ac_ext <<_ACEOF | ||
32078 | /* confdefs.h. */ | ||
32079 | _ACEOF | ||
32080 | cat confdefs.h >>conftest.$ac_ext | ||
32081 | cat >>conftest.$ac_ext <<_ACEOF | ||
32082 | /* end confdefs.h. */ | ||
32083 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
32084 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
32085 | #define $ac_func innocuous_$ac_func | ||
32086 | |||
32087 | /* System header to define __stub macros and hopefully few prototypes, | ||
32088 | which can conflict with char $ac_func (); below. | ||
32089 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
32090 | <limits.h> exists even on freestanding compilers. */ | ||
32091 | |||
32092 | #ifdef __STDC__ | ||
32093 | # include <limits.h> | ||
32094 | #else | ||
32095 | # include <assert.h> | ||
32096 | #endif | ||
32097 | |||
32098 | #undef $ac_func | ||
32099 | |||
32100 | /* Override any GCC internal prototype to avoid an error. | ||
32101 | Use char because int might match the return type of a GCC | ||
32102 | builtin and then its argument prototype would still apply. */ | ||
32103 | #ifdef __cplusplus | ||
32104 | extern "C" | ||
32105 | #endif | ||
32106 | char $ac_func (); | ||
32107 | /* The GNU C library defines this for functions which it implements | ||
32108 | to always fail with ENOSYS. Some functions are actually named | ||
32109 | something starting with __ and the normal name is an alias. */ | ||
32110 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
32111 | choke me | ||
32112 | #endif | ||
32113 | |||
32114 | int | ||
32115 | main () | ||
32116 | { | ||
32117 | return $ac_func (); | ||
32118 | ; | ||
32119 | return 0; | ||
32120 | } | ||
32121 | _ACEOF | ||
32122 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
32123 | if { (ac_try="$ac_link" | ||
32124 | case "(($ac_try" in | ||
32125 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
32126 | *) ac_try_echo=$ac_try;; | ||
32127 | esac | ||
32128 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
32129 | (eval "$ac_link") 2>conftest.er1 | ||
32130 | ac_status=$? | ||
32131 | grep -v '^ *+' conftest.er1 >conftest.err | ||
32132 | rm -f conftest.er1 | ||
32133 | cat conftest.err >&5 | ||
32134 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
32135 | (exit $ac_status); } && { | ||
32136 | test -z "$ac_c_werror_flag" || | ||
32137 | test ! -s conftest.err | ||
32138 | } && test -s conftest$ac_exeext && | ||
32139 | $as_test_x conftest$ac_exeext; then | ||
32140 | eval "$as_ac_var=yes" | ||
32141 | else | ||
32142 | echo "$as_me: failed program was:" >&5 | ||
32143 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
32144 | |||
32145 | eval "$as_ac_var=no" | ||
32146 | fi | ||
32147 | |||
32148 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
32149 | conftest$ac_exeext conftest.$ac_ext | ||
32150 | fi | ||
32151 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
32152 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
32153 | echo "${ECHO_T}$ac_res" >&6; } | ||
32154 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
32155 | cat >>confdefs.h <<_ACEOF | 16939 | cat >>confdefs.h <<_ACEOF |
32156 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 16940 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
32157 | _ACEOF | 16941 | _ACEOF |
32158 | 16942 | ||
32159 | fi | 16943 | fi |
32160 | done | 16944 | done |
32161 | 16945 | ||
32162 | { echo "$as_me:$LINENO: checking whether _getshort is declared" >&5 | 16946 | ac_fn_c_check_decl "$LINENO" "_getshort" "ac_cv_have_decl__getshort" "#include <sys/types.h> |
32163 | echo $ECHO_N "checking whether _getshort is declared... $ECHO_C" >&6; } | ||
32164 | if test "${ac_cv_have_decl__getshort+set}" = set; then | ||
32165 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
32166 | else | ||
32167 | cat >conftest.$ac_ext <<_ACEOF | ||
32168 | /* confdefs.h. */ | ||
32169 | _ACEOF | ||
32170 | cat confdefs.h >>conftest.$ac_ext | ||
32171 | cat >>conftest.$ac_ext <<_ACEOF | ||
32172 | /* end confdefs.h. */ | ||
32173 | #include <sys/types.h> | ||
32174 | #include <arpa/nameser.h> | 16947 | #include <arpa/nameser.h> |
32175 | 16948 | " | |
32176 | int | 16949 | if test "x$ac_cv_have_decl__getshort" = xyes; then : |
32177 | main () | 16950 | ac_have_decl=1 |
32178 | { | ||
32179 | #ifndef _getshort | ||
32180 | (void) _getshort; | ||
32181 | #endif | ||
32182 | |||
32183 | ; | ||
32184 | return 0; | ||
32185 | } | ||
32186 | _ACEOF | ||
32187 | rm -f conftest.$ac_objext | ||
32188 | if { (ac_try="$ac_compile" | ||
32189 | case "(($ac_try" in | ||
32190 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
32191 | *) ac_try_echo=$ac_try;; | ||
32192 | esac | ||
32193 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
32194 | (eval "$ac_compile") 2>conftest.er1 | ||
32195 | ac_status=$? | ||
32196 | grep -v '^ *+' conftest.er1 >conftest.err | ||
32197 | rm -f conftest.er1 | ||
32198 | cat conftest.err >&5 | ||
32199 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
32200 | (exit $ac_status); } && { | ||
32201 | test -z "$ac_c_werror_flag" || | ||
32202 | test ! -s conftest.err | ||
32203 | } && test -s conftest.$ac_objext; then | ||
32204 | ac_cv_have_decl__getshort=yes | ||
32205 | else | 16951 | else |
32206 | echo "$as_me: failed program was:" >&5 | 16952 | ac_have_decl=0 |
32207 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
32208 | |||
32209 | ac_cv_have_decl__getshort=no | ||
32210 | fi | ||
32211 | |||
32212 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
32213 | fi | 16953 | fi |
32214 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl__getshort" >&5 | ||
32215 | echo "${ECHO_T}$ac_cv_have_decl__getshort" >&6; } | ||
32216 | if test $ac_cv_have_decl__getshort = yes; then | ||
32217 | 16954 | ||
32218 | cat >>confdefs.h <<_ACEOF | 16955 | cat >>confdefs.h <<_ACEOF |
32219 | #define HAVE_DECL__GETSHORT 1 | 16956 | #define HAVE_DECL__GETSHORT $ac_have_decl |
32220 | _ACEOF | ||
32221 | |||
32222 | |||
32223 | else | ||
32224 | cat >>confdefs.h <<_ACEOF | ||
32225 | #define HAVE_DECL__GETSHORT 0 | ||
32226 | _ACEOF | ||
32227 | |||
32228 | |||
32229 | fi | ||
32230 | { echo "$as_me:$LINENO: checking whether _getlong is declared" >&5 | ||
32231 | echo $ECHO_N "checking whether _getlong is declared... $ECHO_C" >&6; } | ||
32232 | if test "${ac_cv_have_decl__getlong+set}" = set; then | ||
32233 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
32234 | else | ||
32235 | cat >conftest.$ac_ext <<_ACEOF | ||
32236 | /* confdefs.h. */ | ||
32237 | _ACEOF | 16957 | _ACEOF |
32238 | cat confdefs.h >>conftest.$ac_ext | 16958 | ac_fn_c_check_decl "$LINENO" "_getlong" "ac_cv_have_decl__getlong" "#include <sys/types.h> |
32239 | cat >>conftest.$ac_ext <<_ACEOF | ||
32240 | /* end confdefs.h. */ | ||
32241 | #include <sys/types.h> | ||
32242 | #include <arpa/nameser.h> | 16959 | #include <arpa/nameser.h> |
32243 | 16960 | " | |
32244 | int | 16961 | if test "x$ac_cv_have_decl__getlong" = xyes; then : |
32245 | main () | 16962 | ac_have_decl=1 |
32246 | { | ||
32247 | #ifndef _getlong | ||
32248 | (void) _getlong; | ||
32249 | #endif | ||
32250 | |||
32251 | ; | ||
32252 | return 0; | ||
32253 | } | ||
32254 | _ACEOF | ||
32255 | rm -f conftest.$ac_objext | ||
32256 | if { (ac_try="$ac_compile" | ||
32257 | case "(($ac_try" in | ||
32258 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
32259 | *) ac_try_echo=$ac_try;; | ||
32260 | esac | ||
32261 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
32262 | (eval "$ac_compile") 2>conftest.er1 | ||
32263 | ac_status=$? | ||
32264 | grep -v '^ *+' conftest.er1 >conftest.err | ||
32265 | rm -f conftest.er1 | ||
32266 | cat conftest.err >&5 | ||
32267 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
32268 | (exit $ac_status); } && { | ||
32269 | test -z "$ac_c_werror_flag" || | ||
32270 | test ! -s conftest.err | ||
32271 | } && test -s conftest.$ac_objext; then | ||
32272 | ac_cv_have_decl__getlong=yes | ||
32273 | else | 16963 | else |
32274 | echo "$as_me: failed program was:" >&5 | 16964 | ac_have_decl=0 |
32275 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
32276 | |||
32277 | ac_cv_have_decl__getlong=no | ||
32278 | fi | ||
32279 | |||
32280 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
32281 | fi | 16965 | fi |
32282 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl__getlong" >&5 | ||
32283 | echo "${ECHO_T}$ac_cv_have_decl__getlong" >&6; } | ||
32284 | if test $ac_cv_have_decl__getlong = yes; then | ||
32285 | 16966 | ||
32286 | cat >>confdefs.h <<_ACEOF | 16967 | cat >>confdefs.h <<_ACEOF |
32287 | #define HAVE_DECL__GETLONG 1 | 16968 | #define HAVE_DECL__GETLONG $ac_have_decl |
32288 | _ACEOF | ||
32289 | |||
32290 | |||
32291 | else | ||
32292 | cat >>confdefs.h <<_ACEOF | ||
32293 | #define HAVE_DECL__GETLONG 0 | ||
32294 | _ACEOF | ||
32295 | |||
32296 | |||
32297 | fi | ||
32298 | |||
32299 | |||
32300 | { echo "$as_me:$LINENO: checking for HEADER.ad" >&5 | ||
32301 | echo $ECHO_N "checking for HEADER.ad... $ECHO_C" >&6; } | ||
32302 | if test "${ac_cv_member_HEADER_ad+set}" = set; then | ||
32303 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
32304 | else | ||
32305 | cat >conftest.$ac_ext <<_ACEOF | ||
32306 | /* confdefs.h. */ | ||
32307 | _ACEOF | ||
32308 | cat confdefs.h >>conftest.$ac_ext | ||
32309 | cat >>conftest.$ac_ext <<_ACEOF | ||
32310 | /* end confdefs.h. */ | ||
32311 | #include <arpa/nameser.h> | ||
32312 | |||
32313 | int | ||
32314 | main () | ||
32315 | { | ||
32316 | static HEADER ac_aggr; | ||
32317 | if (ac_aggr.ad) | ||
32318 | return 0; | ||
32319 | ; | ||
32320 | return 0; | ||
32321 | } | ||
32322 | _ACEOF | ||
32323 | rm -f conftest.$ac_objext | ||
32324 | if { (ac_try="$ac_compile" | ||
32325 | case "(($ac_try" in | ||
32326 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
32327 | *) ac_try_echo=$ac_try;; | ||
32328 | esac | ||
32329 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
32330 | (eval "$ac_compile") 2>conftest.er1 | ||
32331 | ac_status=$? | ||
32332 | grep -v '^ *+' conftest.er1 >conftest.err | ||
32333 | rm -f conftest.er1 | ||
32334 | cat conftest.err >&5 | ||
32335 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
32336 | (exit $ac_status); } && { | ||
32337 | test -z "$ac_c_werror_flag" || | ||
32338 | test ! -s conftest.err | ||
32339 | } && test -s conftest.$ac_objext; then | ||
32340 | ac_cv_member_HEADER_ad=yes | ||
32341 | else | ||
32342 | echo "$as_me: failed program was:" >&5 | ||
32343 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
32344 | |||
32345 | cat >conftest.$ac_ext <<_ACEOF | ||
32346 | /* confdefs.h. */ | ||
32347 | _ACEOF | ||
32348 | cat confdefs.h >>conftest.$ac_ext | ||
32349 | cat >>conftest.$ac_ext <<_ACEOF | ||
32350 | /* end confdefs.h. */ | ||
32351 | #include <arpa/nameser.h> | ||
32352 | |||
32353 | int | ||
32354 | main () | ||
32355 | { | ||
32356 | static HEADER ac_aggr; | ||
32357 | if (sizeof ac_aggr.ad) | ||
32358 | return 0; | ||
32359 | ; | ||
32360 | return 0; | ||
32361 | } | ||
32362 | _ACEOF | 16969 | _ACEOF |
32363 | rm -f conftest.$ac_objext | ||
32364 | if { (ac_try="$ac_compile" | ||
32365 | case "(($ac_try" in | ||
32366 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
32367 | *) ac_try_echo=$ac_try;; | ||
32368 | esac | ||
32369 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
32370 | (eval "$ac_compile") 2>conftest.er1 | ||
32371 | ac_status=$? | ||
32372 | grep -v '^ *+' conftest.er1 >conftest.err | ||
32373 | rm -f conftest.er1 | ||
32374 | cat conftest.err >&5 | ||
32375 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
32376 | (exit $ac_status); } && { | ||
32377 | test -z "$ac_c_werror_flag" || | ||
32378 | test ! -s conftest.err | ||
32379 | } && test -s conftest.$ac_objext; then | ||
32380 | ac_cv_member_HEADER_ad=yes | ||
32381 | else | ||
32382 | echo "$as_me: failed program was:" >&5 | ||
32383 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
32384 | 16970 | ||
32385 | ac_cv_member_HEADER_ad=no | 16971 | ac_fn_c_check_member "$LINENO" "HEADER" "ad" "ac_cv_member_HEADER_ad" "#include <arpa/nameser.h> |
32386 | fi | 16972 | " |
32387 | 16973 | if test "x$ac_cv_member_HEADER_ad" = xyes; then : | |
32388 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
32389 | fi | ||
32390 | |||
32391 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
32392 | fi | ||
32393 | { echo "$as_me:$LINENO: result: $ac_cv_member_HEADER_ad" >&5 | ||
32394 | echo "${ECHO_T}$ac_cv_member_HEADER_ad" >&6; } | ||
32395 | if test $ac_cv_member_HEADER_ad = yes; then | ||
32396 | 16974 | ||
32397 | cat >>confdefs.h <<\_ACEOF | 16975 | $as_echo "#define HAVE_HEADER_AD 1" >>confdefs.h |
32398 | #define HAVE_HEADER_AD 1 | ||
32399 | _ACEOF | ||
32400 | 16976 | ||
32401 | fi | 16977 | fi |
32402 | 16978 | ||
@@ -32404,13 +16980,9 @@ fi | |||
32404 | fi | 16980 | fi |
32405 | 16981 | ||
32406 | 16982 | ||
32407 | { echo "$as_me:$LINENO: checking if struct __res_state _res is an extern" >&5 | 16983 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct __res_state _res is an extern" >&5 |
32408 | echo $ECHO_N "checking if struct __res_state _res is an extern... $ECHO_C" >&6; } | 16984 | $as_echo_n "checking if struct __res_state _res is an extern... " >&6; } |
32409 | cat >conftest.$ac_ext <<_ACEOF | 16985 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
32410 | /* confdefs.h. */ | ||
32411 | _ACEOF | ||
32412 | cat confdefs.h >>conftest.$ac_ext | ||
32413 | cat >>conftest.$ac_ext <<_ACEOF | ||
32414 | /* end confdefs.h. */ | 16986 | /* end confdefs.h. */ |
32415 | 16987 | ||
32416 | #include <stdio.h> | 16988 | #include <stdio.h> |
@@ -32433,209 +17005,49 @@ return 0; | |||
32433 | return 0; | 17005 | return 0; |
32434 | } | 17006 | } |
32435 | _ACEOF | 17007 | _ACEOF |
32436 | rm -f conftest.$ac_objext conftest$ac_exeext | 17008 | if ac_fn_c_try_link "$LINENO"; then : |
32437 | if { (ac_try="$ac_link" | 17009 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
32438 | case "(($ac_try" in | 17010 | $as_echo "yes" >&6; } |
32439 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
32440 | *) ac_try_echo=$ac_try;; | ||
32441 | esac | ||
32442 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
32443 | (eval "$ac_link") 2>conftest.er1 | ||
32444 | ac_status=$? | ||
32445 | grep -v '^ *+' conftest.er1 >conftest.err | ||
32446 | rm -f conftest.er1 | ||
32447 | cat conftest.err >&5 | ||
32448 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
32449 | (exit $ac_status); } && { | ||
32450 | test -z "$ac_c_werror_flag" || | ||
32451 | test ! -s conftest.err | ||
32452 | } && test -s conftest$ac_exeext && | ||
32453 | $as_test_x conftest$ac_exeext; then | ||
32454 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
32455 | echo "${ECHO_T}yes" >&6; } | ||
32456 | 17011 | ||
32457 | cat >>confdefs.h <<\_ACEOF | 17012 | $as_echo "#define HAVE__RES_EXTERN 1" >>confdefs.h |
32458 | #define HAVE__RES_EXTERN 1 | ||
32459 | _ACEOF | ||
32460 | 17013 | ||
32461 | 17014 | ||
32462 | else | 17015 | else |
32463 | echo "$as_me: failed program was:" >&5 | 17016 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
32464 | sed 's/^/| /' conftest.$ac_ext >&5 | 17017 | $as_echo "no" >&6; } |
32465 | |||
32466 | { echo "$as_me:$LINENO: result: no" >&5 | ||
32467 | echo "${ECHO_T}no" >&6; } | ||
32468 | 17018 | ||
32469 | fi | 17019 | fi |
32470 | 17020 | rm -f core conftest.err conftest.$ac_objext \ | |
32471 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 17021 | conftest$ac_exeext conftest.$ac_ext |
32472 | conftest$ac_exeext conftest.$ac_ext | ||
32473 | 17022 | ||
32474 | # Check whether user wants SELinux support | 17023 | # Check whether user wants SELinux support |
32475 | SELINUX_MSG="no" | 17024 | SELINUX_MSG="no" |
32476 | LIBSELINUX="" | 17025 | LIBSELINUX="" |
32477 | 17026 | ||
32478 | # Check whether --with-selinux was given. | 17027 | # Check whether --with-selinux was given. |
32479 | if test "${with_selinux+set}" = set; then | 17028 | if test "${with_selinux+set}" = set; then : |
32480 | withval=$with_selinux; if test "x$withval" != "xno" ; then | 17029 | withval=$with_selinux; if test "x$withval" != "xno" ; then |
32481 | save_LIBS="$LIBS" | 17030 | save_LIBS="$LIBS" |
32482 | 17031 | ||
32483 | cat >>confdefs.h <<\_ACEOF | 17032 | $as_echo "#define WITH_SELINUX 1" >>confdefs.h |
32484 | #define WITH_SELINUX 1 | ||
32485 | _ACEOF | ||
32486 | 17033 | ||
32487 | SELINUX_MSG="yes" | 17034 | SELINUX_MSG="yes" |
32488 | if test "${ac_cv_header_selinux_selinux_h+set}" = set; then | 17035 | ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default" |
32489 | { echo "$as_me:$LINENO: checking for selinux/selinux.h" >&5 | 17036 | if test "x$ac_cv_header_selinux_selinux_h" = xyes; then : |
32490 | echo $ECHO_N "checking for selinux/selinux.h... $ECHO_C" >&6; } | ||
32491 | if test "${ac_cv_header_selinux_selinux_h+set}" = set; then | ||
32492 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
32493 | fi | ||
32494 | { echo "$as_me:$LINENO: result: $ac_cv_header_selinux_selinux_h" >&5 | ||
32495 | echo "${ECHO_T}$ac_cv_header_selinux_selinux_h" >&6; } | ||
32496 | else | ||
32497 | # Is the header compilable? | ||
32498 | { echo "$as_me:$LINENO: checking selinux/selinux.h usability" >&5 | ||
32499 | echo $ECHO_N "checking selinux/selinux.h usability... $ECHO_C" >&6; } | ||
32500 | cat >conftest.$ac_ext <<_ACEOF | ||
32501 | /* confdefs.h. */ | ||
32502 | _ACEOF | ||
32503 | cat confdefs.h >>conftest.$ac_ext | ||
32504 | cat >>conftest.$ac_ext <<_ACEOF | ||
32505 | /* end confdefs.h. */ | ||
32506 | $ac_includes_default | ||
32507 | #include <selinux/selinux.h> | ||
32508 | _ACEOF | ||
32509 | rm -f conftest.$ac_objext | ||
32510 | if { (ac_try="$ac_compile" | ||
32511 | case "(($ac_try" in | ||
32512 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
32513 | *) ac_try_echo=$ac_try;; | ||
32514 | esac | ||
32515 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
32516 | (eval "$ac_compile") 2>conftest.er1 | ||
32517 | ac_status=$? | ||
32518 | grep -v '^ *+' conftest.er1 >conftest.err | ||
32519 | rm -f conftest.er1 | ||
32520 | cat conftest.err >&5 | ||
32521 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
32522 | (exit $ac_status); } && { | ||
32523 | test -z "$ac_c_werror_flag" || | ||
32524 | test ! -s conftest.err | ||
32525 | } && test -s conftest.$ac_objext; then | ||
32526 | ac_header_compiler=yes | ||
32527 | else | ||
32528 | echo "$as_me: failed program was:" >&5 | ||
32529 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
32530 | |||
32531 | ac_header_compiler=no | ||
32532 | fi | ||
32533 | |||
32534 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
32535 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
32536 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
32537 | |||
32538 | # Is the header present? | ||
32539 | { echo "$as_me:$LINENO: checking selinux/selinux.h presence" >&5 | ||
32540 | echo $ECHO_N "checking selinux/selinux.h presence... $ECHO_C" >&6; } | ||
32541 | cat >conftest.$ac_ext <<_ACEOF | ||
32542 | /* confdefs.h. */ | ||
32543 | _ACEOF | ||
32544 | cat confdefs.h >>conftest.$ac_ext | ||
32545 | cat >>conftest.$ac_ext <<_ACEOF | ||
32546 | /* end confdefs.h. */ | ||
32547 | #include <selinux/selinux.h> | ||
32548 | _ACEOF | ||
32549 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
32550 | case "(($ac_try" in | ||
32551 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
32552 | *) ac_try_echo=$ac_try;; | ||
32553 | esac | ||
32554 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
32555 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
32556 | ac_status=$? | ||
32557 | grep -v '^ *+' conftest.er1 >conftest.err | ||
32558 | rm -f conftest.er1 | ||
32559 | cat conftest.err >&5 | ||
32560 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
32561 | (exit $ac_status); } >/dev/null && { | ||
32562 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
32563 | test ! -s conftest.err | ||
32564 | }; then | ||
32565 | ac_header_preproc=yes | ||
32566 | else | ||
32567 | echo "$as_me: failed program was:" >&5 | ||
32568 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
32569 | |||
32570 | ac_header_preproc=no | ||
32571 | fi | ||
32572 | |||
32573 | rm -f conftest.err conftest.$ac_ext | ||
32574 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
32575 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
32576 | |||
32577 | # So? What about this header? | ||
32578 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
32579 | yes:no: ) | ||
32580 | { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
32581 | echo "$as_me: WARNING: selinux/selinux.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
32582 | { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: proceeding with the compiler's result" >&5 | ||
32583 | echo "$as_me: WARNING: selinux/selinux.h: proceeding with the compiler's result" >&2;} | ||
32584 | ac_header_preproc=yes | ||
32585 | ;; | ||
32586 | no:yes:* ) | ||
32587 | { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: present but cannot be compiled" >&5 | ||
32588 | echo "$as_me: WARNING: selinux/selinux.h: present but cannot be compiled" >&2;} | ||
32589 | { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: check for missing prerequisite headers?" >&5 | ||
32590 | echo "$as_me: WARNING: selinux/selinux.h: check for missing prerequisite headers?" >&2;} | ||
32591 | { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: see the Autoconf documentation" >&5 | ||
32592 | echo "$as_me: WARNING: selinux/selinux.h: see the Autoconf documentation" >&2;} | ||
32593 | { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: section \"Present But Cannot Be Compiled\"" >&5 | ||
32594 | echo "$as_me: WARNING: selinux/selinux.h: section \"Present But Cannot Be Compiled\"" >&2;} | ||
32595 | { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: proceeding with the preprocessor's result" >&5 | ||
32596 | echo "$as_me: WARNING: selinux/selinux.h: proceeding with the preprocessor's result" >&2;} | ||
32597 | { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: in the future, the compiler will take precedence" >&5 | ||
32598 | echo "$as_me: WARNING: selinux/selinux.h: in the future, the compiler will take precedence" >&2;} | ||
32599 | ( cat <<\_ASBOX | ||
32600 | ## ------------------------------------------- ## | ||
32601 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
32602 | ## ------------------------------------------- ## | ||
32603 | _ASBOX | ||
32604 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
32605 | ;; | ||
32606 | esac | ||
32607 | { echo "$as_me:$LINENO: checking for selinux/selinux.h" >&5 | ||
32608 | echo $ECHO_N "checking for selinux/selinux.h... $ECHO_C" >&6; } | ||
32609 | if test "${ac_cv_header_selinux_selinux_h+set}" = set; then | ||
32610 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
32611 | else | ||
32612 | ac_cv_header_selinux_selinux_h=$ac_header_preproc | ||
32613 | fi | ||
32614 | { echo "$as_me:$LINENO: result: $ac_cv_header_selinux_selinux_h" >&5 | ||
32615 | echo "${ECHO_T}$ac_cv_header_selinux_selinux_h" >&6; } | ||
32616 | 17037 | ||
32617 | fi | ||
32618 | if test $ac_cv_header_selinux_selinux_h = yes; then | ||
32619 | : | ||
32620 | else | 17038 | else |
32621 | { { echo "$as_me:$LINENO: error: SELinux support requires selinux.h header" >&5 | 17039 | as_fn_error $? "SELinux support requires selinux.h header" "$LINENO" 5 |
32622 | echo "$as_me: error: SELinux support requires selinux.h header" >&2;} | ||
32623 | { (exit 1); exit 1; }; } | ||
32624 | fi | 17040 | fi |
32625 | 17041 | ||
32626 | 17042 | ||
32627 | { echo "$as_me:$LINENO: checking for setexeccon in -lselinux" >&5 | 17043 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setexeccon in -lselinux" >&5 |
32628 | echo $ECHO_N "checking for setexeccon in -lselinux... $ECHO_C" >&6; } | 17044 | $as_echo_n "checking for setexeccon in -lselinux... " >&6; } |
32629 | if test "${ac_cv_lib_selinux_setexeccon+set}" = set; then | 17045 | if ${ac_cv_lib_selinux_setexeccon+:} false; then : |
32630 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 17046 | $as_echo_n "(cached) " >&6 |
32631 | else | 17047 | else |
32632 | ac_check_lib_save_LIBS=$LIBS | 17048 | ac_check_lib_save_LIBS=$LIBS |
32633 | LIBS="-lselinux $LIBS" | 17049 | LIBS="-lselinux $LIBS" |
32634 | cat >conftest.$ac_ext <<_ACEOF | 17050 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
32635 | /* confdefs.h. */ | ||
32636 | _ACEOF | ||
32637 | cat confdefs.h >>conftest.$ac_ext | ||
32638 | cat >>conftest.$ac_ext <<_ACEOF | ||
32639 | /* end confdefs.h. */ | 17051 | /* end confdefs.h. */ |
32640 | 17052 | ||
32641 | /* Override any GCC internal prototype to avoid an error. | 17053 | /* Override any GCC internal prototype to avoid an error. |
@@ -32653,140 +17065,34 @@ return setexeccon (); | |||
32653 | return 0; | 17065 | return 0; |
32654 | } | 17066 | } |
32655 | _ACEOF | 17067 | _ACEOF |
32656 | rm -f conftest.$ac_objext conftest$ac_exeext | 17068 | if ac_fn_c_try_link "$LINENO"; then : |
32657 | if { (ac_try="$ac_link" | ||
32658 | case "(($ac_try" in | ||
32659 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
32660 | *) ac_try_echo=$ac_try;; | ||
32661 | esac | ||
32662 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
32663 | (eval "$ac_link") 2>conftest.er1 | ||
32664 | ac_status=$? | ||
32665 | grep -v '^ *+' conftest.er1 >conftest.err | ||
32666 | rm -f conftest.er1 | ||
32667 | cat conftest.err >&5 | ||
32668 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
32669 | (exit $ac_status); } && { | ||
32670 | test -z "$ac_c_werror_flag" || | ||
32671 | test ! -s conftest.err | ||
32672 | } && test -s conftest$ac_exeext && | ||
32673 | $as_test_x conftest$ac_exeext; then | ||
32674 | ac_cv_lib_selinux_setexeccon=yes | 17069 | ac_cv_lib_selinux_setexeccon=yes |
32675 | else | 17070 | else |
32676 | echo "$as_me: failed program was:" >&5 | 17071 | ac_cv_lib_selinux_setexeccon=no |
32677 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
32678 | |||
32679 | ac_cv_lib_selinux_setexeccon=no | ||
32680 | fi | 17072 | fi |
32681 | 17073 | rm -f core conftest.err conftest.$ac_objext \ | |
32682 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 17074 | conftest$ac_exeext conftest.$ac_ext |
32683 | conftest$ac_exeext conftest.$ac_ext | ||
32684 | LIBS=$ac_check_lib_save_LIBS | 17075 | LIBS=$ac_check_lib_save_LIBS |
32685 | fi | 17076 | fi |
32686 | { echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_setexeccon" >&5 | 17077 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_setexeccon" >&5 |
32687 | echo "${ECHO_T}$ac_cv_lib_selinux_setexeccon" >&6; } | 17078 | $as_echo "$ac_cv_lib_selinux_setexeccon" >&6; } |
32688 | if test $ac_cv_lib_selinux_setexeccon = yes; then | 17079 | if test "x$ac_cv_lib_selinux_setexeccon" = xyes; then : |
32689 | LIBSELINUX="-lselinux" | 17080 | LIBSELINUX="-lselinux" |
32690 | LIBS="$LIBS -lselinux" | 17081 | LIBS="$LIBS -lselinux" |
32691 | 17082 | ||
32692 | else | 17083 | else |
32693 | { { echo "$as_me:$LINENO: error: SELinux support requires libselinux library" >&5 | 17084 | as_fn_error $? "SELinux support requires libselinux library" "$LINENO" 5 |
32694 | echo "$as_me: error: SELinux support requires libselinux library" >&2;} | ||
32695 | { (exit 1); exit 1; }; } | ||
32696 | fi | 17085 | fi |
32697 | 17086 | ||
32698 | SSHLIBS="$SSHLIBS $LIBSELINUX" | 17087 | SSHLIBS="$SSHLIBS $LIBSELINUX" |
32699 | SSHDLIBS="$SSHDLIBS $LIBSELINUX" | 17088 | SSHDLIBS="$SSHDLIBS $LIBSELINUX" |
32700 | 17089 | for ac_func in getseuserbyname get_default_context_with_level | |
32701 | 17090 | do : | |
32702 | for ac_func in getseuserbyname get_default_context_with_level | 17091 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
32703 | do | 17092 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
32704 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | 17093 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
32705 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
32706 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
32707 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
32708 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
32709 | else | ||
32710 | cat >conftest.$ac_ext <<_ACEOF | ||
32711 | /* confdefs.h. */ | ||
32712 | _ACEOF | ||
32713 | cat confdefs.h >>conftest.$ac_ext | ||
32714 | cat >>conftest.$ac_ext <<_ACEOF | ||
32715 | /* end confdefs.h. */ | ||
32716 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
32717 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
32718 | #define $ac_func innocuous_$ac_func | ||
32719 | |||
32720 | /* System header to define __stub macros and hopefully few prototypes, | ||
32721 | which can conflict with char $ac_func (); below. | ||
32722 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
32723 | <limits.h> exists even on freestanding compilers. */ | ||
32724 | |||
32725 | #ifdef __STDC__ | ||
32726 | # include <limits.h> | ||
32727 | #else | ||
32728 | # include <assert.h> | ||
32729 | #endif | ||
32730 | |||
32731 | #undef $ac_func | ||
32732 | |||
32733 | /* Override any GCC internal prototype to avoid an error. | ||
32734 | Use char because int might match the return type of a GCC | ||
32735 | builtin and then its argument prototype would still apply. */ | ||
32736 | #ifdef __cplusplus | ||
32737 | extern "C" | ||
32738 | #endif | ||
32739 | char $ac_func (); | ||
32740 | /* The GNU C library defines this for functions which it implements | ||
32741 | to always fail with ENOSYS. Some functions are actually named | ||
32742 | something starting with __ and the normal name is an alias. */ | ||
32743 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
32744 | choke me | ||
32745 | #endif | ||
32746 | |||
32747 | int | ||
32748 | main () | ||
32749 | { | ||
32750 | return $ac_func (); | ||
32751 | ; | ||
32752 | return 0; | ||
32753 | } | ||
32754 | _ACEOF | ||
32755 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
32756 | if { (ac_try="$ac_link" | ||
32757 | case "(($ac_try" in | ||
32758 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
32759 | *) ac_try_echo=$ac_try;; | ||
32760 | esac | ||
32761 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
32762 | (eval "$ac_link") 2>conftest.er1 | ||
32763 | ac_status=$? | ||
32764 | grep -v '^ *+' conftest.er1 >conftest.err | ||
32765 | rm -f conftest.er1 | ||
32766 | cat conftest.err >&5 | ||
32767 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
32768 | (exit $ac_status); } && { | ||
32769 | test -z "$ac_c_werror_flag" || | ||
32770 | test ! -s conftest.err | ||
32771 | } && test -s conftest$ac_exeext && | ||
32772 | $as_test_x conftest$ac_exeext; then | ||
32773 | eval "$as_ac_var=yes" | ||
32774 | else | ||
32775 | echo "$as_me: failed program was:" >&5 | ||
32776 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
32777 | |||
32778 | eval "$as_ac_var=no" | ||
32779 | fi | ||
32780 | |||
32781 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
32782 | conftest$ac_exeext conftest.$ac_ext | ||
32783 | fi | ||
32784 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
32785 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
32786 | echo "${ECHO_T}$ac_res" >&6; } | ||
32787 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
32788 | cat >>confdefs.h <<_ACEOF | 17094 | cat >>confdefs.h <<_ACEOF |
32789 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 17095 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
32790 | _ACEOF | 17096 | _ACEOF |
32791 | 17097 | ||
32792 | fi | 17098 | fi |
@@ -32804,7 +17110,7 @@ fi | |||
32804 | KRB5_MSG="no" | 17110 | KRB5_MSG="no" |
32805 | 17111 | ||
32806 | # Check whether --with-kerberos5 was given. | 17112 | # Check whether --with-kerberos5 was given. |
32807 | if test "${with_kerberos5+set}" = set; then | 17113 | if test "${with_kerberos5+set}" = set; then : |
32808 | withval=$with_kerberos5; if test "x$withval" != "xno" ; then | 17114 | withval=$with_kerberos5; if test "x$withval" != "xno" ; then |
32809 | if test "x$withval" = "xyes" ; then | 17115 | if test "x$withval" = "xyes" ; then |
32810 | KRB5ROOT="/usr/local" | 17116 | KRB5ROOT="/usr/local" |
@@ -32813,18 +17119,17 @@ if test "${with_kerberos5+set}" = set; then | |||
32813 | fi | 17119 | fi |
32814 | 17120 | ||
32815 | 17121 | ||
32816 | cat >>confdefs.h <<\_ACEOF | 17122 | $as_echo "#define KRB5 1" >>confdefs.h |
32817 | #define KRB5 1 | ||
32818 | _ACEOF | ||
32819 | 17123 | ||
32820 | KRB5_MSG="yes" | 17124 | KRB5_MSG="yes" |
32821 | 17125 | ||
32822 | # Extract the first word of "krb5-config", so it can be a program name with args. | 17126 | if test -n "$ac_tool_prefix"; then |
32823 | set dummy krb5-config; ac_word=$2 | 17127 | # Extract the first word of "${ac_tool_prefix}krb5-config", so it can be a program name with args. |
32824 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 17128 | set dummy ${ac_tool_prefix}krb5-config; ac_word=$2 |
32825 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 17129 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
32826 | if test "${ac_cv_path_KRB5CONF+set}" = set; then | 17130 | $as_echo_n "checking for $ac_word... " >&6; } |
32827 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 17131 | if ${ac_cv_path_KRB5CONF+:} false; then : |
17132 | $as_echo_n "(cached) " >&6 | ||
32828 | else | 17133 | else |
32829 | case $KRB5CONF in | 17134 | case $KRB5CONF in |
32830 | [\\/]* | ?:[\\/]*) | 17135 | [\\/]* | ?:[\\/]*) |
@@ -32837,59 +17142,110 @@ for as_dir in $as_dummy | |||
32837 | do | 17142 | do |
32838 | IFS=$as_save_IFS | 17143 | IFS=$as_save_IFS |
32839 | test -z "$as_dir" && as_dir=. | 17144 | test -z "$as_dir" && as_dir=. |
32840 | for ac_exec_ext in '' $ac_executable_extensions; do | 17145 | for ac_exec_ext in '' $ac_executable_extensions; do |
32841 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 17146 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
32842 | ac_cv_path_KRB5CONF="$as_dir/$ac_word$ac_exec_ext" | 17147 | ac_cv_path_KRB5CONF="$as_dir/$ac_word$ac_exec_ext" |
32843 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 17148 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
32844 | break 2 | 17149 | break 2 |
32845 | fi | 17150 | fi |
32846 | done | 17151 | done |
32847 | done | 17152 | done |
32848 | IFS=$as_save_IFS | 17153 | IFS=$as_save_IFS |
32849 | 17154 | ||
32850 | test -z "$ac_cv_path_KRB5CONF" && ac_cv_path_KRB5CONF="$KRB5ROOT/bin/krb5-config" | ||
32851 | ;; | 17155 | ;; |
32852 | esac | 17156 | esac |
32853 | fi | 17157 | fi |
32854 | KRB5CONF=$ac_cv_path_KRB5CONF | 17158 | KRB5CONF=$ac_cv_path_KRB5CONF |
32855 | if test -n "$KRB5CONF"; then | 17159 | if test -n "$KRB5CONF"; then |
32856 | { echo "$as_me:$LINENO: result: $KRB5CONF" >&5 | 17160 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KRB5CONF" >&5 |
32857 | echo "${ECHO_T}$KRB5CONF" >&6; } | 17161 | $as_echo "$KRB5CONF" >&6; } |
17162 | else | ||
17163 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
17164 | $as_echo "no" >&6; } | ||
17165 | fi | ||
17166 | |||
17167 | |||
17168 | fi | ||
17169 | if test -z "$ac_cv_path_KRB5CONF"; then | ||
17170 | ac_pt_KRB5CONF=$KRB5CONF | ||
17171 | # Extract the first word of "krb5-config", so it can be a program name with args. | ||
17172 | set dummy krb5-config; ac_word=$2 | ||
17173 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
17174 | $as_echo_n "checking for $ac_word... " >&6; } | ||
17175 | if ${ac_cv_path_ac_pt_KRB5CONF+:} false; then : | ||
17176 | $as_echo_n "(cached) " >&6 | ||
17177 | else | ||
17178 | case $ac_pt_KRB5CONF in | ||
17179 | [\\/]* | ?:[\\/]*) | ||
17180 | ac_cv_path_ac_pt_KRB5CONF="$ac_pt_KRB5CONF" # Let the user override the test with a path. | ||
17181 | ;; | ||
17182 | *) | ||
17183 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
17184 | as_dummy="$KRB5ROOT/bin:$PATH" | ||
17185 | for as_dir in $as_dummy | ||
17186 | do | ||
17187 | IFS=$as_save_IFS | ||
17188 | test -z "$as_dir" && as_dir=. | ||
17189 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
17190 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
17191 | ac_cv_path_ac_pt_KRB5CONF="$as_dir/$ac_word$ac_exec_ext" | ||
17192 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
17193 | break 2 | ||
17194 | fi | ||
17195 | done | ||
17196 | done | ||
17197 | IFS=$as_save_IFS | ||
17198 | |||
17199 | ;; | ||
17200 | esac | ||
17201 | fi | ||
17202 | ac_pt_KRB5CONF=$ac_cv_path_ac_pt_KRB5CONF | ||
17203 | if test -n "$ac_pt_KRB5CONF"; then | ||
17204 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_KRB5CONF" >&5 | ||
17205 | $as_echo "$ac_pt_KRB5CONF" >&6; } | ||
32858 | else | 17206 | else |
32859 | { echo "$as_me:$LINENO: result: no" >&5 | 17207 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
32860 | echo "${ECHO_T}no" >&6; } | 17208 | $as_echo "no" >&6; } |
32861 | fi | 17209 | fi |
32862 | 17210 | ||
17211 | if test "x$ac_pt_KRB5CONF" = x; then | ||
17212 | KRB5CONF="$KRB5ROOT/bin/krb5-config" | ||
17213 | else | ||
17214 | case $cross_compiling:$ac_tool_warned in | ||
17215 | yes:) | ||
17216 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
17217 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
17218 | ac_tool_warned=yes ;; | ||
17219 | esac | ||
17220 | KRB5CONF=$ac_pt_KRB5CONF | ||
17221 | fi | ||
17222 | else | ||
17223 | KRB5CONF="$ac_cv_path_KRB5CONF" | ||
17224 | fi | ||
32863 | 17225 | ||
32864 | if test -x $KRB5CONF ; then | 17226 | if test -x $KRB5CONF ; then |
32865 | K5CFLAGS="`$KRB5CONF --cflags`" | 17227 | K5CFLAGS="`$KRB5CONF --cflags`" |
32866 | K5LIBS="`$KRB5CONF --libs`" | 17228 | K5LIBS="`$KRB5CONF --libs`" |
32867 | CPPFLAGS="$CPPFLAGS $K5CFLAGS" | 17229 | CPPFLAGS="$CPPFLAGS $K5CFLAGS" |
32868 | 17230 | ||
32869 | { echo "$as_me:$LINENO: checking for gssapi support" >&5 | 17231 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gssapi support" >&5 |
32870 | echo $ECHO_N "checking for gssapi support... $ECHO_C" >&6; } | 17232 | $as_echo_n "checking for gssapi support... " >&6; } |
32871 | if $KRB5CONF | grep gssapi >/dev/null ; then | 17233 | if $KRB5CONF | grep gssapi >/dev/null ; then |
32872 | { echo "$as_me:$LINENO: result: yes" >&5 | 17234 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
32873 | echo "${ECHO_T}yes" >&6; } | 17235 | $as_echo "yes" >&6; } |
32874 | 17236 | ||
32875 | cat >>confdefs.h <<\_ACEOF | 17237 | $as_echo "#define GSSAPI 1" >>confdefs.h |
32876 | #define GSSAPI 1 | ||
32877 | _ACEOF | ||
32878 | 17238 | ||
32879 | GSSCFLAGS="`$KRB5CONF --cflags gssapi`" | 17239 | GSSCFLAGS="`$KRB5CONF --cflags gssapi`" |
32880 | GSSLIBS="`$KRB5CONF --libs gssapi`" | 17240 | GSSLIBS="`$KRB5CONF --libs gssapi`" |
32881 | CPPFLAGS="$CPPFLAGS $GSSCFLAGS" | 17241 | CPPFLAGS="$CPPFLAGS $GSSCFLAGS" |
32882 | else | 17242 | else |
32883 | { echo "$as_me:$LINENO: result: no" >&5 | 17243 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
32884 | echo "${ECHO_T}no" >&6; } | 17244 | $as_echo "no" >&6; } |
32885 | fi | 17245 | fi |
32886 | { echo "$as_me:$LINENO: checking whether we are using Heimdal" >&5 | 17246 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5 |
32887 | echo $ECHO_N "checking whether we are using Heimdal... $ECHO_C" >&6; } | 17247 | $as_echo_n "checking whether we are using Heimdal... " >&6; } |
32888 | cat >conftest.$ac_ext <<_ACEOF | 17248 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
32889 | /* confdefs.h. */ | ||
32890 | _ACEOF | ||
32891 | cat confdefs.h >>conftest.$ac_ext | ||
32892 | cat >>conftest.$ac_ext <<_ACEOF | ||
32893 | /* end confdefs.h. */ | 17249 | /* end confdefs.h. */ |
32894 | #include <krb5.h> | 17250 | #include <krb5.h> |
32895 | 17251 | ||
@@ -32901,50 +17257,24 @@ main () | |||
32901 | return 0; | 17257 | return 0; |
32902 | } | 17258 | } |
32903 | _ACEOF | 17259 | _ACEOF |
32904 | rm -f conftest.$ac_objext | 17260 | if ac_fn_c_try_compile "$LINENO"; then : |
32905 | if { (ac_try="$ac_compile" | 17261 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
32906 | case "(($ac_try" in | 17262 | $as_echo "yes" >&6; } |
32907 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
32908 | *) ac_try_echo=$ac_try;; | ||
32909 | esac | ||
32910 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
32911 | (eval "$ac_compile") 2>conftest.er1 | ||
32912 | ac_status=$? | ||
32913 | grep -v '^ *+' conftest.er1 >conftest.err | ||
32914 | rm -f conftest.er1 | ||
32915 | cat conftest.err >&5 | ||
32916 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
32917 | (exit $ac_status); } && { | ||
32918 | test -z "$ac_c_werror_flag" || | ||
32919 | test ! -s conftest.err | ||
32920 | } && test -s conftest.$ac_objext; then | ||
32921 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
32922 | echo "${ECHO_T}yes" >&6; } | ||
32923 | 17263 | ||
32924 | cat >>confdefs.h <<\_ACEOF | 17264 | $as_echo "#define HEIMDAL 1" >>confdefs.h |
32925 | #define HEIMDAL 1 | ||
32926 | _ACEOF | ||
32927 | 17265 | ||
32928 | else | 17266 | else |
32929 | echo "$as_me: failed program was:" >&5 | 17267 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
32930 | sed 's/^/| /' conftest.$ac_ext >&5 | 17268 | $as_echo "no" >&6; } |
32931 | |||
32932 | { echo "$as_me:$LINENO: result: no" >&5 | ||
32933 | echo "${ECHO_T}no" >&6; } | ||
32934 | 17269 | ||
32935 | fi | 17270 | fi |
32936 | |||
32937 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 17271 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
32938 | else | 17272 | else |
32939 | CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include" | 17273 | CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include" |
32940 | LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib" | 17274 | LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib" |
32941 | { echo "$as_me:$LINENO: checking whether we are using Heimdal" >&5 | 17275 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5 |
32942 | echo $ECHO_N "checking whether we are using Heimdal... $ECHO_C" >&6; } | 17276 | $as_echo_n "checking whether we are using Heimdal... " >&6; } |
32943 | cat >conftest.$ac_ext <<_ACEOF | 17277 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
32944 | /* confdefs.h. */ | ||
32945 | _ACEOF | ||
32946 | cat confdefs.h >>conftest.$ac_ext | ||
32947 | cat >>conftest.$ac_ext <<_ACEOF | ||
32948 | /* end confdefs.h. */ | 17278 | /* end confdefs.h. */ |
32949 | #include <krb5.h> | 17279 | #include <krb5.h> |
32950 | 17280 | ||
@@ -32956,43 +17286,21 @@ main () | |||
32956 | return 0; | 17286 | return 0; |
32957 | } | 17287 | } |
32958 | _ACEOF | 17288 | _ACEOF |
32959 | rm -f conftest.$ac_objext | 17289 | if ac_fn_c_try_compile "$LINENO"; then : |
32960 | if { (ac_try="$ac_compile" | 17290 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
32961 | case "(($ac_try" in | 17291 | $as_echo "yes" >&6; } |
32962 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | 17292 | $as_echo "#define HEIMDAL 1" >>confdefs.h |
32963 | *) ac_try_echo=$ac_try;; | ||
32964 | esac | ||
32965 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
32966 | (eval "$ac_compile") 2>conftest.er1 | ||
32967 | ac_status=$? | ||
32968 | grep -v '^ *+' conftest.er1 >conftest.err | ||
32969 | rm -f conftest.er1 | ||
32970 | cat conftest.err >&5 | ||
32971 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
32972 | (exit $ac_status); } && { | ||
32973 | test -z "$ac_c_werror_flag" || | ||
32974 | test ! -s conftest.err | ||
32975 | } && test -s conftest.$ac_objext; then | ||
32976 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
32977 | echo "${ECHO_T}yes" >&6; } | ||
32978 | cat >>confdefs.h <<\_ACEOF | ||
32979 | #define HEIMDAL 1 | ||
32980 | _ACEOF | ||
32981 | 17293 | ||
32982 | K5LIBS="-lkrb5" | 17294 | K5LIBS="-lkrb5" |
32983 | K5LIBS="$K5LIBS -lcom_err -lasn1" | 17295 | K5LIBS="$K5LIBS -lcom_err -lasn1" |
32984 | { echo "$as_me:$LINENO: checking for net_write in -lroken" >&5 | 17296 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for net_write in -lroken" >&5 |
32985 | echo $ECHO_N "checking for net_write in -lroken... $ECHO_C" >&6; } | 17297 | $as_echo_n "checking for net_write in -lroken... " >&6; } |
32986 | if test "${ac_cv_lib_roken_net_write+set}" = set; then | 17298 | if ${ac_cv_lib_roken_net_write+:} false; then : |
32987 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 17299 | $as_echo_n "(cached) " >&6 |
32988 | else | 17300 | else |
32989 | ac_check_lib_save_LIBS=$LIBS | 17301 | ac_check_lib_save_LIBS=$LIBS |
32990 | LIBS="-lroken $LIBS" | 17302 | LIBS="-lroken $LIBS" |
32991 | cat >conftest.$ac_ext <<_ACEOF | 17303 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
32992 | /* confdefs.h. */ | ||
32993 | _ACEOF | ||
32994 | cat confdefs.h >>conftest.$ac_ext | ||
32995 | cat >>conftest.$ac_ext <<_ACEOF | ||
32996 | /* end confdefs.h. */ | 17304 | /* end confdefs.h. */ |
32997 | 17305 | ||
32998 | /* Override any GCC internal prototype to avoid an error. | 17306 | /* Override any GCC internal prototype to avoid an error. |
@@ -33010,54 +17318,29 @@ return net_write (); | |||
33010 | return 0; | 17318 | return 0; |
33011 | } | 17319 | } |
33012 | _ACEOF | 17320 | _ACEOF |
33013 | rm -f conftest.$ac_objext conftest$ac_exeext | 17321 | if ac_fn_c_try_link "$LINENO"; then : |
33014 | if { (ac_try="$ac_link" | ||
33015 | case "(($ac_try" in | ||
33016 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33017 | *) ac_try_echo=$ac_try;; | ||
33018 | esac | ||
33019 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33020 | (eval "$ac_link") 2>conftest.er1 | ||
33021 | ac_status=$? | ||
33022 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33023 | rm -f conftest.er1 | ||
33024 | cat conftest.err >&5 | ||
33025 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33026 | (exit $ac_status); } && { | ||
33027 | test -z "$ac_c_werror_flag" || | ||
33028 | test ! -s conftest.err | ||
33029 | } && test -s conftest$ac_exeext && | ||
33030 | $as_test_x conftest$ac_exeext; then | ||
33031 | ac_cv_lib_roken_net_write=yes | 17322 | ac_cv_lib_roken_net_write=yes |
33032 | else | 17323 | else |
33033 | echo "$as_me: failed program was:" >&5 | 17324 | ac_cv_lib_roken_net_write=no |
33034 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33035 | |||
33036 | ac_cv_lib_roken_net_write=no | ||
33037 | fi | 17325 | fi |
33038 | 17326 | rm -f core conftest.err conftest.$ac_objext \ | |
33039 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 17327 | conftest$ac_exeext conftest.$ac_ext |
33040 | conftest$ac_exeext conftest.$ac_ext | ||
33041 | LIBS=$ac_check_lib_save_LIBS | 17328 | LIBS=$ac_check_lib_save_LIBS |
33042 | fi | 17329 | fi |
33043 | { echo "$as_me:$LINENO: result: $ac_cv_lib_roken_net_write" >&5 | 17330 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_roken_net_write" >&5 |
33044 | echo "${ECHO_T}$ac_cv_lib_roken_net_write" >&6; } | 17331 | $as_echo "$ac_cv_lib_roken_net_write" >&6; } |
33045 | if test $ac_cv_lib_roken_net_write = yes; then | 17332 | if test "x$ac_cv_lib_roken_net_write" = xyes; then : |
33046 | K5LIBS="$K5LIBS -lroken" | 17333 | K5LIBS="$K5LIBS -lroken" |
33047 | fi | 17334 | fi |
33048 | 17335 | ||
33049 | { echo "$as_me:$LINENO: checking for des_cbc_encrypt in -ldes" >&5 | 17336 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_cbc_encrypt in -ldes" >&5 |
33050 | echo $ECHO_N "checking for des_cbc_encrypt in -ldes... $ECHO_C" >&6; } | 17337 | $as_echo_n "checking for des_cbc_encrypt in -ldes... " >&6; } |
33051 | if test "${ac_cv_lib_des_des_cbc_encrypt+set}" = set; then | 17338 | if ${ac_cv_lib_des_des_cbc_encrypt+:} false; then : |
33052 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 17339 | $as_echo_n "(cached) " >&6 |
33053 | else | 17340 | else |
33054 | ac_check_lib_save_LIBS=$LIBS | 17341 | ac_check_lib_save_LIBS=$LIBS |
33055 | LIBS="-ldes $LIBS" | 17342 | LIBS="-ldes $LIBS" |
33056 | cat >conftest.$ac_ext <<_ACEOF | 17343 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
33057 | /* confdefs.h. */ | ||
33058 | _ACEOF | ||
33059 | cat confdefs.h >>conftest.$ac_ext | ||
33060 | cat >>conftest.$ac_ext <<_ACEOF | ||
33061 | /* end confdefs.h. */ | 17344 | /* end confdefs.h. */ |
33062 | 17345 | ||
33063 | /* Override any GCC internal prototype to avoid an error. | 17346 | /* Override any GCC internal prototype to avoid an error. |
@@ -33075,65 +17358,36 @@ return des_cbc_encrypt (); | |||
33075 | return 0; | 17358 | return 0; |
33076 | } | 17359 | } |
33077 | _ACEOF | 17360 | _ACEOF |
33078 | rm -f conftest.$ac_objext conftest$ac_exeext | 17361 | if ac_fn_c_try_link "$LINENO"; then : |
33079 | if { (ac_try="$ac_link" | ||
33080 | case "(($ac_try" in | ||
33081 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33082 | *) ac_try_echo=$ac_try;; | ||
33083 | esac | ||
33084 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33085 | (eval "$ac_link") 2>conftest.er1 | ||
33086 | ac_status=$? | ||
33087 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33088 | rm -f conftest.er1 | ||
33089 | cat conftest.err >&5 | ||
33090 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33091 | (exit $ac_status); } && { | ||
33092 | test -z "$ac_c_werror_flag" || | ||
33093 | test ! -s conftest.err | ||
33094 | } && test -s conftest$ac_exeext && | ||
33095 | $as_test_x conftest$ac_exeext; then | ||
33096 | ac_cv_lib_des_des_cbc_encrypt=yes | 17362 | ac_cv_lib_des_des_cbc_encrypt=yes |
33097 | else | 17363 | else |
33098 | echo "$as_me: failed program was:" >&5 | 17364 | ac_cv_lib_des_des_cbc_encrypt=no |
33099 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33100 | |||
33101 | ac_cv_lib_des_des_cbc_encrypt=no | ||
33102 | fi | 17365 | fi |
33103 | 17366 | rm -f core conftest.err conftest.$ac_objext \ | |
33104 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 17367 | conftest$ac_exeext conftest.$ac_ext |
33105 | conftest$ac_exeext conftest.$ac_ext | ||
33106 | LIBS=$ac_check_lib_save_LIBS | 17368 | LIBS=$ac_check_lib_save_LIBS |
33107 | fi | 17369 | fi |
33108 | { echo "$as_me:$LINENO: result: $ac_cv_lib_des_des_cbc_encrypt" >&5 | 17370 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_des_des_cbc_encrypt" >&5 |
33109 | echo "${ECHO_T}$ac_cv_lib_des_des_cbc_encrypt" >&6; } | 17371 | $as_echo "$ac_cv_lib_des_des_cbc_encrypt" >&6; } |
33110 | if test $ac_cv_lib_des_des_cbc_encrypt = yes; then | 17372 | if test "x$ac_cv_lib_des_des_cbc_encrypt" = xyes; then : |
33111 | K5LIBS="$K5LIBS -ldes" | 17373 | K5LIBS="$K5LIBS -ldes" |
33112 | fi | 17374 | fi |
33113 | 17375 | ||
33114 | 17376 | ||
33115 | else | 17377 | else |
33116 | echo "$as_me: failed program was:" >&5 | 17378 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
33117 | sed 's/^/| /' conftest.$ac_ext >&5 | 17379 | $as_echo "no" >&6; } |
33118 | |||
33119 | { echo "$as_me:$LINENO: result: no" >&5 | ||
33120 | echo "${ECHO_T}no" >&6; } | ||
33121 | K5LIBS="-lkrb5 -lk5crypto -lcom_err" | 17380 | K5LIBS="-lkrb5 -lk5crypto -lcom_err" |
33122 | 17381 | ||
33123 | fi | 17382 | fi |
33124 | |||
33125 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 17383 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
33126 | { echo "$as_me:$LINENO: checking for library containing dn_expand" >&5 | 17384 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dn_expand" >&5 |
33127 | echo $ECHO_N "checking for library containing dn_expand... $ECHO_C" >&6; } | 17385 | $as_echo_n "checking for library containing dn_expand... " >&6; } |
33128 | if test "${ac_cv_search_dn_expand+set}" = set; then | 17386 | if ${ac_cv_search_dn_expand+:} false; then : |
33129 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 17387 | $as_echo_n "(cached) " >&6 |
33130 | else | 17388 | else |
33131 | ac_func_search_save_LIBS=$LIBS | 17389 | ac_func_search_save_LIBS=$LIBS |
33132 | cat >conftest.$ac_ext <<_ACEOF | 17390 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
33133 | /* confdefs.h. */ | ||
33134 | _ACEOF | ||
33135 | cat confdefs.h >>conftest.$ac_ext | ||
33136 | cat >>conftest.$ac_ext <<_ACEOF | ||
33137 | /* end confdefs.h. */ | 17391 | /* end confdefs.h. */ |
33138 | 17392 | ||
33139 | /* Override any GCC internal prototype to avoid an error. | 17393 | /* Override any GCC internal prototype to avoid an error. |
@@ -33158,67 +17412,40 @@ for ac_lib in '' resolv; do | |||
33158 | ac_res=-l$ac_lib | 17412 | ac_res=-l$ac_lib |
33159 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 17413 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
33160 | fi | 17414 | fi |
33161 | rm -f conftest.$ac_objext conftest$ac_exeext | 17415 | if ac_fn_c_try_link "$LINENO"; then : |
33162 | if { (ac_try="$ac_link" | ||
33163 | case "(($ac_try" in | ||
33164 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33165 | *) ac_try_echo=$ac_try;; | ||
33166 | esac | ||
33167 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33168 | (eval "$ac_link") 2>conftest.er1 | ||
33169 | ac_status=$? | ||
33170 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33171 | rm -f conftest.er1 | ||
33172 | cat conftest.err >&5 | ||
33173 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33174 | (exit $ac_status); } && { | ||
33175 | test -z "$ac_c_werror_flag" || | ||
33176 | test ! -s conftest.err | ||
33177 | } && test -s conftest$ac_exeext && | ||
33178 | $as_test_x conftest$ac_exeext; then | ||
33179 | ac_cv_search_dn_expand=$ac_res | 17416 | ac_cv_search_dn_expand=$ac_res |
33180 | else | ||
33181 | echo "$as_me: failed program was:" >&5 | ||
33182 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33183 | |||
33184 | |||
33185 | fi | 17417 | fi |
33186 | 17418 | rm -f core conftest.err conftest.$ac_objext \ | |
33187 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 17419 | conftest$ac_exeext |
33188 | conftest$ac_exeext | 17420 | if ${ac_cv_search_dn_expand+:} false; then : |
33189 | if test "${ac_cv_search_dn_expand+set}" = set; then | ||
33190 | break | 17421 | break |
33191 | fi | 17422 | fi |
33192 | done | 17423 | done |
33193 | if test "${ac_cv_search_dn_expand+set}" = set; then | 17424 | if ${ac_cv_search_dn_expand+:} false; then : |
33194 | : | 17425 | |
33195 | else | 17426 | else |
33196 | ac_cv_search_dn_expand=no | 17427 | ac_cv_search_dn_expand=no |
33197 | fi | 17428 | fi |
33198 | rm conftest.$ac_ext | 17429 | rm conftest.$ac_ext |
33199 | LIBS=$ac_func_search_save_LIBS | 17430 | LIBS=$ac_func_search_save_LIBS |
33200 | fi | 17431 | fi |
33201 | { echo "$as_me:$LINENO: result: $ac_cv_search_dn_expand" >&5 | 17432 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dn_expand" >&5 |
33202 | echo "${ECHO_T}$ac_cv_search_dn_expand" >&6; } | 17433 | $as_echo "$ac_cv_search_dn_expand" >&6; } |
33203 | ac_res=$ac_cv_search_dn_expand | 17434 | ac_res=$ac_cv_search_dn_expand |
33204 | if test "$ac_res" != no; then | 17435 | if test "$ac_res" != no; then : |
33205 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 17436 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
33206 | 17437 | ||
33207 | fi | 17438 | fi |
33208 | 17439 | ||
33209 | 17440 | ||
33210 | { echo "$as_me:$LINENO: checking for gss_init_sec_context in -lgssapi_krb5" >&5 | 17441 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi_krb5" >&5 |
33211 | echo $ECHO_N "checking for gss_init_sec_context in -lgssapi_krb5... $ECHO_C" >&6; } | 17442 | $as_echo_n "checking for gss_init_sec_context in -lgssapi_krb5... " >&6; } |
33212 | if test "${ac_cv_lib_gssapi_krb5_gss_init_sec_context+set}" = set; then | 17443 | if ${ac_cv_lib_gssapi_krb5_gss_init_sec_context+:} false; then : |
33213 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 17444 | $as_echo_n "(cached) " >&6 |
33214 | else | 17445 | else |
33215 | ac_check_lib_save_LIBS=$LIBS | 17446 | ac_check_lib_save_LIBS=$LIBS |
33216 | LIBS="-lgssapi_krb5 $LIBS" | 17447 | LIBS="-lgssapi_krb5 $LIBS" |
33217 | cat >conftest.$ac_ext <<_ACEOF | 17448 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
33218 | /* confdefs.h. */ | ||
33219 | _ACEOF | ||
33220 | cat confdefs.h >>conftest.$ac_ext | ||
33221 | cat >>conftest.$ac_ext <<_ACEOF | ||
33222 | /* end confdefs.h. */ | 17449 | /* end confdefs.h. */ |
33223 | 17450 | ||
33224 | /* Override any GCC internal prototype to avoid an error. | 17451 | /* Override any GCC internal prototype to avoid an error. |
@@ -33236,57 +17463,30 @@ return gss_init_sec_context (); | |||
33236 | return 0; | 17463 | return 0; |
33237 | } | 17464 | } |
33238 | _ACEOF | 17465 | _ACEOF |
33239 | rm -f conftest.$ac_objext conftest$ac_exeext | 17466 | if ac_fn_c_try_link "$LINENO"; then : |
33240 | if { (ac_try="$ac_link" | ||
33241 | case "(($ac_try" in | ||
33242 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33243 | *) ac_try_echo=$ac_try;; | ||
33244 | esac | ||
33245 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33246 | (eval "$ac_link") 2>conftest.er1 | ||
33247 | ac_status=$? | ||
33248 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33249 | rm -f conftest.er1 | ||
33250 | cat conftest.err >&5 | ||
33251 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33252 | (exit $ac_status); } && { | ||
33253 | test -z "$ac_c_werror_flag" || | ||
33254 | test ! -s conftest.err | ||
33255 | } && test -s conftest$ac_exeext && | ||
33256 | $as_test_x conftest$ac_exeext; then | ||
33257 | ac_cv_lib_gssapi_krb5_gss_init_sec_context=yes | 17467 | ac_cv_lib_gssapi_krb5_gss_init_sec_context=yes |
33258 | else | 17468 | else |
33259 | echo "$as_me: failed program was:" >&5 | 17469 | ac_cv_lib_gssapi_krb5_gss_init_sec_context=no |
33260 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33261 | |||
33262 | ac_cv_lib_gssapi_krb5_gss_init_sec_context=no | ||
33263 | fi | 17470 | fi |
33264 | 17471 | rm -f core conftest.err conftest.$ac_objext \ | |
33265 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 17472 | conftest$ac_exeext conftest.$ac_ext |
33266 | conftest$ac_exeext conftest.$ac_ext | ||
33267 | LIBS=$ac_check_lib_save_LIBS | 17473 | LIBS=$ac_check_lib_save_LIBS |
33268 | fi | 17474 | fi |
33269 | { echo "$as_me:$LINENO: result: $ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&5 | 17475 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&5 |
33270 | echo "${ECHO_T}$ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&6; } | 17476 | $as_echo "$ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&6; } |
33271 | if test $ac_cv_lib_gssapi_krb5_gss_init_sec_context = yes; then | 17477 | if test "x$ac_cv_lib_gssapi_krb5_gss_init_sec_context" = xyes; then : |
33272 | cat >>confdefs.h <<\_ACEOF | 17478 | $as_echo "#define GSSAPI 1" >>confdefs.h |
33273 | #define GSSAPI 1 | ||
33274 | _ACEOF | ||
33275 | 17479 | ||
33276 | GSSLIBS="-lgssapi_krb5" | 17480 | GSSLIBS="-lgssapi_krb5" |
33277 | else | 17481 | else |
33278 | { echo "$as_me:$LINENO: checking for gss_init_sec_context in -lgssapi" >&5 | 17482 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi" >&5 |
33279 | echo $ECHO_N "checking for gss_init_sec_context in -lgssapi... $ECHO_C" >&6; } | 17483 | $as_echo_n "checking for gss_init_sec_context in -lgssapi... " >&6; } |
33280 | if test "${ac_cv_lib_gssapi_gss_init_sec_context+set}" = set; then | 17484 | if ${ac_cv_lib_gssapi_gss_init_sec_context+:} false; then : |
33281 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 17485 | $as_echo_n "(cached) " >&6 |
33282 | else | 17486 | else |
33283 | ac_check_lib_save_LIBS=$LIBS | 17487 | ac_check_lib_save_LIBS=$LIBS |
33284 | LIBS="-lgssapi $LIBS" | 17488 | LIBS="-lgssapi $LIBS" |
33285 | cat >conftest.$ac_ext <<_ACEOF | 17489 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
33286 | /* confdefs.h. */ | ||
33287 | _ACEOF | ||
33288 | cat confdefs.h >>conftest.$ac_ext | ||
33289 | cat >>conftest.$ac_ext <<_ACEOF | ||
33290 | /* end confdefs.h. */ | 17490 | /* end confdefs.h. */ |
33291 | 17491 | ||
33292 | /* Override any GCC internal prototype to avoid an error. | 17492 | /* Override any GCC internal prototype to avoid an error. |
@@ -33304,57 +17504,30 @@ return gss_init_sec_context (); | |||
33304 | return 0; | 17504 | return 0; |
33305 | } | 17505 | } |
33306 | _ACEOF | 17506 | _ACEOF |
33307 | rm -f conftest.$ac_objext conftest$ac_exeext | 17507 | if ac_fn_c_try_link "$LINENO"; then : |
33308 | if { (ac_try="$ac_link" | ||
33309 | case "(($ac_try" in | ||
33310 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33311 | *) ac_try_echo=$ac_try;; | ||
33312 | esac | ||
33313 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33314 | (eval "$ac_link") 2>conftest.er1 | ||
33315 | ac_status=$? | ||
33316 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33317 | rm -f conftest.er1 | ||
33318 | cat conftest.err >&5 | ||
33319 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33320 | (exit $ac_status); } && { | ||
33321 | test -z "$ac_c_werror_flag" || | ||
33322 | test ! -s conftest.err | ||
33323 | } && test -s conftest$ac_exeext && | ||
33324 | $as_test_x conftest$ac_exeext; then | ||
33325 | ac_cv_lib_gssapi_gss_init_sec_context=yes | 17508 | ac_cv_lib_gssapi_gss_init_sec_context=yes |
33326 | else | 17509 | else |
33327 | echo "$as_me: failed program was:" >&5 | 17510 | ac_cv_lib_gssapi_gss_init_sec_context=no |
33328 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33329 | |||
33330 | ac_cv_lib_gssapi_gss_init_sec_context=no | ||
33331 | fi | 17511 | fi |
33332 | 17512 | rm -f core conftest.err conftest.$ac_objext \ | |
33333 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 17513 | conftest$ac_exeext conftest.$ac_ext |
33334 | conftest$ac_exeext conftest.$ac_ext | ||
33335 | LIBS=$ac_check_lib_save_LIBS | 17514 | LIBS=$ac_check_lib_save_LIBS |
33336 | fi | 17515 | fi |
33337 | { echo "$as_me:$LINENO: result: $ac_cv_lib_gssapi_gss_init_sec_context" >&5 | 17516 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_gss_init_sec_context" >&5 |
33338 | echo "${ECHO_T}$ac_cv_lib_gssapi_gss_init_sec_context" >&6; } | 17517 | $as_echo "$ac_cv_lib_gssapi_gss_init_sec_context" >&6; } |
33339 | if test $ac_cv_lib_gssapi_gss_init_sec_context = yes; then | 17518 | if test "x$ac_cv_lib_gssapi_gss_init_sec_context" = xyes; then : |
33340 | cat >>confdefs.h <<\_ACEOF | 17519 | $as_echo "#define GSSAPI 1" >>confdefs.h |
33341 | #define GSSAPI 1 | ||
33342 | _ACEOF | ||
33343 | 17520 | ||
33344 | GSSLIBS="-lgssapi" | 17521 | GSSLIBS="-lgssapi" |
33345 | else | 17522 | else |
33346 | { echo "$as_me:$LINENO: checking for gss_init_sec_context in -lgss" >&5 | 17523 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgss" >&5 |
33347 | echo $ECHO_N "checking for gss_init_sec_context in -lgss... $ECHO_C" >&6; } | 17524 | $as_echo_n "checking for gss_init_sec_context in -lgss... " >&6; } |
33348 | if test "${ac_cv_lib_gss_gss_init_sec_context+set}" = set; then | 17525 | if ${ac_cv_lib_gss_gss_init_sec_context+:} false; then : |
33349 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 17526 | $as_echo_n "(cached) " >&6 |
33350 | else | 17527 | else |
33351 | ac_check_lib_save_LIBS=$LIBS | 17528 | ac_check_lib_save_LIBS=$LIBS |
33352 | LIBS="-lgss $LIBS" | 17529 | LIBS="-lgss $LIBS" |
33353 | cat >conftest.$ac_ext <<_ACEOF | 17530 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
33354 | /* confdefs.h. */ | ||
33355 | _ACEOF | ||
33356 | cat confdefs.h >>conftest.$ac_ext | ||
33357 | cat >>conftest.$ac_ext <<_ACEOF | ||
33358 | /* end confdefs.h. */ | 17531 | /* end confdefs.h. */ |
33359 | 17532 | ||
33360 | /* Override any GCC internal prototype to avoid an error. | 17533 | /* Override any GCC internal prototype to avoid an error. |
@@ -33372,47 +17545,24 @@ return gss_init_sec_context (); | |||
33372 | return 0; | 17545 | return 0; |
33373 | } | 17546 | } |
33374 | _ACEOF | 17547 | _ACEOF |
33375 | rm -f conftest.$ac_objext conftest$ac_exeext | 17548 | if ac_fn_c_try_link "$LINENO"; then : |
33376 | if { (ac_try="$ac_link" | ||
33377 | case "(($ac_try" in | ||
33378 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33379 | *) ac_try_echo=$ac_try;; | ||
33380 | esac | ||
33381 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33382 | (eval "$ac_link") 2>conftest.er1 | ||
33383 | ac_status=$? | ||
33384 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33385 | rm -f conftest.er1 | ||
33386 | cat conftest.err >&5 | ||
33387 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33388 | (exit $ac_status); } && { | ||
33389 | test -z "$ac_c_werror_flag" || | ||
33390 | test ! -s conftest.err | ||
33391 | } && test -s conftest$ac_exeext && | ||
33392 | $as_test_x conftest$ac_exeext; then | ||
33393 | ac_cv_lib_gss_gss_init_sec_context=yes | 17549 | ac_cv_lib_gss_gss_init_sec_context=yes |
33394 | else | 17550 | else |
33395 | echo "$as_me: failed program was:" >&5 | 17551 | ac_cv_lib_gss_gss_init_sec_context=no |
33396 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33397 | |||
33398 | ac_cv_lib_gss_gss_init_sec_context=no | ||
33399 | fi | 17552 | fi |
33400 | 17553 | rm -f core conftest.err conftest.$ac_objext \ | |
33401 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 17554 | conftest$ac_exeext conftest.$ac_ext |
33402 | conftest$ac_exeext conftest.$ac_ext | ||
33403 | LIBS=$ac_check_lib_save_LIBS | 17555 | LIBS=$ac_check_lib_save_LIBS |
33404 | fi | 17556 | fi |
33405 | { echo "$as_me:$LINENO: result: $ac_cv_lib_gss_gss_init_sec_context" >&5 | 17557 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_gss_init_sec_context" >&5 |
33406 | echo "${ECHO_T}$ac_cv_lib_gss_gss_init_sec_context" >&6; } | 17558 | $as_echo "$ac_cv_lib_gss_gss_init_sec_context" >&6; } |
33407 | if test $ac_cv_lib_gss_gss_init_sec_context = yes; then | 17559 | if test "x$ac_cv_lib_gss_gss_init_sec_context" = xyes; then : |
33408 | cat >>confdefs.h <<\_ACEOF | 17560 | $as_echo "#define GSSAPI 1" >>confdefs.h |
33409 | #define GSSAPI 1 | ||
33410 | _ACEOF | ||
33411 | 17561 | ||
33412 | GSSLIBS="-lgss" | 17562 | GSSLIBS="-lgss" |
33413 | else | 17563 | else |
33414 | { echo "$as_me:$LINENO: WARNING: Cannot find any suitable gss-api library - build may fail" >&5 | 17564 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find any suitable gss-api library - build may fail" >&5 |
33415 | echo "$as_me: WARNING: Cannot find any suitable gss-api library - build may fail" >&2;} | 17565 | $as_echo "$as_me: WARNING: Cannot find any suitable gss-api library - build may fail" >&2;} |
33416 | fi | 17566 | fi |
33417 | 17567 | ||
33418 | 17568 | ||
@@ -33422,285 +17572,23 @@ fi | |||
33422 | fi | 17572 | fi |
33423 | 17573 | ||
33424 | 17574 | ||
33425 | if test "${ac_cv_header_gssapi_h+set}" = set; then | 17575 | ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default" |
33426 | { echo "$as_me:$LINENO: checking for gssapi.h" >&5 | 17576 | if test "x$ac_cv_header_gssapi_h" = xyes; then : |
33427 | echo $ECHO_N "checking for gssapi.h... $ECHO_C" >&6; } | ||
33428 | if test "${ac_cv_header_gssapi_h+set}" = set; then | ||
33429 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
33430 | fi | ||
33431 | { echo "$as_me:$LINENO: result: $ac_cv_header_gssapi_h" >&5 | ||
33432 | echo "${ECHO_T}$ac_cv_header_gssapi_h" >&6; } | ||
33433 | else | ||
33434 | # Is the header compilable? | ||
33435 | { echo "$as_me:$LINENO: checking gssapi.h usability" >&5 | ||
33436 | echo $ECHO_N "checking gssapi.h usability... $ECHO_C" >&6; } | ||
33437 | cat >conftest.$ac_ext <<_ACEOF | ||
33438 | /* confdefs.h. */ | ||
33439 | _ACEOF | ||
33440 | cat confdefs.h >>conftest.$ac_ext | ||
33441 | cat >>conftest.$ac_ext <<_ACEOF | ||
33442 | /* end confdefs.h. */ | ||
33443 | $ac_includes_default | ||
33444 | #include <gssapi.h> | ||
33445 | _ACEOF | ||
33446 | rm -f conftest.$ac_objext | ||
33447 | if { (ac_try="$ac_compile" | ||
33448 | case "(($ac_try" in | ||
33449 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33450 | *) ac_try_echo=$ac_try;; | ||
33451 | esac | ||
33452 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33453 | (eval "$ac_compile") 2>conftest.er1 | ||
33454 | ac_status=$? | ||
33455 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33456 | rm -f conftest.er1 | ||
33457 | cat conftest.err >&5 | ||
33458 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33459 | (exit $ac_status); } && { | ||
33460 | test -z "$ac_c_werror_flag" || | ||
33461 | test ! -s conftest.err | ||
33462 | } && test -s conftest.$ac_objext; then | ||
33463 | ac_header_compiler=yes | ||
33464 | else | ||
33465 | echo "$as_me: failed program was:" >&5 | ||
33466 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33467 | |||
33468 | ac_header_compiler=no | ||
33469 | fi | ||
33470 | 17577 | ||
33471 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
33472 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
33473 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
33474 | |||
33475 | # Is the header present? | ||
33476 | { echo "$as_me:$LINENO: checking gssapi.h presence" >&5 | ||
33477 | echo $ECHO_N "checking gssapi.h presence... $ECHO_C" >&6; } | ||
33478 | cat >conftest.$ac_ext <<_ACEOF | ||
33479 | /* confdefs.h. */ | ||
33480 | _ACEOF | ||
33481 | cat confdefs.h >>conftest.$ac_ext | ||
33482 | cat >>conftest.$ac_ext <<_ACEOF | ||
33483 | /* end confdefs.h. */ | ||
33484 | #include <gssapi.h> | ||
33485 | _ACEOF | ||
33486 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
33487 | case "(($ac_try" in | ||
33488 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33489 | *) ac_try_echo=$ac_try;; | ||
33490 | esac | ||
33491 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33492 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
33493 | ac_status=$? | ||
33494 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33495 | rm -f conftest.er1 | ||
33496 | cat conftest.err >&5 | ||
33497 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33498 | (exit $ac_status); } >/dev/null && { | ||
33499 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
33500 | test ! -s conftest.err | ||
33501 | }; then | ||
33502 | ac_header_preproc=yes | ||
33503 | else | ||
33504 | echo "$as_me: failed program was:" >&5 | ||
33505 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33506 | |||
33507 | ac_header_preproc=no | ||
33508 | fi | ||
33509 | |||
33510 | rm -f conftest.err conftest.$ac_ext | ||
33511 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
33512 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
33513 | |||
33514 | # So? What about this header? | ||
33515 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
33516 | yes:no: ) | ||
33517 | { echo "$as_me:$LINENO: WARNING: gssapi.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
33518 | echo "$as_me: WARNING: gssapi.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
33519 | { echo "$as_me:$LINENO: WARNING: gssapi.h: proceeding with the compiler's result" >&5 | ||
33520 | echo "$as_me: WARNING: gssapi.h: proceeding with the compiler's result" >&2;} | ||
33521 | ac_header_preproc=yes | ||
33522 | ;; | ||
33523 | no:yes:* ) | ||
33524 | { echo "$as_me:$LINENO: WARNING: gssapi.h: present but cannot be compiled" >&5 | ||
33525 | echo "$as_me: WARNING: gssapi.h: present but cannot be compiled" >&2;} | ||
33526 | { echo "$as_me:$LINENO: WARNING: gssapi.h: check for missing prerequisite headers?" >&5 | ||
33527 | echo "$as_me: WARNING: gssapi.h: check for missing prerequisite headers?" >&2;} | ||
33528 | { echo "$as_me:$LINENO: WARNING: gssapi.h: see the Autoconf documentation" >&5 | ||
33529 | echo "$as_me: WARNING: gssapi.h: see the Autoconf documentation" >&2;} | ||
33530 | { echo "$as_me:$LINENO: WARNING: gssapi.h: section \"Present But Cannot Be Compiled\"" >&5 | ||
33531 | echo "$as_me: WARNING: gssapi.h: section \"Present But Cannot Be Compiled\"" >&2;} | ||
33532 | { echo "$as_me:$LINENO: WARNING: gssapi.h: proceeding with the preprocessor's result" >&5 | ||
33533 | echo "$as_me: WARNING: gssapi.h: proceeding with the preprocessor's result" >&2;} | ||
33534 | { echo "$as_me:$LINENO: WARNING: gssapi.h: in the future, the compiler will take precedence" >&5 | ||
33535 | echo "$as_me: WARNING: gssapi.h: in the future, the compiler will take precedence" >&2;} | ||
33536 | ( cat <<\_ASBOX | ||
33537 | ## ------------------------------------------- ## | ||
33538 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
33539 | ## ------------------------------------------- ## | ||
33540 | _ASBOX | ||
33541 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
33542 | ;; | ||
33543 | esac | ||
33544 | { echo "$as_me:$LINENO: checking for gssapi.h" >&5 | ||
33545 | echo $ECHO_N "checking for gssapi.h... $ECHO_C" >&6; } | ||
33546 | if test "${ac_cv_header_gssapi_h+set}" = set; then | ||
33547 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
33548 | else | ||
33549 | ac_cv_header_gssapi_h=$ac_header_preproc | ||
33550 | fi | ||
33551 | { echo "$as_me:$LINENO: result: $ac_cv_header_gssapi_h" >&5 | ||
33552 | echo "${ECHO_T}$ac_cv_header_gssapi_h" >&6; } | ||
33553 | |||
33554 | fi | ||
33555 | if test $ac_cv_header_gssapi_h = yes; then | ||
33556 | : | ||
33557 | else | 17578 | else |
33558 | unset ac_cv_header_gssapi_h | 17579 | unset ac_cv_header_gssapi_h |
33559 | CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi" | 17580 | CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi" |
33560 | 17581 | for ac_header in gssapi.h | |
33561 | for ac_header in gssapi.h | 17582 | do : |
33562 | do | 17583 | ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default" |
33563 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 17584 | if test "x$ac_cv_header_gssapi_h" = xyes; then : |
33564 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
33565 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
33566 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
33567 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
33568 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
33569 | fi | ||
33570 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
33571 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
33572 | echo "${ECHO_T}$ac_res" >&6; } | ||
33573 | else | ||
33574 | # Is the header compilable? | ||
33575 | { echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
33576 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } | ||
33577 | cat >conftest.$ac_ext <<_ACEOF | ||
33578 | /* confdefs.h. */ | ||
33579 | _ACEOF | ||
33580 | cat confdefs.h >>conftest.$ac_ext | ||
33581 | cat >>conftest.$ac_ext <<_ACEOF | ||
33582 | /* end confdefs.h. */ | ||
33583 | $ac_includes_default | ||
33584 | #include <$ac_header> | ||
33585 | _ACEOF | ||
33586 | rm -f conftest.$ac_objext | ||
33587 | if { (ac_try="$ac_compile" | ||
33588 | case "(($ac_try" in | ||
33589 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33590 | *) ac_try_echo=$ac_try;; | ||
33591 | esac | ||
33592 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33593 | (eval "$ac_compile") 2>conftest.er1 | ||
33594 | ac_status=$? | ||
33595 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33596 | rm -f conftest.er1 | ||
33597 | cat conftest.err >&5 | ||
33598 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33599 | (exit $ac_status); } && { | ||
33600 | test -z "$ac_c_werror_flag" || | ||
33601 | test ! -s conftest.err | ||
33602 | } && test -s conftest.$ac_objext; then | ||
33603 | ac_header_compiler=yes | ||
33604 | else | ||
33605 | echo "$as_me: failed program was:" >&5 | ||
33606 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33607 | |||
33608 | ac_header_compiler=no | ||
33609 | fi | ||
33610 | |||
33611 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
33612 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
33613 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
33614 | |||
33615 | # Is the header present? | ||
33616 | { echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
33617 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } | ||
33618 | cat >conftest.$ac_ext <<_ACEOF | ||
33619 | /* confdefs.h. */ | ||
33620 | _ACEOF | ||
33621 | cat confdefs.h >>conftest.$ac_ext | ||
33622 | cat >>conftest.$ac_ext <<_ACEOF | ||
33623 | /* end confdefs.h. */ | ||
33624 | #include <$ac_header> | ||
33625 | _ACEOF | ||
33626 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
33627 | case "(($ac_try" in | ||
33628 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33629 | *) ac_try_echo=$ac_try;; | ||
33630 | esac | ||
33631 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33632 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
33633 | ac_status=$? | ||
33634 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33635 | rm -f conftest.er1 | ||
33636 | cat conftest.err >&5 | ||
33637 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33638 | (exit $ac_status); } >/dev/null && { | ||
33639 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
33640 | test ! -s conftest.err | ||
33641 | }; then | ||
33642 | ac_header_preproc=yes | ||
33643 | else | ||
33644 | echo "$as_me: failed program was:" >&5 | ||
33645 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33646 | |||
33647 | ac_header_preproc=no | ||
33648 | fi | ||
33649 | |||
33650 | rm -f conftest.err conftest.$ac_ext | ||
33651 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
33652 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
33653 | |||
33654 | # So? What about this header? | ||
33655 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
33656 | yes:no: ) | ||
33657 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
33658 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
33659 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
33660 | echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
33661 | ac_header_preproc=yes | ||
33662 | ;; | ||
33663 | no:yes:* ) | ||
33664 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
33665 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
33666 | { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
33667 | echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
33668 | { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
33669 | echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
33670 | { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
33671 | echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
33672 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
33673 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
33674 | { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
33675 | echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
33676 | ( cat <<\_ASBOX | ||
33677 | ## ------------------------------------------- ## | ||
33678 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
33679 | ## ------------------------------------------- ## | ||
33680 | _ASBOX | ||
33681 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
33682 | ;; | ||
33683 | esac | ||
33684 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
33685 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
33686 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
33687 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
33688 | else | ||
33689 | eval "$as_ac_Header=\$ac_header_preproc" | ||
33690 | fi | ||
33691 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
33692 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
33693 | echo "${ECHO_T}$ac_res" >&6; } | ||
33694 | |||
33695 | fi | ||
33696 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
33697 | cat >>confdefs.h <<_ACEOF | 17585 | cat >>confdefs.h <<_ACEOF |
33698 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 17586 | #define HAVE_GSSAPI_H 1 |
33699 | _ACEOF | 17587 | _ACEOF |
33700 | 17588 | ||
33701 | else | 17589 | else |
33702 | { echo "$as_me:$LINENO: WARNING: Cannot find any suitable gss-api header - build may fail" >&5 | 17590 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find any suitable gss-api header - build may fail" >&5 |
33703 | echo "$as_me: WARNING: Cannot find any suitable gss-api header - build may fail" >&2;} | 17591 | $as_echo "$as_me: WARNING: Cannot find any suitable gss-api header - build may fail" >&2;} |
33704 | 17592 | ||
33705 | fi | 17593 | fi |
33706 | 17594 | ||
@@ -33714,138 +17602,9 @@ fi | |||
33714 | 17602 | ||
33715 | oldCPP="$CPPFLAGS" | 17603 | oldCPP="$CPPFLAGS" |
33716 | CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi" | 17604 | CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi" |
33717 | if test "${ac_cv_header_gssapi_krb5_h+set}" = set; then | 17605 | ac_fn_c_check_header_mongrel "$LINENO" "gssapi_krb5.h" "ac_cv_header_gssapi_krb5_h" "$ac_includes_default" |
33718 | { echo "$as_me:$LINENO: checking for gssapi_krb5.h" >&5 | 17606 | if test "x$ac_cv_header_gssapi_krb5_h" = xyes; then : |
33719 | echo $ECHO_N "checking for gssapi_krb5.h... $ECHO_C" >&6; } | ||
33720 | if test "${ac_cv_header_gssapi_krb5_h+set}" = set; then | ||
33721 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
33722 | fi | ||
33723 | { echo "$as_me:$LINENO: result: $ac_cv_header_gssapi_krb5_h" >&5 | ||
33724 | echo "${ECHO_T}$ac_cv_header_gssapi_krb5_h" >&6; } | ||
33725 | else | ||
33726 | # Is the header compilable? | ||
33727 | { echo "$as_me:$LINENO: checking gssapi_krb5.h usability" >&5 | ||
33728 | echo $ECHO_N "checking gssapi_krb5.h usability... $ECHO_C" >&6; } | ||
33729 | cat >conftest.$ac_ext <<_ACEOF | ||
33730 | /* confdefs.h. */ | ||
33731 | _ACEOF | ||
33732 | cat confdefs.h >>conftest.$ac_ext | ||
33733 | cat >>conftest.$ac_ext <<_ACEOF | ||
33734 | /* end confdefs.h. */ | ||
33735 | $ac_includes_default | ||
33736 | #include <gssapi_krb5.h> | ||
33737 | _ACEOF | ||
33738 | rm -f conftest.$ac_objext | ||
33739 | if { (ac_try="$ac_compile" | ||
33740 | case "(($ac_try" in | ||
33741 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33742 | *) ac_try_echo=$ac_try;; | ||
33743 | esac | ||
33744 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33745 | (eval "$ac_compile") 2>conftest.er1 | ||
33746 | ac_status=$? | ||
33747 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33748 | rm -f conftest.er1 | ||
33749 | cat conftest.err >&5 | ||
33750 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33751 | (exit $ac_status); } && { | ||
33752 | test -z "$ac_c_werror_flag" || | ||
33753 | test ! -s conftest.err | ||
33754 | } && test -s conftest.$ac_objext; then | ||
33755 | ac_header_compiler=yes | ||
33756 | else | ||
33757 | echo "$as_me: failed program was:" >&5 | ||
33758 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33759 | |||
33760 | ac_header_compiler=no | ||
33761 | fi | ||
33762 | |||
33763 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
33764 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
33765 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
33766 | |||
33767 | # Is the header present? | ||
33768 | { echo "$as_me:$LINENO: checking gssapi_krb5.h presence" >&5 | ||
33769 | echo $ECHO_N "checking gssapi_krb5.h presence... $ECHO_C" >&6; } | ||
33770 | cat >conftest.$ac_ext <<_ACEOF | ||
33771 | /* confdefs.h. */ | ||
33772 | _ACEOF | ||
33773 | cat confdefs.h >>conftest.$ac_ext | ||
33774 | cat >>conftest.$ac_ext <<_ACEOF | ||
33775 | /* end confdefs.h. */ | ||
33776 | #include <gssapi_krb5.h> | ||
33777 | _ACEOF | ||
33778 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
33779 | case "(($ac_try" in | ||
33780 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33781 | *) ac_try_echo=$ac_try;; | ||
33782 | esac | ||
33783 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33784 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
33785 | ac_status=$? | ||
33786 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33787 | rm -f conftest.er1 | ||
33788 | cat conftest.err >&5 | ||
33789 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33790 | (exit $ac_status); } >/dev/null && { | ||
33791 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
33792 | test ! -s conftest.err | ||
33793 | }; then | ||
33794 | ac_header_preproc=yes | ||
33795 | else | ||
33796 | echo "$as_me: failed program was:" >&5 | ||
33797 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33798 | |||
33799 | ac_header_preproc=no | ||
33800 | fi | ||
33801 | |||
33802 | rm -f conftest.err conftest.$ac_ext | ||
33803 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
33804 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
33805 | |||
33806 | # So? What about this header? | ||
33807 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
33808 | yes:no: ) | ||
33809 | { echo "$as_me:$LINENO: WARNING: gssapi_krb5.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
33810 | echo "$as_me: WARNING: gssapi_krb5.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
33811 | { echo "$as_me:$LINENO: WARNING: gssapi_krb5.h: proceeding with the compiler's result" >&5 | ||
33812 | echo "$as_me: WARNING: gssapi_krb5.h: proceeding with the compiler's result" >&2;} | ||
33813 | ac_header_preproc=yes | ||
33814 | ;; | ||
33815 | no:yes:* ) | ||
33816 | { echo "$as_me:$LINENO: WARNING: gssapi_krb5.h: present but cannot be compiled" >&5 | ||
33817 | echo "$as_me: WARNING: gssapi_krb5.h: present but cannot be compiled" >&2;} | ||
33818 | { echo "$as_me:$LINENO: WARNING: gssapi_krb5.h: check for missing prerequisite headers?" >&5 | ||
33819 | echo "$as_me: WARNING: gssapi_krb5.h: check for missing prerequisite headers?" >&2;} | ||
33820 | { echo "$as_me:$LINENO: WARNING: gssapi_krb5.h: see the Autoconf documentation" >&5 | ||
33821 | echo "$as_me: WARNING: gssapi_krb5.h: see the Autoconf documentation" >&2;} | ||
33822 | { echo "$as_me:$LINENO: WARNING: gssapi_krb5.h: section \"Present But Cannot Be Compiled\"" >&5 | ||
33823 | echo "$as_me: WARNING: gssapi_krb5.h: section \"Present But Cannot Be Compiled\"" >&2;} | ||
33824 | { echo "$as_me:$LINENO: WARNING: gssapi_krb5.h: proceeding with the preprocessor's result" >&5 | ||
33825 | echo "$as_me: WARNING: gssapi_krb5.h: proceeding with the preprocessor's result" >&2;} | ||
33826 | { echo "$as_me:$LINENO: WARNING: gssapi_krb5.h: in the future, the compiler will take precedence" >&5 | ||
33827 | echo "$as_me: WARNING: gssapi_krb5.h: in the future, the compiler will take precedence" >&2;} | ||
33828 | ( cat <<\_ASBOX | ||
33829 | ## ------------------------------------------- ## | ||
33830 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
33831 | ## ------------------------------------------- ## | ||
33832 | _ASBOX | ||
33833 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
33834 | ;; | ||
33835 | esac | ||
33836 | { echo "$as_me:$LINENO: checking for gssapi_krb5.h" >&5 | ||
33837 | echo $ECHO_N "checking for gssapi_krb5.h... $ECHO_C" >&6; } | ||
33838 | if test "${ac_cv_header_gssapi_krb5_h+set}" = set; then | ||
33839 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
33840 | else | ||
33841 | ac_cv_header_gssapi_krb5_h=$ac_header_preproc | ||
33842 | fi | ||
33843 | { echo "$as_me:$LINENO: result: $ac_cv_header_gssapi_krb5_h" >&5 | ||
33844 | echo "${ECHO_T}$ac_cv_header_gssapi_krb5_h" >&6; } | ||
33845 | 17607 | ||
33846 | fi | ||
33847 | if test $ac_cv_header_gssapi_krb5_h = yes; then | ||
33848 | : | ||
33849 | else | 17608 | else |
33850 | CPPFLAGS="$oldCPP" | 17609 | CPPFLAGS="$oldCPP" |
33851 | fi | 17610 | fi |
@@ -33860,438 +17619,39 @@ fi | |||
33860 | blibpath="$blibpath:${KRB5ROOT}/lib" | 17619 | blibpath="$blibpath:${KRB5ROOT}/lib" |
33861 | fi | 17620 | fi |
33862 | 17621 | ||
33863 | 17622 | for ac_header in gssapi.h gssapi/gssapi.h | |
33864 | 17623 | do : | |
33865 | for ac_header in gssapi.h gssapi/gssapi.h | 17624 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
33866 | do | 17625 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
33867 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 17626 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
33868 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
33869 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
33870 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
33871 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
33872 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
33873 | fi | ||
33874 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
33875 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
33876 | echo "${ECHO_T}$ac_res" >&6; } | ||
33877 | else | ||
33878 | # Is the header compilable? | ||
33879 | { echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
33880 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } | ||
33881 | cat >conftest.$ac_ext <<_ACEOF | ||
33882 | /* confdefs.h. */ | ||
33883 | _ACEOF | ||
33884 | cat confdefs.h >>conftest.$ac_ext | ||
33885 | cat >>conftest.$ac_ext <<_ACEOF | ||
33886 | /* end confdefs.h. */ | ||
33887 | $ac_includes_default | ||
33888 | #include <$ac_header> | ||
33889 | _ACEOF | ||
33890 | rm -f conftest.$ac_objext | ||
33891 | if { (ac_try="$ac_compile" | ||
33892 | case "(($ac_try" in | ||
33893 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33894 | *) ac_try_echo=$ac_try;; | ||
33895 | esac | ||
33896 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33897 | (eval "$ac_compile") 2>conftest.er1 | ||
33898 | ac_status=$? | ||
33899 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33900 | rm -f conftest.er1 | ||
33901 | cat conftest.err >&5 | ||
33902 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33903 | (exit $ac_status); } && { | ||
33904 | test -z "$ac_c_werror_flag" || | ||
33905 | test ! -s conftest.err | ||
33906 | } && test -s conftest.$ac_objext; then | ||
33907 | ac_header_compiler=yes | ||
33908 | else | ||
33909 | echo "$as_me: failed program was:" >&5 | ||
33910 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33911 | |||
33912 | ac_header_compiler=no | ||
33913 | fi | ||
33914 | |||
33915 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
33916 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
33917 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
33918 | |||
33919 | # Is the header present? | ||
33920 | { echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
33921 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } | ||
33922 | cat >conftest.$ac_ext <<_ACEOF | ||
33923 | /* confdefs.h. */ | ||
33924 | _ACEOF | ||
33925 | cat confdefs.h >>conftest.$ac_ext | ||
33926 | cat >>conftest.$ac_ext <<_ACEOF | ||
33927 | /* end confdefs.h. */ | ||
33928 | #include <$ac_header> | ||
33929 | _ACEOF | ||
33930 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
33931 | case "(($ac_try" in | ||
33932 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
33933 | *) ac_try_echo=$ac_try;; | ||
33934 | esac | ||
33935 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
33936 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
33937 | ac_status=$? | ||
33938 | grep -v '^ *+' conftest.er1 >conftest.err | ||
33939 | rm -f conftest.er1 | ||
33940 | cat conftest.err >&5 | ||
33941 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
33942 | (exit $ac_status); } >/dev/null && { | ||
33943 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
33944 | test ! -s conftest.err | ||
33945 | }; then | ||
33946 | ac_header_preproc=yes | ||
33947 | else | ||
33948 | echo "$as_me: failed program was:" >&5 | ||
33949 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
33950 | |||
33951 | ac_header_preproc=no | ||
33952 | fi | ||
33953 | |||
33954 | rm -f conftest.err conftest.$ac_ext | ||
33955 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
33956 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
33957 | |||
33958 | # So? What about this header? | ||
33959 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
33960 | yes:no: ) | ||
33961 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
33962 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
33963 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
33964 | echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
33965 | ac_header_preproc=yes | ||
33966 | ;; | ||
33967 | no:yes:* ) | ||
33968 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
33969 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
33970 | { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
33971 | echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
33972 | { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
33973 | echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
33974 | { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
33975 | echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
33976 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
33977 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
33978 | { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
33979 | echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
33980 | ( cat <<\_ASBOX | ||
33981 | ## ------------------------------------------- ## | ||
33982 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
33983 | ## ------------------------------------------- ## | ||
33984 | _ASBOX | ||
33985 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
33986 | ;; | ||
33987 | esac | ||
33988 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
33989 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
33990 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
33991 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
33992 | else | ||
33993 | eval "$as_ac_Header=\$ac_header_preproc" | ||
33994 | fi | ||
33995 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
33996 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
33997 | echo "${ECHO_T}$ac_res" >&6; } | ||
33998 | |||
33999 | fi | ||
34000 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
34001 | cat >>confdefs.h <<_ACEOF | 17627 | cat >>confdefs.h <<_ACEOF |
34002 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 17628 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
34003 | _ACEOF | 17629 | _ACEOF |
34004 | 17630 | ||
34005 | fi | 17631 | fi |
34006 | 17632 | ||
34007 | done | 17633 | done |
34008 | 17634 | ||
34009 | 17635 | for ac_header in gssapi_krb5.h gssapi/gssapi_krb5.h | |
34010 | 17636 | do : | |
34011 | for ac_header in gssapi_krb5.h gssapi/gssapi_krb5.h | 17637 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
34012 | do | 17638 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
34013 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 17639 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
34014 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
34015 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
34016 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
34017 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
34018 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
34019 | fi | ||
34020 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
34021 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
34022 | echo "${ECHO_T}$ac_res" >&6; } | ||
34023 | else | ||
34024 | # Is the header compilable? | ||
34025 | { echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
34026 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } | ||
34027 | cat >conftest.$ac_ext <<_ACEOF | ||
34028 | /* confdefs.h. */ | ||
34029 | _ACEOF | ||
34030 | cat confdefs.h >>conftest.$ac_ext | ||
34031 | cat >>conftest.$ac_ext <<_ACEOF | ||
34032 | /* end confdefs.h. */ | ||
34033 | $ac_includes_default | ||
34034 | #include <$ac_header> | ||
34035 | _ACEOF | ||
34036 | rm -f conftest.$ac_objext | ||
34037 | if { (ac_try="$ac_compile" | ||
34038 | case "(($ac_try" in | ||
34039 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
34040 | *) ac_try_echo=$ac_try;; | ||
34041 | esac | ||
34042 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
34043 | (eval "$ac_compile") 2>conftest.er1 | ||
34044 | ac_status=$? | ||
34045 | grep -v '^ *+' conftest.er1 >conftest.err | ||
34046 | rm -f conftest.er1 | ||
34047 | cat conftest.err >&5 | ||
34048 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
34049 | (exit $ac_status); } && { | ||
34050 | test -z "$ac_c_werror_flag" || | ||
34051 | test ! -s conftest.err | ||
34052 | } && test -s conftest.$ac_objext; then | ||
34053 | ac_header_compiler=yes | ||
34054 | else | ||
34055 | echo "$as_me: failed program was:" >&5 | ||
34056 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
34057 | |||
34058 | ac_header_compiler=no | ||
34059 | fi | ||
34060 | |||
34061 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
34062 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
34063 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
34064 | |||
34065 | # Is the header present? | ||
34066 | { echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
34067 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } | ||
34068 | cat >conftest.$ac_ext <<_ACEOF | ||
34069 | /* confdefs.h. */ | ||
34070 | _ACEOF | ||
34071 | cat confdefs.h >>conftest.$ac_ext | ||
34072 | cat >>conftest.$ac_ext <<_ACEOF | ||
34073 | /* end confdefs.h. */ | ||
34074 | #include <$ac_header> | ||
34075 | _ACEOF | ||
34076 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
34077 | case "(($ac_try" in | ||
34078 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
34079 | *) ac_try_echo=$ac_try;; | ||
34080 | esac | ||
34081 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
34082 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
34083 | ac_status=$? | ||
34084 | grep -v '^ *+' conftest.er1 >conftest.err | ||
34085 | rm -f conftest.er1 | ||
34086 | cat conftest.err >&5 | ||
34087 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
34088 | (exit $ac_status); } >/dev/null && { | ||
34089 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
34090 | test ! -s conftest.err | ||
34091 | }; then | ||
34092 | ac_header_preproc=yes | ||
34093 | else | ||
34094 | echo "$as_me: failed program was:" >&5 | ||
34095 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
34096 | |||
34097 | ac_header_preproc=no | ||
34098 | fi | ||
34099 | |||
34100 | rm -f conftest.err conftest.$ac_ext | ||
34101 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
34102 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
34103 | |||
34104 | # So? What about this header? | ||
34105 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
34106 | yes:no: ) | ||
34107 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
34108 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
34109 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
34110 | echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
34111 | ac_header_preproc=yes | ||
34112 | ;; | ||
34113 | no:yes:* ) | ||
34114 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
34115 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
34116 | { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
34117 | echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
34118 | { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
34119 | echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
34120 | { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
34121 | echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
34122 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
34123 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
34124 | { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
34125 | echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
34126 | ( cat <<\_ASBOX | ||
34127 | ## ------------------------------------------- ## | ||
34128 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
34129 | ## ------------------------------------------- ## | ||
34130 | _ASBOX | ||
34131 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
34132 | ;; | ||
34133 | esac | ||
34134 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
34135 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
34136 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
34137 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
34138 | else | ||
34139 | eval "$as_ac_Header=\$ac_header_preproc" | ||
34140 | fi | ||
34141 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
34142 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
34143 | echo "${ECHO_T}$ac_res" >&6; } | ||
34144 | |||
34145 | fi | ||
34146 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
34147 | cat >>confdefs.h <<_ACEOF | 17640 | cat >>confdefs.h <<_ACEOF |
34148 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 17641 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
34149 | _ACEOF | 17642 | _ACEOF |
34150 | 17643 | ||
34151 | fi | 17644 | fi |
34152 | 17645 | ||
34153 | done | 17646 | done |
34154 | 17647 | ||
34155 | 17648 | for ac_header in gssapi_generic.h gssapi/gssapi_generic.h | |
34156 | 17649 | do : | |
34157 | for ac_header in gssapi_generic.h gssapi/gssapi_generic.h | 17650 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
34158 | do | 17651 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
34159 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | 17652 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
34160 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
34161 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
34162 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
34163 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
34164 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
34165 | fi | ||
34166 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
34167 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
34168 | echo "${ECHO_T}$ac_res" >&6; } | ||
34169 | else | ||
34170 | # Is the header compilable? | ||
34171 | { echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
34172 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } | ||
34173 | cat >conftest.$ac_ext <<_ACEOF | ||
34174 | /* confdefs.h. */ | ||
34175 | _ACEOF | ||
34176 | cat confdefs.h >>conftest.$ac_ext | ||
34177 | cat >>conftest.$ac_ext <<_ACEOF | ||
34178 | /* end confdefs.h. */ | ||
34179 | $ac_includes_default | ||
34180 | #include <$ac_header> | ||
34181 | _ACEOF | ||
34182 | rm -f conftest.$ac_objext | ||
34183 | if { (ac_try="$ac_compile" | ||
34184 | case "(($ac_try" in | ||
34185 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
34186 | *) ac_try_echo=$ac_try;; | ||
34187 | esac | ||
34188 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
34189 | (eval "$ac_compile") 2>conftest.er1 | ||
34190 | ac_status=$? | ||
34191 | grep -v '^ *+' conftest.er1 >conftest.err | ||
34192 | rm -f conftest.er1 | ||
34193 | cat conftest.err >&5 | ||
34194 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
34195 | (exit $ac_status); } && { | ||
34196 | test -z "$ac_c_werror_flag" || | ||
34197 | test ! -s conftest.err | ||
34198 | } && test -s conftest.$ac_objext; then | ||
34199 | ac_header_compiler=yes | ||
34200 | else | ||
34201 | echo "$as_me: failed program was:" >&5 | ||
34202 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
34203 | |||
34204 | ac_header_compiler=no | ||
34205 | fi | ||
34206 | |||
34207 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
34208 | { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
34209 | echo "${ECHO_T}$ac_header_compiler" >&6; } | ||
34210 | |||
34211 | # Is the header present? | ||
34212 | { echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
34213 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } | ||
34214 | cat >conftest.$ac_ext <<_ACEOF | ||
34215 | /* confdefs.h. */ | ||
34216 | _ACEOF | ||
34217 | cat confdefs.h >>conftest.$ac_ext | ||
34218 | cat >>conftest.$ac_ext <<_ACEOF | ||
34219 | /* end confdefs.h. */ | ||
34220 | #include <$ac_header> | ||
34221 | _ACEOF | ||
34222 | if { (ac_try="$ac_cpp conftest.$ac_ext" | ||
34223 | case "(($ac_try" in | ||
34224 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
34225 | *) ac_try_echo=$ac_try;; | ||
34226 | esac | ||
34227 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
34228 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 | ||
34229 | ac_status=$? | ||
34230 | grep -v '^ *+' conftest.er1 >conftest.err | ||
34231 | rm -f conftest.er1 | ||
34232 | cat conftest.err >&5 | ||
34233 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
34234 | (exit $ac_status); } >/dev/null && { | ||
34235 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
34236 | test ! -s conftest.err | ||
34237 | }; then | ||
34238 | ac_header_preproc=yes | ||
34239 | else | ||
34240 | echo "$as_me: failed program was:" >&5 | ||
34241 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
34242 | |||
34243 | ac_header_preproc=no | ||
34244 | fi | ||
34245 | |||
34246 | rm -f conftest.err conftest.$ac_ext | ||
34247 | { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
34248 | echo "${ECHO_T}$ac_header_preproc" >&6; } | ||
34249 | |||
34250 | # So? What about this header? | ||
34251 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
34252 | yes:no: ) | ||
34253 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
34254 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
34255 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
34256 | echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
34257 | ac_header_preproc=yes | ||
34258 | ;; | ||
34259 | no:yes:* ) | ||
34260 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
34261 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
34262 | { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
34263 | echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
34264 | { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
34265 | echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
34266 | { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
34267 | echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
34268 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
34269 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
34270 | { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
34271 | echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
34272 | ( cat <<\_ASBOX | ||
34273 | ## ------------------------------------------- ## | ||
34274 | ## Report this to openssh-unix-dev@mindrot.org ## | ||
34275 | ## ------------------------------------------- ## | ||
34276 | _ASBOX | ||
34277 | ) | sed "s/^/$as_me: WARNING: /" >&2 | ||
34278 | ;; | ||
34279 | esac | ||
34280 | { echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
34281 | echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } | ||
34282 | if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then | ||
34283 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
34284 | else | ||
34285 | eval "$as_ac_Header=\$ac_header_preproc" | ||
34286 | fi | ||
34287 | ac_res=`eval echo '${'$as_ac_Header'}'` | ||
34288 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
34289 | echo "${ECHO_T}$ac_res" >&6; } | ||
34290 | |||
34291 | fi | ||
34292 | if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
34293 | cat >>confdefs.h <<_ACEOF | 17653 | cat >>confdefs.h <<_ACEOF |
34294 | #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 17654 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
34295 | _ACEOF | 17655 | _ACEOF |
34296 | 17656 | ||
34297 | fi | 17657 | fi |
@@ -34299,17 +17659,13 @@ fi | |||
34299 | done | 17659 | done |
34300 | 17660 | ||
34301 | 17661 | ||
34302 | { echo "$as_me:$LINENO: checking for library containing k_hasafs" >&5 | 17662 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing k_hasafs" >&5 |
34303 | echo $ECHO_N "checking for library containing k_hasafs... $ECHO_C" >&6; } | 17663 | $as_echo_n "checking for library containing k_hasafs... " >&6; } |
34304 | if test "${ac_cv_search_k_hasafs+set}" = set; then | 17664 | if ${ac_cv_search_k_hasafs+:} false; then : |
34305 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 17665 | $as_echo_n "(cached) " >&6 |
34306 | else | 17666 | else |
34307 | ac_func_search_save_LIBS=$LIBS | 17667 | ac_func_search_save_LIBS=$LIBS |
34308 | cat >conftest.$ac_ext <<_ACEOF | 17668 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
34309 | /* confdefs.h. */ | ||
34310 | _ACEOF | ||
34311 | cat confdefs.h >>conftest.$ac_ext | ||
34312 | cat >>conftest.$ac_ext <<_ACEOF | ||
34313 | /* end confdefs.h. */ | 17669 | /* end confdefs.h. */ |
34314 | 17670 | ||
34315 | /* Override any GCC internal prototype to avoid an error. | 17671 | /* Override any GCC internal prototype to avoid an error. |
@@ -34334,71 +17690,35 @@ for ac_lib in '' kafs; do | |||
34334 | ac_res=-l$ac_lib | 17690 | ac_res=-l$ac_lib |
34335 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | 17691 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" |
34336 | fi | 17692 | fi |
34337 | rm -f conftest.$ac_objext conftest$ac_exeext | 17693 | if ac_fn_c_try_link "$LINENO"; then : |
34338 | if { (ac_try="$ac_link" | ||
34339 | case "(($ac_try" in | ||
34340 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
34341 | *) ac_try_echo=$ac_try;; | ||
34342 | esac | ||
34343 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
34344 | (eval "$ac_link") 2>conftest.er1 | ||
34345 | ac_status=$? | ||
34346 | grep -v '^ *+' conftest.er1 >conftest.err | ||
34347 | rm -f conftest.er1 | ||
34348 | cat conftest.err >&5 | ||
34349 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
34350 | (exit $ac_status); } && { | ||
34351 | test -z "$ac_c_werror_flag" || | ||
34352 | test ! -s conftest.err | ||
34353 | } && test -s conftest$ac_exeext && | ||
34354 | $as_test_x conftest$ac_exeext; then | ||
34355 | ac_cv_search_k_hasafs=$ac_res | 17694 | ac_cv_search_k_hasafs=$ac_res |
34356 | else | ||
34357 | echo "$as_me: failed program was:" >&5 | ||
34358 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
34359 | |||
34360 | |||
34361 | fi | 17695 | fi |
34362 | 17696 | rm -f core conftest.err conftest.$ac_objext \ | |
34363 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | 17697 | conftest$ac_exeext |
34364 | conftest$ac_exeext | 17698 | if ${ac_cv_search_k_hasafs+:} false; then : |
34365 | if test "${ac_cv_search_k_hasafs+set}" = set; then | ||
34366 | break | 17699 | break |
34367 | fi | 17700 | fi |
34368 | done | 17701 | done |
34369 | if test "${ac_cv_search_k_hasafs+set}" = set; then | 17702 | if ${ac_cv_search_k_hasafs+:} false; then : |
34370 | : | 17703 | |
34371 | else | 17704 | else |
34372 | ac_cv_search_k_hasafs=no | 17705 | ac_cv_search_k_hasafs=no |
34373 | fi | 17706 | fi |
34374 | rm conftest.$ac_ext | 17707 | rm conftest.$ac_ext |
34375 | LIBS=$ac_func_search_save_LIBS | 17708 | LIBS=$ac_func_search_save_LIBS |
34376 | fi | 17709 | fi |
34377 | { echo "$as_me:$LINENO: result: $ac_cv_search_k_hasafs" >&5 | 17710 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_k_hasafs" >&5 |
34378 | echo "${ECHO_T}$ac_cv_search_k_hasafs" >&6; } | 17711 | $as_echo "$ac_cv_search_k_hasafs" >&6; } |
34379 | ac_res=$ac_cv_search_k_hasafs | 17712 | ac_res=$ac_cv_search_k_hasafs |
34380 | if test "$ac_res" != no; then | 17713 | if test "$ac_res" != no; then : |
34381 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | 17714 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" |
34382 | 17715 | ||
34383 | cat >>confdefs.h <<\_ACEOF | 17716 | $as_echo "#define USE_AFS 1" >>confdefs.h |
34384 | #define USE_AFS 1 | ||
34385 | _ACEOF | ||
34386 | 17717 | ||
34387 | fi | 17718 | fi |
34388 | 17719 | ||
34389 | 17720 | ||
34390 | { echo "$as_me:$LINENO: checking whether GSS_C_NT_HOSTBASED_SERVICE is declared" >&5 | 17721 | ac_fn_c_check_decl "$LINENO" "GSS_C_NT_HOSTBASED_SERVICE" "ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE" " |
34391 | echo $ECHO_N "checking whether GSS_C_NT_HOSTBASED_SERVICE is declared... $ECHO_C" >&6; } | ||
34392 | if test "${ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE+set}" = set; then | ||
34393 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
34394 | else | ||
34395 | cat >conftest.$ac_ext <<_ACEOF | ||
34396 | /* confdefs.h. */ | ||
34397 | _ACEOF | ||
34398 | cat confdefs.h >>conftest.$ac_ext | ||
34399 | cat >>conftest.$ac_ext <<_ACEOF | ||
34400 | /* end confdefs.h. */ | ||
34401 | |||
34402 | #ifdef HAVE_GSSAPI_H | 17722 | #ifdef HAVE_GSSAPI_H |
34403 | # include <gssapi.h> | 17723 | # include <gssapi.h> |
34404 | #elif defined(HAVE_GSSAPI_GSSAPI_H) | 17724 | #elif defined(HAVE_GSSAPI_GSSAPI_H) |
@@ -34411,156 +17731,26 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
34411 | # include <gssapi/gssapi_generic.h> | 17731 | # include <gssapi/gssapi_generic.h> |
34412 | #endif | 17732 | #endif |
34413 | 17733 | ||
34414 | 17734 | " | |
34415 | int | 17735 | if test "x$ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE" = xyes; then : |
34416 | main () | 17736 | ac_have_decl=1 |
34417 | { | ||
34418 | #ifndef GSS_C_NT_HOSTBASED_SERVICE | ||
34419 | (void) GSS_C_NT_HOSTBASED_SERVICE; | ||
34420 | #endif | ||
34421 | |||
34422 | ; | ||
34423 | return 0; | ||
34424 | } | ||
34425 | _ACEOF | ||
34426 | rm -f conftest.$ac_objext | ||
34427 | if { (ac_try="$ac_compile" | ||
34428 | case "(($ac_try" in | ||
34429 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
34430 | *) ac_try_echo=$ac_try;; | ||
34431 | esac | ||
34432 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
34433 | (eval "$ac_compile") 2>conftest.er1 | ||
34434 | ac_status=$? | ||
34435 | grep -v '^ *+' conftest.er1 >conftest.err | ||
34436 | rm -f conftest.er1 | ||
34437 | cat conftest.err >&5 | ||
34438 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
34439 | (exit $ac_status); } && { | ||
34440 | test -z "$ac_c_werror_flag" || | ||
34441 | test ! -s conftest.err | ||
34442 | } && test -s conftest.$ac_objext; then | ||
34443 | ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE=yes | ||
34444 | else | 17737 | else |
34445 | echo "$as_me: failed program was:" >&5 | 17738 | ac_have_decl=0 |
34446 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
34447 | |||
34448 | ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE=no | ||
34449 | fi | 17739 | fi |
34450 | 17740 | ||
34451 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
34452 | fi | ||
34453 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE" >&5 | ||
34454 | echo "${ECHO_T}$ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE" >&6; } | ||
34455 | if test $ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE = yes; then | ||
34456 | |||
34457 | cat >>confdefs.h <<_ACEOF | 17741 | cat >>confdefs.h <<_ACEOF |
34458 | #define HAVE_DECL_GSS_C_NT_HOSTBASED_SERVICE 1 | 17742 | #define HAVE_DECL_GSS_C_NT_HOSTBASED_SERVICE $ac_have_decl |
34459 | _ACEOF | ||
34460 | |||
34461 | |||
34462 | else | ||
34463 | cat >>confdefs.h <<_ACEOF | ||
34464 | #define HAVE_DECL_GSS_C_NT_HOSTBASED_SERVICE 0 | ||
34465 | _ACEOF | 17743 | _ACEOF |
34466 | 17744 | ||
34467 | |||
34468 | fi | ||
34469 | |||
34470 | |||
34471 | saved_LIBS="$LIBS" | 17745 | saved_LIBS="$LIBS" |
34472 | LIBS="$LIBS $K5LIBS" | 17746 | LIBS="$LIBS $K5LIBS" |
34473 | 17747 | for ac_func in krb5_cc_new_unique krb5_get_error_message krb5_free_error_message | |
34474 | 17748 | do : | |
34475 | 17749 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | |
34476 | for ac_func in krb5_cc_new_unique krb5_get_error_message krb5_free_error_message | 17750 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
34477 | do | 17751 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
34478 | as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
34479 | { echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
34480 | echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } | ||
34481 | if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then | ||
34482 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
34483 | else | ||
34484 | cat >conftest.$ac_ext <<_ACEOF | ||
34485 | /* confdefs.h. */ | ||
34486 | _ACEOF | ||
34487 | cat confdefs.h >>conftest.$ac_ext | ||
34488 | cat >>conftest.$ac_ext <<_ACEOF | ||
34489 | /* end confdefs.h. */ | ||
34490 | /* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
34491 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
34492 | #define $ac_func innocuous_$ac_func | ||
34493 | |||
34494 | /* System header to define __stub macros and hopefully few prototypes, | ||
34495 | which can conflict with char $ac_func (); below. | ||
34496 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
34497 | <limits.h> exists even on freestanding compilers. */ | ||
34498 | |||
34499 | #ifdef __STDC__ | ||
34500 | # include <limits.h> | ||
34501 | #else | ||
34502 | # include <assert.h> | ||
34503 | #endif | ||
34504 | |||
34505 | #undef $ac_func | ||
34506 | |||
34507 | /* Override any GCC internal prototype to avoid an error. | ||
34508 | Use char because int might match the return type of a GCC | ||
34509 | builtin and then its argument prototype would still apply. */ | ||
34510 | #ifdef __cplusplus | ||
34511 | extern "C" | ||
34512 | #endif | ||
34513 | char $ac_func (); | ||
34514 | /* The GNU C library defines this for functions which it implements | ||
34515 | to always fail with ENOSYS. Some functions are actually named | ||
34516 | something starting with __ and the normal name is an alias. */ | ||
34517 | #if defined __stub_$ac_func || defined __stub___$ac_func | ||
34518 | choke me | ||
34519 | #endif | ||
34520 | |||
34521 | int | ||
34522 | main () | ||
34523 | { | ||
34524 | return $ac_func (); | ||
34525 | ; | ||
34526 | return 0; | ||
34527 | } | ||
34528 | _ACEOF | ||
34529 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
34530 | if { (ac_try="$ac_link" | ||
34531 | case "(($ac_try" in | ||
34532 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
34533 | *) ac_try_echo=$ac_try;; | ||
34534 | esac | ||
34535 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
34536 | (eval "$ac_link") 2>conftest.er1 | ||
34537 | ac_status=$? | ||
34538 | grep -v '^ *+' conftest.er1 >conftest.err | ||
34539 | rm -f conftest.er1 | ||
34540 | cat conftest.err >&5 | ||
34541 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
34542 | (exit $ac_status); } && { | ||
34543 | test -z "$ac_c_werror_flag" || | ||
34544 | test ! -s conftest.err | ||
34545 | } && test -s conftest$ac_exeext && | ||
34546 | $as_test_x conftest$ac_exeext; then | ||
34547 | eval "$as_ac_var=yes" | ||
34548 | else | ||
34549 | echo "$as_me: failed program was:" >&5 | ||
34550 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
34551 | |||
34552 | eval "$as_ac_var=no" | ||
34553 | fi | ||
34554 | |||
34555 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
34556 | conftest$ac_exeext conftest.$ac_ext | ||
34557 | fi | ||
34558 | ac_res=`eval echo '${'$as_ac_var'}'` | ||
34559 | { echo "$as_me:$LINENO: result: $ac_res" >&5 | ||
34560 | echo "${ECHO_T}$ac_res" >&6; } | ||
34561 | if test `eval echo '${'$as_ac_var'}'` = yes; then | ||
34562 | cat >>confdefs.h <<_ACEOF | 17752 | cat >>confdefs.h <<_ACEOF |
34563 | #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 17753 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
34564 | _ACEOF | 17754 | _ACEOF |
34565 | 17755 | ||
34566 | fi | 17756 | fi |
@@ -34581,7 +17771,7 @@ fi | |||
34581 | PRIVSEP_PATH=/var/empty | 17771 | PRIVSEP_PATH=/var/empty |
34582 | 17772 | ||
34583 | # Check whether --with-privsep-path was given. | 17773 | # Check whether --with-privsep-path was given. |
34584 | if test "${with_privsep_path+set}" = set; then | 17774 | if test "${with_privsep_path+set}" = set; then : |
34585 | withval=$with_privsep_path; | 17775 | withval=$with_privsep_path; |
34586 | if test -n "$withval" && test "x$withval" != "xno" && \ | 17776 | if test -n "$withval" && test "x$withval" != "xno" && \ |
34587 | test "x${withval}" != "xyes"; then | 17777 | test "x${withval}" != "xyes"; then |
@@ -34595,7 +17785,7 @@ fi | |||
34595 | 17785 | ||
34596 | 17786 | ||
34597 | # Check whether --with-xauth was given. | 17787 | # Check whether --with-xauth was given. |
34598 | if test "${with_xauth+set}" = set; then | 17788 | if test "${with_xauth+set}" = set; then : |
34599 | withval=$with_xauth; | 17789 | withval=$with_xauth; |
34600 | if test -n "$withval" && test "x$withval" != "xno" && \ | 17790 | if test -n "$withval" && test "x$withval" != "xno" && \ |
34601 | test "x${withval}" != "xyes"; then | 17791 | test "x${withval}" != "xyes"; then |
@@ -34611,10 +17801,10 @@ else | |||
34611 | TestPath="${TestPath}${PATH_SEPARATOR}/usr/openwin/bin" | 17801 | TestPath="${TestPath}${PATH_SEPARATOR}/usr/openwin/bin" |
34612 | # Extract the first word of "xauth", so it can be a program name with args. | 17802 | # Extract the first word of "xauth", so it can be a program name with args. |
34613 | set dummy xauth; ac_word=$2 | 17803 | set dummy xauth; ac_word=$2 |
34614 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 17804 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
34615 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 17805 | $as_echo_n "checking for $ac_word... " >&6; } |
34616 | if test "${ac_cv_path_xauth_path+set}" = set; then | 17806 | if ${ac_cv_path_xauth_path+:} false; then : |
34617 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 17807 | $as_echo_n "(cached) " >&6 |
34618 | else | 17808 | else |
34619 | case $xauth_path in | 17809 | case $xauth_path in |
34620 | [\\/]* | ?:[\\/]*) | 17810 | [\\/]* | ?:[\\/]*) |
@@ -34626,14 +17816,14 @@ for as_dir in $TestPath | |||
34626 | do | 17816 | do |
34627 | IFS=$as_save_IFS | 17817 | IFS=$as_save_IFS |
34628 | test -z "$as_dir" && as_dir=. | 17818 | test -z "$as_dir" && as_dir=. |
34629 | for ac_exec_ext in '' $ac_executable_extensions; do | 17819 | for ac_exec_ext in '' $ac_executable_extensions; do |
34630 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 17820 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
34631 | ac_cv_path_xauth_path="$as_dir/$ac_word$ac_exec_ext" | 17821 | ac_cv_path_xauth_path="$as_dir/$ac_word$ac_exec_ext" |
34632 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 17822 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
34633 | break 2 | 17823 | break 2 |
34634 | fi | 17824 | fi |
34635 | done | 17825 | done |
34636 | done | 17826 | done |
34637 | IFS=$as_save_IFS | 17827 | IFS=$as_save_IFS |
34638 | 17828 | ||
34639 | ;; | 17829 | ;; |
@@ -34641,11 +17831,11 @@ esac | |||
34641 | fi | 17831 | fi |
34642 | xauth_path=$ac_cv_path_xauth_path | 17832 | xauth_path=$ac_cv_path_xauth_path |
34643 | if test -n "$xauth_path"; then | 17833 | if test -n "$xauth_path"; then |
34644 | { echo "$as_me:$LINENO: result: $xauth_path" >&5 | 17834 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xauth_path" >&5 |
34645 | echo "${ECHO_T}$xauth_path" >&6; } | 17835 | $as_echo "$xauth_path" >&6; } |
34646 | else | 17836 | else |
34647 | { echo "$as_me:$LINENO: result: no" >&5 | 17837 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
34648 | echo "${ECHO_T}no" >&6; } | 17838 | $as_echo "no" >&6; } |
34649 | fi | 17839 | fi |
34650 | 17840 | ||
34651 | 17841 | ||
@@ -34659,7 +17849,7 @@ fi | |||
34659 | 17849 | ||
34660 | STRIP_OPT=-s | 17850 | STRIP_OPT=-s |
34661 | # Check whether --enable-strip was given. | 17851 | # Check whether --enable-strip was given. |
34662 | if test "${enable_strip+set}" = set; then | 17852 | if test "${enable_strip+set}" = set; then : |
34663 | enableval=$enable_strip; | 17853 | enableval=$enable_strip; |
34664 | if test "x$enableval" = "xno" ; then | 17854 | if test "x$enableval" = "xno" ; then |
34665 | STRIP_OPT= | 17855 | STRIP_OPT= |
@@ -34686,7 +17876,7 @@ fi | |||
34686 | # Check for mail directory | 17876 | # Check for mail directory |
34687 | 17877 | ||
34688 | # Check whether --with-maildir was given. | 17878 | # Check whether --with-maildir was given. |
34689 | if test "${with_maildir+set}" = set; then | 17879 | if test "${with_maildir+set}" = set; then : |
34690 | withval=$with_maildir; | 17880 | withval=$with_maildir; |
34691 | if test "X$withval" != X && test "x$withval" != xno && \ | 17881 | if test "X$withval" != X && test "x$withval" != xno && \ |
34692 | test "x${withval}" != xyes; then | 17882 | test "x${withval}" != xyes; then |
@@ -34705,20 +17895,16 @@ else | |||
34705 | _ACEOF | 17895 | _ACEOF |
34706 | 17896 | ||
34707 | else | 17897 | else |
34708 | { echo "$as_me:$LINENO: checking Discovering system mail directory" >&5 | 17898 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking Discovering system mail directory" >&5 |
34709 | echo $ECHO_N "checking Discovering system mail directory... $ECHO_C" >&6; } | 17899 | $as_echo_n "checking Discovering system mail directory... " >&6; } |
34710 | if test "$cross_compiling" = yes; then | 17900 | if test "$cross_compiling" = yes; then : |
34711 | 17901 | ||
34712 | { echo "$as_me:$LINENO: WARNING: cross compiling: use --with-maildir=/path/to/mail" >&5 | 17902 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: use --with-maildir=/path/to/mail" >&5 |
34713 | echo "$as_me: WARNING: cross compiling: use --with-maildir=/path/to/mail" >&2;} | 17903 | $as_echo "$as_me: WARNING: cross compiling: use --with-maildir=/path/to/mail" >&2;} |
34714 | 17904 | ||
34715 | 17905 | ||
34716 | else | 17906 | else |
34717 | cat >conftest.$ac_ext <<_ACEOF | 17907 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
34718 | /* confdefs.h. */ | ||
34719 | _ACEOF | ||
34720 | cat confdefs.h >>conftest.$ac_ext | ||
34721 | cat >>conftest.$ac_ext <<_ACEOF | ||
34722 | /* end confdefs.h. */ | 17908 | /* end confdefs.h. */ |
34723 | 17909 | ||
34724 | #include <stdio.h> | 17910 | #include <stdio.h> |
@@ -34761,32 +17947,13 @@ main () | |||
34761 | return 0; | 17947 | return 0; |
34762 | } | 17948 | } |
34763 | _ACEOF | 17949 | _ACEOF |
34764 | rm -f conftest$ac_exeext | 17950 | if ac_fn_c_try_run "$LINENO"; then : |
34765 | if { (ac_try="$ac_link" | ||
34766 | case "(($ac_try" in | ||
34767 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
34768 | *) ac_try_echo=$ac_try;; | ||
34769 | esac | ||
34770 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
34771 | (eval "$ac_link") 2>&5 | ||
34772 | ac_status=$? | ||
34773 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
34774 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
34775 | { (case "(($ac_try" in | ||
34776 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
34777 | *) ac_try_echo=$ac_try;; | ||
34778 | esac | ||
34779 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
34780 | (eval "$ac_try") 2>&5 | ||
34781 | ac_status=$? | ||
34782 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
34783 | (exit $ac_status); }; }; then | ||
34784 | 17951 | ||
34785 | maildir_what=`awk -F: '{print $1}' conftest.maildir` | 17952 | maildir_what=`awk -F: '{print $1}' conftest.maildir` |
34786 | maildir=`awk -F: '{print $2}' conftest.maildir \ | 17953 | maildir=`awk -F: '{print $2}' conftest.maildir \ |
34787 | | sed 's|/$||'` | 17954 | | sed 's|/$||'` |
34788 | { echo "$as_me:$LINENO: result: Using: $maildir from $maildir_what" >&5 | 17955 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using: $maildir from $maildir_what" >&5 |
34789 | echo "${ECHO_T}Using: $maildir from $maildir_what" >&6; } | 17956 | $as_echo "Using: $maildir from $maildir_what" >&6; } |
34790 | if test "x$maildir_what" != "x_PATH_MAILDIR"; then | 17957 | if test "x$maildir_what" != "x_PATH_MAILDIR"; then |
34791 | cat >>confdefs.h <<_ACEOF | 17958 | cat >>confdefs.h <<_ACEOF |
34792 | #define MAIL_DIRECTORY "$maildir" | 17959 | #define MAIL_DIRECTORY "$maildir" |
@@ -34795,30 +17962,25 @@ _ACEOF | |||
34795 | fi | 17962 | fi |
34796 | 17963 | ||
34797 | else | 17964 | else |
34798 | echo "$as_me: program exited with status $ac_status" >&5 | ||
34799 | echo "$as_me: failed program was:" >&5 | ||
34800 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
34801 | |||
34802 | ( exit $ac_status ) | ||
34803 | 17965 | ||
34804 | if test "X$ac_status" = "X2";then | 17966 | if test "X$ac_status" = "X2";then |
34805 | # our test program didn't find it. Default to /var/spool/mail | 17967 | # our test program didn't find it. Default to /var/spool/mail |
34806 | { echo "$as_me:$LINENO: result: Using: default value of /var/spool/mail" >&5 | 17968 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using: default value of /var/spool/mail" >&5 |
34807 | echo "${ECHO_T}Using: default value of /var/spool/mail" >&6; } | 17969 | $as_echo "Using: default value of /var/spool/mail" >&6; } |
34808 | cat >>confdefs.h <<_ACEOF | 17970 | cat >>confdefs.h <<_ACEOF |
34809 | #define MAIL_DIRECTORY "/var/spool/mail" | 17971 | #define MAIL_DIRECTORY "/var/spool/mail" |
34810 | _ACEOF | 17972 | _ACEOF |
34811 | 17973 | ||
34812 | else | 17974 | else |
34813 | { echo "$as_me:$LINENO: result: *** not found ***" >&5 | 17975 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: *** not found ***" >&5 |
34814 | echo "${ECHO_T}*** not found ***" >&6; } | 17976 | $as_echo "*** not found ***" >&6; } |
34815 | fi | 17977 | fi |
34816 | 17978 | ||
34817 | fi | 17979 | fi |
34818 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 17980 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
17981 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
34819 | fi | 17982 | fi |
34820 | 17983 | ||
34821 | |||
34822 | fi | 17984 | fi |
34823 | 17985 | ||
34824 | 17986 | ||
@@ -34826,30 +17988,30 @@ fi | |||
34826 | # maildir | 17988 | # maildir |
34827 | 17989 | ||
34828 | if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; then | 17990 | if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; then |
34829 | { echo "$as_me:$LINENO: WARNING: cross compiling: Disabling /dev/ptmx test" >&5 | 17991 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Disabling /dev/ptmx test" >&5 |
34830 | echo "$as_me: WARNING: cross compiling: Disabling /dev/ptmx test" >&2;} | 17992 | $as_echo "$as_me: WARNING: cross compiling: Disabling /dev/ptmx test" >&2;} |
34831 | disable_ptmx_check=yes | 17993 | disable_ptmx_check=yes |
34832 | fi | 17994 | fi |
34833 | if test -z "$no_dev_ptmx" ; then | 17995 | if test -z "$no_dev_ptmx" ; then |
34834 | if test "x$disable_ptmx_check" != "xyes" ; then | 17996 | if test "x$disable_ptmx_check" != "xyes" ; then |
34835 | { echo "$as_me:$LINENO: checking for \"/dev/ptmx\"" >&5 | 17997 | as_ac_File=`$as_echo "ac_cv_file_"/dev/ptmx"" | $as_tr_sh` |
34836 | echo $ECHO_N "checking for \"/dev/ptmx\"... $ECHO_C" >&6; } | 17998 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/dev/ptmx\"" >&5 |
34837 | if test "${ac_cv_file___dev_ptmx_+set}" = set; then | 17999 | $as_echo_n "checking for \"/dev/ptmx\"... " >&6; } |
34838 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 18000 | if eval \${$as_ac_File+:} false; then : |
18001 | $as_echo_n "(cached) " >&6 | ||
34839 | else | 18002 | else |
34840 | test "$cross_compiling" = yes && | 18003 | test "$cross_compiling" = yes && |
34841 | { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 | 18004 | as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 |
34842 | echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} | ||
34843 | { (exit 1); exit 1; }; } | ||
34844 | if test -r ""/dev/ptmx""; then | 18005 | if test -r ""/dev/ptmx""; then |
34845 | ac_cv_file___dev_ptmx_=yes | 18006 | eval "$as_ac_File=yes" |
34846 | else | 18007 | else |
34847 | ac_cv_file___dev_ptmx_=no | 18008 | eval "$as_ac_File=no" |
34848 | fi | 18009 | fi |
34849 | fi | 18010 | fi |
34850 | { echo "$as_me:$LINENO: result: $ac_cv_file___dev_ptmx_" >&5 | 18011 | eval ac_res=\$$as_ac_File |
34851 | echo "${ECHO_T}$ac_cv_file___dev_ptmx_" >&6; } | 18012 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
34852 | if test $ac_cv_file___dev_ptmx_ = yes; then | 18013 | $as_echo "$ac_res" >&6; } |
18014 | if eval test \"x\$"$as_ac_File"\" = x"yes"; then : | ||
34853 | 18015 | ||
34854 | 18016 | ||
34855 | cat >>confdefs.h <<_ACEOF | 18017 | cat >>confdefs.h <<_ACEOF |
@@ -34865,24 +18027,24 @@ fi | |||
34865 | fi | 18027 | fi |
34866 | 18028 | ||
34867 | if test ! -z "$cross_compiling" && test "x$cross_compiling" != "xyes"; then | 18029 | if test ! -z "$cross_compiling" && test "x$cross_compiling" != "xyes"; then |
34868 | { echo "$as_me:$LINENO: checking for \"/dev/ptc\"" >&5 | 18030 | as_ac_File=`$as_echo "ac_cv_file_"/dev/ptc"" | $as_tr_sh` |
34869 | echo $ECHO_N "checking for \"/dev/ptc\"... $ECHO_C" >&6; } | 18031 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/dev/ptc\"" >&5 |
34870 | if test "${ac_cv_file___dev_ptc_+set}" = set; then | 18032 | $as_echo_n "checking for \"/dev/ptc\"... " >&6; } |
34871 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 18033 | if eval \${$as_ac_File+:} false; then : |
18034 | $as_echo_n "(cached) " >&6 | ||
34872 | else | 18035 | else |
34873 | test "$cross_compiling" = yes && | 18036 | test "$cross_compiling" = yes && |
34874 | { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 | 18037 | as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 |
34875 | echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} | ||
34876 | { (exit 1); exit 1; }; } | ||
34877 | if test -r ""/dev/ptc""; then | 18038 | if test -r ""/dev/ptc""; then |
34878 | ac_cv_file___dev_ptc_=yes | 18039 | eval "$as_ac_File=yes" |
34879 | else | 18040 | else |
34880 | ac_cv_file___dev_ptc_=no | 18041 | eval "$as_ac_File=no" |
34881 | fi | 18042 | fi |
34882 | fi | 18043 | fi |
34883 | { echo "$as_me:$LINENO: result: $ac_cv_file___dev_ptc_" >&5 | 18044 | eval ac_res=\$$as_ac_File |
34884 | echo "${ECHO_T}$ac_cv_file___dev_ptc_" >&6; } | 18045 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
34885 | if test $ac_cv_file___dev_ptc_ = yes; then | 18046 | $as_echo "$ac_res" >&6; } |
18047 | if eval test \"x\$"$as_ac_File"\" = x"yes"; then : | ||
34886 | 18048 | ||
34887 | 18049 | ||
34888 | cat >>confdefs.h <<_ACEOF | 18050 | cat >>confdefs.h <<_ACEOF |
@@ -34895,23 +18057,21 @@ _ACEOF | |||
34895 | fi | 18057 | fi |
34896 | 18058 | ||
34897 | else | 18059 | else |
34898 | { echo "$as_me:$LINENO: WARNING: cross compiling: Disabling /dev/ptc test" >&5 | 18060 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Disabling /dev/ptc test" >&5 |
34899 | echo "$as_me: WARNING: cross compiling: Disabling /dev/ptc test" >&2;} | 18061 | $as_echo "$as_me: WARNING: cross compiling: Disabling /dev/ptc test" >&2;} |
34900 | fi | 18062 | fi |
34901 | 18063 | ||
34902 | # Options from here on. Some of these are preset by platform above | 18064 | # Options from here on. Some of these are preset by platform above |
34903 | 18065 | ||
34904 | # Check whether --with-mantype was given. | 18066 | # Check whether --with-mantype was given. |
34905 | if test "${with_mantype+set}" = set; then | 18067 | if test "${with_mantype+set}" = set; then : |
34906 | withval=$with_mantype; | 18068 | withval=$with_mantype; |
34907 | case "$withval" in | 18069 | case "$withval" in |
34908 | man|cat|doc) | 18070 | man|cat|doc) |
34909 | MANTYPE=$withval | 18071 | MANTYPE=$withval |
34910 | ;; | 18072 | ;; |
34911 | *) | 18073 | *) |
34912 | { { echo "$as_me:$LINENO: error: invalid man type: $withval" >&5 | 18074 | as_fn_error $? "invalid man type: $withval" "$LINENO" 5 |
34913 | echo "$as_me: error: invalid man type: $withval" >&2;} | ||
34914 | { (exit 1); exit 1; }; } | ||
34915 | ;; | 18075 | ;; |
34916 | esac | 18076 | esac |
34917 | 18077 | ||
@@ -34924,10 +18084,10 @@ if test -z "$MANTYPE"; then | |||
34924 | do | 18084 | do |
34925 | # Extract the first word of "$ac_prog", so it can be a program name with args. | 18085 | # Extract the first word of "$ac_prog", so it can be a program name with args. |
34926 | set dummy $ac_prog; ac_word=$2 | 18086 | set dummy $ac_prog; ac_word=$2 |
34927 | { echo "$as_me:$LINENO: checking for $ac_word" >&5 | 18087 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
34928 | echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } | 18088 | $as_echo_n "checking for $ac_word... " >&6; } |
34929 | if test "${ac_cv_path_NROFF+set}" = set; then | 18089 | if ${ac_cv_path_NROFF+:} false; then : |
34930 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 18090 | $as_echo_n "(cached) " >&6 |
34931 | else | 18091 | else |
34932 | case $NROFF in | 18092 | case $NROFF in |
34933 | [\\/]* | ?:[\\/]*) | 18093 | [\\/]* | ?:[\\/]*) |
@@ -34939,14 +18099,14 @@ for as_dir in $TestPath | |||
34939 | do | 18099 | do |
34940 | IFS=$as_save_IFS | 18100 | IFS=$as_save_IFS |
34941 | test -z "$as_dir" && as_dir=. | 18101 | test -z "$as_dir" && as_dir=. |
34942 | for ac_exec_ext in '' $ac_executable_extensions; do | 18102 | for ac_exec_ext in '' $ac_executable_extensions; do |
34943 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | 18103 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then |
34944 | ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext" | 18104 | ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext" |
34945 | echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | 18105 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
34946 | break 2 | 18106 | break 2 |
34947 | fi | 18107 | fi |
34948 | done | 18108 | done |
34949 | done | 18109 | done |
34950 | IFS=$as_save_IFS | 18110 | IFS=$as_save_IFS |
34951 | 18111 | ||
34952 | ;; | 18112 | ;; |
@@ -34954,11 +18114,11 @@ esac | |||
34954 | fi | 18114 | fi |
34955 | NROFF=$ac_cv_path_NROFF | 18115 | NROFF=$ac_cv_path_NROFF |
34956 | if test -n "$NROFF"; then | 18116 | if test -n "$NROFF"; then |
34957 | { echo "$as_me:$LINENO: result: $NROFF" >&5 | 18117 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NROFF" >&5 |
34958 | echo "${ECHO_T}$NROFF" >&6; } | 18118 | $as_echo "$NROFF" >&6; } |
34959 | else | 18119 | else |
34960 | { echo "$as_me:$LINENO: result: no" >&5 | 18120 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
34961 | echo "${ECHO_T}no" >&6; } | 18121 | $as_echo "no" >&6; } |
34962 | fi | 18122 | fi |
34963 | 18123 | ||
34964 | 18124 | ||
@@ -34986,13 +18146,11 @@ fi | |||
34986 | MD5_MSG="no" | 18146 | MD5_MSG="no" |
34987 | 18147 | ||
34988 | # Check whether --with-md5-passwords was given. | 18148 | # Check whether --with-md5-passwords was given. |
34989 | if test "${with_md5_passwords+set}" = set; then | 18149 | if test "${with_md5_passwords+set}" = set; then : |
34990 | withval=$with_md5_passwords; | 18150 | withval=$with_md5_passwords; |
34991 | if test "x$withval" != "xno" ; then | 18151 | if test "x$withval" != "xno" ; then |
34992 | 18152 | ||
34993 | cat >>confdefs.h <<\_ACEOF | 18153 | $as_echo "#define HAVE_MD5_PASSWORDS 1" >>confdefs.h |
34994 | #define HAVE_MD5_PASSWORDS 1 | ||
34995 | _ACEOF | ||
34996 | 18154 | ||
34997 | MD5_MSG="yes" | 18155 | MD5_MSG="yes" |
34998 | fi | 18156 | fi |
@@ -35004,12 +18162,10 @@ fi | |||
35004 | # Whether to disable shadow password support | 18162 | # Whether to disable shadow password support |
35005 | 18163 | ||
35006 | # Check whether --with-shadow was given. | 18164 | # Check whether --with-shadow was given. |
35007 | if test "${with_shadow+set}" = set; then | 18165 | if test "${with_shadow+set}" = set; then : |
35008 | withval=$with_shadow; | 18166 | withval=$with_shadow; |
35009 | if test "x$withval" = "xno" ; then | 18167 | if test "x$withval" = "xno" ; then |
35010 | cat >>confdefs.h <<\_ACEOF | 18168 | $as_echo "#define DISABLE_SHADOW 1" >>confdefs.h |
35011 | #define DISABLE_SHADOW 1 | ||
35012 | _ACEOF | ||
35013 | 18169 | ||
35014 | disable_shadow=yes | 18170 | disable_shadow=yes |
35015 | fi | 18171 | fi |
@@ -35019,13 +18175,9 @@ fi | |||
35019 | 18175 | ||
35020 | 18176 | ||
35021 | if test -z "$disable_shadow" ; then | 18177 | if test -z "$disable_shadow" ; then |
35022 | { echo "$as_me:$LINENO: checking if the systems has expire shadow information" >&5 | 18178 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the systems has expire shadow information" >&5 |
35023 | echo $ECHO_N "checking if the systems has expire shadow information... $ECHO_C" >&6; } | 18179 | $as_echo_n "checking if the systems has expire shadow information... " >&6; } |
35024 | cat >conftest.$ac_ext <<_ACEOF | 18180 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
35025 | /* confdefs.h. */ | ||
35026 | _ACEOF | ||
35027 | cat confdefs.h >>conftest.$ac_ext | ||
35028 | cat >>conftest.$ac_ext <<_ACEOF | ||
35029 | /* end confdefs.h. */ | 18181 | /* end confdefs.h. */ |
35030 | 18182 | ||
35031 | #include <sys/types.h> | 18183 | #include <sys/types.h> |
@@ -35040,45 +18192,20 @@ main () | |||
35040 | return 0; | 18192 | return 0; |
35041 | } | 18193 | } |
35042 | _ACEOF | 18194 | _ACEOF |
35043 | rm -f conftest.$ac_objext | 18195 | if ac_fn_c_try_compile "$LINENO"; then : |
35044 | if { (ac_try="$ac_compile" | ||
35045 | case "(($ac_try" in | ||
35046 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
35047 | *) ac_try_echo=$ac_try;; | ||
35048 | esac | ||
35049 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
35050 | (eval "$ac_compile") 2>conftest.er1 | ||
35051 | ac_status=$? | ||
35052 | grep -v '^ *+' conftest.er1 >conftest.err | ||
35053 | rm -f conftest.er1 | ||
35054 | cat conftest.err >&5 | ||
35055 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
35056 | (exit $ac_status); } && { | ||
35057 | test -z "$ac_c_werror_flag" || | ||
35058 | test ! -s conftest.err | ||
35059 | } && test -s conftest.$ac_objext; then | ||
35060 | sp_expire_available=yes | 18196 | sp_expire_available=yes |
35061 | else | ||
35062 | echo "$as_me: failed program was:" >&5 | ||
35063 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
35064 | |||
35065 | |||
35066 | |||
35067 | fi | 18197 | fi |
35068 | |||
35069 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 18198 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
35070 | 18199 | ||
35071 | if test "x$sp_expire_available" = "xyes" ; then | 18200 | if test "x$sp_expire_available" = "xyes" ; then |
35072 | { echo "$as_me:$LINENO: result: yes" >&5 | 18201 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
35073 | echo "${ECHO_T}yes" >&6; } | 18202 | $as_echo "yes" >&6; } |
35074 | 18203 | ||
35075 | cat >>confdefs.h <<\_ACEOF | 18204 | $as_echo "#define HAS_SHADOW_EXPIRE 1" >>confdefs.h |
35076 | #define HAS_SHADOW_EXPIRE 1 | ||
35077 | _ACEOF | ||
35078 | 18205 | ||
35079 | else | 18206 | else |
35080 | { echo "$as_me:$LINENO: result: no" >&5 | 18207 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
35081 | echo "${ECHO_T}no" >&6; } | 18208 | $as_echo "no" >&6; } |
35082 | fi | 18209 | fi |
35083 | fi | 18210 | fi |
35084 | 18211 | ||
@@ -35086,20 +18213,16 @@ fi | |||
35086 | if test ! -z "$IPADDR_IN_DISPLAY" ; then | 18213 | if test ! -z "$IPADDR_IN_DISPLAY" ; then |
35087 | DISPLAY_HACK_MSG="yes" | 18214 | DISPLAY_HACK_MSG="yes" |
35088 | 18215 | ||
35089 | cat >>confdefs.h <<\_ACEOF | 18216 | $as_echo "#define IPADDR_IN_DISPLAY 1" >>confdefs.h |
35090 | #define IPADDR_IN_DISPLAY 1 | ||
35091 | _ACEOF | ||
35092 | 18217 | ||
35093 | else | 18218 | else |
35094 | DISPLAY_HACK_MSG="no" | 18219 | DISPLAY_HACK_MSG="no" |
35095 | 18220 | ||
35096 | # Check whether --with-ipaddr-display was given. | 18221 | # Check whether --with-ipaddr-display was given. |
35097 | if test "${with_ipaddr_display+set}" = set; then | 18222 | if test "${with_ipaddr_display+set}" = set; then : |
35098 | withval=$with_ipaddr_display; | 18223 | withval=$with_ipaddr_display; |
35099 | if test "x$withval" != "xno" ; then | 18224 | if test "x$withval" != "xno" ; then |
35100 | cat >>confdefs.h <<\_ACEOF | 18225 | $as_echo "#define IPADDR_IN_DISPLAY 1" >>confdefs.h |
35101 | #define IPADDR_IN_DISPLAY 1 | ||
35102 | _ACEOF | ||
35103 | 18226 | ||
35104 | DISPLAY_HACK_MSG="yes" | 18227 | DISPLAY_HACK_MSG="yes" |
35105 | fi | 18228 | fi |
@@ -35111,10 +18234,10 @@ fi | |||
35111 | 18234 | ||
35112 | # check for /etc/default/login and use it if present. | 18235 | # check for /etc/default/login and use it if present. |
35113 | # Check whether --enable-etc-default-login was given. | 18236 | # Check whether --enable-etc-default-login was given. |
35114 | if test "${enable_etc_default_login+set}" = set; then | 18237 | if test "${enable_etc_default_login+set}" = set; then : |
35115 | enableval=$enable_etc_default_login; if test "x$enableval" = "xno"; then | 18238 | enableval=$enable_etc_default_login; if test "x$enableval" = "xno"; then |
35116 | { echo "$as_me:$LINENO: /etc/default/login handling disabled" >&5 | 18239 | { $as_echo "$as_me:${as_lineno-$LINENO}: /etc/default/login handling disabled" >&5 |
35117 | echo "$as_me: /etc/default/login handling disabled" >&6;} | 18240 | $as_echo "$as_me: /etc/default/login handling disabled" >&6;} |
35118 | etc_default_login=no | 18241 | etc_default_login=no |
35119 | else | 18242 | else |
35120 | etc_default_login=yes | 18243 | etc_default_login=yes |
@@ -35122,8 +18245,8 @@ echo "$as_me: /etc/default/login handling disabled" >&6;} | |||
35122 | else | 18245 | else |
35123 | if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; | 18246 | if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; |
35124 | then | 18247 | then |
35125 | { echo "$as_me:$LINENO: WARNING: cross compiling: not checking /etc/default/login" >&5 | 18248 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking /etc/default/login" >&5 |
35126 | echo "$as_me: WARNING: cross compiling: not checking /etc/default/login" >&2;} | 18249 | $as_echo "$as_me: WARNING: cross compiling: not checking /etc/default/login" >&2;} |
35127 | etc_default_login=no | 18250 | etc_default_login=no |
35128 | else | 18251 | else |
35129 | etc_default_login=yes | 18252 | etc_default_login=yes |
@@ -35133,32 +18256,30 @@ fi | |||
35133 | 18256 | ||
35134 | 18257 | ||
35135 | if test "x$etc_default_login" != "xno"; then | 18258 | if test "x$etc_default_login" != "xno"; then |
35136 | { echo "$as_me:$LINENO: checking for \"/etc/default/login\"" >&5 | 18259 | as_ac_File=`$as_echo "ac_cv_file_"/etc/default/login"" | $as_tr_sh` |
35137 | echo $ECHO_N "checking for \"/etc/default/login\"... $ECHO_C" >&6; } | 18260 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/etc/default/login\"" >&5 |
35138 | if test "${ac_cv_file___etc_default_login_+set}" = set; then | 18261 | $as_echo_n "checking for \"/etc/default/login\"... " >&6; } |
35139 | echo $ECHO_N "(cached) $ECHO_C" >&6 | 18262 | if eval \${$as_ac_File+:} false; then : |
18263 | $as_echo_n "(cached) " >&6 | ||
35140 | else | 18264 | else |
35141 | test "$cross_compiling" = yes && | 18265 | test "$cross_compiling" = yes && |
35142 | { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 | 18266 | as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 |
35143 | echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} | ||
35144 | { (exit 1); exit 1; }; } | ||
35145 | if test -r ""/etc/default/login""; then | 18267 | if test -r ""/etc/default/login""; then |
35146 | ac_cv_file___etc_default_login_=yes | 18268 | eval "$as_ac_File=yes" |
35147 | else | 18269 | else |
35148 | ac_cv_file___etc_default_login_=no | 18270 | eval "$as_ac_File=no" |
35149 | fi | 18271 | fi |
35150 | fi | 18272 | fi |
35151 | { echo "$as_me:$LINENO: result: $ac_cv_file___etc_default_login_" >&5 | 18273 | eval ac_res=\$$as_ac_File |
35152 | echo "${ECHO_T}$ac_cv_file___etc_default_login_" >&6; } | 18274 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
35153 | if test $ac_cv_file___etc_default_login_ = yes; then | 18275 | $as_echo "$ac_res" >&6; } |
18276 | if eval test \"x\$"$as_ac_File"\" = x"yes"; then : | ||
35154 | external_path_file=/etc/default/login | 18277 | external_path_file=/etc/default/login |
35155 | fi | 18278 | fi |
35156 | 18279 | ||
35157 | if test "x$external_path_file" = "x/etc/default/login"; then | 18280 | if test "x$external_path_file" = "x/etc/default/login"; then |
35158 | 18281 | ||
35159 | cat >>confdefs.h <<\_ACEOF | 18282 | $as_echo "#define HAVE_ETC_DEFAULT_LOGIN 1" >>confdefs.h |
35160 | #define HAVE_ETC_DEFAULT_LOGIN 1 | ||
35161 | _ACEOF | ||
35162 | 18283 | ||
35163 | fi | 18284 | fi |
35164 | fi | 18285 | fi |
@@ -35172,21 +18293,21 @@ fi | |||
35172 | SERVER_PATH_MSG="(default)" | 18293 | SERVER_PATH_MSG="(default)" |
35173 | 18294 | ||
35174 | # Check whether --with-default-path was given. | 18295 | # Check whether --with-default-path was given. |
35175 | if test "${with_default_path+set}" = set; then | 18296 | if test "${with_default_path+set}" = set; then : |
35176 | withval=$with_default_path; | 18297 | withval=$with_default_path; |
35177 | if test "x$external_path_file" = "x/etc/login.conf" ; then | 18298 | if test "x$external_path_file" = "x/etc/login.conf" ; then |
35178 | { echo "$as_me:$LINENO: WARNING: | 18299 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: |
35179 | --with-default-path=PATH has no effect on this system. | 18300 | --with-default-path=PATH has no effect on this system. |
35180 | Edit /etc/login.conf instead." >&5 | 18301 | Edit /etc/login.conf instead." >&5 |
35181 | echo "$as_me: WARNING: | 18302 | $as_echo "$as_me: WARNING: |
35182 | --with-default-path=PATH has no effect on this system. | 18303 | --with-default-path=PATH has no effect on this system. |
35183 | Edit /etc/login.conf instead." >&2;} | 18304 | Edit /etc/login.conf instead." >&2;} |
35184 | elif test "x$withval" != "xno" ; then | 18305 | elif test "x$withval" != "xno" ; then |
35185 | if test ! -z "$external_path_file" ; then | 18306 | if test ! -z "$external_path_file" ; then |
35186 | { echo "$as_me:$LINENO: WARNING: | 18307 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: |
35187 | --with-default-path=PATH will only be used if PATH is not defined in | 18308 | --with-default-path=PATH will only be used if PATH is not defined in |
35188 | $external_path_file ." >&5 | 18309 | $external_path_file ." >&5 |
35189 | echo "$as_me: WARNING: | 18310 | $as_echo "$as_me: WARNING: |
35190 | --with-default-path=PATH will only be used if PATH is not defined in | 18311 | --with-default-path=PATH will only be used if PATH is not defined in |
35191 | $external_path_file ." >&2;} | 18312 | $external_path_file ." >&2;} |
35192 | fi | 18313 | fi |
@@ -35196,26 +18317,22 @@ $external_path_file ." >&2;} | |||
35196 | 18317 | ||
35197 | else | 18318 | else |
35198 | if test "x$external_path_file" = "x/etc/login.conf" ; then | 18319 | if test "x$external_path_file" = "x/etc/login.conf" ; then |
35199 | { echo "$as_me:$LINENO: WARNING: Make sure the path to scp is in /etc/login.conf" >&5 | 18320 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Make sure the path to scp is in /etc/login.conf" >&5 |
35200 | echo "$as_me: WARNING: Make sure the path to scp is in /etc/login.conf" >&2;} | 18321 | $as_echo "$as_me: WARNING: Make sure the path to scp is in /etc/login.conf" >&2;} |
35201 | else | 18322 | else |
35202 | if test ! -z "$external_path_file" ; then | 18323 | if test ! -z "$external_path_file" ; then |
35203 | { echo "$as_me:$LINENO: WARNING: | 18324 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: |
35204 | If PATH is defined in $external_path_file, ensure the path to scp is included, | 18325 | If PATH is defined in $external_path_file, ensure the path to scp is included, |
35205 | otherwise scp will not work." >&5 | 18326 | otherwise scp will not work." >&5 |
35206 | echo "$as_me: WARNING: | 18327 | $as_echo "$as_me: WARNING: |
35207 | If PATH is defined in $external_path_file, ensure the path to scp is included, | 18328 | If PATH is defined in $external_path_file, ensure the path to scp is included, |
35208 | otherwise scp will not work." >&2;} | 18329 | otherwise scp will not work." >&2;} |
35209 | fi | 18330 | fi |
35210 | if test "$cross_compiling" = yes; then | 18331 | if test "$cross_compiling" = yes; then : |
35211 | user_path="/usr/bin:/bin:/usr/sbin:/sbin" | 18332 | user_path="/usr/bin:/bin:/usr/sbin:/sbin" |
35212 | 18333 | ||
35213 | else | 18334 | else |
35214 | cat >conftest.$ac_ext <<_ACEOF | 18335 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
35215 | /* confdefs.h. */ | ||
35216 | _ACEOF | ||
35217 | cat confdefs.h >>conftest.$ac_ext | ||
35218 | cat >>conftest.$ac_ext <<_ACEOF | ||
35219 | /* end confdefs.h. */ | 18336 | /* end confdefs.h. */ |
35220 | 18337 | ||
35221 | /* find out what STDPATH is */ | 18338 | /* find out what STDPATH is */ |
@@ -35255,39 +18372,15 @@ main () | |||
35255 | return 0; | 18372 | return 0; |
35256 | } | 18373 | } |
35257 | _ACEOF | 18374 | _ACEOF |
35258 | rm -f conftest$ac_exeext | 18375 | if ac_fn_c_try_run "$LINENO"; then : |
35259 | if { (ac_try="$ac_link" | ||
35260 | case "(($ac_try" in | ||
35261 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
35262 | *) ac_try_echo=$ac_try;; | ||
35263 | esac | ||
35264 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
35265 | (eval "$ac_link") 2>&5 | ||
35266 | ac_status=$? | ||
35267 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
35268 | (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
35269 | { (case "(($ac_try" in | ||
35270 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
35271 | *) ac_try_echo=$ac_try;; | ||
35272 | esac | ||
35273 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
35274 | (eval "$ac_try") 2>&5 | ||
35275 | ac_status=$? | ||
35276 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
35277 | (exit $ac_status); }; }; then | ||
35278 | user_path=`cat conftest.stdpath` | 18376 | user_path=`cat conftest.stdpath` |
35279 | else | 18377 | else |
35280 | echo "$as_me: program exited with status $ac_status" >&5 | 18378 | user_path="/usr/bin:/bin:/usr/sbin:/sbin" |
35281 | echo "$as_me: failed program was:" >&5 | ||
35282 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
35283 | |||
35284 | ( exit $ac_status ) | ||
35285 | user_path="/usr/bin:/bin:/usr/sbin:/sbin" | ||
35286 | fi | 18379 | fi |
35287 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | 18380 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
18381 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
35288 | fi | 18382 | fi |
35289 | 18383 | ||
35290 | |||
35291 | # make sure $bindir is in USER_PATH so scp will work | 18384 | # make sure $bindir is in USER_PATH so scp will work |
35292 | t_bindir="${bindir}" | 18385 | t_bindir="${bindir}" |
35293 | while echo "${t_bindir}" | egrep '\$\{|NONE/' >/dev/null 2>&1; do | 18386 | while echo "${t_bindir}" | egrep '\$\{|NONE/' >/dev/null 2>&1; do |
@@ -35304,8 +18397,8 @@ fi | |||
35304 | echo $user_path | grep "^$t_bindir" > /dev/null 2>&1 | 18397 | echo $user_path | grep "^$t_bindir" > /dev/null 2>&1 |
35305 | if test $? -ne 0 ; then | 18398 | if test $? -ne 0 ; then |
35306 | user_path=$user_path:$t_bindir | 18399 | user_path=$user_path:$t_bindir |
35307 | { echo "$as_me:$LINENO: result: Adding $t_bindir to USER_PATH so scp will work" >&5 | 18400 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: Adding $t_bindir to USER_PATH so scp will work" >&5 |
35308 | echo "${ECHO_T}Adding $t_bindir to USER_PATH so scp will work" >&6; } | 18401 | $as_echo "Adding $t_bindir to USER_PATH so scp will work" >&6; } |
35309 | fi | 18402 | fi |
35310 | fi | 18403 | fi |
35311 | fi | 18404 | fi |
@@ -35324,7 +18417,7 @@ fi | |||
35324 | # Set superuser path separately to user path | 18417 | # Set superuser path separately to user path |
35325 | 18418 | ||
35326 | # Check whether --with-superuser-path was given. | 18419 | # Check whether --with-superuser-path was given. |
35327 | if test "${with_superuser_path+set}" = set; then | 18420 | if test "${with_superuser_path+set}" = set; then : |
35328 | withval=$with_superuser_path; | 18421 | withval=$with_superuser_path; |
35329 | if test -n "$withval" && test "x$withval" != "xno" && \ | 18422 | if test -n "$withval" && test "x$withval" != "xno" && \ |
35330 | test "x${withval}" != "xyes"; then | 18423 | test "x${withval}" != "xyes"; then |
@@ -35341,40 +18434,36 @@ fi | |||
35341 | 18434 | ||
35342 | 18435 | ||
35343 | 18436 | ||
35344 | { echo "$as_me:$LINENO: checking if we need to convert IPv4 in IPv6-mapped addresses" >&5 | 18437 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to convert IPv4 in IPv6-mapped addresses" >&5 |
35345 | echo $ECHO_N "checking if we need to convert IPv4 in IPv6-mapped addresses... $ECHO_C" >&6; } | 18438 | $as_echo_n "checking if we need to convert IPv4 in IPv6-mapped addresses... " >&6; } |
35346 | IPV4_IN6_HACK_MSG="no" | 18439 | IPV4_IN6_HACK_MSG="no" |
35347 | 18440 | ||
35348 | # Check whether --with-4in6 was given. | 18441 | # Check whether --with-4in6 was given. |
35349 | if test "${with_4in6+set}" = set; then | 18442 | if test "${with_4in6+set}" = set; then : |
35350 | withval=$with_4in6; | 18443 | withval=$with_4in6; |
35351 | if test "x$withval" != "xno" ; then | 18444 | if test "x$withval" != "xno" ; then |
35352 | { echo "$as_me:$LINENO: result: yes" >&5 | 18445 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
35353 | echo "${ECHO_T}yes" >&6; } | 18446 | $as_echo "yes" >&6; } |
35354 | 18447 | ||
35355 | cat >>confdefs.h <<\_ACEOF | 18448 | $as_echo "#define IPV4_IN_IPV6 1" >>confdefs.h |
35356 | #define IPV4_IN_IPV6 1 | ||
35357 | _ACEOF | ||
35358 | 18449 | ||
35359 | IPV4_IN6_HACK_MSG="yes" | 18450 | IPV4_IN6_HACK_MSG="yes" |
35360 | else | 18451 | else |
35361 | { echo "$as_me:$LINENO: result: no" >&5 | 18452 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
35362 | echo "${ECHO_T}no" >&6; } | 18453 | $as_echo "no" >&6; } |
35363 | fi | 18454 | fi |
35364 | 18455 | ||
35365 | else | 18456 | else |
35366 | 18457 | ||
35367 | if test "x$inet6_default_4in6" = "xyes"; then | 18458 | if test "x$inet6_default_4in6" = "xyes"; then |
35368 | { echo "$as_me:$LINENO: result: yes (default)" >&5 | 18459 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (default)" >&5 |
35369 | echo "${ECHO_T}yes (default)" >&6; } | 18460 | $as_echo "yes (default)" >&6; } |
35370 | cat >>confdefs.h <<\_ACEOF | 18461 | $as_echo "#define IPV4_IN_IPV6 1" >>confdefs.h |
35371 | #define IPV4_IN_IPV6 1 | ||
35372 | _ACEOF | ||
35373 | 18462 | ||
35374 | IPV4_IN6_HACK_MSG="yes" | 18463 | IPV4_IN6_HACK_MSG="yes" |
35375 | else | 18464 | else |
35376 | { echo "$as_me:$LINENO: result: no (default)" >&5 | 18465 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (default)" >&5 |
35377 | echo "${ECHO_T}no (default)" >&6; } | 18466 | $as_echo "no (default)" >&6; } |
35378 | fi | 18467 | fi |
35379 | 18468 | ||
35380 | 18469 | ||
@@ -35385,13 +18474,11 @@ fi | |||
35385 | BSD_AUTH_MSG=no | 18474 | BSD_AUTH_MSG=no |
35386 | 18475 | ||
35387 | # Check whether --with-bsd-auth was given. | 18476 | # Check whether --with-bsd-auth was given. |
35388 | if test "${with_bsd_auth+set}" = set; then | 18477 | if test "${with_bsd_auth+set}" = set; then : |
35389 | withval=$with_bsd_auth; | 18478 | withval=$with_bsd_auth; |
35390 | if test "x$withval" != "xno" ; then | 18479 | if test "x$withval" != "xno" ; then |
35391 | 18480 | ||
35392 | cat >>confdefs.h <<\_ACEOF | 18481 | $as_echo "#define BSD_AUTH 1" >>confdefs.h |
35393 | #define BSD_AUTH 1 | ||
35394 | _ACEOF | ||
35395 | 18482 | ||
35396 | BSD_AUTH_MSG=yes | 18483 | BSD_AUTH_MSG=yes |
35397 | fi | 18484 | fi |
@@ -35412,14 +18499,14 @@ fi | |||
35412 | 18499 | ||
35413 | 18500 | ||
35414 | # Check whether --with-pid-dir was given. | 18501 | # Check whether --with-pid-dir was given. |
35415 | if test "${with_pid_dir+set}" = set; then | 18502 | if test "${with_pid_dir+set}" = set; then : |
35416 | withval=$with_pid_dir; | 18503 | withval=$with_pid_dir; |
35417 | if test -n "$withval" && test "x$withval" != "xno" && \ | 18504 | if test -n "$withval" && test "x$withval" != "xno" && \ |
35418 | test "x${withval}" != "xyes"; then | 18505 | test "x${withval}" != "xyes"; then |
35419 | piddir=$withval | 18506 | piddir=$withval |
35420 | if test ! -d $piddir ; then | 18507 | if test ! -d $piddir ; then |
35421 | { echo "$as_me:$LINENO: WARNING: ** no $piddir directory on this system **" >&5 | 18508 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ** no $piddir directory on this system **" >&5 |
35422 | echo "$as_me: WARNING: ** no $piddir directory on this system **" >&2;} | 18509 | $as_echo "$as_me: WARNING: ** no $piddir directory on this system **" >&2;} |
35423 | fi | 18510 | fi |
35424 | fi | 18511 | fi |
35425 | 18512 | ||
@@ -35435,12 +18522,10 @@ _ACEOF | |||
35435 | 18522 | ||
35436 | 18523 | ||
35437 | # Check whether --enable-lastlog was given. | 18524 | # Check whether --enable-lastlog was given. |
35438 | if test "${enable_lastlog+set}" = set; then | 18525 | if test "${enable_lastlog+set}" = set; then : |
35439 | enableval=$enable_lastlog; | 18526 | enableval=$enable_lastlog; |
35440 | if test "x$enableval" = "xno" ; then | 18527 | if test "x$enableval" = "xno" ; then |
35441 | cat >>confdefs.h <<\_ACEOF | 18528 | $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h |
35442 | #define DISABLE_LASTLOG 1 | ||
35443 | _ACEOF | ||
35444 | 18529 | ||
35445 | fi | 18530 | fi |
35446 | 18531 | ||
@@ -35448,12 +18533,10 @@ _ACEOF | |||
35448 | fi | 18533 | fi |
35449 | 18534 | ||
35450 | # Check whether --enable-utmp was given. | 18535 | # Check whether --enable-utmp was given. |
35451 | if test "${enable_utmp+set}" = set; then | 18536 | if test "${enable_utmp+set}" = set; then : |
35452 | enableval=$enable_utmp; | 18537 | enableval=$enable_utmp; |
35453 | if test "x$enableval" = "xno" ; then | 18538 | if test "x$enableval" = "xno" ; then |
35454 | cat >>confdefs.h <<\_ACEOF | 18539 | $as_echo "#define DISABLE_UTMP 1" >>confdefs.h |
35455 | #define DISABLE_UTMP 1 | ||
35456 | _ACEOF | ||
35457 | 18540 | ||
35458 | fi | 18541 | fi |
35459 | 18542 | ||
@@ -35461,13 +18544,11 @@ _ACEOF | |||
35461 | fi | 18544 | fi |
35462 | 18545 | ||
35463 | # Check whether --enable-utmpx was given. | 18546 | # Check whether --enable-utmpx was given. |
35464 | if test "${enable_utmpx+set}" = set; then | 18547 | if test "${enable_utmpx+set}" = set; then : |
35465 | enableval=$enable_utmpx; | 18548 | enableval=$enable_utmpx; |
35466 | if test "x$enableval" = "xno" ; then | 18549 | if test "x$enableval" = "xno" ; then |
35467 | 18550 | ||
35468 | cat >>confdefs.h <<\_ACEOF | 18551 | $as_echo "#define DISABLE_UTMPX 1" >>confdefs.h |
35469 | #define DISABLE_UTMPX 1 | ||
35470 | _ACEOF | ||
35471 | 18552 | ||
35472 | fi | 18553 | fi |
35473 | 18554 | ||
@@ -35475,12 +18556,10 @@ _ACEOF | |||
35475 | fi | 18556 | fi |
35476 | 18557 | ||
35477 | # Check whether --enable-wtmp was given. | 18558 | # Check whether --enable-wtmp was given. |
35478 | if test "${enable_wtmp+set}" = set; then | 18559 | if test "${enable_wtmp+set}" = set; then : |
35479 | enableval=$enable_wtmp; | 18560 | enableval=$enable_wtmp; |
35480 | if test "x$enableval" = "xno" ; then | 18561 | if test "x$enableval" = "xno" ; then |
35481 | cat >>confdefs.h <<\_ACEOF | 18562 | $as_echo "#define DISABLE_WTMP 1" >>confdefs.h |
35482 | #define DISABLE_WTMP 1 | ||
35483 | _ACEOF | ||
35484 | 18563 | ||
35485 | fi | 18564 | fi |
35486 | 18565 | ||
@@ -35488,13 +18567,11 @@ _ACEOF | |||
35488 | fi | 18567 | fi |
35489 | 18568 | ||
35490 | # Check whether --enable-wtmpx was given. | 18569 | # Check whether --enable-wtmpx was given. |
35491 | if test "${enable_wtmpx+set}" = set; then | 18570 | if test "${enable_wtmpx+set}" = set; then : |
35492 | enableval=$enable_wtmpx; | 18571 | enableval=$enable_wtmpx; |
35493 | if test "x$enableval" = "xno" ; then | 18572 | if test "x$enableval" = "xno" ; then |
35494 | 18573 | ||
35495 | cat >>confdefs.h <<\_ACEOF | 18574 | $as_echo "#define DISABLE_WTMPX 1" >>confdefs.h |
35496 | #define DISABLE_WTMPX 1 | ||
35497 | _ACEOF | ||
35498 | 18575 | ||
35499 | fi | 18576 | fi |
35500 | 18577 | ||
@@ -35502,12 +18579,10 @@ _ACEOF | |||
35502 | fi | 18579 | fi |
35503 | 18580 | ||
35504 | # Check whether --enable-libutil was given. | 18581 | # Check whether --enable-libutil was given. |
35505 | if test "${enable_libutil+set}" = set; then | 18582 | if test "${enable_libutil+set}" = set; then : |
35506 | enableval=$enable_libutil; | 18583 | enableval=$enable_libutil; |
35507 | if test "x$enableval" = "xno" ; then | 18584 | if test "x$enableval" = "xno" ; then |
35508 | cat >>confdefs.h <<\_ACEOF | 18585 | $as_echo "#define DISABLE_LOGIN 1" >>confdefs.h |
35509 | #define DISABLE_LOGIN 1 | ||
35510 | _ACEOF | ||
35511 | 18586 | ||
35512 | fi | 18587 | fi |
35513 | 18588 | ||
@@ -35515,13 +18590,11 @@ _ACEOF | |||
35515 | fi | 18590 | fi |
35516 | 18591 | ||
35517 | # Check whether --enable-pututline was given. | 18592 | # Check whether --enable-pututline was given. |
35518 | if test "${enable_pututline+set}" = set; then | 18593 | if test "${enable_pututline+set}" = set; then : |
35519 | enableval=$enable_pututline; | 18594 | enableval=$enable_pututline; |
35520 | if test "x$enableval" = "xno" ; then | 18595 | if test "x$enableval" = "xno" ; then |
35521 | 18596 | ||
35522 | cat >>confdefs.h <<\_ACEOF | 18597 | $as_echo "#define DISABLE_PUTUTLINE 1" >>confdefs.h |
35523 | #define DISABLE_PUTUTLINE 1 | ||
35524 | _ACEOF | ||
35525 | 18598 | ||
35526 | fi | 18599 | fi |
35527 | 18600 | ||
@@ -35529,13 +18602,11 @@ _ACEOF | |||
35529 | fi | 18602 | fi |
35530 | 18603 | ||
35531 | # Check whether --enable-pututxline was given. | 18604 | # Check whether --enable-pututxline was given. |
35532 | if test "${enable_pututxline+set}" = set; then | 18605 | if test "${enable_pututxline+set}" = set; then : |
35533 | enableval=$enable_pututxline; | 18606 | enableval=$enable_pututxline; |
35534 | if test "x$enableval" = "xno" ; then | 18607 | if test "x$enableval" = "xno" ; then |
35535 | 18608 | ||
35536 | cat >>confdefs.h <<\_ACEOF | 18609 | $as_echo "#define DISABLE_PUTUTXLINE 1" >>confdefs.h |
35537 | #define DISABLE_PUTUTXLINE 1 | ||
35538 | _ACEOF | ||
35539 | 18610 | ||
35540 | fi | 18611 | fi |
35541 | 18612 | ||
@@ -35544,12 +18615,10 @@ fi | |||
35544 | 18615 | ||
35545 | 18616 | ||
35546 | # Check whether --with-lastlog was given. | 18617 | # Check whether --with-lastlog was given. |
35547 | if test "${with_lastlog+set}" = set; then | 18618 | if test "${with_lastlog+set}" = set; then : |
35548 | withval=$with_lastlog; | 18619 | withval=$with_lastlog; |
35549 | if test "x$withval" = "xno" ; then | 18620 | if test "x$withval" = "xno" ; then |
35550 | cat >>confdefs.h <<\_ACEOF | 18621 | $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h |
35551 | #define DISABLE_LASTLOG 1 | ||
35552 | _ACEOF | ||
35553 | 18622 | ||
35554 | elif test -n "$withval" && test "x${withval}" != "xyes"; then | 18623 | elif test -n "$withval" && test "x${withval}" != "xyes"; then |
35555 | conf_lastlog_location=$withval | 18624 | conf_lastlog_location=$withval |
@@ -35560,13 +18629,9 @@ fi | |||
35560 | 18629 | ||
35561 | 18630 | ||
35562 | 18631 | ||
35563 | { echo "$as_me:$LINENO: checking if your system defines LASTLOG_FILE" >&5 | 18632 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines LASTLOG_FILE" >&5 |
35564 | echo $ECHO_N "checking if your system defines LASTLOG_FILE... $ECHO_C" >&6; } | 18633 | $as_echo_n "checking if your system defines LASTLOG_FILE... " >&6; } |
35565 | cat >conftest.$ac_ext <<_ACEOF | 18634 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
35566 | /* confdefs.h. */ | ||
35567 | _ACEOF | ||
35568 | cat confdefs.h >>conftest.$ac_ext | ||
35569 | cat >>conftest.$ac_ext <<_ACEOF | ||
35570 | /* end confdefs.h. */ | 18635 | /* end confdefs.h. */ |
35571 | 18636 | ||
35572 | #include <sys/types.h> | 18637 | #include <sys/types.h> |
@@ -35589,39 +18654,16 @@ main () | |||
35589 | return 0; | 18654 | return 0; |
35590 | } | 18655 | } |
35591 | _ACEOF | 18656 | _ACEOF |
35592 | rm -f conftest.$ac_objext | 18657 | if ac_fn_c_try_compile "$LINENO"; then : |
35593 | if { (ac_try="$ac_compile" | 18658 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
35594 | case "(($ac_try" in | 18659 | $as_echo "yes" >&6; } |
35595 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
35596 | *) ac_try_echo=$ac_try;; | ||
35597 | esac | ||
35598 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
35599 | (eval "$ac_compile") 2>conftest.er1 | ||
35600 | ac_status=$? | ||
35601 | grep -v '^ *+' conftest.er1 >conftest.err | ||
35602 | rm -f conftest.er1 | ||
35603 | cat conftest.err >&5 | ||
35604 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
35605 | (exit $ac_status); } && { | ||
35606 | test -z "$ac_c_werror_flag" || | ||
35607 | test ! -s conftest.err | ||
35608 | } && test -s conftest.$ac_objext; then | ||
35609 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
35610 | echo "${ECHO_T}yes" >&6; } | ||
35611 | else | 18660 | else |
35612 | echo "$as_me: failed program was:" >&5 | ||
35613 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
35614 | |||
35615 | 18661 | ||
35616 | { echo "$as_me:$LINENO: result: no" >&5 | 18662 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
35617 | echo "${ECHO_T}no" >&6; } | 18663 | $as_echo "no" >&6; } |
35618 | { echo "$as_me:$LINENO: checking if your system defines _PATH_LASTLOG" >&5 | 18664 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines _PATH_LASTLOG" >&5 |
35619 | echo $ECHO_N "checking if your system defines _PATH_LASTLOG... $ECHO_C" >&6; } | 18665 | $as_echo_n "checking if your system defines _PATH_LASTLOG... " >&6; } |
35620 | cat >conftest.$ac_ext <<_ACEOF | 18666 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
35621 | /* confdefs.h. */ | ||
35622 | _ACEOF | ||
35623 | cat confdefs.h >>conftest.$ac_ext | ||
35624 | cat >>conftest.$ac_ext <<_ACEOF | ||
35625 | /* end confdefs.h. */ | 18667 | /* end confdefs.h. */ |
35626 | 18668 | ||
35627 | #include <sys/types.h> | 18669 | #include <sys/types.h> |
@@ -35641,40 +18683,19 @@ main () | |||
35641 | return 0; | 18683 | return 0; |
35642 | } | 18684 | } |
35643 | _ACEOF | 18685 | _ACEOF |
35644 | rm -f conftest.$ac_objext | 18686 | if ac_fn_c_try_compile "$LINENO"; then : |
35645 | if { (ac_try="$ac_compile" | 18687 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
35646 | case "(($ac_try" in | 18688 | $as_echo "yes" >&6; } |
35647 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
35648 | *) ac_try_echo=$ac_try;; | ||
35649 | esac | ||
35650 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
35651 | (eval "$ac_compile") 2>conftest.er1 | ||
35652 | ac_status=$? | ||
35653 | grep -v '^ *+' conftest.er1 >conftest.err | ||
35654 | rm -f conftest.er1 | ||
35655 | cat conftest.err >&5 | ||
35656 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
35657 | (exit $ac_status); } && { | ||
35658 | test -z "$ac_c_werror_flag" || | ||
35659 | test ! -s conftest.err | ||
35660 | } && test -s conftest.$ac_objext; then | ||
35661 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
35662 | echo "${ECHO_T}yes" >&6; } | ||
35663 | else | 18689 | else |
35664 | echo "$as_me: failed program was:" >&5 | ||
35665 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
35666 | 18690 | ||
35667 | 18691 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | |
35668 | { echo "$as_me:$LINENO: result: no" >&5 | 18692 | $as_echo "no" >&6; } |
35669 | echo "${ECHO_T}no" >&6; } | ||
35670 | system_lastlog_path=no | 18693 | system_lastlog_path=no |
35671 | 18694 | ||
35672 | fi | 18695 | fi |
35673 | |||
35674 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 18696 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
35675 | 18697 | ||
35676 | fi | 18698 | fi |
35677 | |||
35678 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 18699 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
35679 | 18700 | ||
35680 | if test -z "$conf_lastlog_location"; then | 18701 | if test -z "$conf_lastlog_location"; then |
@@ -35685,8 +18706,8 @@ if test -z "$conf_lastlog_location"; then | |||
35685 | fi | 18706 | fi |
35686 | done | 18707 | done |
35687 | if test -z "$conf_lastlog_location"; then | 18708 | if test -z "$conf_lastlog_location"; then |
35688 | { echo "$as_me:$LINENO: WARNING: ** Cannot find lastlog **" >&5 | 18709 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ** Cannot find lastlog **" >&5 |
35689 | echo "$as_me: WARNING: ** Cannot find lastlog **" >&2;} | 18710 | $as_echo "$as_me: WARNING: ** Cannot find lastlog **" >&2;} |
35690 | fi | 18711 | fi |
35691 | fi | 18712 | fi |
35692 | fi | 18713 | fi |
@@ -35699,13 +18720,9 @@ _ACEOF | |||
35699 | 18720 | ||
35700 | fi | 18721 | fi |
35701 | 18722 | ||
35702 | { echo "$as_me:$LINENO: checking if your system defines UTMP_FILE" >&5 | 18723 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines UTMP_FILE" >&5 |
35703 | echo $ECHO_N "checking if your system defines UTMP_FILE... $ECHO_C" >&6; } | 18724 | $as_echo_n "checking if your system defines UTMP_FILE... " >&6; } |
35704 | cat >conftest.$ac_ext <<_ACEOF | 18725 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
35705 | /* confdefs.h. */ | ||
35706 | _ACEOF | ||
35707 | cat confdefs.h >>conftest.$ac_ext | ||
35708 | cat >>conftest.$ac_ext <<_ACEOF | ||
35709 | /* end confdefs.h. */ | 18726 | /* end confdefs.h. */ |
35710 | 18727 | ||
35711 | #include <sys/types.h> | 18728 | #include <sys/types.h> |
@@ -35722,35 +18739,15 @@ main () | |||
35722 | return 0; | 18739 | return 0; |
35723 | } | 18740 | } |
35724 | _ACEOF | 18741 | _ACEOF |
35725 | rm -f conftest.$ac_objext | 18742 | if ac_fn_c_try_compile "$LINENO"; then : |
35726 | if { (ac_try="$ac_compile" | 18743 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
35727 | case "(($ac_try" in | 18744 | $as_echo "yes" >&6; } |
35728 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
35729 | *) ac_try_echo=$ac_try;; | ||
35730 | esac | ||
35731 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
35732 | (eval "$ac_compile") 2>conftest.er1 | ||
35733 | ac_status=$? | ||
35734 | grep -v '^ *+' conftest.er1 >conftest.err | ||
35735 | rm -f conftest.er1 | ||
35736 | cat conftest.err >&5 | ||
35737 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
35738 | (exit $ac_status); } && { | ||
35739 | test -z "$ac_c_werror_flag" || | ||
35740 | test ! -s conftest.err | ||
35741 | } && test -s conftest.$ac_objext; then | ||
35742 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
35743 | echo "${ECHO_T}yes" >&6; } | ||
35744 | else | 18745 | else |
35745 | echo "$as_me: failed program was:" >&5 | 18746 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
35746 | sed 's/^/| /' conftest.$ac_ext >&5 | 18747 | $as_echo "no" >&6; } |
35747 | |||
35748 | { echo "$as_me:$LINENO: result: no" >&5 | ||
35749 | echo "${ECHO_T}no" >&6; } | ||
35750 | system_utmp_path=no | 18748 | system_utmp_path=no |
35751 | 18749 | ||
35752 | fi | 18750 | fi |
35753 | |||
35754 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 18751 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
35755 | if test -z "$conf_utmp_location"; then | 18752 | if test -z "$conf_utmp_location"; then |
35756 | if test x"$system_utmp_path" = x"no" ; then | 18753 | if test x"$system_utmp_path" = x"no" ; then |
@@ -35760,9 +18757,7 @@ if test -z "$conf_utmp_location"; then | |||
35760 | fi | 18757 | fi |
35761 | done | 18758 | done |
35762 | if test -z "$conf_utmp_location"; then | 18759 | if test -z "$conf_utmp_location"; then |
35763 | cat >>confdefs.h <<\_ACEOF | 18760 | $as_echo "#define DISABLE_UTMP 1" >>confdefs.h |
35764 | #define DISABLE_UTMP 1 | ||
35765 | _ACEOF | ||
35766 | 18761 | ||
35767 | fi | 18762 | fi |
35768 | fi | 18763 | fi |
@@ -35775,13 +18770,9 @@ _ACEOF | |||
35775 | 18770 | ||
35776 | fi | 18771 | fi |
35777 | 18772 | ||
35778 | { echo "$as_me:$LINENO: checking if your system defines WTMP_FILE" >&5 | 18773 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines WTMP_FILE" >&5 |
35779 | echo $ECHO_N "checking if your system defines WTMP_FILE... $ECHO_C" >&6; } | 18774 | $as_echo_n "checking if your system defines WTMP_FILE... " >&6; } |
35780 | cat >conftest.$ac_ext <<_ACEOF | 18775 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
35781 | /* confdefs.h. */ | ||
35782 | _ACEOF | ||
35783 | cat confdefs.h >>conftest.$ac_ext | ||
35784 | cat >>conftest.$ac_ext <<_ACEOF | ||
35785 | /* end confdefs.h. */ | 18776 | /* end confdefs.h. */ |
35786 | 18777 | ||
35787 | #include <sys/types.h> | 18778 | #include <sys/types.h> |
@@ -35798,35 +18789,15 @@ main () | |||
35798 | return 0; | 18789 | return 0; |
35799 | } | 18790 | } |
35800 | _ACEOF | 18791 | _ACEOF |
35801 | rm -f conftest.$ac_objext | 18792 | if ac_fn_c_try_compile "$LINENO"; then : |
35802 | if { (ac_try="$ac_compile" | 18793 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
35803 | case "(($ac_try" in | 18794 | $as_echo "yes" >&6; } |
35804 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
35805 | *) ac_try_echo=$ac_try;; | ||
35806 | esac | ||
35807 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
35808 | (eval "$ac_compile") 2>conftest.er1 | ||
35809 | ac_status=$? | ||
35810 | grep -v '^ *+' conftest.er1 >conftest.err | ||
35811 | rm -f conftest.er1 | ||
35812 | cat conftest.err >&5 | ||
35813 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
35814 | (exit $ac_status); } && { | ||
35815 | test -z "$ac_c_werror_flag" || | ||
35816 | test ! -s conftest.err | ||
35817 | } && test -s conftest.$ac_objext; then | ||
35818 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
35819 | echo "${ECHO_T}yes" >&6; } | ||
35820 | else | 18795 | else |
35821 | echo "$as_me: failed program was:" >&5 | 18796 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
35822 | sed 's/^/| /' conftest.$ac_ext >&5 | 18797 | $as_echo "no" >&6; } |
35823 | |||
35824 | { echo "$as_me:$LINENO: result: no" >&5 | ||
35825 | echo "${ECHO_T}no" >&6; } | ||
35826 | system_wtmp_path=no | 18798 | system_wtmp_path=no |
35827 | 18799 | ||
35828 | fi | 18800 | fi |
35829 | |||
35830 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 18801 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
35831 | if test -z "$conf_wtmp_location"; then | 18802 | if test -z "$conf_wtmp_location"; then |
35832 | if test x"$system_wtmp_path" = x"no" ; then | 18803 | if test x"$system_wtmp_path" = x"no" ; then |
@@ -35836,9 +18807,7 @@ if test -z "$conf_wtmp_location"; then | |||
35836 | fi | 18807 | fi |
35837 | done | 18808 | done |
35838 | if test -z "$conf_wtmp_location"; then | 18809 | if test -z "$conf_wtmp_location"; then |
35839 | cat >>confdefs.h <<\_ACEOF | 18810 | $as_echo "#define DISABLE_WTMP 1" >>confdefs.h |
35840 | #define DISABLE_WTMP 1 | ||
35841 | _ACEOF | ||
35842 | 18811 | ||
35843 | fi | 18812 | fi |
35844 | fi | 18813 | fi |
@@ -35851,13 +18820,9 @@ _ACEOF | |||
35851 | 18820 | ||
35852 | fi | 18821 | fi |
35853 | 18822 | ||
35854 | { echo "$as_me:$LINENO: checking if your system defines WTMPX_FILE" >&5 | 18823 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines WTMPX_FILE" >&5 |
35855 | echo $ECHO_N "checking if your system defines WTMPX_FILE... $ECHO_C" >&6; } | 18824 | $as_echo_n "checking if your system defines WTMPX_FILE... " >&6; } |
35856 | cat >conftest.$ac_ext <<_ACEOF | 18825 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
35857 | /* confdefs.h. */ | ||
35858 | _ACEOF | ||
35859 | cat confdefs.h >>conftest.$ac_ext | ||
35860 | cat >>conftest.$ac_ext <<_ACEOF | ||
35861 | /* end confdefs.h. */ | 18826 | /* end confdefs.h. */ |
35862 | 18827 | ||
35863 | #include <sys/types.h> | 18828 | #include <sys/types.h> |
@@ -35877,41 +18842,19 @@ main () | |||
35877 | return 0; | 18842 | return 0; |
35878 | } | 18843 | } |
35879 | _ACEOF | 18844 | _ACEOF |
35880 | rm -f conftest.$ac_objext | 18845 | if ac_fn_c_try_compile "$LINENO"; then : |
35881 | if { (ac_try="$ac_compile" | 18846 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
35882 | case "(($ac_try" in | 18847 | $as_echo "yes" >&6; } |
35883 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
35884 | *) ac_try_echo=$ac_try;; | ||
35885 | esac | ||
35886 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
35887 | (eval "$ac_compile") 2>conftest.er1 | ||
35888 | ac_status=$? | ||
35889 | grep -v '^ *+' conftest.er1 >conftest.err | ||
35890 | rm -f conftest.er1 | ||
35891 | cat conftest.err >&5 | ||
35892 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
35893 | (exit $ac_status); } && { | ||
35894 | test -z "$ac_c_werror_flag" || | ||
35895 | test ! -s conftest.err | ||
35896 | } && test -s conftest.$ac_objext; then | ||
35897 | { echo "$as_me:$LINENO: result: yes" >&5 | ||
35898 | echo "${ECHO_T}yes" >&6; } | ||
35899 | else | 18848 | else |
35900 | echo "$as_me: failed program was:" >&5 | 18849 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
35901 | sed 's/^/| /' conftest.$ac_ext >&5 | 18850 | $as_echo "no" >&6; } |
35902 | |||
35903 | { echo "$as_me:$LINENO: result: no" >&5 | ||
35904 | echo "${ECHO_T}no" >&6; } | ||
35905 | system_wtmpx_path=no | 18851 | system_wtmpx_path=no |
35906 | 18852 | ||
35907 | fi | 18853 | fi |
35908 | |||
35909 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 18854 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
35910 | if test -z "$conf_wtmpx_location"; then | 18855 | if test -z "$conf_wtmpx_location"; then |
35911 | if test x"$system_wtmpx_path" = x"no" ; then | 18856 | if test x"$system_wtmpx_path" = x"no" ; then |
35912 | cat >>confdefs.h <<\_ACEOF | 18857 | $as_echo "#define DISABLE_WTMPX 1" >>confdefs.h |
35913 | #define DISABLE_WTMPX 1 | ||
35914 | _ACEOF | ||
35915 | 18858 | ||
35916 | fi | 18859 | fi |
35917 | else | 18860 | else |
@@ -35925,75 +18868,11 @@ fi | |||
35925 | 18868 | ||
35926 | if test ! -z "$blibpath" ; then | 18869 | if test ! -z "$blibpath" ; then |
35927 | LDFLAGS="$LDFLAGS $blibflags$blibpath" | 18870 | LDFLAGS="$LDFLAGS $blibflags$blibpath" |
35928 | { echo "$as_me:$LINENO: WARNING: Please check and edit blibpath in LDFLAGS in Makefile" >&5 | 18871 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Please check and edit blibpath in LDFLAGS in Makefile" >&5 |
35929 | echo "$as_me: WARNING: Please check and edit blibpath in LDFLAGS in Makefile" >&2;} | 18872 | $as_echo "$as_me: WARNING: Please check and edit blibpath in LDFLAGS in Makefile" >&2;} |
35930 | fi | 18873 | fi |
35931 | 18874 | ||
35932 | { echo "$as_me:$LINENO: checking for struct lastlog.ll_line" >&5 | 18875 | ac_fn_c_check_member "$LINENO" "struct lastlog" "ll_line" "ac_cv_member_struct_lastlog_ll_line" " |
35933 | echo $ECHO_N "checking for struct lastlog.ll_line... $ECHO_C" >&6; } | ||
35934 | if test "${ac_cv_member_struct_lastlog_ll_line+set}" = set; then | ||
35935 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
35936 | else | ||
35937 | cat >conftest.$ac_ext <<_ACEOF | ||
35938 | /* confdefs.h. */ | ||
35939 | _ACEOF | ||
35940 | cat confdefs.h >>conftest.$ac_ext | ||
35941 | cat >>conftest.$ac_ext <<_ACEOF | ||
35942 | /* end confdefs.h. */ | ||
35943 | |||
35944 | #ifdef HAVE_SYS_TYPES_H | ||
35945 | #include <sys/types.h> | ||
35946 | #endif | ||
35947 | #ifdef HAVE_UTMP_H | ||
35948 | #include <utmp.h> | ||
35949 | #endif | ||
35950 | #ifdef HAVE_UTMPX_H | ||
35951 | #include <utmpx.h> | ||
35952 | #endif | ||
35953 | #ifdef HAVE_LASTLOG_H | ||
35954 | #include <lastlog.h> | ||
35955 | #endif | ||
35956 | |||
35957 | |||
35958 | int | ||
35959 | main () | ||
35960 | { | ||
35961 | static struct lastlog ac_aggr; | ||
35962 | if (ac_aggr.ll_line) | ||
35963 | return 0; | ||
35964 | ; | ||
35965 | return 0; | ||
35966 | } | ||
35967 | _ACEOF | ||
35968 | rm -f conftest.$ac_objext | ||
35969 | if { (ac_try="$ac_compile" | ||
35970 | case "(($ac_try" in | ||
35971 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
35972 | *) ac_try_echo=$ac_try;; | ||
35973 | esac | ||
35974 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
35975 | (eval "$ac_compile") 2>conftest.er1 | ||
35976 | ac_status=$? | ||
35977 | grep -v '^ *+' conftest.er1 >conftest.err | ||
35978 | rm -f conftest.er1 | ||
35979 | cat conftest.err >&5 | ||
35980 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
35981 | (exit $ac_status); } && { | ||
35982 | test -z "$ac_c_werror_flag" || | ||
35983 | test ! -s conftest.err | ||
35984 | } && test -s conftest.$ac_objext; then | ||
35985 | ac_cv_member_struct_lastlog_ll_line=yes | ||
35986 | else | ||
35987 | echo "$as_me: failed program was:" >&5 | ||
35988 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
35989 | |||
35990 | cat >conftest.$ac_ext <<_ACEOF | ||
35991 | /* confdefs.h. */ | ||
35992 | _ACEOF | ||
35993 | cat confdefs.h >>conftest.$ac_ext | ||
35994 | cat >>conftest.$ac_ext <<_ACEOF | ||
35995 | /* end confdefs.h. */ | ||
35996 | |||
35997 | #ifdef HAVE_SYS_TYPES_H | 18876 | #ifdef HAVE_SYS_TYPES_H |
35998 | #include <sys/types.h> | 18877 | #include <sys/types.h> |
35999 | #endif | 18878 | #endif |
@@ -36007,75 +18886,20 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
36007 | #include <lastlog.h> | 18886 | #include <lastlog.h> |
36008 | #endif | 18887 | #endif |
36009 | 18888 | ||
18889 | " | ||
18890 | if test "x$ac_cv_member_struct_lastlog_ll_line" = xyes; then : | ||
36010 | 18891 | ||
36011 | int | ||
36012 | main () | ||
36013 | { | ||
36014 | static struct lastlog ac_aggr; | ||
36015 | if (sizeof ac_aggr.ll_line) | ||
36016 | return 0; | ||
36017 | ; | ||
36018 | return 0; | ||
36019 | } | ||
36020 | _ACEOF | ||
36021 | rm -f conftest.$ac_objext | ||
36022 | if { (ac_try="$ac_compile" | ||
36023 | case "(($ac_try" in | ||
36024 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
36025 | *) ac_try_echo=$ac_try;; | ||
36026 | esac | ||
36027 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
36028 | (eval "$ac_compile") 2>conftest.er1 | ||
36029 | ac_status=$? | ||
36030 | grep -v '^ *+' conftest.er1 >conftest.err | ||
36031 | rm -f conftest.er1 | ||
36032 | cat conftest.err >&5 | ||
36033 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
36034 | (exit $ac_status); } && { | ||
36035 | test -z "$ac_c_werror_flag" || | ||
36036 | test ! -s conftest.err | ||
36037 | } && test -s conftest.$ac_objext; then | ||
36038 | ac_cv_member_struct_lastlog_ll_line=yes | ||
36039 | else | ||
36040 | echo "$as_me: failed program was:" >&5 | ||
36041 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
36042 | |||
36043 | ac_cv_member_struct_lastlog_ll_line=no | ||
36044 | fi | ||
36045 | |||
36046 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
36047 | fi | ||
36048 | |||
36049 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
36050 | fi | ||
36051 | { echo "$as_me:$LINENO: result: $ac_cv_member_struct_lastlog_ll_line" >&5 | ||
36052 | echo "${ECHO_T}$ac_cv_member_struct_lastlog_ll_line" >&6; } | ||
36053 | if test $ac_cv_member_struct_lastlog_ll_line = yes; then | ||
36054 | : | ||
36055 | else | 18892 | else |
36056 | 18893 | ||
36057 | if test x$SKIP_DISABLE_LASTLOG_DEFINE != "xyes" ; then | 18894 | if test x$SKIP_DISABLE_LASTLOG_DEFINE != "xyes" ; then |
36058 | cat >>confdefs.h <<\_ACEOF | 18895 | $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h |
36059 | #define DISABLE_LASTLOG 1 | ||
36060 | _ACEOF | ||
36061 | 18896 | ||
36062 | fi | 18897 | fi |
36063 | 18898 | ||
36064 | fi | 18899 | fi |
36065 | 18900 | ||
36066 | 18901 | ||
36067 | { echo "$as_me:$LINENO: checking for struct utmp.ut_line" >&5 | 18902 | ac_fn_c_check_member "$LINENO" "struct utmp" "ut_line" "ac_cv_member_struct_utmp_ut_line" " |
36068 | echo $ECHO_N "checking for struct utmp.ut_line... $ECHO_C" >&6; } | ||
36069 | if test "${ac_cv_member_struct_utmp_ut_line+set}" = set; then | ||
36070 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
36071 | else | ||
36072 | cat >conftest.$ac_ext <<_ACEOF | ||
36073 | /* confdefs.h. */ | ||
36074 | _ACEOF | ||
36075 | cat confdefs.h >>conftest.$ac_ext | ||
36076 | cat >>conftest.$ac_ext <<_ACEOF | ||
36077 | /* end confdefs.h. */ | ||
36078 | |||
36079 | #ifdef HAVE_SYS_TYPES_H | 18903 | #ifdef HAVE_SYS_TYPES_H |
36080 | #include <sys/types.h> | 18904 | #include <sys/types.h> |
36081 | #endif | 18905 | #endif |
@@ -36089,113 +18913,14 @@ cat >>conftest.$ac_ext <<_ACEOF | |||
36089 | #include <lastlog.h> | 18913 | #include <lastlog.h> |
36090 | #endif | 18914 | #endif |
36091 | 18915 | ||
18916 | " | ||
18917 | if test "x$ac_cv_member_struct_utmp_ut_line" = xyes; then : | ||
36092 | 18918 | ||
36093 | int | ||
36094 | main () | ||
36095 | { | ||
36096 | static struct utmp ac_aggr; | ||
36097 | if (ac_aggr.ut_line) | ||
36098 | return 0; | ||
36099 | ; | ||
36100 | return 0; | ||
36101 | } | ||
36102 | _ACEOF | ||
36103 | rm -f conftest.$ac_objext | ||
36104 | if { (ac_try="$ac_compile" | ||
36105 | case "(($ac_try" in | ||
36106 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
36107 | *) ac_try_echo=$ac_try;; | ||
36108 | esac | ||
36109 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
36110 | (eval "$ac_compile") 2>conftest.er1 | ||
36111 | ac_status=$? | ||
36112 | grep -v '^ *+' conftest.er1 >conftest.err | ||
36113 | rm -f conftest.er1 | ||
36114 | cat conftest.err >&5 | ||
36115 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
36116 | (exit $ac_status); } && { | ||
36117 | test -z "$ac_c_werror_flag" || | ||
36118 | test ! -s conftest.err | ||
36119 | } && test -s conftest.$ac_objext; then | ||
36120 | ac_cv_member_struct_utmp_ut_line=yes | ||
36121 | else | ||
36122 | echo "$as_me: failed program was:" >&5 | ||
36123 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
36124 | |||
36125 | cat >conftest.$ac_ext <<_ACEOF | ||
36126 | /* confdefs.h. */ | ||
36127 | _ACEOF | ||
36128 | cat confdefs.h >>conftest.$ac_ext | ||
36129 | cat >>conftest.$ac_ext <<_ACEOF | ||
36130 | /* end confdefs.h. */ | ||
36131 | |||
36132 | #ifdef HAVE_SYS_TYPES_H | ||
36133 | #include <sys/types.h> | ||
36134 | #endif | ||
36135 | #ifdef HAVE_UTMP_H | ||
36136 | #include <utmp.h> | ||
36137 | #endif | ||
36138 | #ifdef HAVE_UTMPX_H | ||
36139 | #include <utmpx.h> | ||
36140 | #endif | ||
36141 | #ifdef HAVE_LASTLOG_H | ||
36142 | #include <lastlog.h> | ||
36143 | #endif | ||
36144 | |||
36145 | |||
36146 | int | ||
36147 | main () | ||
36148 | { | ||
36149 | static struct utmp ac_aggr; | ||
36150 | if (sizeof ac_aggr.ut_line) | ||
36151 | return 0; | ||
36152 | ; | ||
36153 | return 0; | ||
36154 | } | ||
36155 | _ACEOF | ||
36156 | rm -f conftest.$ac_objext | ||
36157 | if { (ac_try="$ac_compile" | ||
36158 | case "(($ac_try" in | ||
36159 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
36160 | *) ac_try_echo=$ac_try;; | ||
36161 | esac | ||
36162 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
36163 | (eval "$ac_compile") 2>conftest.er1 | ||
36164 | ac_status=$? | ||
36165 | grep -v '^ *+' conftest.er1 >conftest.err | ||
36166 | rm -f conftest.er1 | ||
36167 | cat conftest.err >&5 | ||
36168 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
36169 | (exit $ac_status); } && { | ||
36170 | test -z "$ac_c_werror_flag" || | ||
36171 | test ! -s conftest.err | ||
36172 | } && test -s conftest.$ac_objext; then | ||
36173 | ac_cv_member_struct_utmp_ut_line=yes | ||
36174 | else | ||
36175 | echo "$as_me: failed program was:" >&5 | ||
36176 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
36177 | |||
36178 | ac_cv_member_struct_utmp_ut_line=no | ||
36179 | fi | ||
36180 | |||
36181 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
36182 | fi | ||
36183 | |||
36184 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
36185 | fi | ||
36186 | { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmp_ut_line" >&5 | ||
36187 | echo "${ECHO_T}$ac_cv_member_struct_utmp_ut_line" >&6; } | ||
36188 | if test $ac_cv_member_struct_utmp_ut_line = yes; then | ||
36189 | : | ||
36190 | else | 18919 | else |
36191 | 18920 | ||
36192 | cat >>confdefs.h <<\_ACEOF | 18921 | $as_echo "#define DISABLE_UTMP 1" >>confdefs.h |
36193 | #define DISABLE_UTMP 1 | ||
36194 | _ACEOF | ||
36195 | 18922 | ||
36196 | cat >>confdefs.h <<\_ACEOF | 18923 | $as_echo "#define DISABLE_WTMP 1" >>confdefs.h |
36197 | #define DISABLE_WTMP 1 | ||
36198 | _ACEOF | ||
36199 | 18924 | ||
36200 | 18925 | ||
36201 | fi | 18926 | fi |
@@ -36208,64 +18933,15 @@ if test "x$ac_cv_func_getaddrinfo" != "xyes" ; then | |||
36208 | else | 18933 | else |
36209 | TEST_SSH_IPV6=yes | 18934 | TEST_SSH_IPV6=yes |
36210 | fi | 18935 | fi |
36211 | { echo "$as_me:$LINENO: checking whether BROKEN_GETADDRINFO is declared" >&5 | 18936 | ac_fn_c_check_decl "$LINENO" "BROKEN_GETADDRINFO" "ac_cv_have_decl_BROKEN_GETADDRINFO" "$ac_includes_default" |
36212 | echo $ECHO_N "checking whether BROKEN_GETADDRINFO is declared... $ECHO_C" >&6; } | 18937 | if test "x$ac_cv_have_decl_BROKEN_GETADDRINFO" = xyes; then : |
36213 | if test "${ac_cv_have_decl_BROKEN_GETADDRINFO+set}" = set; then | ||
36214 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
36215 | else | ||
36216 | cat >conftest.$ac_ext <<_ACEOF | ||
36217 | /* confdefs.h. */ | ||
36218 | _ACEOF | ||
36219 | cat confdefs.h >>conftest.$ac_ext | ||
36220 | cat >>conftest.$ac_ext <<_ACEOF | ||
36221 | /* end confdefs.h. */ | ||
36222 | $ac_includes_default | ||
36223 | int | ||
36224 | main () | ||
36225 | { | ||
36226 | #ifndef BROKEN_GETADDRINFO | ||
36227 | (void) BROKEN_GETADDRINFO; | ||
36228 | #endif | ||
36229 | |||
36230 | ; | ||
36231 | return 0; | ||
36232 | } | ||
36233 | _ACEOF | ||
36234 | rm -f conftest.$ac_objext | ||
36235 | if { (ac_try="$ac_compile" | ||
36236 | case "(($ac_try" in | ||
36237 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
36238 | *) ac_try_echo=$ac_try;; | ||
36239 | esac | ||
36240 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
36241 | (eval "$ac_compile") 2>conftest.er1 | ||
36242 | ac_status=$? | ||
36243 | grep -v '^ *+' conftest.er1 >conftest.err | ||
36244 | rm -f conftest.er1 | ||
36245 | cat conftest.err >&5 | ||
36246 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
36247 | (exit $ac_status); } && { | ||
36248 | test -z "$ac_c_werror_flag" || | ||
36249 | test ! -s conftest.err | ||
36250 | } && test -s conftest.$ac_objext; then | ||
36251 | ac_cv_have_decl_BROKEN_GETADDRINFO=yes | ||
36252 | else | ||
36253 | echo "$as_me: failed program was:" >&5 | ||
36254 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
36255 | |||
36256 | ac_cv_have_decl_BROKEN_GETADDRINFO=no | ||
36257 | fi | ||
36258 | |||
36259 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
36260 | fi | ||
36261 | { echo "$as_me:$LINENO: result: $ac_cv_have_decl_BROKEN_GETADDRINFO" >&5 | ||
36262 | echo "${ECHO_T}$ac_cv_have_decl_BROKEN_GETADDRINFO" >&6; } | ||
36263 | if test $ac_cv_have_decl_BROKEN_GETADDRINFO = yes; then | ||
36264 | TEST_SSH_IPV6=no | 18938 | TEST_SSH_IPV6=no |
36265 | fi | 18939 | fi |
36266 | 18940 | ||
36267 | TEST_SSH_IPV6=$TEST_SSH_IPV6 | 18941 | TEST_SSH_IPV6=$TEST_SSH_IPV6 |
36268 | 18942 | ||
18943 | TEST_SSH_UTF8=$TEST_SSH_UTF8 | ||
18944 | |||
36269 | TEST_MALLOC_OPTIONS=$TEST_MALLOC_OPTIONS | 18945 | TEST_MALLOC_OPTIONS=$TEST_MALLOC_OPTIONS |
36270 | 18946 | ||
36271 | UNSUPPORTED_ALGORITHMS=$unsupported_algorithms | 18947 | UNSUPPORTED_ALGORITHMS=$unsupported_algorithms |
@@ -36301,12 +18977,13 @@ _ACEOF | |||
36301 | case $ac_val in #( | 18977 | case $ac_val in #( |
36302 | *${as_nl}*) | 18978 | *${as_nl}*) |
36303 | case $ac_var in #( | 18979 | case $ac_var in #( |
36304 | *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 | 18980 | *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 |
36305 | echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; | 18981 | $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; |
36306 | esac | 18982 | esac |
36307 | case $ac_var in #( | 18983 | case $ac_var in #( |
36308 | _ | IFS | as_nl) ;; #( | 18984 | _ | IFS | as_nl) ;; #( |
36309 | *) $as_unset $ac_var ;; | 18985 | BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( |
18986 | *) { eval $ac_var=; unset $ac_var;} ;; | ||
36310 | esac ;; | 18987 | esac ;; |
36311 | esac | 18988 | esac |
36312 | done | 18989 | done |
@@ -36314,8 +18991,8 @@ echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; | |||
36314 | (set) 2>&1 | | 18991 | (set) 2>&1 | |
36315 | case $as_nl`(ac_space=' '; set) 2>&1` in #( | 18992 | case $as_nl`(ac_space=' '; set) 2>&1` in #( |
36316 | *${as_nl}ac_space=\ *) | 18993 | *${as_nl}ac_space=\ *) |
36317 | # `set' does not quote correctly, so add quotes (double-quote | 18994 | # `set' does not quote correctly, so add quotes: double-quote |
36318 | # substitution turns \\\\ into \\, and sed turns \\ into \). | 18995 | # substitution turns \\\\ into \\, and sed turns \\ into \. |
36319 | sed -n \ | 18996 | sed -n \ |
36320 | "s/'/'\\\\''/g; | 18997 | "s/'/'\\\\''/g; |
36321 | s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" | 18998 | s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" |
@@ -36337,13 +19014,24 @@ echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; | |||
36337 | :end' >>confcache | 19014 | :end' >>confcache |
36338 | if diff "$cache_file" confcache >/dev/null 2>&1; then :; else | 19015 | if diff "$cache_file" confcache >/dev/null 2>&1; then :; else |
36339 | if test -w "$cache_file"; then | 19016 | if test -w "$cache_file"; then |
36340 | test "x$cache_file" != "x/dev/null" && | 19017 | if test "x$cache_file" != "x/dev/null"; then |
36341 | { echo "$as_me:$LINENO: updating cache $cache_file" >&5 | 19018 | { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 |
36342 | echo "$as_me: updating cache $cache_file" >&6;} | 19019 | $as_echo "$as_me: updating cache $cache_file" >&6;} |
36343 | cat confcache >$cache_file | 19020 | if test ! -f "$cache_file" || test -h "$cache_file"; then |
19021 | cat confcache >"$cache_file" | ||
19022 | else | ||
19023 | case $cache_file in #( | ||
19024 | */* | ?:*) | ||
19025 | mv -f confcache "$cache_file"$$ && | ||
19026 | mv -f "$cache_file"$$ "$cache_file" ;; #( | ||
19027 | *) | ||
19028 | mv -f confcache "$cache_file" ;; | ||
19029 | esac | ||
19030 | fi | ||
19031 | fi | ||
36344 | else | 19032 | else |
36345 | { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 | 19033 | { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 |
36346 | echo "$as_me: not updating unwritable cache $cache_file" >&6;} | 19034 | $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} |
36347 | fi | 19035 | fi |
36348 | fi | 19036 | fi |
36349 | rm -f confcache | 19037 | rm -f confcache |
@@ -36356,14 +19044,15 @@ DEFS=-DHAVE_CONFIG_H | |||
36356 | 19044 | ||
36357 | ac_libobjs= | 19045 | ac_libobjs= |
36358 | ac_ltlibobjs= | 19046 | ac_ltlibobjs= |
19047 | U= | ||
36359 | for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue | 19048 | for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue |
36360 | # 1. Remove the extension, and $U if already installed. | 19049 | # 1. Remove the extension, and $U if already installed. |
36361 | ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' | 19050 | ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' |
36362 | ac_i=`echo "$ac_i" | sed "$ac_script"` | 19051 | ac_i=`$as_echo "$ac_i" | sed "$ac_script"` |
36363 | # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR | 19052 | # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR |
36364 | # will be set to the directory where LIBOBJS objects are built. | 19053 | # will be set to the directory where LIBOBJS objects are built. |
36365 | ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" | 19054 | as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" |
36366 | ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' | 19055 | as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' |
36367 | done | 19056 | done |
36368 | LIBOBJS=$ac_libobjs | 19057 | LIBOBJS=$ac_libobjs |
36369 | 19058 | ||
@@ -36371,12 +19060,15 @@ LTLIBOBJS=$ac_ltlibobjs | |||
36371 | 19060 | ||
36372 | 19061 | ||
36373 | 19062 | ||
36374 | : ${CONFIG_STATUS=./config.status} | 19063 | |
19064 | : "${CONFIG_STATUS=./config.status}" | ||
19065 | ac_write_fail=0 | ||
36375 | ac_clean_files_save=$ac_clean_files | 19066 | ac_clean_files_save=$ac_clean_files |
36376 | ac_clean_files="$ac_clean_files $CONFIG_STATUS" | 19067 | ac_clean_files="$ac_clean_files $CONFIG_STATUS" |
36377 | { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 | 19068 | { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 |
36378 | echo "$as_me: creating $CONFIG_STATUS" >&6;} | 19069 | $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} |
36379 | cat >$CONFIG_STATUS <<_ACEOF | 19070 | as_write_fail=0 |
19071 | cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 | ||
36380 | #! $SHELL | 19072 | #! $SHELL |
36381 | # Generated by $as_me. | 19073 | # Generated by $as_me. |
36382 | # Run this file to recreate the current configuration. | 19074 | # Run this file to recreate the current configuration. |
@@ -36386,59 +19078,79 @@ cat >$CONFIG_STATUS <<_ACEOF | |||
36386 | debug=false | 19078 | debug=false |
36387 | ac_cs_recheck=false | 19079 | ac_cs_recheck=false |
36388 | ac_cs_silent=false | 19080 | ac_cs_silent=false |
36389 | SHELL=\${CONFIG_SHELL-$SHELL} | ||
36390 | _ACEOF | ||
36391 | 19081 | ||
36392 | cat >>$CONFIG_STATUS <<\_ACEOF | 19082 | SHELL=\${CONFIG_SHELL-$SHELL} |
36393 | ## --------------------- ## | 19083 | export SHELL |
36394 | ## M4sh Initialization. ## | 19084 | _ASEOF |
36395 | ## --------------------- ## | 19085 | cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 |
19086 | ## -------------------- ## | ||
19087 | ## M4sh Initialization. ## | ||
19088 | ## -------------------- ## | ||
36396 | 19089 | ||
36397 | # Be more Bourne compatible | 19090 | # Be more Bourne compatible |
36398 | DUALCASE=1; export DUALCASE # for MKS sh | 19091 | DUALCASE=1; export DUALCASE # for MKS sh |
36399 | if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then | 19092 | if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : |
36400 | emulate sh | 19093 | emulate sh |
36401 | NULLCMD=: | 19094 | NULLCMD=: |
36402 | # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which | 19095 | # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which |
36403 | # is contrary to our usage. Disable this feature. | 19096 | # is contrary to our usage. Disable this feature. |
36404 | alias -g '${1+"$@"}'='"$@"' | 19097 | alias -g '${1+"$@"}'='"$@"' |
36405 | setopt NO_GLOB_SUBST | 19098 | setopt NO_GLOB_SUBST |
36406 | else | 19099 | else |
36407 | case `(set -o) 2>/dev/null` in | 19100 | case `(set -o) 2>/dev/null` in #( |
36408 | *posix*) set -o posix ;; | 19101 | *posix*) : |
19102 | set -o posix ;; #( | ||
19103 | *) : | ||
19104 | ;; | ||
36409 | esac | 19105 | esac |
36410 | |||
36411 | fi | 19106 | fi |
36412 | 19107 | ||
36413 | 19108 | ||
36414 | 19109 | as_nl=' | |
36415 | 19110 | ' | |
36416 | # PATH needs CR | 19111 | export as_nl |
36417 | # Avoid depending upon Character Ranges. | 19112 | # Printing a long string crashes Solaris 7 /usr/bin/printf. |
36418 | as_cr_letters='abcdefghijklmnopqrstuvwxyz' | 19113 | as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' |
36419 | as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' | 19114 | as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo |
36420 | as_cr_Letters=$as_cr_letters$as_cr_LETTERS | 19115 | as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo |
36421 | as_cr_digits='0123456789' | 19116 | # Prefer a ksh shell builtin over an external printf program on Solaris, |
36422 | as_cr_alnum=$as_cr_Letters$as_cr_digits | 19117 | # but without wasting forks for bash or zsh. |
36423 | 19118 | if test -z "$BASH_VERSION$ZSH_VERSION" \ | |
36424 | # The user is always right. | 19119 | && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then |
36425 | if test "${PATH_SEPARATOR+set}" != set; then | 19120 | as_echo='print -r --' |
36426 | echo "#! /bin/sh" >conf$$.sh | 19121 | as_echo_n='print -rn --' |
36427 | echo "exit 0" >>conf$$.sh | 19122 | elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then |
36428 | chmod +x conf$$.sh | 19123 | as_echo='printf %s\n' |
36429 | if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then | 19124 | as_echo_n='printf %s' |
36430 | PATH_SEPARATOR=';' | 19125 | else |
19126 | if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then | ||
19127 | as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' | ||
19128 | as_echo_n='/usr/ucb/echo -n' | ||
36431 | else | 19129 | else |
36432 | PATH_SEPARATOR=: | 19130 | as_echo_body='eval expr "X$1" : "X\\(.*\\)"' |
19131 | as_echo_n_body='eval | ||
19132 | arg=$1; | ||
19133 | case $arg in #( | ||
19134 | *"$as_nl"*) | ||
19135 | expr "X$arg" : "X\\(.*\\)$as_nl"; | ||
19136 | arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; | ||
19137 | esac; | ||
19138 | expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" | ||
19139 | ' | ||
19140 | export as_echo_n_body | ||
19141 | as_echo_n='sh -c $as_echo_n_body as_echo' | ||
36433 | fi | 19142 | fi |
36434 | rm -f conf$$.sh | 19143 | export as_echo_body |
19144 | as_echo='sh -c $as_echo_body as_echo' | ||
36435 | fi | 19145 | fi |
36436 | 19146 | ||
36437 | # Support unset when possible. | 19147 | # The user is always right. |
36438 | if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then | 19148 | if test "${PATH_SEPARATOR+set}" != set; then |
36439 | as_unset=unset | 19149 | PATH_SEPARATOR=: |
36440 | else | 19150 | (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { |
36441 | as_unset=false | 19151 | (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || |
19152 | PATH_SEPARATOR=';' | ||
19153 | } | ||
36442 | fi | 19154 | fi |
36443 | 19155 | ||
36444 | 19156 | ||
@@ -36447,20 +19159,19 @@ fi | |||
36447 | # there to prevent editors from complaining about space-tab. | 19159 | # there to prevent editors from complaining about space-tab. |
36448 | # (If _AS_PATH_WALK were called with IFS unset, it would disable word | 19160 | # (If _AS_PATH_WALK were called with IFS unset, it would disable word |
36449 | # splitting by setting IFS to empty value.) | 19161 | # splitting by setting IFS to empty value.) |
36450 | as_nl=' | ||
36451 | ' | ||
36452 | IFS=" "" $as_nl" | 19162 | IFS=" "" $as_nl" |
36453 | 19163 | ||
36454 | # Find who we are. Look in the path if we contain no directory separator. | 19164 | # Find who we are. Look in the path if we contain no directory separator. |
36455 | case $0 in | 19165 | as_myself= |
19166 | case $0 in #(( | ||
36456 | *[\\/]* ) as_myself=$0 ;; | 19167 | *[\\/]* ) as_myself=$0 ;; |
36457 | *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | 19168 | *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
36458 | for as_dir in $PATH | 19169 | for as_dir in $PATH |
36459 | do | 19170 | do |
36460 | IFS=$as_save_IFS | 19171 | IFS=$as_save_IFS |
36461 | test -z "$as_dir" && as_dir=. | 19172 | test -z "$as_dir" && as_dir=. |
36462 | test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break | 19173 | test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break |
36463 | done | 19174 | done |
36464 | IFS=$as_save_IFS | 19175 | IFS=$as_save_IFS |
36465 | 19176 | ||
36466 | ;; | 19177 | ;; |
@@ -36471,32 +19182,111 @@ if test "x$as_myself" = x; then | |||
36471 | as_myself=$0 | 19182 | as_myself=$0 |
36472 | fi | 19183 | fi |
36473 | if test ! -f "$as_myself"; then | 19184 | if test ! -f "$as_myself"; then |
36474 | echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 | 19185 | $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 |
36475 | { (exit 1); exit 1; } | 19186 | exit 1 |
36476 | fi | 19187 | fi |
36477 | 19188 | ||
36478 | # Work around bugs in pre-3.0 UWIN ksh. | 19189 | # Unset variables that we do not need and which cause bugs (e.g. in |
36479 | for as_var in ENV MAIL MAILPATH | 19190 | # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" |
36480 | do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var | 19191 | # suppresses any "Segmentation fault" message there. '((' could |
19192 | # trigger a bug in pdksh 5.2.14. | ||
19193 | for as_var in BASH_ENV ENV MAIL MAILPATH | ||
19194 | do eval test x\${$as_var+set} = xset \ | ||
19195 | && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : | ||
36481 | done | 19196 | done |
36482 | PS1='$ ' | 19197 | PS1='$ ' |
36483 | PS2='> ' | 19198 | PS2='> ' |
36484 | PS4='+ ' | 19199 | PS4='+ ' |
36485 | 19200 | ||
36486 | # NLS nuisances. | 19201 | # NLS nuisances. |
36487 | for as_var in \ | 19202 | LC_ALL=C |
36488 | LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ | 19203 | export LC_ALL |
36489 | LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ | 19204 | LANGUAGE=C |
36490 | LC_TELEPHONE LC_TIME | 19205 | export LANGUAGE |
36491 | do | 19206 | |
36492 | if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then | 19207 | # CDPATH. |
36493 | eval $as_var=C; export $as_var | 19208 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH |
36494 | else | 19209 | |
36495 | ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var | 19210 | |
19211 | # as_fn_error STATUS ERROR [LINENO LOG_FD] | ||
19212 | # ---------------------------------------- | ||
19213 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are | ||
19214 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the | ||
19215 | # script with STATUS, using 1 if that was 0. | ||
19216 | as_fn_error () | ||
19217 | { | ||
19218 | as_status=$1; test $as_status -eq 0 && as_status=1 | ||
19219 | if test "$4"; then | ||
19220 | as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
19221 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 | ||
36496 | fi | 19222 | fi |
36497 | done | 19223 | $as_echo "$as_me: error: $2" >&2 |
19224 | as_fn_exit $as_status | ||
19225 | } # as_fn_error | ||
19226 | |||
19227 | |||
19228 | # as_fn_set_status STATUS | ||
19229 | # ----------------------- | ||
19230 | # Set $? to STATUS, without forking. | ||
19231 | as_fn_set_status () | ||
19232 | { | ||
19233 | return $1 | ||
19234 | } # as_fn_set_status | ||
19235 | |||
19236 | # as_fn_exit STATUS | ||
19237 | # ----------------- | ||
19238 | # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. | ||
19239 | as_fn_exit () | ||
19240 | { | ||
19241 | set +e | ||
19242 | as_fn_set_status $1 | ||
19243 | exit $1 | ||
19244 | } # as_fn_exit | ||
19245 | |||
19246 | # as_fn_unset VAR | ||
19247 | # --------------- | ||
19248 | # Portably unset VAR. | ||
19249 | as_fn_unset () | ||
19250 | { | ||
19251 | { eval $1=; unset $1;} | ||
19252 | } | ||
19253 | as_unset=as_fn_unset | ||
19254 | # as_fn_append VAR VALUE | ||
19255 | # ---------------------- | ||
19256 | # Append the text in VALUE to the end of the definition contained in VAR. Take | ||
19257 | # advantage of any shell optimizations that allow amortized linear growth over | ||
19258 | # repeated appends, instead of the typical quadratic growth present in naive | ||
19259 | # implementations. | ||
19260 | if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : | ||
19261 | eval 'as_fn_append () | ||
19262 | { | ||
19263 | eval $1+=\$2 | ||
19264 | }' | ||
19265 | else | ||
19266 | as_fn_append () | ||
19267 | { | ||
19268 | eval $1=\$$1\$2 | ||
19269 | } | ||
19270 | fi # as_fn_append | ||
19271 | |||
19272 | # as_fn_arith ARG... | ||
19273 | # ------------------ | ||
19274 | # Perform arithmetic evaluation on the ARGs, and store the result in the | ||
19275 | # global $as_val. Take advantage of shells that can avoid forks. The arguments | ||
19276 | # must be portable across $(()) and expr. | ||
19277 | if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : | ||
19278 | eval 'as_fn_arith () | ||
19279 | { | ||
19280 | as_val=$(( $* )) | ||
19281 | }' | ||
19282 | else | ||
19283 | as_fn_arith () | ||
19284 | { | ||
19285 | as_val=`expr "$@" || test $? -eq 1` | ||
19286 | } | ||
19287 | fi # as_fn_arith | ||
19288 | |||
36498 | 19289 | ||
36499 | # Required to use basename. | ||
36500 | if expr a : '\(a\)' >/dev/null 2>&1 && | 19290 | if expr a : '\(a\)' >/dev/null 2>&1 && |
36501 | test "X`expr 00001 : '.*\(...\)'`" = X001; then | 19291 | test "X`expr 00001 : '.*\(...\)'`" = X001; then |
36502 | as_expr=expr | 19292 | as_expr=expr |
@@ -36510,13 +19300,17 @@ else | |||
36510 | as_basename=false | 19300 | as_basename=false |
36511 | fi | 19301 | fi |
36512 | 19302 | ||
19303 | if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then | ||
19304 | as_dirname=dirname | ||
19305 | else | ||
19306 | as_dirname=false | ||
19307 | fi | ||
36513 | 19308 | ||
36514 | # Name of the executable. | ||
36515 | as_me=`$as_basename -- "$0" || | 19309 | as_me=`$as_basename -- "$0" || |
36516 | $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ | 19310 | $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ |
36517 | X"$0" : 'X\(//\)$' \| \ | 19311 | X"$0" : 'X\(//\)$' \| \ |
36518 | X"$0" : 'X\(/\)' \| . 2>/dev/null || | 19312 | X"$0" : 'X\(/\)' \| . 2>/dev/null || |
36519 | echo X/"$0" | | 19313 | $as_echo X/"$0" | |
36520 | sed '/^.*\/\([^/][^/]*\)\/*$/{ | 19314 | sed '/^.*\/\([^/][^/]*\)\/*$/{ |
36521 | s//\1/ | 19315 | s//\1/ |
36522 | q | 19316 | q |
@@ -36531,131 +19325,118 @@ echo X/"$0" | | |||
36531 | } | 19325 | } |
36532 | s/.*/./; q'` | 19326 | s/.*/./; q'` |
36533 | 19327 | ||
36534 | # CDPATH. | 19328 | # Avoid depending upon Character Ranges. |
36535 | $as_unset CDPATH | 19329 | as_cr_letters='abcdefghijklmnopqrstuvwxyz' |
36536 | 19330 | as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' | |
36537 | 19331 | as_cr_Letters=$as_cr_letters$as_cr_LETTERS | |
36538 | 19332 | as_cr_digits='0123456789' | |
36539 | as_lineno_1=$LINENO | 19333 | as_cr_alnum=$as_cr_Letters$as_cr_digits |
36540 | as_lineno_2=$LINENO | ||
36541 | test "x$as_lineno_1" != "x$as_lineno_2" && | ||
36542 | test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { | ||
36543 | |||
36544 | # Create $as_me.lineno as a copy of $as_myself, but with $LINENO | ||
36545 | # uniformly replaced by the line number. The first 'sed' inserts a | ||
36546 | # line-number line after each line using $LINENO; the second 'sed' | ||
36547 | # does the real work. The second script uses 'N' to pair each | ||
36548 | # line-number line with the line containing $LINENO, and appends | ||
36549 | # trailing '-' during substitution so that $LINENO is not a special | ||
36550 | # case at line end. | ||
36551 | # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the | ||
36552 | # scripts with optimization help from Paolo Bonzini. Blame Lee | ||
36553 | # E. McMahon (1931-1989) for sed's syntax. :-) | ||
36554 | sed -n ' | ||
36555 | p | ||
36556 | /[$]LINENO/= | ||
36557 | ' <$as_myself | | ||
36558 | sed ' | ||
36559 | s/[$]LINENO.*/&-/ | ||
36560 | t lineno | ||
36561 | b | ||
36562 | :lineno | ||
36563 | N | ||
36564 | :loop | ||
36565 | s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ | ||
36566 | t loop | ||
36567 | s/-\n.*// | ||
36568 | ' >$as_me.lineno && | ||
36569 | chmod +x "$as_me.lineno" || | ||
36570 | { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 | ||
36571 | { (exit 1); exit 1; }; } | ||
36572 | |||
36573 | # Don't try to exec as it changes $[0], causing all sort of problems | ||
36574 | # (the dirname of $[0] is not the place where we might find the | ||
36575 | # original and so on. Autoconf is especially sensitive to this). | ||
36576 | . "./$as_me.lineno" | ||
36577 | # Exit status is that of the last command. | ||
36578 | exit | ||
36579 | } | ||
36580 | |||
36581 | |||
36582 | if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then | ||
36583 | as_dirname=dirname | ||
36584 | else | ||
36585 | as_dirname=false | ||
36586 | fi | ||
36587 | 19334 | ||
36588 | ECHO_C= ECHO_N= ECHO_T= | 19335 | ECHO_C= ECHO_N= ECHO_T= |
36589 | case `echo -n x` in | 19336 | case `echo -n x` in #((((( |
36590 | -n*) | 19337 | -n*) |
36591 | case `echo 'x\c'` in | 19338 | case `echo 'xy\c'` in |
36592 | *c*) ECHO_T=' ';; # ECHO_T is single tab character. | 19339 | *c*) ECHO_T=' ';; # ECHO_T is single tab character. |
36593 | *) ECHO_C='\c';; | 19340 | xy) ECHO_C='\c';; |
19341 | *) echo `echo ksh88 bug on AIX 6.1` > /dev/null | ||
19342 | ECHO_T=' ';; | ||
36594 | esac;; | 19343 | esac;; |
36595 | *) | 19344 | *) |
36596 | ECHO_N='-n';; | 19345 | ECHO_N='-n';; |
36597 | esac | 19346 | esac |
36598 | 19347 | ||
36599 | if expr a : '\(a\)' >/dev/null 2>&1 && | ||
36600 | test "X`expr 00001 : '.*\(...\)'`" = X001; then | ||
36601 | as_expr=expr | ||
36602 | else | ||
36603 | as_expr=false | ||
36604 | fi | ||
36605 | |||
36606 | rm -f conf$$ conf$$.exe conf$$.file | 19348 | rm -f conf$$ conf$$.exe conf$$.file |
36607 | if test -d conf$$.dir; then | 19349 | if test -d conf$$.dir; then |
36608 | rm -f conf$$.dir/conf$$.file | 19350 | rm -f conf$$.dir/conf$$.file |
36609 | else | 19351 | else |
36610 | rm -f conf$$.dir | 19352 | rm -f conf$$.dir |
36611 | mkdir conf$$.dir | 19353 | mkdir conf$$.dir 2>/dev/null |
36612 | fi | 19354 | fi |
36613 | echo >conf$$.file | 19355 | if (echo >conf$$.file) 2>/dev/null; then |
36614 | if ln -s conf$$.file conf$$ 2>/dev/null; then | 19356 | if ln -s conf$$.file conf$$ 2>/dev/null; then |
36615 | as_ln_s='ln -s' | 19357 | as_ln_s='ln -s' |
36616 | # ... but there are two gotchas: | 19358 | # ... but there are two gotchas: |
36617 | # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. | 19359 | # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. |
36618 | # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. | 19360 | # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. |
36619 | # In both cases, we have to default to `cp -p'. | 19361 | # In both cases, we have to default to `cp -pR'. |
36620 | ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || | 19362 | ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || |
36621 | as_ln_s='cp -p' | 19363 | as_ln_s='cp -pR' |
36622 | elif ln conf$$.file conf$$ 2>/dev/null; then | 19364 | elif ln conf$$.file conf$$ 2>/dev/null; then |
36623 | as_ln_s=ln | 19365 | as_ln_s=ln |
36624 | else | 19366 | else |
36625 | as_ln_s='cp -p' | 19367 | as_ln_s='cp -pR' |
19368 | fi | ||
19369 | else | ||
19370 | as_ln_s='cp -pR' | ||
36626 | fi | 19371 | fi |
36627 | rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file | 19372 | rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file |
36628 | rmdir conf$$.dir 2>/dev/null | 19373 | rmdir conf$$.dir 2>/dev/null |
36629 | 19374 | ||
19375 | |||
19376 | # as_fn_mkdir_p | ||
19377 | # ------------- | ||
19378 | # Create "$as_dir" as a directory, including parents if necessary. | ||
19379 | as_fn_mkdir_p () | ||
19380 | { | ||
19381 | |||
19382 | case $as_dir in #( | ||
19383 | -*) as_dir=./$as_dir;; | ||
19384 | esac | ||
19385 | test -d "$as_dir" || eval $as_mkdir_p || { | ||
19386 | as_dirs= | ||
19387 | while :; do | ||
19388 | case $as_dir in #( | ||
19389 | *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( | ||
19390 | *) as_qdir=$as_dir;; | ||
19391 | esac | ||
19392 | as_dirs="'$as_qdir' $as_dirs" | ||
19393 | as_dir=`$as_dirname -- "$as_dir" || | ||
19394 | $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
19395 | X"$as_dir" : 'X\(//\)[^/]' \| \ | ||
19396 | X"$as_dir" : 'X\(//\)$' \| \ | ||
19397 | X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || | ||
19398 | $as_echo X"$as_dir" | | ||
19399 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ | ||
19400 | s//\1/ | ||
19401 | q | ||
19402 | } | ||
19403 | /^X\(\/\/\)[^/].*/{ | ||
19404 | s//\1/ | ||
19405 | q | ||
19406 | } | ||
19407 | /^X\(\/\/\)$/{ | ||
19408 | s//\1/ | ||
19409 | q | ||
19410 | } | ||
19411 | /^X\(\/\).*/{ | ||
19412 | s//\1/ | ||
19413 | q | ||
19414 | } | ||
19415 | s/.*/./; q'` | ||
19416 | test -d "$as_dir" && break | ||
19417 | done | ||
19418 | test -z "$as_dirs" || eval "mkdir $as_dirs" | ||
19419 | } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" | ||
19420 | |||
19421 | |||
19422 | } # as_fn_mkdir_p | ||
36630 | if mkdir -p . 2>/dev/null; then | 19423 | if mkdir -p . 2>/dev/null; then |
36631 | as_mkdir_p=: | 19424 | as_mkdir_p='mkdir -p "$as_dir"' |
36632 | else | 19425 | else |
36633 | test -d ./-p && rmdir ./-p | 19426 | test -d ./-p && rmdir ./-p |
36634 | as_mkdir_p=false | 19427 | as_mkdir_p=false |
36635 | fi | 19428 | fi |
36636 | 19429 | ||
36637 | if test -x / >/dev/null 2>&1; then | 19430 | |
36638 | as_test_x='test -x' | 19431 | # as_fn_executable_p FILE |
36639 | else | 19432 | # ----------------------- |
36640 | if ls -dL / >/dev/null 2>&1; then | 19433 | # Test if FILE is an executable regular file. |
36641 | as_ls_L_option=L | 19434 | as_fn_executable_p () |
36642 | else | 19435 | { |
36643 | as_ls_L_option= | 19436 | test -f "$1" && test -x "$1" |
36644 | fi | 19437 | } # as_fn_executable_p |
36645 | as_test_x=' | 19438 | as_test_x='test -x' |
36646 | eval sh -c '\'' | 19439 | as_executable_p=as_fn_executable_p |
36647 | if test -d "$1"; then | ||
36648 | test -d "$1/."; | ||
36649 | else | ||
36650 | case $1 in | ||
36651 | -*)set "./$1";; | ||
36652 | esac; | ||
36653 | case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in | ||
36654 | ???[sx]*):;;*)false;;esac;fi | ||
36655 | '\'' sh | ||
36656 | ' | ||
36657 | fi | ||
36658 | as_executable_p=$as_test_x | ||
36659 | 19440 | ||
36660 | # Sed expression to map a string onto a valid CPP name. | 19441 | # Sed expression to map a string onto a valid CPP name. |
36661 | as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" | 19442 | as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" |
@@ -36665,13 +19446,19 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" | |||
36665 | 19446 | ||
36666 | 19447 | ||
36667 | exec 6>&1 | 19448 | exec 6>&1 |
19449 | ## ----------------------------------- ## | ||
19450 | ## Main body of $CONFIG_STATUS script. ## | ||
19451 | ## ----------------------------------- ## | ||
19452 | _ASEOF | ||
19453 | test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 | ||
36668 | 19454 | ||
36669 | # Save the log message, to keep $[0] and so on meaningful, and to | 19455 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
19456 | # Save the log message, to keep $0 and so on meaningful, and to | ||
36670 | # report actual input values of CONFIG_FILES etc. instead of their | 19457 | # report actual input values of CONFIG_FILES etc. instead of their |
36671 | # values after options handling. | 19458 | # values after options handling. |
36672 | ac_log=" | 19459 | ac_log=" |
36673 | This file was extended by OpenSSH $as_me Portable, which was | 19460 | This file was extended by OpenSSH $as_me Portable, which was |
36674 | generated by GNU Autoconf 2.61. Invocation command line was | 19461 | generated by GNU Autoconf 2.69. Invocation command line was |
36675 | 19462 | ||
36676 | CONFIG_FILES = $CONFIG_FILES | 19463 | CONFIG_FILES = $CONFIG_FILES |
36677 | CONFIG_HEADERS = $CONFIG_HEADERS | 19464 | CONFIG_HEADERS = $CONFIG_HEADERS |
@@ -36684,29 +19471,41 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q` | |||
36684 | 19471 | ||
36685 | _ACEOF | 19472 | _ACEOF |
36686 | 19473 | ||
36687 | cat >>$CONFIG_STATUS <<_ACEOF | 19474 | case $ac_config_files in *" |
19475 | "*) set x $ac_config_files; shift; ac_config_files=$*;; | ||
19476 | esac | ||
19477 | |||
19478 | case $ac_config_headers in *" | ||
19479 | "*) set x $ac_config_headers; shift; ac_config_headers=$*;; | ||
19480 | esac | ||
19481 | |||
19482 | |||
19483 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | ||
36688 | # Files that config.status was made for. | 19484 | # Files that config.status was made for. |
36689 | config_files="$ac_config_files" | 19485 | config_files="$ac_config_files" |
36690 | config_headers="$ac_config_headers" | 19486 | config_headers="$ac_config_headers" |
36691 | 19487 | ||
36692 | _ACEOF | 19488 | _ACEOF |
36693 | 19489 | ||
36694 | cat >>$CONFIG_STATUS <<\_ACEOF | 19490 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
36695 | ac_cs_usage="\ | 19491 | ac_cs_usage="\ |
36696 | \`$as_me' instantiates files from templates according to the | 19492 | \`$as_me' instantiates files and other configuration actions |
36697 | current configuration. | 19493 | from templates according to the current configuration. Unless the files |
19494 | and actions are specified as TAGs, all are instantiated by default. | ||
36698 | 19495 | ||
36699 | Usage: $0 [OPTIONS] [FILE]... | 19496 | Usage: $0 [OPTION]... [TAG]... |
36700 | 19497 | ||
36701 | -h, --help print this help, then exit | 19498 | -h, --help print this help, then exit |
36702 | -V, --version print version number and configuration settings, then exit | 19499 | -V, --version print version number and configuration settings, then exit |
36703 | -q, --quiet do not print progress messages | 19500 | --config print configuration, then exit |
19501 | -q, --quiet, --silent | ||
19502 | do not print progress messages | ||
36704 | -d, --debug don't remove temporary files | 19503 | -d, --debug don't remove temporary files |
36705 | --recheck update $as_me by reconfiguring in the same conditions | 19504 | --recheck update $as_me by reconfiguring in the same conditions |
36706 | --file=FILE[:TEMPLATE] | 19505 | --file=FILE[:TEMPLATE] |
36707 | instantiate the configuration file FILE | 19506 | instantiate the configuration file FILE |
36708 | --header=FILE[:TEMPLATE] | 19507 | --header=FILE[:TEMPLATE] |
36709 | instantiate the configuration header FILE | 19508 | instantiate the configuration header FILE |
36710 | 19509 | ||
36711 | Configuration files: | 19510 | Configuration files: |
36712 | $config_files | 19511 | $config_files |
@@ -36714,36 +19513,43 @@ $config_files | |||
36714 | Configuration headers: | 19513 | Configuration headers: |
36715 | $config_headers | 19514 | $config_headers |
36716 | 19515 | ||
36717 | Report bugs to <bug-autoconf@gnu.org>." | 19516 | Report bugs to <openssh-unix-dev@mindrot.org>." |
36718 | 19517 | ||
36719 | _ACEOF | 19518 | _ACEOF |
36720 | cat >>$CONFIG_STATUS <<_ACEOF | 19519 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
19520 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" | ||
36721 | ac_cs_version="\\ | 19521 | ac_cs_version="\\ |
36722 | OpenSSH config.status Portable | 19522 | OpenSSH config.status Portable |
36723 | configured by $0, generated by GNU Autoconf 2.61, | 19523 | configured by $0, generated by GNU Autoconf 2.69, |
36724 | with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" | 19524 | with options \\"\$ac_cs_config\\" |
36725 | 19525 | ||
36726 | Copyright (C) 2006 Free Software Foundation, Inc. | 19526 | Copyright (C) 2012 Free Software Foundation, Inc. |
36727 | This config.status script is free software; the Free Software Foundation | 19527 | This config.status script is free software; the Free Software Foundation |
36728 | gives unlimited permission to copy, distribute and modify it." | 19528 | gives unlimited permission to copy, distribute and modify it." |
36729 | 19529 | ||
36730 | ac_pwd='$ac_pwd' | 19530 | ac_pwd='$ac_pwd' |
36731 | srcdir='$srcdir' | 19531 | srcdir='$srcdir' |
36732 | INSTALL='$INSTALL' | 19532 | INSTALL='$INSTALL' |
19533 | AWK='$AWK' | ||
19534 | test -n "\$AWK" || AWK=awk | ||
36733 | _ACEOF | 19535 | _ACEOF |
36734 | 19536 | ||
36735 | cat >>$CONFIG_STATUS <<\_ACEOF | 19537 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
36736 | # If no file are specified by the user, then we need to provide default | 19538 | # The default lists apply if the user does not specify any file. |
36737 | # value. By we need to know if files were specified by the user. | ||
36738 | ac_need_defaults=: | 19539 | ac_need_defaults=: |
36739 | while test $# != 0 | 19540 | while test $# != 0 |
36740 | do | 19541 | do |
36741 | case $1 in | 19542 | case $1 in |
36742 | --*=*) | 19543 | --*=?*) |
36743 | ac_option=`expr "X$1" : 'X\([^=]*\)='` | 19544 | ac_option=`expr "X$1" : 'X\([^=]*\)='` |
36744 | ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` | 19545 | ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` |
36745 | ac_shift=: | 19546 | ac_shift=: |
36746 | ;; | 19547 | ;; |
19548 | --*=) | ||
19549 | ac_option=`expr "X$1" : 'X\([^=]*\)='` | ||
19550 | ac_optarg= | ||
19551 | ac_shift=: | ||
19552 | ;; | ||
36747 | *) | 19553 | *) |
36748 | ac_option=$1 | 19554 | ac_option=$1 |
36749 | ac_optarg=$2 | 19555 | ac_optarg=$2 |
@@ -36756,34 +19562,41 @@ do | |||
36756 | -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) | 19562 | -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) |
36757 | ac_cs_recheck=: ;; | 19563 | ac_cs_recheck=: ;; |
36758 | --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) | 19564 | --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) |
36759 | echo "$ac_cs_version"; exit ;; | 19565 | $as_echo "$ac_cs_version"; exit ;; |
19566 | --config | --confi | --conf | --con | --co | --c ) | ||
19567 | $as_echo "$ac_cs_config"; exit ;; | ||
36760 | --debug | --debu | --deb | --de | --d | -d ) | 19568 | --debug | --debu | --deb | --de | --d | -d ) |
36761 | debug=: ;; | 19569 | debug=: ;; |
36762 | --file | --fil | --fi | --f ) | 19570 | --file | --fil | --fi | --f ) |
36763 | $ac_shift | 19571 | $ac_shift |
36764 | CONFIG_FILES="$CONFIG_FILES $ac_optarg" | 19572 | case $ac_optarg in |
19573 | *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; | ||
19574 | '') as_fn_error $? "missing file argument" ;; | ||
19575 | esac | ||
19576 | as_fn_append CONFIG_FILES " '$ac_optarg'" | ||
36765 | ac_need_defaults=false;; | 19577 | ac_need_defaults=false;; |
36766 | --header | --heade | --head | --hea ) | 19578 | --header | --heade | --head | --hea ) |
36767 | $ac_shift | 19579 | $ac_shift |
36768 | CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" | 19580 | case $ac_optarg in |
19581 | *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; | ||
19582 | esac | ||
19583 | as_fn_append CONFIG_HEADERS " '$ac_optarg'" | ||
36769 | ac_need_defaults=false;; | 19584 | ac_need_defaults=false;; |
36770 | --he | --h) | 19585 | --he | --h) |
36771 | # Conflict between --help and --header | 19586 | # Conflict between --help and --header |
36772 | { echo "$as_me: error: ambiguous option: $1 | 19587 | as_fn_error $? "ambiguous option: \`$1' |
36773 | Try \`$0 --help' for more information." >&2 | 19588 | Try \`$0 --help' for more information.";; |
36774 | { (exit 1); exit 1; }; };; | ||
36775 | --help | --hel | -h ) | 19589 | --help | --hel | -h ) |
36776 | echo "$ac_cs_usage"; exit ;; | 19590 | $as_echo "$ac_cs_usage"; exit ;; |
36777 | -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | 19591 | -q | -quiet | --quiet | --quie | --qui | --qu | --q \ |
36778 | | -silent | --silent | --silen | --sile | --sil | --si | --s) | 19592 | | -silent | --silent | --silen | --sile | --sil | --si | --s) |
36779 | ac_cs_silent=: ;; | 19593 | ac_cs_silent=: ;; |
36780 | 19594 | ||
36781 | # This is an error. | 19595 | # This is an error. |
36782 | -*) { echo "$as_me: error: unrecognized option: $1 | 19596 | -*) as_fn_error $? "unrecognized option: \`$1' |
36783 | Try \`$0 --help' for more information." >&2 | 19597 | Try \`$0 --help' for more information." ;; |
36784 | { (exit 1); exit 1; }; } ;; | ||
36785 | 19598 | ||
36786 | *) ac_config_targets="$ac_config_targets $1" | 19599 | *) as_fn_append ac_config_targets " $1" |
36787 | ac_need_defaults=false ;; | 19600 | ac_need_defaults=false ;; |
36788 | 19601 | ||
36789 | esac | 19602 | esac |
@@ -36798,30 +19611,32 @@ if $ac_cs_silent; then | |||
36798 | fi | 19611 | fi |
36799 | 19612 | ||
36800 | _ACEOF | 19613 | _ACEOF |
36801 | cat >>$CONFIG_STATUS <<_ACEOF | 19614 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
36802 | if \$ac_cs_recheck; then | 19615 | if \$ac_cs_recheck; then |
36803 | echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 | 19616 | set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion |
36804 | CONFIG_SHELL=$SHELL | 19617 | shift |
19618 | \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 | ||
19619 | CONFIG_SHELL='$SHELL' | ||
36805 | export CONFIG_SHELL | 19620 | export CONFIG_SHELL |
36806 | exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion | 19621 | exec "\$@" |
36807 | fi | 19622 | fi |
36808 | 19623 | ||
36809 | _ACEOF | 19624 | _ACEOF |
36810 | cat >>$CONFIG_STATUS <<\_ACEOF | 19625 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
36811 | exec 5>>config.log | 19626 | exec 5>>config.log |
36812 | { | 19627 | { |
36813 | echo | 19628 | echo |
36814 | sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX | 19629 | sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX |
36815 | ## Running $as_me. ## | 19630 | ## Running $as_me. ## |
36816 | _ASBOX | 19631 | _ASBOX |
36817 | echo "$ac_log" | 19632 | $as_echo "$ac_log" |
36818 | } >&5 | 19633 | } >&5 |
36819 | 19634 | ||
36820 | _ACEOF | 19635 | _ACEOF |
36821 | cat >>$CONFIG_STATUS <<_ACEOF | 19636 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
36822 | _ACEOF | 19637 | _ACEOF |
36823 | 19638 | ||
36824 | cat >>$CONFIG_STATUS <<\_ACEOF | 19639 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
36825 | 19640 | ||
36826 | # Handling of arguments. | 19641 | # Handling of arguments. |
36827 | for ac_config_target in $ac_config_targets | 19642 | for ac_config_target in $ac_config_targets |
@@ -36836,9 +19651,7 @@ do | |||
36836 | "openbsd-compat/regress/Makefile") CONFIG_FILES="$CONFIG_FILES openbsd-compat/regress/Makefile" ;; | 19651 | "openbsd-compat/regress/Makefile") CONFIG_FILES="$CONFIG_FILES openbsd-compat/regress/Makefile" ;; |
36837 | "survey.sh") CONFIG_FILES="$CONFIG_FILES survey.sh" ;; | 19652 | "survey.sh") CONFIG_FILES="$CONFIG_FILES survey.sh" ;; |
36838 | 19653 | ||
36839 | *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 | 19654 | *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; |
36840 | echo "$as_me: error: invalid argument: $ac_config_target" >&2;} | ||
36841 | { (exit 1); exit 1; }; };; | ||
36842 | esac | 19655 | esac |
36843 | done | 19656 | done |
36844 | 19657 | ||
@@ -36860,256 +19673,302 @@ fi | |||
36860 | # after its creation but before its name has been assigned to `$tmp'. | 19673 | # after its creation but before its name has been assigned to `$tmp'. |
36861 | $debug || | 19674 | $debug || |
36862 | { | 19675 | { |
36863 | tmp= | 19676 | tmp= ac_tmp= |
36864 | trap 'exit_status=$? | 19677 | trap 'exit_status=$? |
36865 | { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status | 19678 | : "${ac_tmp:=$tmp}" |
19679 | { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status | ||
36866 | ' 0 | 19680 | ' 0 |
36867 | trap '{ (exit 1); exit 1; }' 1 2 13 15 | 19681 | trap 'as_fn_exit 1' 1 2 13 15 |
36868 | } | 19682 | } |
36869 | # Create a (secure) tmp directory for tmp files. | 19683 | # Create a (secure) tmp directory for tmp files. |
36870 | 19684 | ||
36871 | { | 19685 | { |
36872 | tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && | 19686 | tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && |
36873 | test -n "$tmp" && test -d "$tmp" | 19687 | test -d "$tmp" |
36874 | } || | 19688 | } || |
36875 | { | 19689 | { |
36876 | tmp=./conf$$-$RANDOM | 19690 | tmp=./conf$$-$RANDOM |
36877 | (umask 077 && mkdir "$tmp") | 19691 | (umask 077 && mkdir "$tmp") |
36878 | } || | 19692 | } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 |
36879 | { | 19693 | ac_tmp=$tmp |
36880 | echo "$me: cannot create a temporary directory in ." >&2 | ||
36881 | { (exit 1); exit 1; } | ||
36882 | } | ||
36883 | 19694 | ||
36884 | # | 19695 | # Set up the scripts for CONFIG_FILES section. |
36885 | # Set up the sed scripts for CONFIG_FILES section. | 19696 | # No need to generate them if there are no CONFIG_FILES. |
36886 | # | 19697 | # This happens for instance with `./config.status config.h'. |
36887 | |||
36888 | # No need to generate the scripts if there are no CONFIG_FILES. | ||
36889 | # This happens for instance when ./config.status config.h | ||
36890 | if test -n "$CONFIG_FILES"; then | 19698 | if test -n "$CONFIG_FILES"; then |
36891 | 19699 | ||
36892 | _ACEOF | ||
36893 | 19700 | ||
19701 | ac_cr=`echo X | tr X '\015'` | ||
19702 | # On cygwin, bash can eat \r inside `` if the user requested igncr. | ||
19703 | # But we know of no other shell where ac_cr would be empty at this | ||
19704 | # point, so we can use a bashism as a fallback. | ||
19705 | if test "x$ac_cr" = x; then | ||
19706 | eval ac_cr=\$\'\\r\' | ||
19707 | fi | ||
19708 | ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` | ||
19709 | if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then | ||
19710 | ac_cs_awk_cr='\\r' | ||
19711 | else | ||
19712 | ac_cs_awk_cr=$ac_cr | ||
19713 | fi | ||
19714 | |||
19715 | echo 'BEGIN {' >"$ac_tmp/subs1.awk" && | ||
19716 | _ACEOF | ||
36894 | 19717 | ||
36895 | 19718 | ||
19719 | { | ||
19720 | echo "cat >conf$$subs.awk <<_ACEOF" && | ||
19721 | echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && | ||
19722 | echo "_ACEOF" | ||
19723 | } >conf$$subs.sh || | ||
19724 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 | ||
19725 | ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` | ||
36896 | ac_delim='%!_!# ' | 19726 | ac_delim='%!_!# ' |
36897 | for ac_last_try in false false false false false :; do | 19727 | for ac_last_try in false false false false false :; do |
36898 | cat >conf$$subs.sed <<_ACEOF | 19728 | . ./conf$$subs.sh || |
36899 | SHELL!$SHELL$ac_delim | 19729 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
36900 | PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim | 19730 | |
36901 | PACKAGE_NAME!$PACKAGE_NAME$ac_delim | 19731 | ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` |
36902 | PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim | 19732 | if test $ac_delim_n = $ac_delim_num; then |
36903 | PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim | ||
36904 | PACKAGE_STRING!$PACKAGE_STRING$ac_delim | ||
36905 | PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim | ||
36906 | exec_prefix!$exec_prefix$ac_delim | ||
36907 | prefix!$prefix$ac_delim | ||
36908 | program_transform_name!$program_transform_name$ac_delim | ||
36909 | bindir!$bindir$ac_delim | ||
36910 | sbindir!$sbindir$ac_delim | ||
36911 | libexecdir!$libexecdir$ac_delim | ||
36912 | datarootdir!$datarootdir$ac_delim | ||
36913 | datadir!$datadir$ac_delim | ||
36914 | sysconfdir!$sysconfdir$ac_delim | ||
36915 | sharedstatedir!$sharedstatedir$ac_delim | ||
36916 | localstatedir!$localstatedir$ac_delim | ||
36917 | includedir!$includedir$ac_delim | ||
36918 | oldincludedir!$oldincludedir$ac_delim | ||
36919 | docdir!$docdir$ac_delim | ||
36920 | infodir!$infodir$ac_delim | ||
36921 | htmldir!$htmldir$ac_delim | ||
36922 | dvidir!$dvidir$ac_delim | ||
36923 | pdfdir!$pdfdir$ac_delim | ||
36924 | psdir!$psdir$ac_delim | ||
36925 | libdir!$libdir$ac_delim | ||
36926 | localedir!$localedir$ac_delim | ||
36927 | mandir!$mandir$ac_delim | ||
36928 | DEFS!$DEFS$ac_delim | ||
36929 | ECHO_C!$ECHO_C$ac_delim | ||
36930 | ECHO_N!$ECHO_N$ac_delim | ||
36931 | ECHO_T!$ECHO_T$ac_delim | ||
36932 | LIBS!$LIBS$ac_delim | ||
36933 | build_alias!$build_alias$ac_delim | ||
36934 | host_alias!$host_alias$ac_delim | ||
36935 | target_alias!$target_alias$ac_delim | ||
36936 | CC!$CC$ac_delim | ||
36937 | CFLAGS!$CFLAGS$ac_delim | ||
36938 | LDFLAGS!$LDFLAGS$ac_delim | ||
36939 | CPPFLAGS!$CPPFLAGS$ac_delim | ||
36940 | ac_ct_CC!$ac_ct_CC$ac_delim | ||
36941 | EXEEXT!$EXEEXT$ac_delim | ||
36942 | OBJEXT!$OBJEXT$ac_delim | ||
36943 | build!$build$ac_delim | ||
36944 | build_cpu!$build_cpu$ac_delim | ||
36945 | build_vendor!$build_vendor$ac_delim | ||
36946 | build_os!$build_os$ac_delim | ||
36947 | host!$host$ac_delim | ||
36948 | host_cpu!$host_cpu$ac_delim | ||
36949 | host_vendor!$host_vendor$ac_delim | ||
36950 | host_os!$host_os$ac_delim | ||
36951 | CPP!$CPP$ac_delim | ||
36952 | GREP!$GREP$ac_delim | ||
36953 | EGREP!$EGREP$ac_delim | ||
36954 | AWK!$AWK$ac_delim | ||
36955 | RANLIB!$RANLIB$ac_delim | ||
36956 | INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim | ||
36957 | INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim | ||
36958 | INSTALL_DATA!$INSTALL_DATA$ac_delim | ||
36959 | AR!$AR$ac_delim | ||
36960 | ac_ct_AR!$ac_ct_AR$ac_delim | ||
36961 | CAT!$CAT$ac_delim | ||
36962 | KILL!$KILL$ac_delim | ||
36963 | PERL!$PERL$ac_delim | ||
36964 | SED!$SED$ac_delim | ||
36965 | ENT!$ENT$ac_delim | ||
36966 | TEST_MINUS_S_SH!$TEST_MINUS_S_SH$ac_delim | ||
36967 | SH!$SH$ac_delim | ||
36968 | GROFF!$GROFF$ac_delim | ||
36969 | NROFF!$NROFF$ac_delim | ||
36970 | MANDOC!$MANDOC$ac_delim | ||
36971 | TEST_SHELL!$TEST_SHELL$ac_delim | ||
36972 | MANFMT!$MANFMT$ac_delim | ||
36973 | PATH_GROUPADD_PROG!$PATH_GROUPADD_PROG$ac_delim | ||
36974 | PATH_USERADD_PROG!$PATH_USERADD_PROG$ac_delim | ||
36975 | MAKE_PACKAGE_SUPPORTED!$MAKE_PACKAGE_SUPPORTED$ac_delim | ||
36976 | STARTUP_SCRIPT_SHELL!$STARTUP_SCRIPT_SHELL$ac_delim | ||
36977 | LOGIN_PROGRAM_FALLBACK!$LOGIN_PROGRAM_FALLBACK$ac_delim | ||
36978 | PATH_PASSWD_PROG!$PATH_PASSWD_PROG$ac_delim | ||
36979 | LD!$LD$ac_delim | ||
36980 | PKGCONFIG!$PKGCONFIG$ac_delim | ||
36981 | LIBEDIT!$LIBEDIT$ac_delim | ||
36982 | TEST_SSH_ECC!$TEST_SSH_ECC$ac_delim | ||
36983 | COMMENT_OUT_ECC!$COMMENT_OUT_ECC$ac_delim | ||
36984 | SSH_PRIVSEP_USER!$SSH_PRIVSEP_USER$ac_delim | ||
36985 | SSHLIBS!$SSHLIBS$ac_delim | ||
36986 | SSHDLIBS!$SSHDLIBS$ac_delim | ||
36987 | KRB5CONF!$KRB5CONF$ac_delim | ||
36988 | GSSLIBS!$GSSLIBS$ac_delim | ||
36989 | K5LIBS!$K5LIBS$ac_delim | ||
36990 | PRIVSEP_PATH!$PRIVSEP_PATH$ac_delim | ||
36991 | xauth_path!$xauth_path$ac_delim | ||
36992 | STRIP_OPT!$STRIP_OPT$ac_delim | ||
36993 | XAUTH_PATH!$XAUTH_PATH$ac_delim | ||
36994 | MANTYPE!$MANTYPE$ac_delim | ||
36995 | mansubdir!$mansubdir$ac_delim | ||
36996 | _ACEOF | ||
36997 | |||
36998 | if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then | ||
36999 | break | 19733 | break |
37000 | elif $ac_last_try; then | 19734 | elif $ac_last_try; then |
37001 | { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 | 19735 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
37002 | echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} | ||
37003 | { (exit 1); exit 1; }; } | ||
37004 | else | 19736 | else |
37005 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " | 19737 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " |
37006 | fi | 19738 | fi |
37007 | done | 19739 | done |
37008 | 19740 | rm -f conf$$subs.sh | |
37009 | ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` | 19741 | |
37010 | if test -n "$ac_eof"; then | 19742 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
37011 | ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` | 19743 | cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && |
37012 | ac_eof=`expr $ac_eof + 1` | 19744 | _ACEOF |
19745 | sed -n ' | ||
19746 | h | ||
19747 | s/^/S["/; s/!.*/"]=/ | ||
19748 | p | ||
19749 | g | ||
19750 | s/^[^!]*!// | ||
19751 | :repl | ||
19752 | t repl | ||
19753 | s/'"$ac_delim"'$// | ||
19754 | t delim | ||
19755 | :nl | ||
19756 | h | ||
19757 | s/\(.\{148\}\)..*/\1/ | ||
19758 | t more1 | ||
19759 | s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ | ||
19760 | p | ||
19761 | n | ||
19762 | b repl | ||
19763 | :more1 | ||
19764 | s/["\\]/\\&/g; s/^/"/; s/$/"\\/ | ||
19765 | p | ||
19766 | g | ||
19767 | s/.\{148\}// | ||
19768 | t nl | ||
19769 | :delim | ||
19770 | h | ||
19771 | s/\(.\{148\}\)..*/\1/ | ||
19772 | t more2 | ||
19773 | s/["\\]/\\&/g; s/^/"/; s/$/"/ | ||
19774 | p | ||
19775 | b | ||
19776 | :more2 | ||
19777 | s/["\\]/\\&/g; s/^/"/; s/$/"\\/ | ||
19778 | p | ||
19779 | g | ||
19780 | s/.\{148\}// | ||
19781 | t delim | ||
19782 | ' <conf$$subs.awk | sed ' | ||
19783 | /^[^""]/{ | ||
19784 | N | ||
19785 | s/\n// | ||
19786 | } | ||
19787 | ' >>$CONFIG_STATUS || ac_write_fail=1 | ||
19788 | rm -f conf$$subs.awk | ||
19789 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | ||
19790 | _ACAWK | ||
19791 | cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && | ||
19792 | for (key in S) S_is_set[key] = 1 | ||
19793 | FS = "" | ||
19794 | |||
19795 | } | ||
19796 | { | ||
19797 | line = $ 0 | ||
19798 | nfields = split(line, field, "@") | ||
19799 | substed = 0 | ||
19800 | len = length(field[1]) | ||
19801 | for (i = 2; i < nfields; i++) { | ||
19802 | key = field[i] | ||
19803 | keylen = length(key) | ||
19804 | if (S_is_set[key]) { | ||
19805 | value = S[key] | ||
19806 | line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) | ||
19807 | len += length(value) + length(field[++i]) | ||
19808 | substed = 1 | ||
19809 | } else | ||
19810 | len += 1 + keylen | ||
19811 | } | ||
19812 | |||
19813 | print line | ||
19814 | } | ||
19815 | |||
19816 | _ACAWK | ||
19817 | _ACEOF | ||
19818 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | ||
19819 | if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then | ||
19820 | sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" | ||
19821 | else | ||
19822 | cat | ||
19823 | fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ | ||
19824 | || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 | ||
19825 | _ACEOF | ||
19826 | |||
19827 | # VPATH may cause trouble with some makes, so we remove sole $(srcdir), | ||
19828 | # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and | ||
19829 | # trailing colons and then remove the whole line if VPATH becomes empty | ||
19830 | # (actually we leave an empty line to preserve line numbers). | ||
19831 | if test "x$srcdir" = x.; then | ||
19832 | ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ | ||
19833 | h | ||
19834 | s/// | ||
19835 | s/^/:/ | ||
19836 | s/[ ]*$/:/ | ||
19837 | s/:\$(srcdir):/:/g | ||
19838 | s/:\${srcdir}:/:/g | ||
19839 | s/:@srcdir@:/:/g | ||
19840 | s/^:*// | ||
19841 | s/:*$// | ||
19842 | x | ||
19843 | s/\(=[ ]*\).*/\1/ | ||
19844 | G | ||
19845 | s/\n// | ||
19846 | s/^[^=]*=[ ]*$// | ||
19847 | }' | ||
37013 | fi | 19848 | fi |
37014 | 19849 | ||
37015 | cat >>$CONFIG_STATUS <<_ACEOF | 19850 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
37016 | cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof | 19851 | fi # test -n "$CONFIG_FILES" |
37017 | /@[a-zA-Z_][a-zA-Z_0-9]*@/!b | 19852 | |
37018 | _ACEOF | 19853 | # Set up the scripts for CONFIG_HEADERS section. |
37019 | sed ' | 19854 | # No need to generate them if there are no CONFIG_HEADERS. |
37020 | s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g | 19855 | # This happens for instance with `./config.status Makefile'. |
37021 | s/^/s,@/; s/!/@,|#_!!_#|/ | 19856 | if test -n "$CONFIG_HEADERS"; then |
37022 | :n | 19857 | cat >"$ac_tmp/defines.awk" <<\_ACAWK || |
37023 | t n | 19858 | BEGIN { |
37024 | s/'"$ac_delim"'$/,g/; t | ||
37025 | s/$/\\/; p | ||
37026 | N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n | ||
37027 | ' >>$CONFIG_STATUS <conf$$subs.sed | ||
37028 | rm -f conf$$subs.sed | ||
37029 | cat >>$CONFIG_STATUS <<_ACEOF | ||
37030 | CEOF$ac_eof | ||
37031 | _ACEOF | 19859 | _ACEOF |
37032 | 19860 | ||
19861 | # Transform confdefs.h into an awk script `defines.awk', embedded as | ||
19862 | # here-document in config.status, that substitutes the proper values into | ||
19863 | # config.h.in to produce config.h. | ||
37033 | 19864 | ||
19865 | # Create a delimiter string that does not exist in confdefs.h, to ease | ||
19866 | # handling of long lines. | ||
37034 | ac_delim='%!_!# ' | 19867 | ac_delim='%!_!# ' |
37035 | for ac_last_try in false false false false false :; do | 19868 | for ac_last_try in false false :; do |
37036 | cat >conf$$subs.sed <<_ACEOF | 19869 | ac_tt=`sed -n "/$ac_delim/p" confdefs.h` |
37037 | user_path!$user_path$ac_delim | 19870 | if test -z "$ac_tt"; then |
37038 | piddir!$piddir$ac_delim | ||
37039 | TEST_SSH_IPV6!$TEST_SSH_IPV6$ac_delim | ||
37040 | TEST_MALLOC_OPTIONS!$TEST_MALLOC_OPTIONS$ac_delim | ||
37041 | UNSUPPORTED_ALGORITHMS!$UNSUPPORTED_ALGORITHMS$ac_delim | ||
37042 | LIBOBJS!$LIBOBJS$ac_delim | ||
37043 | LTLIBOBJS!$LTLIBOBJS$ac_delim | ||
37044 | _ACEOF | ||
37045 | |||
37046 | if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 7; then | ||
37047 | break | 19871 | break |
37048 | elif $ac_last_try; then | 19872 | elif $ac_last_try; then |
37049 | { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 | 19873 | as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 |
37050 | echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} | ||
37051 | { (exit 1); exit 1; }; } | ||
37052 | else | 19874 | else |
37053 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " | 19875 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " |
37054 | fi | 19876 | fi |
37055 | done | 19877 | done |
37056 | 19878 | ||
37057 | ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` | 19879 | # For the awk script, D is an array of macro values keyed by name, |
37058 | if test -n "$ac_eof"; then | 19880 | # likewise P contains macro parameters if any. Preserve backslash |
37059 | ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` | 19881 | # newline sequences. |
37060 | ac_eof=`expr $ac_eof + 1` | ||
37061 | fi | ||
37062 | 19882 | ||
37063 | cat >>$CONFIG_STATUS <<_ACEOF | 19883 | ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* |
37064 | cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof | 19884 | sed -n ' |
37065 | /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end | 19885 | s/.\{148\}/&'"$ac_delim"'/g |
37066 | _ACEOF | 19886 | t rset |
37067 | sed ' | 19887 | :rset |
37068 | s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g | 19888 | s/^[ ]*#[ ]*define[ ][ ]*/ / |
37069 | s/^/s,@/; s/!/@,|#_!!_#|/ | 19889 | t def |
37070 | :n | 19890 | d |
37071 | t n | 19891 | :def |
37072 | s/'"$ac_delim"'$/,g/; t | 19892 | s/\\$// |
37073 | s/$/\\/; p | 19893 | t bsnl |
37074 | N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n | 19894 | s/["\\]/\\&/g |
37075 | ' >>$CONFIG_STATUS <conf$$subs.sed | 19895 | s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ |
37076 | rm -f conf$$subs.sed | 19896 | D["\1"]=" \3"/p |
37077 | cat >>$CONFIG_STATUS <<_ACEOF | 19897 | s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p |
37078 | :end | 19898 | d |
37079 | s/|#_!!_#|//g | 19899 | :bsnl |
37080 | CEOF$ac_eof | 19900 | s/["\\]/\\&/g |
19901 | s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ | ||
19902 | D["\1"]=" \3\\\\\\n"\\/p | ||
19903 | t cont | ||
19904 | s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p | ||
19905 | t cont | ||
19906 | d | ||
19907 | :cont | ||
19908 | n | ||
19909 | s/.\{148\}/&'"$ac_delim"'/g | ||
19910 | t clear | ||
19911 | :clear | ||
19912 | s/\\$// | ||
19913 | t bsnlc | ||
19914 | s/["\\]/\\&/g; s/^/"/; s/$/"/p | ||
19915 | d | ||
19916 | :bsnlc | ||
19917 | s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p | ||
19918 | b cont | ||
19919 | ' <confdefs.h | sed ' | ||
19920 | s/'"$ac_delim"'/"\\\ | ||
19921 | "/g' >>$CONFIG_STATUS || ac_write_fail=1 | ||
19922 | |||
19923 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | ||
19924 | for (key in D) D_is_set[key] = 1 | ||
19925 | FS = "" | ||
19926 | } | ||
19927 | /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { | ||
19928 | line = \$ 0 | ||
19929 | split(line, arg, " ") | ||
19930 | if (arg[1] == "#") { | ||
19931 | defundef = arg[2] | ||
19932 | mac1 = arg[3] | ||
19933 | } else { | ||
19934 | defundef = substr(arg[1], 2) | ||
19935 | mac1 = arg[2] | ||
19936 | } | ||
19937 | split(mac1, mac2, "(") #) | ||
19938 | macro = mac2[1] | ||
19939 | prefix = substr(line, 1, index(line, defundef) - 1) | ||
19940 | if (D_is_set[macro]) { | ||
19941 | # Preserve the white space surrounding the "#". | ||
19942 | print prefix "define", macro P[macro] D[macro] | ||
19943 | next | ||
19944 | } else { | ||
19945 | # Replace #undef with comments. This is necessary, for example, | ||
19946 | # in the case of _POSIX_SOURCE, which is predefined and required | ||
19947 | # on some systems where configure will not decide to define it. | ||
19948 | if (defundef == "undef") { | ||
19949 | print "/*", prefix defundef, macro, "*/" | ||
19950 | next | ||
19951 | } | ||
19952 | } | ||
19953 | } | ||
19954 | { print } | ||
19955 | _ACAWK | ||
37081 | _ACEOF | 19956 | _ACEOF |
19957 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | ||
19958 | as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 | ||
19959 | fi # test -n "$CONFIG_HEADERS" | ||
37082 | 19960 | ||
37083 | 19961 | ||
37084 | # VPATH may cause trouble with some makes, so we remove $(srcdir), | 19962 | eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " |
37085 | # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and | 19963 | shift |
37086 | # trailing colons and then remove the whole line if VPATH becomes empty | 19964 | for ac_tag |
37087 | # (actually we leave an empty line to preserve line numbers). | ||
37088 | if test "x$srcdir" = x.; then | ||
37089 | ac_vpsub='/^[ ]*VPATH[ ]*=/{ | ||
37090 | s/:*\$(srcdir):*/:/ | ||
37091 | s/:*\${srcdir}:*/:/ | ||
37092 | s/:*@srcdir@:*/:/ | ||
37093 | s/^\([^=]*=[ ]*\):*/\1/ | ||
37094 | s/:*$// | ||
37095 | s/^[^=]*=[ ]*$// | ||
37096 | }' | ||
37097 | fi | ||
37098 | |||
37099 | cat >>$CONFIG_STATUS <<\_ACEOF | ||
37100 | fi # test -n "$CONFIG_FILES" | ||
37101 | |||
37102 | |||
37103 | for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS | ||
37104 | do | 19965 | do |
37105 | case $ac_tag in | 19966 | case $ac_tag in |
37106 | :[FHLC]) ac_mode=$ac_tag; continue;; | 19967 | :[FHLC]) ac_mode=$ac_tag; continue;; |
37107 | esac | 19968 | esac |
37108 | case $ac_mode$ac_tag in | 19969 | case $ac_mode$ac_tag in |
37109 | :[FHL]*:*);; | 19970 | :[FHL]*:*);; |
37110 | :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 | 19971 | :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; |
37111 | echo "$as_me: error: Invalid tag $ac_tag." >&2;} | ||
37112 | { (exit 1); exit 1; }; };; | ||
37113 | :[FH]-) ac_tag=-:-;; | 19972 | :[FH]-) ac_tag=-:-;; |
37114 | :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; | 19973 | :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; |
37115 | esac | 19974 | esac |
@@ -37128,7 +19987,7 @@ echo "$as_me: error: Invalid tag $ac_tag." >&2;} | |||
37128 | for ac_f | 19987 | for ac_f |
37129 | do | 19988 | do |
37130 | case $ac_f in | 19989 | case $ac_f in |
37131 | -) ac_f="$tmp/stdin";; | 19990 | -) ac_f="$ac_tmp/stdin";; |
37132 | *) # Look for the file first in the build tree, then in the source tree | 19991 | *) # Look for the file first in the build tree, then in the source tree |
37133 | # (if the path is not absolute). The absolute path cannot be DOS-style, | 19992 | # (if the path is not absolute). The absolute path cannot be DOS-style, |
37134 | # because $ac_f cannot contain `:'. | 19993 | # because $ac_f cannot contain `:'. |
@@ -37137,26 +19996,34 @@ echo "$as_me: error: Invalid tag $ac_tag." >&2;} | |||
37137 | [\\/$]*) false;; | 19996 | [\\/$]*) false;; |
37138 | *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; | 19997 | *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; |
37139 | esac || | 19998 | esac || |
37140 | { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 | 19999 | as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; |
37141 | echo "$as_me: error: cannot find input file: $ac_f" >&2;} | ||
37142 | { (exit 1); exit 1; }; };; | ||
37143 | esac | 20000 | esac |
37144 | ac_file_inputs="$ac_file_inputs $ac_f" | 20001 | case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac |
20002 | as_fn_append ac_file_inputs " '$ac_f'" | ||
37145 | done | 20003 | done |
37146 | 20004 | ||
37147 | # Let's still pretend it is `configure' which instantiates (i.e., don't | 20005 | # Let's still pretend it is `configure' which instantiates (i.e., don't |
37148 | # use $as_me), people would be surprised to read: | 20006 | # use $as_me), people would be surprised to read: |
37149 | # /* config.h. Generated by config.status. */ | 20007 | # /* config.h. Generated by config.status. */ |
37150 | configure_input="Generated from "`IFS=: | 20008 | configure_input='Generated from '` |
37151 | echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." | 20009 | $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' |
20010 | `' by configure.' | ||
37152 | if test x"$ac_file" != x-; then | 20011 | if test x"$ac_file" != x-; then |
37153 | configure_input="$ac_file. $configure_input" | 20012 | configure_input="$ac_file. $configure_input" |
37154 | { echo "$as_me:$LINENO: creating $ac_file" >&5 | 20013 | { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 |
37155 | echo "$as_me: creating $ac_file" >&6;} | 20014 | $as_echo "$as_me: creating $ac_file" >&6;} |
37156 | fi | 20015 | fi |
20016 | # Neutralize special characters interpreted by sed in replacement strings. | ||
20017 | case $configure_input in #( | ||
20018 | *\&* | *\|* | *\\* ) | ||
20019 | ac_sed_conf_input=`$as_echo "$configure_input" | | ||
20020 | sed 's/[\\\\&|]/\\\\&/g'`;; #( | ||
20021 | *) ac_sed_conf_input=$configure_input;; | ||
20022 | esac | ||
37157 | 20023 | ||
37158 | case $ac_tag in | 20024 | case $ac_tag in |
37159 | *:-:* | *:-) cat >"$tmp/stdin";; | 20025 | *:-:* | *:-) cat >"$ac_tmp/stdin" \ |
20026 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; | ||
37160 | esac | 20027 | esac |
37161 | ;; | 20028 | ;; |
37162 | esac | 20029 | esac |
@@ -37166,42 +20033,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | |||
37166 | X"$ac_file" : 'X\(//\)[^/]' \| \ | 20033 | X"$ac_file" : 'X\(//\)[^/]' \| \ |
37167 | X"$ac_file" : 'X\(//\)$' \| \ | 20034 | X"$ac_file" : 'X\(//\)$' \| \ |
37168 | X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || | 20035 | X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || |
37169 | echo X"$ac_file" | | 20036 | $as_echo X"$ac_file" | |
37170 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ | ||
37171 | s//\1/ | ||
37172 | q | ||
37173 | } | ||
37174 | /^X\(\/\/\)[^/].*/{ | ||
37175 | s//\1/ | ||
37176 | q | ||
37177 | } | ||
37178 | /^X\(\/\/\)$/{ | ||
37179 | s//\1/ | ||
37180 | q | ||
37181 | } | ||
37182 | /^X\(\/\).*/{ | ||
37183 | s//\1/ | ||
37184 | q | ||
37185 | } | ||
37186 | s/.*/./; q'` | ||
37187 | { as_dir="$ac_dir" | ||
37188 | case $as_dir in #( | ||
37189 | -*) as_dir=./$as_dir;; | ||
37190 | esac | ||
37191 | test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { | ||
37192 | as_dirs= | ||
37193 | while :; do | ||
37194 | case $as_dir in #( | ||
37195 | *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( | ||
37196 | *) as_qdir=$as_dir;; | ||
37197 | esac | ||
37198 | as_dirs="'$as_qdir' $as_dirs" | ||
37199 | as_dir=`$as_dirname -- "$as_dir" || | ||
37200 | $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
37201 | X"$as_dir" : 'X\(//\)[^/]' \| \ | ||
37202 | X"$as_dir" : 'X\(//\)$' \| \ | ||
37203 | X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || | ||
37204 | echo X"$as_dir" | | ||
37205 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ | 20037 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ |
37206 | s//\1/ | 20038 | s//\1/ |
37207 | q | 20039 | q |
@@ -37219,20 +20051,15 @@ echo X"$as_dir" | | |||
37219 | q | 20051 | q |
37220 | } | 20052 | } |
37221 | s/.*/./; q'` | 20053 | s/.*/./; q'` |
37222 | test -d "$as_dir" && break | 20054 | as_dir="$ac_dir"; as_fn_mkdir_p |
37223 | done | ||
37224 | test -z "$as_dirs" || eval "mkdir $as_dirs" | ||
37225 | } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 | ||
37226 | echo "$as_me: error: cannot create directory $as_dir" >&2;} | ||
37227 | { (exit 1); exit 1; }; }; } | ||
37228 | ac_builddir=. | 20055 | ac_builddir=. |
37229 | 20056 | ||
37230 | case "$ac_dir" in | 20057 | case "$ac_dir" in |
37231 | .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; | 20058 | .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; |
37232 | *) | 20059 | *) |
37233 | ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` | 20060 | ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` |
37234 | # A ".." for each directory in $ac_dir_suffix. | 20061 | # A ".." for each directory in $ac_dir_suffix. |
37235 | ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` | 20062 | ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` |
37236 | case $ac_top_builddir_sub in | 20063 | case $ac_top_builddir_sub in |
37237 | "") ac_top_builddir_sub=. ac_top_build_prefix= ;; | 20064 | "") ac_top_builddir_sub=. ac_top_build_prefix= ;; |
37238 | *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; | 20065 | *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; |
@@ -37272,12 +20099,12 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix | |||
37272 | esac | 20099 | esac |
37273 | _ACEOF | 20100 | _ACEOF |
37274 | 20101 | ||
37275 | cat >>$CONFIG_STATUS <<\_ACEOF | 20102 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
37276 | # If the template does not know about datarootdir, expand it. | 20103 | # If the template does not know about datarootdir, expand it. |
37277 | # FIXME: This hack should be removed a few years after 2.60. | 20104 | # FIXME: This hack should be removed a few years after 2.60. |
37278 | ac_datarootdir_hack=; ac_datarootdir_seen= | 20105 | ac_datarootdir_hack=; ac_datarootdir_seen= |
37279 | 20106 | ac_sed_dataroot=' | |
37280 | case `sed -n '/datarootdir/ { | 20107 | /datarootdir/ { |
37281 | p | 20108 | p |
37282 | q | 20109 | q |
37283 | } | 20110 | } |
@@ -37285,36 +20112,37 @@ case `sed -n '/datarootdir/ { | |||
37285 | /@docdir@/p | 20112 | /@docdir@/p |
37286 | /@infodir@/p | 20113 | /@infodir@/p |
37287 | /@localedir@/p | 20114 | /@localedir@/p |
37288 | /@mandir@/p | 20115 | /@mandir@/p' |
37289 | ' $ac_file_inputs` in | 20116 | case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in |
37290 | *datarootdir*) ac_datarootdir_seen=yes;; | 20117 | *datarootdir*) ac_datarootdir_seen=yes;; |
37291 | *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) | 20118 | *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) |
37292 | { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 | 20119 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 |
37293 | echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} | 20120 | $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} |
37294 | _ACEOF | 20121 | _ACEOF |
37295 | cat >>$CONFIG_STATUS <<_ACEOF | 20122 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
37296 | ac_datarootdir_hack=' | 20123 | ac_datarootdir_hack=' |
37297 | s&@datadir@&$datadir&g | 20124 | s&@datadir@&$datadir&g |
37298 | s&@docdir@&$docdir&g | 20125 | s&@docdir@&$docdir&g |
37299 | s&@infodir@&$infodir&g | 20126 | s&@infodir@&$infodir&g |
37300 | s&@localedir@&$localedir&g | 20127 | s&@localedir@&$localedir&g |
37301 | s&@mandir@&$mandir&g | 20128 | s&@mandir@&$mandir&g |
37302 | s&\\\${datarootdir}&$datarootdir&g' ;; | 20129 | s&\\\${datarootdir}&$datarootdir&g' ;; |
37303 | esac | 20130 | esac |
37304 | _ACEOF | 20131 | _ACEOF |
37305 | 20132 | ||
37306 | # Neutralize VPATH when `$srcdir' = `.'. | 20133 | # Neutralize VPATH when `$srcdir' = `.'. |
37307 | # Shell code in configure.ac might set extrasub. | 20134 | # Shell code in configure.ac might set extrasub. |
37308 | # FIXME: do we really want to maintain this feature? | 20135 | # FIXME: do we really want to maintain this feature? |
37309 | cat >>$CONFIG_STATUS <<_ACEOF | 20136 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
37310 | sed "$ac_vpsub | 20137 | ac_sed_extra="$ac_vpsub |
37311 | $extrasub | 20138 | $extrasub |
37312 | _ACEOF | 20139 | _ACEOF |
37313 | cat >>$CONFIG_STATUS <<\_ACEOF | 20140 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
37314 | :t | 20141 | :t |
37315 | /@[a-zA-Z_][a-zA-Z_0-9]*@/!b | 20142 | /@[a-zA-Z_][a-zA-Z_0-9]*@/!b |
37316 | s&@configure_input@&$configure_input&;t t | 20143 | s|@configure_input@|$ac_sed_conf_input|;t t |
37317 | s&@top_builddir@&$ac_top_builddir_sub&;t t | 20144 | s&@top_builddir@&$ac_top_builddir_sub&;t t |
20145 | s&@top_build_prefix@&$ac_top_build_prefix&;t t | ||
37318 | s&@srcdir@&$ac_srcdir&;t t | 20146 | s&@srcdir@&$ac_srcdir&;t t |
37319 | s&@abs_srcdir@&$ac_abs_srcdir&;t t | 20147 | s&@abs_srcdir@&$ac_abs_srcdir&;t t |
37320 | s&@top_srcdir@&$ac_top_srcdir&;t t | 20148 | s&@top_srcdir@&$ac_top_srcdir&;t t |
@@ -37324,119 +20152,49 @@ s&@abs_builddir@&$ac_abs_builddir&;t t | |||
37324 | s&@abs_top_builddir@&$ac_abs_top_builddir&;t t | 20152 | s&@abs_top_builddir@&$ac_abs_top_builddir&;t t |
37325 | s&@INSTALL@&$ac_INSTALL&;t t | 20153 | s&@INSTALL@&$ac_INSTALL&;t t |
37326 | $ac_datarootdir_hack | 20154 | $ac_datarootdir_hack |
37327 | " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out | 20155 | " |
20156 | eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ | ||
20157 | >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 | ||
37328 | 20158 | ||
37329 | test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && | 20159 | test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && |
37330 | { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && | 20160 | { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && |
37331 | { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && | 20161 | { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ |
37332 | { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' | 20162 | "$ac_tmp/out"`; test -z "$ac_out"; } && |
37333 | which seems to be undefined. Please make sure it is defined." >&5 | 20163 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' |
37334 | echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' | 20164 | which seems to be undefined. Please make sure it is defined" >&5 |
37335 | which seems to be undefined. Please make sure it is defined." >&2;} | 20165 | $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' |
37336 | 20166 | which seems to be undefined. Please make sure it is defined" >&2;} | |
37337 | rm -f "$tmp/stdin" | 20167 | |
20168 | rm -f "$ac_tmp/stdin" | ||
37338 | case $ac_file in | 20169 | case $ac_file in |
37339 | -) cat "$tmp/out"; rm -f "$tmp/out";; | 20170 | -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; |
37340 | *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; | 20171 | *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; |
37341 | esac | 20172 | esac \ |
20173 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 | ||
37342 | ;; | 20174 | ;; |
37343 | :H) | 20175 | :H) |
37344 | # | 20176 | # |
37345 | # CONFIG_HEADER | 20177 | # CONFIG_HEADER |
37346 | # | 20178 | # |
37347 | _ACEOF | ||
37348 | |||
37349 | # Transform confdefs.h into a sed script `conftest.defines', that | ||
37350 | # substitutes the proper values into config.h.in to produce config.h. | ||
37351 | rm -f conftest.defines conftest.tail | ||
37352 | # First, append a space to every undef/define line, to ease matching. | ||
37353 | echo 's/$/ /' >conftest.defines | ||
37354 | # Then, protect against being on the right side of a sed subst, or in | ||
37355 | # an unquoted here document, in config.status. If some macros were | ||
37356 | # called several times there might be several #defines for the same | ||
37357 | # symbol, which is useless. But do not sort them, since the last | ||
37358 | # AC_DEFINE must be honored. | ||
37359 | ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* | ||
37360 | # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where | ||
37361 | # NAME is the cpp macro being defined, VALUE is the value it is being given. | ||
37362 | # PARAMS is the parameter list in the macro definition--in most cases, it's | ||
37363 | # just an empty string. | ||
37364 | ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' | ||
37365 | ac_dB='\\)[ (].*,\\1define\\2' | ||
37366 | ac_dC=' ' | ||
37367 | ac_dD=' ,' | ||
37368 | |||
37369 | uniq confdefs.h | | ||
37370 | sed -n ' | ||
37371 | t rset | ||
37372 | :rset | ||
37373 | s/^[ ]*#[ ]*define[ ][ ]*// | ||
37374 | t ok | ||
37375 | d | ||
37376 | :ok | ||
37377 | s/[\\&,]/\\&/g | ||
37378 | s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p | ||
37379 | s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p | ||
37380 | ' >>conftest.defines | ||
37381 | |||
37382 | # Remove the space that was appended to ease matching. | ||
37383 | # Then replace #undef with comments. This is necessary, for | ||
37384 | # example, in the case of _POSIX_SOURCE, which is predefined and required | ||
37385 | # on some systems where configure will not decide to define it. | ||
37386 | # (The regexp can be short, since the line contains either #define or #undef.) | ||
37387 | echo 's/ $// | ||
37388 | s,^[ #]*u.*,/* & */,' >>conftest.defines | ||
37389 | |||
37390 | # Break up conftest.defines: | ||
37391 | ac_max_sed_lines=50 | ||
37392 | |||
37393 | # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" | ||
37394 | # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" | ||
37395 | # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" | ||
37396 | # et cetera. | ||
37397 | ac_in='$ac_file_inputs' | ||
37398 | ac_out='"$tmp/out1"' | ||
37399 | ac_nxt='"$tmp/out2"' | ||
37400 | |||
37401 | while : | ||
37402 | do | ||
37403 | # Write a here document: | ||
37404 | cat >>$CONFIG_STATUS <<_ACEOF | ||
37405 | # First, check the format of the line: | ||
37406 | cat >"\$tmp/defines.sed" <<\\CEOF | ||
37407 | /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def | ||
37408 | /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def | ||
37409 | b | ||
37410 | :def | ||
37411 | _ACEOF | ||
37412 | sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS | ||
37413 | echo 'CEOF | ||
37414 | sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS | ||
37415 | ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in | ||
37416 | sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail | ||
37417 | grep . conftest.tail >/dev/null || break | ||
37418 | rm -f conftest.defines | ||
37419 | mv conftest.tail conftest.defines | ||
37420 | done | ||
37421 | rm -f conftest.defines conftest.tail | ||
37422 | |||
37423 | echo "ac_result=$ac_in" >>$CONFIG_STATUS | ||
37424 | cat >>$CONFIG_STATUS <<\_ACEOF | ||
37425 | if test x"$ac_file" != x-; then | 20179 | if test x"$ac_file" != x-; then |
37426 | echo "/* $configure_input */" >"$tmp/config.h" | 20180 | { |
37427 | cat "$ac_result" >>"$tmp/config.h" | 20181 | $as_echo "/* $configure_input */" \ |
37428 | if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then | 20182 | && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" |
37429 | { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 | 20183 | } >"$ac_tmp/config.h" \ |
37430 | echo "$as_me: $ac_file is unchanged" >&6;} | 20184 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
20185 | if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then | ||
20186 | { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 | ||
20187 | $as_echo "$as_me: $ac_file is unchanged" >&6;} | ||
37431 | else | 20188 | else |
37432 | rm -f $ac_file | 20189 | rm -f "$ac_file" |
37433 | mv "$tmp/config.h" $ac_file | 20190 | mv "$ac_tmp/config.h" "$ac_file" \ |
20191 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 | ||
37434 | fi | 20192 | fi |
37435 | else | 20193 | else |
37436 | echo "/* $configure_input */" | 20194 | $as_echo "/* $configure_input */" \ |
37437 | cat "$ac_result" | 20195 | && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ |
20196 | || as_fn_error $? "could not create -" "$LINENO" 5 | ||
37438 | fi | 20197 | fi |
37439 | rm -f "$tmp/out12" | ||
37440 | ;; | 20198 | ;; |
37441 | 20199 | ||
37442 | 20200 | ||
@@ -37445,11 +20203,13 @@ echo "$as_me: $ac_file is unchanged" >&6;} | |||
37445 | done # for ac_tag | 20203 | done # for ac_tag |
37446 | 20204 | ||
37447 | 20205 | ||
37448 | { (exit 0); exit 0; } | 20206 | as_fn_exit 0 |
37449 | _ACEOF | 20207 | _ACEOF |
37450 | chmod +x $CONFIG_STATUS | ||
37451 | ac_clean_files=$ac_clean_files_save | 20208 | ac_clean_files=$ac_clean_files_save |
37452 | 20209 | ||
20210 | test $ac_write_fail = 0 || | ||
20211 | as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 | ||
20212 | |||
37453 | 20213 | ||
37454 | # configure is writing to config.log, and then calls config.status. | 20214 | # configure is writing to config.log, and then calls config.status. |
37455 | # config.status does its own redirection, appending to config.log. | 20215 | # config.status does its own redirection, appending to config.log. |
@@ -37469,7 +20229,11 @@ if test "$no_create" != yes; then | |||
37469 | exec 5>>config.log | 20229 | exec 5>>config.log |
37470 | # Use ||, not &&, to avoid exiting from the if with $? = 1, which | 20230 | # Use ||, not &&, to avoid exiting from the if with $? = 1, which |
37471 | # would make configure fail if this is the last instruction. | 20231 | # would make configure fail if this is the last instruction. |
37472 | $ac_cs_success || { (exit 1); exit 1; } | 20232 | $ac_cs_success || as_fn_exit 1 |
20233 | fi | ||
20234 | if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then | ||
20235 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 | ||
20236 | $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} | ||
37473 | fi | 20237 | fi |
37474 | 20238 | ||
37475 | 20239 | ||
diff --git a/configure.ac b/configure.ac index 373d21b34..eb9f45dcc 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -79,19 +79,6 @@ if test -z "$AR" ; then | |||
79 | AC_MSG_ERROR([*** 'ar' missing, please install or fix your \$PATH ***]) | 79 | AC_MSG_ERROR([*** 'ar' missing, please install or fix your \$PATH ***]) |
80 | fi | 80 | fi |
81 | 81 | ||
82 | # Use LOGIN_PROGRAM from environment if possible | ||
83 | if test ! -z "$LOGIN_PROGRAM" ; then | ||
84 | AC_DEFINE_UNQUOTED([LOGIN_PROGRAM_FALLBACK], ["$LOGIN_PROGRAM"], | ||
85 | [If your header files don't define LOGIN_PROGRAM, | ||
86 | then use this (detected) from environment and PATH]) | ||
87 | else | ||
88 | # Search for login | ||
89 | AC_PATH_PROG([LOGIN_PROGRAM_FALLBACK], [login]) | ||
90 | if test ! -z "$LOGIN_PROGRAM_FALLBACK" ; then | ||
91 | AC_DEFINE_UNQUOTED([LOGIN_PROGRAM_FALLBACK], ["$LOGIN_PROGRAM_FALLBACK"]) | ||
92 | fi | ||
93 | fi | ||
94 | |||
95 | AC_PATH_PROG([PATH_PASSWD_PROG], [passwd]) | 82 | AC_PATH_PROG([PATH_PASSWD_PROG], [passwd]) |
96 | if test ! -z "$PATH_PASSWD_PROG" ; then | 83 | if test ! -z "$PATH_PASSWD_PROG" ; then |
97 | AC_DEFINE_UNQUOTED([_PATH_PASSWD_PROG], ["$PATH_PASSWD_PROG"], | 84 | AC_DEFINE_UNQUOTED([_PATH_PASSWD_PROG], ["$PATH_PASSWD_PROG"], |
@@ -123,6 +110,7 @@ AC_CHECK_DECL([PR_SET_NO_NEW_PRIVS], [have_linux_no_new_privs=1], , [ | |||
123 | 110 | ||
124 | openssl=yes | 111 | openssl=yes |
125 | ssh1=no | 112 | ssh1=no |
113 | COMMENT_OUT_RSA1="#no ssh1#" | ||
126 | AC_ARG_WITH([openssl], | 114 | AC_ARG_WITH([openssl], |
127 | [ --without-openssl Disable use of OpenSSL; use only limited internal crypto **EXPERIMENTAL** ], | 115 | [ --without-openssl Disable use of OpenSSL; use only limited internal crypto **EXPERIMENTAL** ], |
128 | [ if test "x$withval" = "xno" ; then | 116 | [ if test "x$withval" = "xno" ; then |
@@ -147,6 +135,7 @@ AC_ARG_WITH([ssh1], | |||
147 | AC_MSG_ERROR([Cannot enable SSH protocol 1 with OpenSSL disabled]) | 135 | AC_MSG_ERROR([Cannot enable SSH protocol 1 with OpenSSL disabled]) |
148 | fi | 136 | fi |
149 | ssh1=yes | 137 | ssh1=yes |
138 | COMMENT_OUT_RSA1="" | ||
150 | elif test "x$withval" = "xno" ; then | 139 | elif test "x$withval" = "xno" ; then |
151 | ssh1=no | 140 | ssh1=no |
152 | else | 141 | else |
@@ -158,6 +147,7 @@ AC_MSG_CHECKING([whether SSH protocol 1 support is enabled]) | |||
158 | if test "x$ssh1" = "xyes" ; then | 147 | if test "x$ssh1" = "xyes" ; then |
159 | AC_MSG_RESULT([yes]) | 148 | AC_MSG_RESULT([yes]) |
160 | AC_DEFINE_UNQUOTED([WITH_SSH1], [1], [include SSH protocol version 1 support]) | 149 | AC_DEFINE_UNQUOTED([WITH_SSH1], [1], [include SSH protocol version 1 support]) |
150 | AC_SUBST([COMMENT_OUT_RSA1]) | ||
161 | else | 151 | else |
162 | AC_MSG_RESULT([no]) | 152 | AC_MSG_RESULT([no]) |
163 | fi | 153 | fi |
@@ -415,6 +405,7 @@ AC_CHECK_HEADERS([ \ | |||
415 | sys/poll.h \ | 405 | sys/poll.h \ |
416 | sys/prctl.h \ | 406 | sys/prctl.h \ |
417 | sys/pstat.h \ | 407 | sys/pstat.h \ |
408 | sys/ptrace.h \ | ||
418 | sys/select.h \ | 409 | sys/select.h \ |
419 | sys/stat.h \ | 410 | sys/stat.h \ |
420 | sys/stream.h \ | 411 | sys/stream.h \ |
@@ -653,18 +644,16 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | |||
653 | TEST_MALLOC_OPTIONS="AFGJPRX" | 644 | TEST_MALLOC_OPTIONS="AFGJPRX" |
654 | ;; | 645 | ;; |
655 | *-*-haiku*) | 646 | *-*-haiku*) |
656 | LIBS="$LIBS -lbsd " | 647 | LIBS="$LIBS -lbsd " |
657 | AC_CHECK_LIB([network], [socket]) | 648 | AC_CHECK_LIB([network], [socket]) |
658 | AC_DEFINE([HAVE_U_INT64_T]) | 649 | AC_DEFINE([HAVE_U_INT64_T]) |
659 | MANTYPE=man | 650 | MANTYPE=man |
660 | ;; | 651 | ;; |
661 | *-*-hpux*) | 652 | *-*-hpux*) |
662 | # first we define all of the options common to all HP-UX releases | 653 | # first we define all of the options common to all HP-UX releases |
663 | CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1" | 654 | CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1" |
664 | IPADDR_IN_DISPLAY=yes | 655 | IPADDR_IN_DISPLAY=yes |
665 | AC_DEFINE([USE_PIPES]) | 656 | AC_DEFINE([USE_PIPES]) |
666 | AC_DEFINE([LOGIN_NO_ENDOPT], [1], | ||
667 | [Define if your login program cannot handle end of options ("--")]) | ||
668 | AC_DEFINE([LOGIN_NEEDS_UTMPX]) | 657 | AC_DEFINE([LOGIN_NEEDS_UTMPX]) |
669 | AC_DEFINE([LOCKED_PASSWD_STRING], ["*"], | 658 | AC_DEFINE([LOCKED_PASSWD_STRING], ["*"], |
670 | [String used in /etc/passwd to denote locked account]) | 659 | [String used in /etc/passwd to denote locked account]) |
@@ -781,7 +770,6 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | |||
781 | fi | 770 | fi |
782 | AC_CHECK_HEADERS([linux/seccomp.h linux/filter.h linux/audit.h], [], | 771 | AC_CHECK_HEADERS([linux/seccomp.h linux/filter.h linux/audit.h], [], |
783 | [], [#include <linux/types.h>]) | 772 | [], [#include <linux/types.h>]) |
784 | AC_CHECK_FUNCS([prctl]) | ||
785 | AC_MSG_CHECKING([for seccomp architecture]) | 773 | AC_MSG_CHECKING([for seccomp architecture]) |
786 | seccomp_audit_arch= | 774 | seccomp_audit_arch= |
787 | case "$host" in | 775 | case "$host" in |
@@ -846,8 +834,6 @@ mips-sony-bsd|mips-sony-newsos4) | |||
846 | AC_DEFINE([SSH_TUN_PREPEND_AF], [1], | 834 | AC_DEFINE([SSH_TUN_PREPEND_AF], [1], |
847 | [Prepend the address family to IP tunnel traffic]) | 835 | [Prepend the address family to IP tunnel traffic]) |
848 | TEST_MALLOC_OPTIONS="AJRX" | 836 | TEST_MALLOC_OPTIONS="AJRX" |
849 | AC_DEFINE([BROKEN_STRNVIS], [1], | ||
850 | [NetBSD strnvis argument order is swapped compared to OpenBSD]) | ||
851 | AC_DEFINE([BROKEN_READ_COMPARISON], [1], | 837 | AC_DEFINE([BROKEN_READ_COMPARISON], [1], |
852 | [NetBSD read function is sometimes redirected, breaking atomicio comparisons against it]) | 838 | [NetBSD read function is sometimes redirected, breaking atomicio comparisons against it]) |
853 | ;; | 839 | ;; |
@@ -858,8 +844,6 @@ mips-sony-bsd|mips-sony-newsos4) | |||
858 | AC_CHECK_HEADER([net/if_tap.h], , | 844 | AC_CHECK_HEADER([net/if_tap.h], , |
859 | AC_DEFINE([SSH_TUN_NO_L2], [1], [No layer 2 tunnel support])) | 845 | AC_DEFINE([SSH_TUN_NO_L2], [1], [No layer 2 tunnel support])) |
860 | AC_DEFINE([BROKEN_GLOB], [1], [FreeBSD glob does not do what we need]) | 846 | AC_DEFINE([BROKEN_GLOB], [1], [FreeBSD glob does not do what we need]) |
861 | AC_DEFINE([BROKEN_STRNVIS], [1], | ||
862 | [FreeBSD strnvis argument order is swapped compared to OpenBSD]) | ||
863 | TEST_MALLOC_OPTIONS="AJRX" | 847 | TEST_MALLOC_OPTIONS="AJRX" |
864 | # Preauth crypto occasionally uses file descriptors for crypto offload | 848 | # Preauth crypto occasionally uses file descriptors for crypto offload |
865 | # and will crash if they cannot be opened. | 849 | # and will crash if they cannot be opened. |
@@ -896,9 +880,6 @@ mips-sony-bsd|mips-sony-newsos4) | |||
896 | fi | 880 | fi |
897 | AC_DEFINE([PAM_SUN_CODEBASE]) | 881 | AC_DEFINE([PAM_SUN_CODEBASE]) |
898 | AC_DEFINE([LOGIN_NEEDS_UTMPX]) | 882 | AC_DEFINE([LOGIN_NEEDS_UTMPX]) |
899 | AC_DEFINE([LOGIN_NEEDS_TERM], [1], | ||
900 | [Some versions of /bin/login need the TERM supplied | ||
901 | on the commandline]) | ||
902 | AC_DEFINE([PAM_TTY_KLUDGE]) | 883 | AC_DEFINE([PAM_TTY_KLUDGE]) |
903 | AC_DEFINE([SSHPAM_CHAUTHTOK_NEEDS_RUID], [1], | 884 | AC_DEFINE([SSHPAM_CHAUTHTOK_NEEDS_RUID], [1], |
904 | [Define if pam_chauthtok wants real uid set | 885 | [Define if pam_chauthtok wants real uid set |
@@ -1157,15 +1138,15 @@ mips-sony-bsd|mips-sony-newsos4) | |||
1157 | 1138 | ||
1158 | *-*-ultrix*) | 1139 | *-*-ultrix*) |
1159 | AC_DEFINE([BROKEN_GETGROUPS], [1], [getgroups(0,NULL) will return -1]) | 1140 | AC_DEFINE([BROKEN_GETGROUPS], [1], [getgroups(0,NULL) will return -1]) |
1160 | AC_DEFINE([BROKEN_MMAP], [1], [Ultrix mmap can't map files]) | ||
1161 | AC_DEFINE([NEED_SETPGRP]) | 1141 | AC_DEFINE([NEED_SETPGRP]) |
1162 | AC_DEFINE([HAVE_SYS_SYSLOG_H], [1], [Force use of sys/syslog.h on Ultrix]) | 1142 | AC_DEFINE([HAVE_SYS_SYSLOG_H], [1], [Force use of sys/syslog.h on Ultrix]) |
1163 | ;; | 1143 | ;; |
1164 | 1144 | ||
1165 | *-*-lynxos) | 1145 | *-*-lynxos) |
1166 | CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__" | 1146 | CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__" |
1167 | AC_DEFINE([BROKEN_SETVBUF], [1], [LynxOS has broken setvbuf() implementation]) | 1147 | AC_DEFINE([BROKEN_SETVBUF], [1], |
1168 | ;; | 1148 | [LynxOS has broken setvbuf() implementation]) |
1149 | ;; | ||
1169 | esac | 1150 | esac |
1170 | 1151 | ||
1171 | AC_MSG_CHECKING([compiler and flags for sanity]) | 1152 | AC_MSG_CHECKING([compiler and flags for sanity]) |
@@ -1727,7 +1708,6 @@ AC_CHECK_FUNCS([ \ | |||
1727 | memmove \ | 1708 | memmove \ |
1728 | memset_s \ | 1709 | memset_s \ |
1729 | mkdtemp \ | 1710 | mkdtemp \ |
1730 | mmap \ | ||
1731 | ngetaddrinfo \ | 1711 | ngetaddrinfo \ |
1732 | nsleep \ | 1712 | nsleep \ |
1733 | ogetaddrinfo \ | 1713 | ogetaddrinfo \ |
@@ -1763,6 +1743,7 @@ AC_CHECK_FUNCS([ \ | |||
1763 | socketpair \ | 1743 | socketpair \ |
1764 | statfs \ | 1744 | statfs \ |
1765 | statvfs \ | 1745 | statvfs \ |
1746 | strcasestr \ | ||
1766 | strdup \ | 1747 | strdup \ |
1767 | strerror \ | 1748 | strerror \ |
1768 | strlcat \ | 1749 | strlcat \ |
@@ -1796,6 +1777,24 @@ CFLAGS="$CFLAGS -D_XOPEN_SOURCE" | |||
1796 | AC_CHECK_FUNCS([mblen mbtowc nl_langinfo wcwidth]) | 1777 | AC_CHECK_FUNCS([mblen mbtowc nl_langinfo wcwidth]) |
1797 | CFLAGS="$saved_CFLAGS" | 1778 | CFLAGS="$saved_CFLAGS" |
1798 | 1779 | ||
1780 | TEST_SSH_UTF8=${TEST_SSH_UTF8:=yes} | ||
1781 | AC_MSG_CHECKING([for utf8 locale support]) | ||
1782 | AC_RUN_IFELSE( | ||
1783 | [AC_LANG_PROGRAM([[ | ||
1784 | #include <locale.h> | ||
1785 | #include <stdlib.h> | ||
1786 | ]], [[ | ||
1787 | char *loc = setlocale(LC_CTYPE, "en_US.UTF-8"); | ||
1788 | if (loc != NULL) | ||
1789 | exit(0); | ||
1790 | exit(1); | ||
1791 | ]])], | ||
1792 | AC_MSG_RESULT(yes), | ||
1793 | [AC_MSG_RESULT(no) | ||
1794 | TEST_SSH_UTF8=no], | ||
1795 | AC_MSG_WARN([cross compiling: assuming yes]) | ||
1796 | ) | ||
1797 | |||
1799 | AC_LINK_IFELSE( | 1798 | AC_LINK_IFELSE( |
1800 | [AC_LANG_PROGRAM( | 1799 | [AC_LANG_PROGRAM( |
1801 | [[ #include <ctype.h> ]], | 1800 | [[ #include <ctype.h> ]], |
@@ -2333,6 +2332,41 @@ if test "x$check_for_conflicting_getspnam" = "x1"; then | |||
2333 | ) | 2332 | ) |
2334 | fi | 2333 | fi |
2335 | 2334 | ||
2335 | dnl NetBSD added an strnvis and unfortunately made it incompatible with the | ||
2336 | dnl existing one in OpenBSD and Linux's libbsd (the former having existed | ||
2337 | dnl for over ten years). Despite this incompatibility being reported during | ||
2338 | dnl development (see http://gnats.netbsd.org/44977) they still shipped it. | ||
2339 | dnl Even more unfortunately FreeBSD and later MacOS picked up this incompatible | ||
2340 | dnl implementation. Try to detect this mess, and assume the only safe option | ||
2341 | dnl if we're cross compiling. | ||
2342 | dnl | ||
2343 | dnl OpenBSD, 2001: strnvis(char *dst, const char *src, size_t dlen, int flag); | ||
2344 | dnl NetBSD: 2012, strnvis(char *dst, size_t dlen, const char *src, int flag); | ||
2345 | if test "x$ac_cv_func_strnvis" = "xyes"; then | ||
2346 | AC_MSG_CHECKING([for working strnvis]) | ||
2347 | AC_RUN_IFELSE( | ||
2348 | [AC_LANG_PROGRAM([[ | ||
2349 | #include <signal.h> | ||
2350 | #include <stdlib.h> | ||
2351 | #include <string.h> | ||
2352 | #include <vis.h> | ||
2353 | static void sighandler(int sig) { _exit(1); } | ||
2354 | ]], [[ | ||
2355 | char dst[16]; | ||
2356 | |||
2357 | signal(SIGSEGV, sighandler); | ||
2358 | if (strnvis(dst, "src", 4, 0) && strcmp(dst, "src") == 0) | ||
2359 | exit(0); | ||
2360 | exit(1) | ||
2361 | ]])], | ||
2362 | [AC_MSG_RESULT([yes])], | ||
2363 | [AC_MSG_RESULT([no]) | ||
2364 | AC_DEFINE([BROKEN_STRNVIS], [1], [strnvis detected broken])], | ||
2365 | [AC_MSG_WARN([cross compiling: assuming broken]) | ||
2366 | AC_DEFINE([BROKEN_STRNVIS], [1], [strnvis assumed broken])] | ||
2367 | ) | ||
2368 | fi | ||
2369 | |||
2336 | AC_FUNC_GETPGRP | 2370 | AC_FUNC_GETPGRP |
2337 | 2371 | ||
2338 | # Search for OpenSSL | 2372 | # Search for OpenSSL |
@@ -3012,6 +3046,17 @@ AC_ARG_WITH([pam], | |||
3012 | ] | 3046 | ] |
3013 | ) | 3047 | ) |
3014 | 3048 | ||
3049 | AC_ARG_WITH([pam-service], | ||
3050 | [ --with-pam-service=name Specify PAM service name ], | ||
3051 | [ | ||
3052 | if test "x$withval" != "xno" && \ | ||
3053 | test "x$withval" != "xyes" ; then | ||
3054 | AC_DEFINE_UNQUOTED([SSHD_PAM_SERVICE], | ||
3055 | ["$withval"], [sshd PAM service name]) | ||
3056 | fi | ||
3057 | ] | ||
3058 | ) | ||
3059 | |||
3015 | # Check for older PAM | 3060 | # Check for older PAM |
3016 | if test "x$PAM_MSG" = "xyes" ; then | 3061 | if test "x$PAM_MSG" = "xyes" ; then |
3017 | # Check PAM strerror arguments (old PAM) | 3062 | # Check PAM strerror arguments (old PAM) |
@@ -4125,7 +4170,7 @@ AC_ARG_WITH([kerberos5], | |||
4125 | AC_DEFINE([KRB5], [1], [Define if you want Kerberos 5 support]) | 4170 | AC_DEFINE([KRB5], [1], [Define if you want Kerberos 5 support]) |
4126 | KRB5_MSG="yes" | 4171 | KRB5_MSG="yes" |
4127 | 4172 | ||
4128 | AC_PATH_PROG([KRB5CONF], [krb5-config], | 4173 | AC_PATH_TOOL([KRB5CONF], [krb5-config], |
4129 | [$KRB5ROOT/bin/krb5-config], | 4174 | [$KRB5ROOT/bin/krb5-config], |
4130 | [$KRB5ROOT/bin:$PATH]) | 4175 | [$KRB5ROOT/bin:$PATH]) |
4131 | if test -x $KRB5CONF ; then | 4176 | if test -x $KRB5CONF ; then |
@@ -4983,6 +5028,7 @@ else | |||
4983 | fi | 5028 | fi |
4984 | AC_CHECK_DECL([BROKEN_GETADDRINFO], [TEST_SSH_IPV6=no]) | 5029 | AC_CHECK_DECL([BROKEN_GETADDRINFO], [TEST_SSH_IPV6=no]) |
4985 | AC_SUBST([TEST_SSH_IPV6], [$TEST_SSH_IPV6]) | 5030 | AC_SUBST([TEST_SSH_IPV6], [$TEST_SSH_IPV6]) |
5031 | AC_SUBST([TEST_SSH_UTF8], [$TEST_SSH_UTF8]) | ||
4986 | AC_SUBST([TEST_MALLOC_OPTIONS], [$TEST_MALLOC_OPTIONS]) | 5032 | AC_SUBST([TEST_MALLOC_OPTIONS], [$TEST_MALLOC_OPTIONS]) |
4987 | AC_SUBST([UNSUPPORTED_ALGORITHMS], [$unsupported_algorithms]) | 5033 | AC_SUBST([UNSUPPORTED_ALGORITHMS], [$unsupported_algorithms]) |
4988 | 5034 | ||
diff --git a/contrib/Makefile b/contrib/Makefile index eaf7fe2fd..3a36387b3 100644 --- a/contrib/Makefile +++ b/contrib/Makefile | |||
@@ -13,5 +13,10 @@ gnome-ssh-askpass2: gnome-ssh-askpass2.c | |||
13 | gnome-ssh-askpass2.c -o gnome-ssh-askpass2 \ | 13 | gnome-ssh-askpass2.c -o gnome-ssh-askpass2 \ |
14 | `$(PKG_CONFIG) --libs gtk+-2.0 x11` | 14 | `$(PKG_CONFIG) --libs gtk+-2.0 x11` |
15 | 15 | ||
16 | gnome-ssh-askpass3: gnome-ssh-askpass2.c | ||
17 | $(CC) $(CFLAGS) `$(PKG_CONFIG) --cflags gtk+-3.0` \ | ||
18 | gnome-ssh-askpass2.c -o gnome-ssh-askpass3 \ | ||
19 | `$(PKG_CONFIG) --libs gtk+-3.0 x11` | ||
20 | |||
16 | clean: | 21 | clean: |
17 | rm -f *.o gnome-ssh-askpass1 gnome-ssh-askpass2 gnome-ssh-askpass | 22 | rm -f *.o gnome-ssh-askpass gnome-ssh-askpass[123] |
diff --git a/contrib/gnome-ssh-askpass2.c b/contrib/gnome-ssh-askpass2.c index 9d97c30c0..535a69274 100644 --- a/contrib/gnome-ssh-askpass2.c +++ b/contrib/gnome-ssh-askpass2.c | |||
@@ -57,19 +57,17 @@ | |||
57 | #include <gdk/gdkx.h> | 57 | #include <gdk/gdkx.h> |
58 | 58 | ||
59 | static void | 59 | static void |
60 | report_failed_grab (const char *what) | 60 | report_failed_grab (GtkWidget *parent_window, const char *what) |
61 | { | 61 | { |
62 | GtkWidget *err; | 62 | GtkWidget *err; |
63 | 63 | ||
64 | err = gtk_message_dialog_new(NULL, 0, | 64 | err = gtk_message_dialog_new(GTK_WINDOW(parent_window), 0, |
65 | GTK_MESSAGE_ERROR, | 65 | GTK_MESSAGE_ERROR, |
66 | GTK_BUTTONS_CLOSE, | 66 | GTK_BUTTONS_CLOSE, |
67 | "Could not grab %s. " | 67 | "Could not grab %s. " |
68 | "A malicious client may be eavesdropping " | 68 | "A malicious client may be eavesdropping " |
69 | "on your session.", what); | 69 | "on your session.", what); |
70 | gtk_window_set_position(GTK_WINDOW(err), GTK_WIN_POS_CENTER); | 70 | gtk_window_set_position(GTK_WINDOW(err), GTK_WIN_POS_CENTER); |
71 | gtk_label_set_line_wrap(GTK_LABEL((GTK_MESSAGE_DIALOG(err))->label), | ||
72 | TRUE); | ||
73 | 71 | ||
74 | gtk_dialog_run(GTK_DIALOG(err)); | 72 | gtk_dialog_run(GTK_DIALOG(err)); |
75 | 73 | ||
@@ -89,22 +87,27 @@ passphrase_dialog(char *message) | |||
89 | const char *failed; | 87 | const char *failed; |
90 | char *passphrase, *local; | 88 | char *passphrase, *local; |
91 | int result, grab_tries, grab_server, grab_pointer; | 89 | int result, grab_tries, grab_server, grab_pointer; |
92 | GtkWidget *dialog, *entry; | 90 | GtkWidget *parent_window, *dialog, *entry; |
93 | GdkGrabStatus status; | 91 | GdkGrabStatus status; |
94 | 92 | ||
95 | grab_server = (getenv("GNOME_SSH_ASKPASS_GRAB_SERVER") != NULL); | 93 | grab_server = (getenv("GNOME_SSH_ASKPASS_GRAB_SERVER") != NULL); |
96 | grab_pointer = (getenv("GNOME_SSH_ASKPASS_GRAB_POINTER") != NULL); | 94 | grab_pointer = (getenv("GNOME_SSH_ASKPASS_GRAB_POINTER") != NULL); |
97 | grab_tries = 0; | 95 | grab_tries = 0; |
98 | 96 | ||
99 | dialog = gtk_message_dialog_new(NULL, 0, | 97 | /* Create an invisible parent window so that GtkDialog doesn't |
98 | * complain. */ | ||
99 | parent_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); | ||
100 | |||
101 | dialog = gtk_message_dialog_new(GTK_WINDOW(parent_window), 0, | ||
100 | GTK_MESSAGE_QUESTION, | 102 | GTK_MESSAGE_QUESTION, |
101 | GTK_BUTTONS_OK_CANCEL, | 103 | GTK_BUTTONS_OK_CANCEL, |
102 | "%s", | 104 | "%s", |
103 | message); | 105 | message); |
104 | 106 | ||
105 | entry = gtk_entry_new(); | 107 | entry = gtk_entry_new(); |
106 | gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), entry, FALSE, | 108 | gtk_box_pack_start( |
107 | FALSE, 0); | 109 | GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), entry, |
110 | FALSE, FALSE, 0); | ||
108 | gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); | 111 | gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); |
109 | gtk_widget_grab_focus(entry); | 112 | gtk_widget_grab_focus(entry); |
110 | gtk_widget_show(entry); | 113 | gtk_widget_show(entry); |
@@ -112,8 +115,6 @@ passphrase_dialog(char *message) | |||
112 | gtk_window_set_title(GTK_WINDOW(dialog), "OpenSSH"); | 115 | gtk_window_set_title(GTK_WINDOW(dialog), "OpenSSH"); |
113 | gtk_window_set_position (GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); | 116 | gtk_window_set_position (GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); |
114 | gtk_window_set_keep_above(GTK_WINDOW(dialog), TRUE); | 117 | gtk_window_set_keep_above(GTK_WINDOW(dialog), TRUE); |
115 | gtk_label_set_line_wrap(GTK_LABEL((GTK_MESSAGE_DIALOG(dialog))->label), | ||
116 | TRUE); | ||
117 | 118 | ||
118 | /* Make <enter> close dialog */ | 119 | /* Make <enter> close dialog */ |
119 | gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK); | 120 | gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK); |
@@ -127,8 +128,8 @@ passphrase_dialog(char *message) | |||
127 | if (grab_pointer) { | 128 | if (grab_pointer) { |
128 | for(;;) { | 129 | for(;;) { |
129 | status = gdk_pointer_grab( | 130 | status = gdk_pointer_grab( |
130 | (GTK_WIDGET(dialog))->window, TRUE, 0, NULL, | 131 | (gtk_widget_get_window(GTK_WIDGET(dialog))), TRUE, |
131 | NULL, GDK_CURRENT_TIME); | 132 | 0, NULL, NULL, GDK_CURRENT_TIME); |
132 | if (status == GDK_GRAB_SUCCESS) | 133 | if (status == GDK_GRAB_SUCCESS) |
133 | break; | 134 | break; |
134 | usleep(GRAB_WAIT * 1000); | 135 | usleep(GRAB_WAIT * 1000); |
@@ -139,8 +140,9 @@ passphrase_dialog(char *message) | |||
139 | } | 140 | } |
140 | } | 141 | } |
141 | for(;;) { | 142 | for(;;) { |
142 | status = gdk_keyboard_grab((GTK_WIDGET(dialog))->window, | 143 | status = gdk_keyboard_grab( |
143 | FALSE, GDK_CURRENT_TIME); | 144 | gtk_widget_get_window(GTK_WIDGET(dialog)), FALSE, |
145 | GDK_CURRENT_TIME); | ||
144 | if (status == GDK_GRAB_SUCCESS) | 146 | if (status == GDK_GRAB_SUCCESS) |
145 | break; | 147 | break; |
146 | usleep(GRAB_WAIT * 1000); | 148 | usleep(GRAB_WAIT * 1000); |
@@ -157,7 +159,7 @@ passphrase_dialog(char *message) | |||
157 | 159 | ||
158 | /* Ungrab */ | 160 | /* Ungrab */ |
159 | if (grab_server) | 161 | if (grab_server) |
160 | XUngrabServer(GDK_DISPLAY()); | 162 | XUngrabServer(gdk_x11_get_default_xdisplay()); |
161 | if (grab_pointer) | 163 | if (grab_pointer) |
162 | gdk_pointer_ungrab(GDK_CURRENT_TIME); | 164 | gdk_pointer_ungrab(GDK_CURRENT_TIME); |
163 | gdk_keyboard_ungrab(GDK_CURRENT_TIME); | 165 | gdk_keyboard_ungrab(GDK_CURRENT_TIME); |
@@ -193,10 +195,10 @@ passphrase_dialog(char *message) | |||
193 | gdk_pointer_ungrab(GDK_CURRENT_TIME); | 195 | gdk_pointer_ungrab(GDK_CURRENT_TIME); |
194 | nograb: | 196 | nograb: |
195 | if (grab_server) | 197 | if (grab_server) |
196 | XUngrabServer(GDK_DISPLAY()); | 198 | XUngrabServer(gdk_x11_get_default_xdisplay()); |
197 | gtk_widget_destroy(dialog); | 199 | gtk_widget_destroy(dialog); |
198 | 200 | ||
199 | report_failed_grab(failed); | 201 | report_failed_grab(parent_window, failed); |
200 | 202 | ||
201 | return (-1); | 203 | return (-1); |
202 | } | 204 | } |
diff --git a/contrib/redhat/openssh.spec b/contrib/redhat/openssh.spec index fd8678f12..666097c5e 100644 --- a/contrib/redhat/openssh.spec +++ b/contrib/redhat/openssh.spec | |||
@@ -1,4 +1,4 @@ | |||
1 | %define ver 7.3p1 | 1 | %define ver 7.4p1 |
2 | %define rel 1 | 2 | %define rel 1 |
3 | 3 | ||
4 | # OpenSSH privilege separation requires a user & group ID | 4 | # OpenSSH privilege separation requires a user & group ID |
@@ -72,8 +72,8 @@ Release: %{rel}rescue | |||
72 | %else | 72 | %else |
73 | Release: %{rel} | 73 | Release: %{rel} |
74 | %endif | 74 | %endif |
75 | URL: http://www.openssh.com/portable.html | 75 | URL: https://www.openssh.com/portable.html |
76 | Source0: ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-%{version}.tar.gz | 76 | Source0: https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-%{version}.tar.gz |
77 | %if ! %{no_x11_askpass} | 77 | %if ! %{no_x11_askpass} |
78 | Source1: http://www.jmknoble.net/software/x11-ssh-askpass/x11-ssh-askpass-%{aversion}.tar.gz | 78 | Source1: http://www.jmknoble.net/software/x11-ssh-askpass/x11-ssh-askpass-%{aversion}.tar.gz |
79 | %endif | 79 | %endif |
diff --git a/contrib/suse/openssh.spec b/contrib/suse/openssh.spec index d2b2728d5..4c4bbb69c 100644 --- a/contrib/suse/openssh.spec +++ b/contrib/suse/openssh.spec | |||
@@ -13,8 +13,8 @@ | |||
13 | 13 | ||
14 | Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation | 14 | Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation |
15 | Name: openssh | 15 | Name: openssh |
16 | Version: 7.3p1 | 16 | Version: 7.4p1 |
17 | URL: http://www.openssh.com/ | 17 | URL: https://www.openssh.com/ |
18 | Release: 1 | 18 | Release: 1 |
19 | Source0: openssh-%{version}.tar.gz | 19 | Source0: openssh-%{version}.tar.gz |
20 | Source1: x11-ssh-askpass-%{xversion}.tar.gz | 20 | Source1: x11-ssh-askpass-%{xversion}.tar.gz |
@@ -25,9 +25,6 @@ | |||
25 | #ifndef _DEFINES_H | 25 | #ifndef _DEFINES_H |
26 | #define _DEFINES_H | 26 | #define _DEFINES_H |
27 | 27 | ||
28 | /* $Id: defines.h,v 1.183 2014/09/02 19:33:26 djm Exp $ */ | ||
29 | |||
30 | |||
31 | /* Constants */ | 28 | /* Constants */ |
32 | 29 | ||
33 | #if defined(HAVE_DECL_SHUT_RD) && HAVE_DECL_SHUT_RD == 0 | 30 | #if defined(HAVE_DECL_SHUT_RD) && HAVE_DECL_SHUT_RD == 0 |
@@ -836,6 +833,13 @@ struct winsize { | |||
836 | #endif | 833 | #endif |
837 | 834 | ||
838 | /* | 835 | /* |
836 | * We want functions in openbsd-compat, if enabled, to override system ones. | ||
837 | * We no-op out the weak symbol definition rather than remove it to reduce | ||
838 | * future sync problems. | ||
839 | */ | ||
840 | #define DEF_WEAK(x) | ||
841 | |||
842 | /* | ||
839 | * Platforms that have arc4random_uniform() and not arc4random_stir() | 843 | * Platforms that have arc4random_uniform() and not arc4random_stir() |
840 | * shouldn't need the latter. | 844 | * shouldn't need the latter. |
841 | */ | 845 | */ |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: dh.c,v 1.60 2016/05/02 10:26:04 djm Exp $ */ | 1 | /* $OpenBSD: dh.c,v 1.62 2016/12/15 21:20:41 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Niels Provos. All rights reserved. | 3 | * Copyright (c) 2000 Niels Provos. All rights reserved. |
4 | * | 4 | * |
@@ -25,7 +25,6 @@ | |||
25 | 25 | ||
26 | #include "includes.h" | 26 | #include "includes.h" |
27 | 27 | ||
28 | #include <sys/param.h> /* MIN */ | ||
29 | 28 | ||
30 | #include <openssl/bn.h> | 29 | #include <openssl/bn.h> |
31 | #include <openssl/dh.h> | 30 | #include <openssl/dh.h> |
@@ -153,7 +152,7 @@ choose_dh(int min, int wantbits, int max) | |||
153 | struct dhgroup dhg; | 152 | struct dhgroup dhg; |
154 | 153 | ||
155 | if ((f = fopen(_PATH_DH_MODULI, "r")) == NULL) { | 154 | if ((f = fopen(_PATH_DH_MODULI, "r")) == NULL) { |
156 | logit("WARNING: could open open %s (%s), using fixed modulus", | 155 | logit("WARNING: could not open %s (%s), using fixed modulus", |
157 | _PATH_DH_MODULI, strerror(errno)); | 156 | _PATH_DH_MODULI, strerror(errno)); |
158 | return (dh_new_group_fallback(max)); | 157 | return (dh_new_group_fallback(max)); |
159 | } | 158 | } |
@@ -272,7 +271,7 @@ dh_gen_key(DH *dh, int need) | |||
272 | * Pollard Rho, Big step/Little Step attacks are O(sqrt(n)), | 271 | * Pollard Rho, Big step/Little Step attacks are O(sqrt(n)), |
273 | * so double requested need here. | 272 | * so double requested need here. |
274 | */ | 273 | */ |
275 | dh->length = MIN(need * 2, pbits - 1); | 274 | dh->length = MINIMUM(need * 2, pbits - 1); |
276 | if (DH_generate_key(dh) == 0 || | 275 | if (DH_generate_key(dh) == 0 || |
277 | !dh_pub_is_valid(dh, dh->pub_key)) { | 276 | !dh_pub_is_valid(dh, dh->pub_key)) { |
278 | BN_clear_free(dh->priv_key); | 277 | BN_clear_free(dh->priv_key); |
@@ -22,8 +22,6 @@ | |||
22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
23 | */ | 23 | */ |
24 | 24 | ||
25 | /* $Id: entropy.h,v 1.6 2011/09/09 01:29:41 dtucker Exp $ */ | ||
26 | |||
27 | #ifndef _RANDOMS_H | 25 | #ifndef _RANDOMS_H |
28 | #define _RANDOMS_H | 26 | #define _RANDOMS_H |
29 | 27 | ||
diff --git a/gss-genr.c b/gss-genr.c index d617d600a..62559ed9e 100644 --- a/gss-genr.c +++ b/gss-genr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: gss-genr.c,v 1.23 2015/01/20 23:14:00 deraadt Exp $ */ | 1 | /* $OpenBSD: gss-genr.c,v 1.24 2016/09/12 01:22:38 deraadt Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2001-2007 Simon Wilkinson. All rights reserved. | 4 | * Copyright (c) 2001-2007 Simon Wilkinson. All rights reserved. |
@@ -29,7 +29,6 @@ | |||
29 | #ifdef GSSAPI | 29 | #ifdef GSSAPI |
30 | 30 | ||
31 | #include <sys/types.h> | 31 | #include <sys/types.h> |
32 | #include <sys/param.h> | ||
33 | 32 | ||
34 | #include <limits.h> | 33 | #include <limits.h> |
35 | #include <stdarg.h> | 34 | #include <stdarg.h> |
diff --git a/hostfile.c b/hostfile.c index 2850a4793..4548fbab3 100644 --- a/hostfile.c +++ b/hostfile.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: hostfile.c,v 1.66 2015/05/04 06:10:48 djm Exp $ */ | 1 | /* $OpenBSD: hostfile.c,v 1.67 2016/09/17 18:00:27 tedu Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -123,14 +123,13 @@ host_hash(const char *host, const char *name_from_hostfile, u_int src_len) | |||
123 | u_char salt[256], result[256]; | 123 | u_char salt[256], result[256]; |
124 | char uu_salt[512], uu_result[512]; | 124 | char uu_salt[512], uu_result[512]; |
125 | static char encoded[1024]; | 125 | static char encoded[1024]; |
126 | u_int i, len; | 126 | u_int len; |
127 | 127 | ||
128 | len = ssh_digest_bytes(SSH_DIGEST_SHA1); | 128 | len = ssh_digest_bytes(SSH_DIGEST_SHA1); |
129 | 129 | ||
130 | if (name_from_hostfile == NULL) { | 130 | if (name_from_hostfile == NULL) { |
131 | /* Create new salt */ | 131 | /* Create new salt */ |
132 | for (i = 0; i < len; i++) | 132 | arc4random_buf(salt, len); |
133 | salt[i] = arc4random(); | ||
134 | } else { | 133 | } else { |
135 | /* Extract salt from known host entry */ | 134 | /* Extract salt from known host entry */ |
136 | if (extract_salt(name_from_hostfile, src_len, salt, | 135 | if (extract_salt(name_from_hostfile, src_len, salt, |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: kex.c,v 1.118 2016/05/02 10:26:04 djm Exp $ */ | 1 | /* $OpenBSD: kex.c,v 1.127 2016/10/10 19:28:48 markus Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -25,7 +25,6 @@ | |||
25 | 25 | ||
26 | #include "includes.h" | 26 | #include "includes.h" |
27 | 27 | ||
28 | #include <sys/param.h> /* MAX roundup */ | ||
29 | 28 | ||
30 | #include <signal.h> | 29 | #include <signal.h> |
31 | #include <stdarg.h> | 30 | #include <stdarg.h> |
@@ -110,6 +109,7 @@ static const struct kexalg kexalgs[] = { | |||
110 | #endif /* WITH_OPENSSL */ | 109 | #endif /* WITH_OPENSSL */ |
111 | #if defined(HAVE_EVP_SHA256) || !defined(WITH_OPENSSL) | 110 | #if defined(HAVE_EVP_SHA256) || !defined(WITH_OPENSSL) |
112 | { KEX_CURVE25519_SHA256, KEX_C25519_SHA256, 0, SSH_DIGEST_SHA256 }, | 111 | { KEX_CURVE25519_SHA256, KEX_C25519_SHA256, 0, SSH_DIGEST_SHA256 }, |
112 | { KEX_CURVE25519_SHA256_OLD, KEX_C25519_SHA256, 0, SSH_DIGEST_SHA256 }, | ||
113 | #endif /* HAVE_EVP_SHA256 || !WITH_OPENSSL */ | 113 | #endif /* HAVE_EVP_SHA256 || !WITH_OPENSSL */ |
114 | { NULL, -1, -1, -1}, | 114 | { NULL, -1, -1, -1}, |
115 | }; | 115 | }; |
@@ -341,14 +341,21 @@ static int | |||
341 | kex_send_ext_info(struct ssh *ssh) | 341 | kex_send_ext_info(struct ssh *ssh) |
342 | { | 342 | { |
343 | int r; | 343 | int r; |
344 | char *algs; | ||
344 | 345 | ||
346 | if ((algs = sshkey_alg_list(0, 1, ',')) == NULL) | ||
347 | return SSH_ERR_ALLOC_FAIL; | ||
345 | if ((r = sshpkt_start(ssh, SSH2_MSG_EXT_INFO)) != 0 || | 348 | if ((r = sshpkt_start(ssh, SSH2_MSG_EXT_INFO)) != 0 || |
346 | (r = sshpkt_put_u32(ssh, 1)) != 0 || | 349 | (r = sshpkt_put_u32(ssh, 1)) != 0 || |
347 | (r = sshpkt_put_cstring(ssh, "server-sig-algs")) != 0 || | 350 | (r = sshpkt_put_cstring(ssh, "server-sig-algs")) != 0 || |
348 | (r = sshpkt_put_cstring(ssh, "rsa-sha2-256,rsa-sha2-512")) != 0 || | 351 | (r = sshpkt_put_cstring(ssh, algs)) != 0 || |
349 | (r = sshpkt_send(ssh)) != 0) | 352 | (r = sshpkt_send(ssh)) != 0) |
350 | return r; | 353 | goto out; |
351 | return 0; | 354 | /* success */ |
355 | r = 0; | ||
356 | out: | ||
357 | free(algs); | ||
358 | return r; | ||
352 | } | 359 | } |
353 | 360 | ||
354 | int | 361 | int |
@@ -419,6 +426,8 @@ kex_input_newkeys(int type, u_int32_t seq, void *ctxt) | |||
419 | ssh_dispatch_set(ssh, SSH2_MSG_NEWKEYS, &kex_protocol_error); | 426 | ssh_dispatch_set(ssh, SSH2_MSG_NEWKEYS, &kex_protocol_error); |
420 | if ((r = sshpkt_get_end(ssh)) != 0) | 427 | if ((r = sshpkt_get_end(ssh)) != 0) |
421 | return r; | 428 | return r; |
429 | if ((r = ssh_set_newkeys(ssh, MODE_IN)) != 0) | ||
430 | return r; | ||
422 | kex->done = 1; | 431 | kex->done = 1; |
423 | sshbuf_reset(kex->peer); | 432 | sshbuf_reset(kex->peer); |
424 | /* sshbuf_reset(kex->my); */ | 433 | /* sshbuf_reset(kex->my); */ |
@@ -472,6 +481,7 @@ kex_input_kexinit(int type, u_int32_t seq, void *ctxt) | |||
472 | if (kex == NULL) | 481 | if (kex == NULL) |
473 | return SSH_ERR_INVALID_ARGUMENT; | 482 | return SSH_ERR_INVALID_ARGUMENT; |
474 | 483 | ||
484 | ssh_dispatch_set(ssh, SSH2_MSG_KEXINIT, NULL); | ||
475 | ptr = sshpkt_ptr(ssh, &dlen); | 485 | ptr = sshpkt_ptr(ssh, &dlen); |
476 | if ((r = sshbuf_put(kex->peer, ptr, dlen)) != 0) | 486 | if ((r = sshbuf_put(kex->peer, ptr, dlen)) != 0) |
477 | return r; | 487 | return r; |
@@ -775,10 +785,8 @@ kex_choose_conf(struct ssh *ssh) | |||
775 | char *ext; | 785 | char *ext; |
776 | 786 | ||
777 | ext = match_list("ext-info-c", peer[PROPOSAL_KEX_ALGS], NULL); | 787 | ext = match_list("ext-info-c", peer[PROPOSAL_KEX_ALGS], NULL); |
778 | if (ext) { | 788 | kex->ext_info_c = (ext != NULL); |
779 | kex->ext_info_c = 1; | 789 | free(ext); |
780 | free(ext); | ||
781 | } | ||
782 | } | 790 | } |
783 | 791 | ||
784 | /* Algorithm Negotiation */ | 792 | /* Algorithm Negotiation */ |
@@ -835,14 +843,14 @@ kex_choose_conf(struct ssh *ssh) | |||
835 | need = dh_need = 0; | 843 | need = dh_need = 0; |
836 | for (mode = 0; mode < MODE_MAX; mode++) { | 844 | for (mode = 0; mode < MODE_MAX; mode++) { |
837 | newkeys = kex->newkeys[mode]; | 845 | newkeys = kex->newkeys[mode]; |
838 | need = MAX(need, newkeys->enc.key_len); | 846 | need = MAXIMUM(need, newkeys->enc.key_len); |
839 | need = MAX(need, newkeys->enc.block_size); | 847 | need = MAXIMUM(need, newkeys->enc.block_size); |
840 | need = MAX(need, newkeys->enc.iv_len); | 848 | need = MAXIMUM(need, newkeys->enc.iv_len); |
841 | need = MAX(need, newkeys->mac.key_len); | 849 | need = MAXIMUM(need, newkeys->mac.key_len); |
842 | dh_need = MAX(dh_need, cipher_seclen(newkeys->enc.cipher)); | 850 | dh_need = MAXIMUM(dh_need, cipher_seclen(newkeys->enc.cipher)); |
843 | dh_need = MAX(dh_need, newkeys->enc.block_size); | 851 | dh_need = MAXIMUM(dh_need, newkeys->enc.block_size); |
844 | dh_need = MAX(dh_need, newkeys->enc.iv_len); | 852 | dh_need = MAXIMUM(dh_need, newkeys->enc.iv_len); |
845 | dh_need = MAX(dh_need, newkeys->mac.key_len); | 853 | dh_need = MAXIMUM(dh_need, newkeys->mac.key_len); |
846 | } | 854 | } |
847 | /* XXX need runden? */ | 855 | /* XXX need runden? */ |
848 | kex->we_need = need; | 856 | kex->we_need = need; |
@@ -873,7 +881,7 @@ derive_key(struct ssh *ssh, int id, u_int need, u_char *hash, u_int hashlen, | |||
873 | 881 | ||
874 | if ((mdsz = ssh_digest_bytes(kex->hash_alg)) == 0) | 882 | if ((mdsz = ssh_digest_bytes(kex->hash_alg)) == 0) |
875 | return SSH_ERR_INVALID_ARGUMENT; | 883 | return SSH_ERR_INVALID_ARGUMENT; |
876 | if ((digest = calloc(1, roundup(need, mdsz))) == NULL) { | 884 | if ((digest = calloc(1, ROUNDUP(need, mdsz))) == NULL) { |
877 | r = SSH_ERR_ALLOC_FAIL; | 885 | r = SSH_ERR_ALLOC_FAIL; |
878 | goto out; | 886 | goto out; |
879 | } | 887 | } |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: kex.h,v 1.78 2016/05/02 10:26:04 djm Exp $ */ | 1 | /* $OpenBSD: kex.h,v 1.81 2016/09/28 21:44:52 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. | 4 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. |
@@ -50,17 +50,18 @@ | |||
50 | 50 | ||
51 | #define KEX_COOKIE_LEN 16 | 51 | #define KEX_COOKIE_LEN 16 |
52 | 52 | ||
53 | #define KEX_DH1 "diffie-hellman-group1-sha1" | 53 | #define KEX_DH1 "diffie-hellman-group1-sha1" |
54 | #define KEX_DH14_SHA1 "diffie-hellman-group14-sha1" | 54 | #define KEX_DH14_SHA1 "diffie-hellman-group14-sha1" |
55 | #define KEX_DH14_SHA256 "diffie-hellman-group14-sha256" | 55 | #define KEX_DH14_SHA256 "diffie-hellman-group14-sha256" |
56 | #define KEX_DH16_SHA512 "diffie-hellman-group16-sha512" | 56 | #define KEX_DH16_SHA512 "diffie-hellman-group16-sha512" |
57 | #define KEX_DH18_SHA512 "diffie-hellman-group18-sha512" | 57 | #define KEX_DH18_SHA512 "diffie-hellman-group18-sha512" |
58 | #define KEX_DHGEX_SHA1 "diffie-hellman-group-exchange-sha1" | 58 | #define KEX_DHGEX_SHA1 "diffie-hellman-group-exchange-sha1" |
59 | #define KEX_DHGEX_SHA256 "diffie-hellman-group-exchange-sha256" | 59 | #define KEX_DHGEX_SHA256 "diffie-hellman-group-exchange-sha256" |
60 | #define KEX_ECDH_SHA2_NISTP256 "ecdh-sha2-nistp256" | 60 | #define KEX_ECDH_SHA2_NISTP256 "ecdh-sha2-nistp256" |
61 | #define KEX_ECDH_SHA2_NISTP384 "ecdh-sha2-nistp384" | 61 | #define KEX_ECDH_SHA2_NISTP384 "ecdh-sha2-nistp384" |
62 | #define KEX_ECDH_SHA2_NISTP521 "ecdh-sha2-nistp521" | 62 | #define KEX_ECDH_SHA2_NISTP521 "ecdh-sha2-nistp521" |
63 | #define KEX_CURVE25519_SHA256 "curve25519-sha256@libssh.org" | 63 | #define KEX_CURVE25519_SHA256 "curve25519-sha256" |
64 | #define KEX_CURVE25519_SHA256_OLD "curve25519-sha256@libssh.org" | ||
64 | 65 | ||
65 | #define COMP_NONE 0 | 66 | #define COMP_NONE 0 |
66 | #define COMP_ZLIB 1 | 67 | #define COMP_ZLIB 1 |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: kexgexc.c,v 1.22 2015/05/26 23:23:40 dtucker Exp $ */ | 1 | /* $OpenBSD: kexgexc.c,v 1.23 2016/09/12 01:22:38 deraadt Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Niels Provos. All rights reserved. | 3 | * Copyright (c) 2000 Niels Provos. All rights reserved. |
4 | * Copyright (c) 2001 Markus Friedl. All rights reserved. | 4 | * Copyright (c) 2001 Markus Friedl. All rights reserved. |
@@ -28,7 +28,6 @@ | |||
28 | 28 | ||
29 | #ifdef WITH_OPENSSL | 29 | #ifdef WITH_OPENSSL |
30 | 30 | ||
31 | #include <sys/param.h> | ||
32 | #include <sys/types.h> | 31 | #include <sys/types.h> |
33 | 32 | ||
34 | #include <openssl/dh.h> | 33 | #include <openssl/dh.h> |
@@ -50,6 +49,7 @@ | |||
50 | #include "dispatch.h" | 49 | #include "dispatch.h" |
51 | #include "ssherr.h" | 50 | #include "ssherr.h" |
52 | #include "sshbuf.h" | 51 | #include "sshbuf.h" |
52 | #include "misc.h" | ||
53 | 53 | ||
54 | static int input_kex_dh_gex_group(int, u_int32_t, void *); | 54 | static int input_kex_dh_gex_group(int, u_int32_t, void *); |
55 | static int input_kex_dh_gex_reply(int, u_int32_t, void *); | 55 | static int input_kex_dh_gex_reply(int, u_int32_t, void *); |
@@ -67,7 +67,7 @@ kexgex_client(struct ssh *ssh) | |||
67 | kex->max = DH_GRP_MAX; | 67 | kex->max = DH_GRP_MAX; |
68 | kex->nbits = nbits; | 68 | kex->nbits = nbits; |
69 | if (datafellows & SSH_BUG_DHGEX_LARGE) | 69 | if (datafellows & SSH_BUG_DHGEX_LARGE) |
70 | kex->nbits = MIN(kex->nbits, 4096); | 70 | kex->nbits = MINIMUM(kex->nbits, 4096); |
71 | /* New GEX request */ | 71 | /* New GEX request */ |
72 | if ((r = sshpkt_start(ssh, SSH2_MSG_KEX_DH_GEX_REQUEST)) != 0 || | 72 | if ((r = sshpkt_start(ssh, SSH2_MSG_KEX_DH_GEX_REQUEST)) != 0 || |
73 | (r = sshpkt_put_u32(ssh, kex->min)) != 0 || | 73 | (r = sshpkt_put_u32(ssh, kex->min)) != 0 || |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: kexgexs.c,v 1.29 2016/06/08 02:13:01 dtucker Exp $ */ | 1 | /* $OpenBSD: kexgexs.c,v 1.30 2016/09/12 01:22:38 deraadt Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Niels Provos. All rights reserved. | 3 | * Copyright (c) 2000 Niels Provos. All rights reserved. |
4 | * Copyright (c) 2001 Markus Friedl. All rights reserved. | 4 | * Copyright (c) 2001 Markus Friedl. All rights reserved. |
@@ -28,7 +28,6 @@ | |||
28 | 28 | ||
29 | #ifdef WITH_OPENSSL | 29 | #ifdef WITH_OPENSSL |
30 | 30 | ||
31 | #include <sys/param.h> /* MIN MAX */ | ||
32 | 31 | ||
33 | #include <stdarg.h> | 32 | #include <stdarg.h> |
34 | #include <stdio.h> | 33 | #include <stdio.h> |
@@ -53,6 +52,7 @@ | |||
53 | #include "dispatch.h" | 52 | #include "dispatch.h" |
54 | #include "ssherr.h" | 53 | #include "ssherr.h" |
55 | #include "sshbuf.h" | 54 | #include "sshbuf.h" |
55 | #include "misc.h" | ||
56 | 56 | ||
57 | static int input_kex_dh_gex_request(int, u_int32_t, void *); | 57 | static int input_kex_dh_gex_request(int, u_int32_t, void *); |
58 | static int input_kex_dh_gex_init(int, u_int32_t, void *); | 58 | static int input_kex_dh_gex_init(int, u_int32_t, void *); |
@@ -83,10 +83,10 @@ input_kex_dh_gex_request(int type, u_int32_t seq, void *ctxt) | |||
83 | kex->nbits = nbits; | 83 | kex->nbits = nbits; |
84 | kex->min = min; | 84 | kex->min = min; |
85 | kex->max = max; | 85 | kex->max = max; |
86 | min = MAX(DH_GRP_MIN, min); | 86 | min = MAXIMUM(DH_GRP_MIN, min); |
87 | max = MIN(DH_GRP_MAX, max); | 87 | max = MINIMUM(DH_GRP_MAX, max); |
88 | nbits = MAX(DH_GRP_MIN, nbits); | 88 | nbits = MAXIMUM(DH_GRP_MIN, nbits); |
89 | nbits = MIN(DH_GRP_MAX, nbits); | 89 | nbits = MINIMUM(DH_GRP_MAX, nbits); |
90 | 90 | ||
91 | if (kex->max < kex->min || kex->nbits < kex->min || | 91 | if (kex->max < kex->min || kex->nbits < kex->min || |
92 | kex->max < kex->nbits || kex->max < DH_GRP_MIN) { | 92 | kex->max < kex->nbits || kex->max < DH_GRP_MIN) { |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: key.h,v 1.49 2015/12/04 16:41:28 markus Exp $ */ | 1 | /* $OpenBSD: key.h,v 1.50 2016/09/12 23:31:27 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. | 4 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. |
@@ -74,7 +74,6 @@ int key_certify(Key *, Key *); | |||
74 | void key_cert_copy(const Key *, Key *); | 74 | void key_cert_copy(const Key *, Key *); |
75 | int key_cert_check_authority(const Key *, int, int, const char *, | 75 | int key_cert_check_authority(const Key *, int, int, const char *, |
76 | const char **); | 76 | const char **); |
77 | char *key_alg_list(int, int); | ||
78 | 77 | ||
79 | #if defined(WITH_OPENSSL) && defined(OPENSSL_HAS_ECC) | 78 | #if defined(WITH_OPENSSL) && defined(OPENSSL_HAS_ECC) |
80 | int key_ec_validate_public(const EC_GROUP *, const EC_POINT *); | 79 | int key_ec_validate_public(const EC_GROUP *, const EC_POINT *); |
@@ -14,11 +14,10 @@ | |||
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* $OpenBSD: krl.c,v 1.37 2015/12/31 00:33:52 djm Exp $ */ | 17 | /* $OpenBSD: krl.c,v 1.38 2016/09/12 01:22:38 deraadt Exp $ */ |
18 | 18 | ||
19 | #include "includes.h" | 19 | #include "includes.h" |
20 | 20 | ||
21 | #include <sys/param.h> /* MIN */ | ||
22 | #include <sys/types.h> | 21 | #include <sys/types.h> |
23 | #include <openbsd-compat/sys-tree.h> | 22 | #include <openbsd-compat/sys-tree.h> |
24 | #include <openbsd-compat/sys-queue.h> | 23 | #include <openbsd-compat/sys-queue.h> |
@@ -121,7 +120,7 @@ blob_cmp(struct revoked_blob *a, struct revoked_blob *b) | |||
121 | int r; | 120 | int r; |
122 | 121 | ||
123 | if (a->len != b->len) { | 122 | if (a->len != b->len) { |
124 | if ((r = memcmp(a->blob, b->blob, MIN(a->len, b->len))) != 0) | 123 | if ((r = memcmp(a->blob, b->blob, MINIMUM(a->len, b->len))) != 0) |
125 | return r; | 124 | return r; |
126 | return a->len > b->len ? 1 : -1; | 125 | return a->len > b->len ? 1 : -1; |
127 | } else | 126 | } else |
@@ -458,9 +457,9 @@ choose_next_state(int current_state, u_int64_t contig, int final, | |||
458 | * Avoid unsigned overflows. | 457 | * Avoid unsigned overflows. |
459 | * The limits are high enough to avoid confusing the calculations. | 458 | * The limits are high enough to avoid confusing the calculations. |
460 | */ | 459 | */ |
461 | contig = MIN(contig, 1ULL<<31); | 460 | contig = MINIMUM(contig, 1ULL<<31); |
462 | last_gap = MIN(last_gap, 1ULL<<31); | 461 | last_gap = MINIMUM(last_gap, 1ULL<<31); |
463 | next_gap = MIN(next_gap, 1ULL<<31); | 462 | next_gap = MINIMUM(next_gap, 1ULL<<31); |
464 | 463 | ||
465 | /* | 464 | /* |
466 | * Calculate the cost to switch from the current state to candidates. | 465 | * Calculate the cost to switch from the current state to candidates. |
@@ -486,8 +485,8 @@ choose_next_state(int current_state, u_int64_t contig, int final, | |||
486 | /* Estimate base cost in bits of each section type */ | 485 | /* Estimate base cost in bits of each section type */ |
487 | cost_list += 64 * contig + (final ? 0 : 8+64); | 486 | cost_list += 64 * contig + (final ? 0 : 8+64); |
488 | cost_range += (2 * 64) + (final ? 0 : 8+64); | 487 | cost_range += (2 * 64) + (final ? 0 : 8+64); |
489 | cost_bitmap += last_gap + contig + (final ? 0 : MIN(next_gap, 8+64)); | 488 | cost_bitmap += last_gap + contig + (final ? 0 : MINIMUM(next_gap, 8+64)); |
490 | cost_bitmap_restart += contig + (final ? 0 : MIN(next_gap, 8+64)); | 489 | cost_bitmap_restart += contig + (final ? 0 : MINIMUM(next_gap, 8+64)); |
491 | 490 | ||
492 | /* Convert to byte costs for actual comparison */ | 491 | /* Convert to byte costs for actual comparison */ |
493 | cost_list = (cost_list + 7) / 8; | 492 | cost_list = (cost_list + 7) / 8; |
@@ -64,8 +64,10 @@ static const struct macalg macs[] = { | |||
64 | #endif | 64 | #endif |
65 | { "hmac-md5", SSH_DIGEST, SSH_DIGEST_MD5, 0, 0, 0, 0 }, | 65 | { "hmac-md5", SSH_DIGEST, SSH_DIGEST_MD5, 0, 0, 0, 0 }, |
66 | { "hmac-md5-96", SSH_DIGEST, SSH_DIGEST_MD5, 96, 0, 0, 0 }, | 66 | { "hmac-md5-96", SSH_DIGEST, SSH_DIGEST_MD5, 96, 0, 0, 0 }, |
67 | #ifdef HAVE_EVP_RIPEMD160 | ||
67 | { "hmac-ripemd160", SSH_DIGEST, SSH_DIGEST_RIPEMD160, 0, 0, 0, 0 }, | 68 | { "hmac-ripemd160", SSH_DIGEST, SSH_DIGEST_RIPEMD160, 0, 0, 0, 0 }, |
68 | { "hmac-ripemd160@openssh.com", SSH_DIGEST, SSH_DIGEST_RIPEMD160, 0, 0, 0, 0 }, | 69 | { "hmac-ripemd160@openssh.com", SSH_DIGEST, SSH_DIGEST_RIPEMD160, 0, 0, 0, 0 }, |
70 | #endif | ||
69 | { "umac-64@openssh.com", SSH_UMAC, 0, 0, 128, 64, 0 }, | 71 | { "umac-64@openssh.com", SSH_UMAC, 0, 0, 128, 64, 0 }, |
70 | { "umac-128@openssh.com", SSH_UMAC128, 0, 0, 128, 128, 0 }, | 72 | { "umac-128@openssh.com", SSH_UMAC128, 0, 0, 128, 128, 0 }, |
71 | 73 | ||
@@ -78,7 +80,9 @@ static const struct macalg macs[] = { | |||
78 | #endif | 80 | #endif |
79 | { "hmac-md5-etm@openssh.com", SSH_DIGEST, SSH_DIGEST_MD5, 0, 0, 0, 1 }, | 81 | { "hmac-md5-etm@openssh.com", SSH_DIGEST, SSH_DIGEST_MD5, 0, 0, 0, 1 }, |
80 | { "hmac-md5-96-etm@openssh.com", SSH_DIGEST, SSH_DIGEST_MD5, 96, 0, 0, 1 }, | 82 | { "hmac-md5-96-etm@openssh.com", SSH_DIGEST, SSH_DIGEST_MD5, 96, 0, 0, 1 }, |
83 | #ifdef HAVE_EVP_RIPEMD160 | ||
81 | { "hmac-ripemd160-etm@openssh.com", SSH_DIGEST, SSH_DIGEST_RIPEMD160, 0, 0, 0, 1 }, | 84 | { "hmac-ripemd160-etm@openssh.com", SSH_DIGEST, SSH_DIGEST_RIPEMD160, 0, 0, 0, 1 }, |
85 | #endif | ||
82 | { "umac-64-etm@openssh.com", SSH_UMAC, 0, 0, 128, 64, 1 }, | 86 | { "umac-64-etm@openssh.com", SSH_UMAC, 0, 0, 128, 64, 1 }, |
83 | { "umac-128-etm@openssh.com", SSH_UMAC128, 0, 0, 128, 128, 1 }, | 87 | { "umac-128-etm@openssh.com", SSH_UMAC128, 0, 0, 128, 128, 1 }, |
84 | 88 | ||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: match.c,v 1.30 2015/05/04 06:10:48 djm Exp $ */ | 1 | /* $OpenBSD: match.c,v 1.33 2016/11/06 05:46:37 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -191,11 +191,10 @@ match_host_and_ip(const char *host, const char *ipaddr, | |||
191 | { | 191 | { |
192 | int mhost, mip; | 192 | int mhost, mip; |
193 | 193 | ||
194 | /* error in ipaddr match */ | ||
195 | if ((mip = addr_match_list(ipaddr, patterns)) == -2) | 194 | if ((mip = addr_match_list(ipaddr, patterns)) == -2) |
196 | return -1; | 195 | return -1; /* error in ipaddr match */ |
197 | else if (mip == -1) /* negative ip address match */ | 196 | else if (host == NULL || ipaddr == NULL || mip == -1) |
198 | return 0; | 197 | return 0; /* negative ip address match, or testing pattern */ |
199 | 198 | ||
200 | /* negative hostname match */ | 199 | /* negative hostname match */ |
201 | if ((mhost = match_hostname(host, patterns)) == -1) | 200 | if ((mhost = match_hostname(host, patterns)) == -1) |
@@ -207,7 +206,9 @@ match_host_and_ip(const char *host, const char *ipaddr, | |||
207 | } | 206 | } |
208 | 207 | ||
209 | /* | 208 | /* |
210 | * match user, user@host_or_ip, user@host_or_ip_list against pattern | 209 | * Match user, user@host_or_ip, user@host_or_ip_list against pattern. |
210 | * If user, host and ipaddr are all NULL then validate pattern/ | ||
211 | * Returns -1 on invalid pattern, 0 on no match, 1 on match. | ||
211 | */ | 212 | */ |
212 | int | 213 | int |
213 | match_user(const char *user, const char *host, const char *ipaddr, | 214 | match_user(const char *user, const char *host, const char *ipaddr, |
@@ -216,6 +217,14 @@ match_user(const char *user, const char *host, const char *ipaddr, | |||
216 | char *p, *pat; | 217 | char *p, *pat; |
217 | int ret; | 218 | int ret; |
218 | 219 | ||
220 | /* test mode */ | ||
221 | if (user == NULL && host == NULL && ipaddr == NULL) { | ||
222 | if ((p = strchr(pattern, '@')) != NULL && | ||
223 | match_host_and_ip(NULL, NULL, p + 1) < 0) | ||
224 | return -1; | ||
225 | return 0; | ||
226 | } | ||
227 | |||
219 | if ((p = strchr(pattern,'@')) == NULL) | 228 | if ((p = strchr(pattern,'@')) == NULL) |
220 | return match_pattern(user, pattern); | 229 | return match_pattern(user, pattern); |
221 | 230 | ||
diff --git a/md5crypt.h b/md5crypt.h index 2341e2c12..978e579c8 100644 --- a/md5crypt.h +++ b/md5crypt.h | |||
@@ -7,8 +7,6 @@ | |||
7 | * ---------------------------------------------------------------------------- | 7 | * ---------------------------------------------------------------------------- |
8 | */ | 8 | */ |
9 | 9 | ||
10 | /* $Id: md5crypt.h,v 1.4 2003/05/18 14:46:46 djm Exp $ */ | ||
11 | |||
12 | #ifndef _MD5CRYPT_H | 10 | #ifndef _MD5CRYPT_H |
13 | #define _MD5CRYPT_H | 11 | #define _MD5CRYPT_H |
14 | 12 | ||
diff --git a/mdoc2man.awk b/mdoc2man.awk index 80e8d5ffa..3e8725452 100644 --- a/mdoc2man.awk +++ b/mdoc2man.awk | |||
@@ -321,6 +321,8 @@ function add(str) { | |||
321 | w=nwords | 321 | w=nwords |
322 | } else if(match(words[w],"^El$")) { | 322 | } else if(match(words[w],"^El$")) { |
323 | optlist=oldoptlist | 323 | optlist=oldoptlist |
324 | if(!optlist) | ||
325 | add(".PP") | ||
324 | } else if(match(words[w],"^Bk$")) { | 326 | } else if(match(words[w],"^Bk$")) { |
325 | if(match(words[w+1],"-words")) { | 327 | if(match(words[w+1],"-words")) { |
326 | w++ | 328 | w++ |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: misc.c,v 1.105 2016/07/15 00:24:30 djm Exp $ */ | 1 | /* $OpenBSD: misc.c,v 1.107 2016/11/30 00:28:31 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
4 | * Copyright (c) 2005,2006 Damien Miller. All rights reserved. | 4 | * Copyright (c) 2005,2006 Damien Miller. All rights reserved. |
@@ -1243,3 +1243,29 @@ forward_equals(const struct Forward *a, const struct Forward *b) | |||
1243 | return 1; | 1243 | return 1; |
1244 | } | 1244 | } |
1245 | 1245 | ||
1246 | /* returns 1 if bind to specified port by specified user is permitted */ | ||
1247 | int | ||
1248 | bind_permitted(int port, uid_t uid) | ||
1249 | { | ||
1250 | if (port < IPPORT_RESERVED && uid != 0) | ||
1251 | return 0; | ||
1252 | return 1; | ||
1253 | } | ||
1254 | |||
1255 | /* returns 1 if process is already daemonized, 0 otherwise */ | ||
1256 | int | ||
1257 | daemonized(void) | ||
1258 | { | ||
1259 | int fd; | ||
1260 | |||
1261 | if ((fd = open(_PATH_TTY, O_RDONLY | O_NOCTTY)) >= 0) { | ||
1262 | close(fd); | ||
1263 | return 0; /* have controlling terminal */ | ||
1264 | } | ||
1265 | if (getppid() != 1) | ||
1266 | return 0; /* parent is not init */ | ||
1267 | if (getsid(0) != getpid()) | ||
1268 | return 0; /* not session leader */ | ||
1269 | debug3("already daemonized"); | ||
1270 | return 1; | ||
1271 | } | ||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: misc.h,v 1.57 2016/07/15 00:24:30 djm Exp $ */ | 1 | /* $OpenBSD: misc.h,v 1.61 2016/11/30 00:28:31 dtucker Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -15,6 +15,8 @@ | |||
15 | #ifndef _MISC_H | 15 | #ifndef _MISC_H |
16 | #define _MISC_H | 16 | #define _MISC_H |
17 | 17 | ||
18 | #include <sys/time.h> | ||
19 | |||
18 | /* Data structure for representing a forwarding request. */ | 20 | /* Data structure for representing a forwarding request. */ |
19 | struct Forward { | 21 | struct Forward { |
20 | char *listen_host; /* Host (address) to listen on. */ | 22 | char *listen_host; /* Host (address) to listen on. */ |
@@ -28,6 +30,8 @@ struct Forward { | |||
28 | }; | 30 | }; |
29 | 31 | ||
30 | int forward_equals(const struct Forward *, const struct Forward *); | 32 | int forward_equals(const struct Forward *, const struct Forward *); |
33 | int bind_permitted(int, uid_t); | ||
34 | int daemonized(void); | ||
31 | 35 | ||
32 | /* Common server and client forwarding options. */ | 36 | /* Common server and client forwarding options. */ |
33 | struct ForwardOptions { | 37 | struct ForwardOptions { |
@@ -139,4 +143,8 @@ char *read_passphrase(const char *, int); | |||
139 | int ask_permission(const char *, ...) __attribute__((format(printf, 1, 2))); | 143 | int ask_permission(const char *, ...) __attribute__((format(printf, 1, 2))); |
140 | int read_keyfile_line(FILE *, const char *, char *, size_t, u_long *); | 144 | int read_keyfile_line(FILE *, const char *, char *, size_t, u_long *); |
141 | 145 | ||
146 | #define MINIMUM(a, b) (((a) < (b)) ? (a) : (b)) | ||
147 | #define MAXIMUM(a, b) (((a) > (b)) ? (a) : (b)) | ||
148 | #define ROUNDUP(x, y) ((((x)+((y)-1))/(y))*(y)) | ||
149 | |||
142 | #endif /* _MISC_H */ | 150 | #endif /* _MISC_H */ |
@@ -1,208 +1,431 @@ | |||
1 | # $OpenBSD: moduli,v 1.17 2016/03/01 04:23:08 dtucker Exp $ | 1 | # $OpenBSD: moduli,v 1.18 2016/08/11 01:42:11 dtucker Exp $ |
2 | # Time Type Tests Tries Size Generator Modulus | 2 | # Time Type Tests Tries Size Generator Modulus |
3 | 20150520235007 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031E9A9C5F7 | 3 | 20160301052556 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D19F4647 |
4 | 20150520235015 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031E9CBB21F | 4 | 20160301052601 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D1A5C13B |
5 | 20150520235039 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EA2E9623 | 5 | 20160301052612 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D1B7A3EF |
6 | 20150520235043 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EA33E3DF | 6 | 20160301052620 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D1C4C33B |
7 | 20150520235057 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EA68038B | 7 | 20160301052628 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D1CFFACB |
8 | 20150520235114 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EAAB0717 | 8 | 20160301052645 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D1F31D8B |
9 | 20150520235122 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EAC2A7FB | 9 | 20160301052703 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D218C293 |
10 | 20150520235125 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EAC82DD3 | 10 | 20160301052723 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D24116E3 |
11 | 20150520235154 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EB40583F | 11 | 20160301052732 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D25321F3 |
12 | 20150520235214 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EB94F247 | 12 | 20160301052741 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D260D8E3 |
13 | 20150520235218 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EB9DF49F | 13 | 20160301052748 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D26CD3D3 |
14 | 20150520235239 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EBF7BE27 | 14 | 20160301052756 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D2791F7B |
15 | 20150520235244 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EC0B4F4F | 15 | 20160301052823 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D2B71133 |
16 | 20150520235250 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EC21070F | 16 | 20160301052827 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D2BABBA3 |
17 | 20150520235256 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EC36541F | 17 | 20160301052832 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D2BFC957 |
18 | 20150520235307 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EC5FE22B | 18 | 20160301052931 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D3514117 |
19 | 20150520235322 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031ECA1FB57 | 19 | 20160301053017 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D3BF91F7 |
20 | 20150520235331 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031ECC3C823 | 20 | 20160301053037 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D3E9113F |
21 | 20150520235349 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031ED035187 | 21 | 20160301053101 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D41BFA83 |
22 | 20150520235400 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031ED2F07DB | 22 | 20160301053129 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D45A369F |
23 | 20150520235407 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031ED4620CF | 23 | 20160301053217 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D4CB8683 |
24 | 20150520235422 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031ED86D39F | 24 | 20160301053222 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D4D01463 |
25 | 20150520235424 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031ED86E683 | 25 | 20160301053251 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D50F62C3 |
26 | 20150520235427 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031ED8C3073 | 26 | 20160301053309 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D5351887 |
27 | 20150520235443 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EDCB1F63 | 27 | 20160301053333 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D568358B |
28 | 20150520235450 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EDE00B77 | 28 | 20160301053350 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D58AA31F |
29 | 20150520235452 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EDE42247 | 29 | 20160301053359 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D5991AF3 |
30 | 20150520235458 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EDF8F493 | 30 | 20160301053438 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D5F65E07 |
31 | 20150520235503 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EE04D69F | 31 | 20160301053523 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D65F37D3 |
32 | 20150520235508 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EE14B92B | 32 | 20160301053556 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D6AB7E73 |
33 | 20150520235510 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EE167933 | 33 | 20160301053608 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D6C131CB |
34 | 20150520235517 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EE2DC63B | 34 | 20160301053631 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D6F18A93 |
35 | 20150520235527 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EE52259F | 35 | 20160301053647 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D7132B7F |
36 | 20150520235539 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EE829247 | 36 | 20160301053724 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D76995EB |
37 | 20150520235557 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EED044BF | 37 | 20160301053743 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D793D27B |
38 | 20150520235608 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EEFD34CF | 38 | 20160301053757 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D7AE856B |
39 | 20150520235614 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EF0F709F | 39 | 20160301053820 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D7E1810F |
40 | 20150520235616 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EF12110B | 40 | 20160301053828 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D7EC09EB |
41 | 20150520235622 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EF25FE1F | 41 | 20160301053831 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D7ECC2FB |
42 | 20150520235637 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EF6BF4D3 | 42 | 20160301053958 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D8B829CB |
43 | 20150520235654 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EFAF28BF | 43 | 20160301054042 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D91CFCF3 |
44 | 20150520235701 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EFBFB8BB | 44 | 20160301054134 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251903103B |
45 | 20150520235704 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EFC7A62F | 45 | 20160301054139 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF2519072B8B |
46 | 20150520235710 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031EFD79323 | 46 | 20160301054157 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF25192F631F |
47 | 20150520235725 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031F0158F1F | 47 | 20160301054207 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF25193F9E7F |
48 | 20150520235728 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031F01A9E6B | 48 | 20160301054213 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF2519475A1F |
49 | 20150520235743 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031F055798B | 49 | 20160301054301 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF2519BA6807 |
50 | 20150520235752 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031F0730BC3 | 50 | 20160301054320 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF2519E2FA7F |
51 | 20150520235757 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031F08283FF | 51 | 20160301054340 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251A0CD913 |
52 | 20150520235825 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031F0F451E3 | 52 | 20160301054413 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251A5B8A43 |
53 | 20150520235830 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031F0FDEFB7 | 53 | 20160301054511 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251AE66597 |
54 | 20150520235901 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031F1828ECF | 54 | 20160301054527 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251B03A57F |
55 | 20150521000008 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031F185D7BF | 55 | 20160301054544 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251B276FBB |
56 | 20150521000011 2 6 100 2047 2 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031F18C58FB | 56 | 20160301054548 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251B2915B3 |
57 | 20150521000014 2 6 100 2047 5 F7360753237CF1837003CDFE89D99C8149BE6C4B4CCD9D09D834FF137878C452FB4FAB5CA51BE6619BC6FEC4184FA9A96D21FDE83505B67262EEA4870FD709F4DD3A2EC36E5746ED80D762467E794FE524992EAC42D2F0F391A63E027F24411B231D25AEFE60C9329CE8FFB61A8A123C74F6755211C8CFD59915CE0DE28579B66CB426D111F90B19A5BD83AB8C2CAB09FB1F09509B029883BD154B82418B4F3A9EE4564E5F344D5B911C10829C1E975817EB2DFF49F34D95277897A7198C9C4921037B8AA091C380663A6D5260F98FA784565DE2D977C50A1079B485F4BE63B4E3D6A63FD8DD59704116A41CB1C7C2AAA449071BFBAFB0F867FCC031F191F757 | 57 | 20160301054621 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251B79A4BB |
58 | 20150521000841 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622CC7F06BB | 58 | 20160301054714 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251BF77377 |
59 | 20150521001025 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622CD1057AB | 59 | 20160301054737 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251C28D853 |
60 | 20150521001131 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622CD717D6F | 60 | 20160301054819 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251C8C959B |
61 | 20150521001248 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622CDDA85F7 | 61 | 20160301054844 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251CC0A39B |
62 | 20150521001453 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622CE8959BF | 62 | 20160301055002 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251D7C0A9F |
63 | 20150521001510 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622CE98227B | 63 | 20160301055021 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251DA0A72F |
64 | 20150521001623 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622CEF967BF | 64 | 20160301055024 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251DA1003F |
65 | 20150521001651 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622CF18156B | 65 | 20160301055029 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251DA4B607 |
66 | 20150521001758 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622CF717197 | 66 | 20160301055034 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251DA82003 |
67 | 20150521001924 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622CFE1507B | 67 | 20160301055101 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251DE323BB |
68 | 20150521002244 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D0F75427 | 68 | 20160301055123 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251E13DB33 |
69 | 20150521002509 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D1BD2823 | 69 | 20160301055136 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251E2A2203 |
70 | 20150521002808 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D2B4950F | 70 | 20160301055141 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251E2F180B |
71 | 20150521002846 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D2E6D6D7 | 71 | 20160301055208 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251E6B2E8B |
72 | 20150521003203 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D3F5D0D3 | 72 | 20160301055248 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251ECCA61B |
73 | 20150521003322 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D45851E3 | 73 | 20160301055312 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251EFFD5C7 |
74 | 20150521003430 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D4AEE517 | 74 | 20160301055319 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251F08AD6B |
75 | 20150521003629 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D5538E0B | 75 | 20160301055413 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251F881A4B |
76 | 20150521003714 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D58BAFCF | 76 | 20160301055420 2 6 100 2047 5 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251F8FC967 |
77 | 20150521003722 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D5916FC7 | 77 | 20160301055438 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251FB8102B |
78 | 20150521003739 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D5A378F7 | 78 | 20160301055505 2 6 100 2047 2 F030C513D5C6694FB09539ECF9D8290608A96280EDDEB74FD66DD43CACE3A5BFD6BC4F02EF38E44F68296DA50091214D9E6C518D715D76E19CCCA0578886B93ADA36E8AFDC23B311DA04EB8AC2FF31F3B87BD27C283519DF9CFCAA9D4EF822ECD2AD5593D3819399CEF3FAF0B786071496A9BD94164F739A2D1E0DEBB798BAEF0540B4388D3762523B68E100D6EE231DD95BEB4F4472E9E2236A24E0891DF5A19222A6C69D531C9E73DEF6ADAC84D61BC4EEA36E2A9FD64902461BFAF9BF81D699E141EE77A03996DC4586D3487A0E6189696C1D67F91E91595EB584AD1DF9EF5FC64160EAC3F2D88B4FB0E20A7925FE133D71EF9E1DD018101AAF251FF16983 |
79 | 20150521004506 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D82B5113 | 79 | 20160301061411 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26C5D83833 |
80 | 20150521004613 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D880CB43 | 80 | 20160301061835 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26C6AAA907 |
81 | 20150521004753 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D909305B | 81 | 20160301062447 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26C7D2DF17 |
82 | 20150521004802 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D90DBDC3 | 82 | 20160301062535 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26C7F0856B |
83 | 20150521005025 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D9CBF44F | 83 | 20160301062652 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26C8266573 |
84 | 20150521005051 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622D9E89DA7 | 84 | 20160301062708 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26C82B4297 |
85 | 20150521005252 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622DA8BA403 | 85 | 20160301063801 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CA342897 |
86 | 20150521005347 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622DAD07F73 | 86 | 20160301063920 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CA6B6B53 |
87 | 20150521005825 2 6 100 3071 2 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622DC5CE5A3 | 87 | 20160301064001 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CA83D25B |
88 | 20150521005858 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622DC84A597 | 88 | 20160301064133 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CAC6E0AF |
89 | 20150521010014 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622DCE62957 | 89 | 20160301064312 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CB0B8B2F |
90 | 20150521010219 2 6 100 3071 5 E0C2D7F7B6E4C69A3B6632FC77BED88CAC663CE39D91DDF017816529795F33B591F80F445BE16F8FB51D11861682154B904AE2282FA0462EB6C508FD7B7AEC551A6C630FE9CC7E17E660377558E4F841CD77AABD81E6A0988823047B3A00C2E50C33035987D6EA42C65FD776051F5D43045848D4385FB37482DC9E5133D1B75E34CC81C2B87C9530F5229FF2154604A286C2E257D3A89CF330AEDBA16288E852277C5D7C6AA947B4510625312DF982A30A4D75679F707EB325CD4DF65C7A58154C6C05E28545DE69673B3EA9CCD41529A7CCEB49A3392D23E9AB083148DD956F8CA9B8CDD76496FF95B5782EE888C40EF1201EB3A52CAE1A635BBF82CD479B38DABD6DEE7A2844F8C614215B04CEBDD41039C2DC2D1CF00AFC78C0363E548FAE1DE8A7B535CC41CED767BE05F300F50C59307061ADE1CAA4614F8FEFAECE8F8C5DB3F425B348A206B0E95703EEA8785768CDB53972422C75B58A7AEA2AD9E2546EA991466E6AFE1FA157D75D3F6616DB715D10CCD6B71C73051FE622DD9517D7 | 90 | 20160301064624 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CB9E9EBB |
91 | 20150521011229 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877F951FEB83 | 91 | 20160301064954 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CC41F773 |
92 | 20150521011834 2 6 100 4095 5 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877F960399B7 | 92 | 20160301065030 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CC56680F |
93 | 20150521012438 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877F96EE7973 | 93 | 20160301065134 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CC82B2B3 |
94 | 20150521014010 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877F99453213 | 94 | 20160301065432 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CD0A0833 |
95 | 20150521015607 2 6 100 4095 5 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877F9B549727 | 95 | 20160301065614 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CD54CA17 |
96 | 20150521015640 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877F9B600A7B | 96 | 20160301070010 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CE0A7B73 |
97 | 20150521020946 2 6 100 4095 5 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877F9D5299DF | 97 | 20160301070046 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CE21045B |
98 | 20150521021536 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877F9E2793D3 | 98 | 20160301070141 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CE4560CB |
99 | 20150521022706 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877F9FE131CB | 99 | 20160301070334 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CE9951EF |
100 | 20150521023922 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FA1BAC073 | 100 | 20160301070607 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CF0C830B |
101 | 20150521025234 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FA3BC9483 | 101 | 20160301070911 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CF96B75B |
102 | 20150521025424 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FA3FB3513 | 102 | 20160301070931 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26CF9EB207 |
103 | 20150521032445 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FA87E0FAB | 103 | 20160301071405 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D07614DB |
104 | 20150521032932 2 6 100 4095 5 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FA929F00F | 104 | 20160301071648 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D0F1177B |
105 | 20150521032947 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FA92B272B | 105 | 20160301071915 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D15E484F |
106 | 20150521033245 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FA9953D0B | 106 | 20160301071932 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D16371F3 |
107 | 20150521034828 2 6 100 4095 5 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FABDD4AEF | 107 | 20160301072032 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D18BD843 |
108 | 20150521035044 2 6 100 4095 5 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FAC298C7F | 108 | 20160301072158 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D1C7632B |
109 | 20150521035111 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FAC31F17B | 109 | 20160301072445 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D2450187 |
110 | 20150521035749 2 6 100 4095 5 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FAD250357 | 110 | 20160301072709 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D2B15CFB |
111 | 20150521040009 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FAD788A73 | 111 | 20160301073130 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D37B3327 |
112 | 20150521040220 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FADC5F173 | 112 | 20160301073142 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D37C7FA3 |
113 | 20150521040316 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FADDFFC03 | 113 | 20160301073822 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D4B57B13 |
114 | 20150521041042 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FAEEBDEB3 | 114 | 20160301074016 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D50A615F |
115 | 20150521041443 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FAF7AD7BB | 115 | 20160301074134 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D5419827 |
116 | 20150521041831 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FB007D653 | 116 | 20160301074208 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D554AA2F |
117 | 20150521041928 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FB025C91B | 117 | 20160301074359 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D5A29FEB |
118 | 20150521042301 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FB0A4C143 | 118 | 20160301074457 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D5C6DA83 |
119 | 20150521042631 2 6 100 4095 5 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FB12009F7 | 119 | 20160301074620 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D601594B |
120 | 20150521042740 2 6 100 4095 5 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FB145360F | 120 | 20160301074846 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D66D7E6B |
121 | 20150521043358 2 6 100 4095 2 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FB22FAE93 | 121 | 20160301074917 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D67D64E7 |
122 | 20150521044013 2 6 100 4095 5 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FB31527AF | 122 | 20160301075053 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D6C27B8B |
123 | 20150521044543 2 6 100 4095 5 C8BCE52E2AE7AE1EC20056B2D0764047C92392C9DF75C3A57EB8AF1062A809E6EA975D9910AA5C55833CC47D4DA76E92BF63FEBB289E5FE2ED729429DE9567D0A489FA27B41810066B96602B2E555B34628A37C4CE04984D15C36F1EAD09081D2CB2147D5F0B7E8BCF0774FFCF5F649E0CB797DD23D0801C153B6B8480828CF165C7ED3181F316F371C6EC0B6EF6B8CBE36E5A4E8C070854668AF07FE6C73C3EB817CD0E8C7F264546A1B0402AC0FCEBA5032EBA2323769CC401D262971F4B44FC1151EC4F6E761709FD6ABDC84D9C36046811F54DC86D293D16D235DC712BF7346CDAC005AE5C0DCD96480C9BD0CF7C4BD50026553E27F957B6640BA6A87C6642FF3D97A3E63DA468276E3A22C0C3F2A1CFFB4F190D5E23700BB468EA31FD3EB87B44B51BDABDB0667FCFB618CECFB2BC440A5F2E237E93A6DFF96AB3561AF5EE1BDA21720129FF2123F7038C70B4CADF1BC70B2EF5EBC264E1E3B2A4B3780D4A11507D03A498A556A923B0EFAF90D024341A47818F03D5ADD961086C2573DABF02C4E2F303817D323E1D8D88EFBE3F5E0D6688593C65254907745CA6176C8ED7D6B830875A0BA8FFEEB1882742A4553E4E55A93A7AD4F3224B7BFA03E29C77DB0FCCE0E37E6D3A64C5555ED9555FA1E2C34EC04DA3B6E0AAA7BF64879BC4724859FE806E7DC49A5394AD3D01492F05AE69CF10C67B18BDFF8E877FB3DDFBB7 | 123 | 20160301075132 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D6DB9C33 |
124 | 20150521004745 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F52665F2B | 124 | 20160301075225 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D6FE9337 |
125 | 20150521003352 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F57C7B577 | 125 | 20160301075252 2 6 100 3071 5 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D70AF577 |
126 | 20150521005557 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F591BBC57 | 126 | 20160301075345 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D72CB613 |
127 | 20150521014228 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F5BDF5CE7 | 127 | 20160301075358 2 6 100 3071 2 E2871F8AF82B8E1038DDACF268D3690580ED64FC99F13D64B8322F1F6F19B0860BD4CB74BD2FF72ADF1090B0506E77743EA2C3102093C10A5045A17F92E403AE24B4E9276F9999A4AAD7DF5F2C03EB72B6BB303FE894149BFD670A13ADEDEFBD726A12A7F32919BC4FFFC8FA3E2E73645B432EB894D6906D1E6E8CD5C8BB882953EAA0306508205B6BC0B99177C81E9E9192D8185185CE82CF310AD42A24DB83039A4F10D1C55E7EA7D4C020BD12947A25732829D1AC6100ED9DA3F4D834D8EB28875F37B399C5AE21D6A122950A41680857CEB6A25158A108E8E0338047A2DD979AB97E9F84ABA18FB1DD43FD630F494CEACF0F7FFEF38BC14968B0FDF4942927D0169B46E84D52356EB1B7D04EFCDF2239AEA21A63B6F64E83AC18F81EB6EAEF03328B830860C184B4434B39FA6AE31C751FB5BA1AEA1BD8D41457D9AE58C6EFD230493454BA3C5EB791E74CAB907D0AF1173FFB99D78953660B23127550350A9A09B0116099087A04B56078C274874507ED92ECD2D98A7F064C26D72F088B |
128 | 20150521015455 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F5C9CFD1F | 128 | 20160301080151 2 6 100 3071 5 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F1FA94507 |
129 | 20150521001701 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F5CF6FF9B | 129 | 20160301080332 2 6 100 3071 5 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F1FF62A2F |
130 | 20150521002558 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F5D7C4FE3 | 130 | 20160301080512 2 6 100 3071 5 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F203E0E3F |
131 | 20150521003319 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F5DE41DFB | 131 | 20160301080759 2 6 100 3071 5 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F20BE897F |
132 | 20150521003721 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F5E1B5FAF | 132 | 20160301081008 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F211E8DAB |
133 | 20150521010943 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F600B866F | 133 | 20160301081510 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F220FBEBB |
134 | 20150521014141 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F61F01EC3 | 134 | 20160301081725 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F22727C13 |
135 | 20150521010312 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F65EAB753 | 135 | 20160301082213 2 6 100 3071 5 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F2352279F |
136 | 20150521002914 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F69FD9357 | 136 | 20160301083400 2 6 100 3071 5 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F25905AEF |
137 | 20150521011058 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F6C6B8513 | 137 | 20160301083955 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F26AB557B |
138 | 20150521013628 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F6DE7D9EF | 138 | 20160301084035 2 6 100 3071 5 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F26C1D647 |
139 | 20150521015040 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F6EB0C897 | 139 | 20160301084145 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F26F0E75B |
140 | 20150521001307 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F6F15473B | 140 | 20160301084827 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F282FE7DB |
141 | 20150521012712 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F7377044B | 141 | 20160301084906 2 6 100 3071 5 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F2847CBF7 |
142 | 20150521005218 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F7767DEA3 | 142 | 20160301085226 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F28E1E963 |
143 | 20150521003512 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F7C5546F7 | 143 | 20160301085254 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F28EF835B |
144 | 20150521005420 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F7D68EDC3 | 144 | 20160301085737 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F29D012DB |
145 | 20150521011347 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F7E859CF3 | 145 | 20160301085933 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F2A259503 |
146 | 20150521002429 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F819A93E7 | 146 | 20160301090045 2 6 100 3071 5 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F2A569E5F |
147 | 20150521004826 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F88D91A57 | 147 | 20160301090201 2 6 100 3071 5 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F2A89EEB7 |
148 | 20150521010541 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F89D29B9F | 148 | 20160301090441 2 6 100 3071 5 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F2B037B2F |
149 | 20150521012418 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F8ADC38F7 | 149 | 20160301090534 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F2B2559FB |
150 | 20150521015506 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F8C91980B | 150 | 20160301090628 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F2B484193 |
151 | 20150521004000 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F8E369B97 | 151 | 20160301092125 2 6 100 3071 5 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F2E1E1337 |
152 | 20150521005659 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F8F2B1BEB | 152 | 20160301092513 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F2ECC261B |
153 | 20150521010328 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F8F7DD1D3 | 153 | 20160301093051 2 6 100 3071 2 F5B3EB8BEBA51E3899E7F8C7E202FBB132EF5731B3C2AC07945AEDA6A77A194E69538E08ABB8BBC3FC5AC2D3F66E582AA280D1832065E63F462AE71CD69CB3523656358545BF625F0F0BA9A8902D2A09484BE915E4AB809B8C767F84AADC75744E07F691893DA5DCCCD3FE8A7140858A9CF09A52E3A8F1050913A592B5750BC54682523B6920F626D87A717D6680B4EE430317DDF7B36458D479ADF6855FE46D865D02F8161D8BD8F4D0F330EE27B28AA40D48B6EA8E183223FCBC4E9C4F1F615DE750A5F8BE130EE46DC23970AD5A3CB93F5822A53084553A3B27A72ADD55958935D98B06D6398B00A718EA6BCE075DD6708F714002AF5A75C67D087DB8308B6FCEC775DBE8415F57CCD39C13496F0782D4834C03241D1B2EFE5CD07D702BD489DE25DAF08CA1DE5FDA5962A8CC6E0283B992640B8706B076531844CF66D26BEC2DD5A0BCDABE6A048BA55F8C25621E8CAA55F2D9E011896DEA823CF9FFBC76143FF7F4653C3BBDC34138A482A150A221E2CA2BE774B7BD22B2481F2FD6418B |
154 | 20150521011152 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F8FF052BB | 154 | 20160301101954 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29E60ED3CB |
155 | 20150521001457 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F92940463 | 155 | 20160301104238 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29E7F21B53 |
156 | 20150521011129 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F95C47DCB | 156 | 20160301105433 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29E8EA1923 |
157 | 20150521013515 2 6 100 6143 2 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F9710A103 | 157 | 20160301110823 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29EA099523 |
158 | 20150521013841 2 6 100 6143 5 D9F2DC4F4AB3E451AB7781730AE26AE5AB1927A8F93D05C7765C4F23947CBAD218690437DDE587137100CA657CB902597743E8B05CB9B821A48E081C451227F5E42404534A28EE1D0A52FA903FBB15B79139D130420B8C7BD2477CDF0C06CF4C9943DF76A74C3B503B2229A5628E13983B0426A10FD164A720488DE3A1639D004B694ADB5216C21F481519865529CE6E3C9C8B89AC00FBF2B4C1F0B0033AC2A5072A157B5D4346950917B055227557FF1EB5F0873D75E648BEE4B6F88D4B228CB89C7602E34F85BF86DDBD09CA39993C73FF59B0310754F0D24740316F7D8D21D67EC65C8715B7130EBC8E19EB712990BBB30D650ACB0B7864B632ABBC2AEE7221393A5C74B043568043480DB41821A0CE1E6D271456C2FDC243D39868FB0D7BDA3FAD5894F7DCBBC5751B77B3DF99F6E8A5BD7A5B82F594E3E0CA2BBF7DA74312227B323652E6856B597326206CAFF2380C23CF94B8CD3EAA56BE60F8C372887CD37A62FC6F5FD467ED96E7CD9C285E75C2C353E520DFB3F39FE7B8E35FFB485B1B043F52321675EDF4848266997D059810F71D21E9DB3E3AB1BCE3713DB67155F41B7C21939B285AB63DBF1770228E4EE36314310D89200F132E8ECF2968CDA0E57DBBCE589E4DDBAD009994A817032EFA52F0659A319FBD813901BF5847EC2D7979CBA5870F3DA25BE09673952628E1EA70C82EC0BE67B402E48DF85C5983516BBEEAB811D1ECAB02928D4087B826139D073501149D47B3339CDA763840E4492661FFEF96C81C816B862EEE820019CD83C93BF9DFF8EC8C59331780D5D86B164EC12BBE59F4C9E62FD7819A941D10AFE32179B2361A17618FA84864F58C09AECB817E67BC352371BB7D7F8209E4EB9002013A585092D4721B1CB464A8480CC76173989144EF51692E373E9CCEAC9807EF190D6BBDD3BB0D16CA87DC6A54890D6F074ABD83E3CF077F2F592C0745BE15D7D6871552BB6139E5CF70D684C6D1D0C4516733E0639BBEC847313BE3D1D923B6A5FAF43A5341DD8C0779881BEB92736BA4F18BD6CDC1FC922B3809ED244748101A6C7E30DDE0C232FA3F9733A497 | 158 | 20160301111806 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29EAD0379B |
159 | 20150521041810 2 6 100 7679 5 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7BE934407F | 159 | 20160301112515 2 6 100 4095 5 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29EB5F9FF7 |
160 | 20150521070624 2 6 100 7679 5 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7BEEB1E407 | 160 | 20160301112655 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29EB7A3C73 |
161 | 20150521051555 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7BF50EEEC3 | 161 | 20160301113152 2 6 100 4095 5 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29EBD8A1AF |
162 | 20150521061258 2 6 100 7679 5 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C00AF225F | 162 | 20160301114603 2 6 100 4095 5 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29ED0421CF |
163 | 20150521034225 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C058D5963 | 163 | 20160301115854 2 6 100 4095 5 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29EE10BE07 |
164 | 20150521035956 2 6 100 7679 5 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C0616723F | 164 | 20160301122138 2 6 100 4095 5 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29EFED1757 |
165 | 20150521054248 2 6 100 7679 5 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C12F16C3F | 165 | 20160301124138 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29F18BB82B |
166 | 20150521060112 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C1379EA23 | 166 | 20160301124341 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29F1AE9F93 |
167 | 20150521023340 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C165F2773 | 167 | 20160301130540 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29F378431B |
168 | 20150521043505 2 6 100 7679 5 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C1A3EC717 | 168 | 20160301132038 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29F4B041CB |
169 | 20150521024626 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C202ABED3 | 169 | 20160301132156 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29F4C33A3B |
170 | 20150521064303 2 6 100 7679 5 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C27790087 | 170 | 20160301133248 2 6 100 4095 5 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29F59F1817 |
171 | 20150521060604 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C2F9DF583 | 171 | 20160301135039 2 6 100 4095 5 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29F70D3707 |
172 | 20150521062143 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C3003EEAB | 172 | 20160301135200 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29F720CFD3 |
173 | 20150521044311 2 6 100 7679 5 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C363D0A77 | 173 | 20160301135955 2 6 100 4095 5 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29F7BFD4BF |
174 | 20150521053731 2 6 100 7679 5 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C37D6EFCF | 174 | 20160301141625 2 6 100 4095 5 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29F9118567 |
175 | 20150521065640 2 6 100 7679 5 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C3A20A2DF | 175 | 20160301143329 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29FA446E3B |
176 | 20150521044717 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C3F622E8B | 176 | 20160301143411 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29FA4A5D73 |
177 | 20150521065426 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C430ED7CB | 177 | 20160301143511 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29FA57571B |
178 | 20150521023632 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C445E575B | 178 | 20160301145341 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29FBCEC3DB |
179 | 20150521032945 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C45EEE643 | 179 | 20160301150532 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29FCBAFB3B |
180 | 20150521054538 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C49FB77CB | 180 | 20160301150756 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29FCE5B5B3 |
181 | 20150521024620 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C4D86D0FB | 181 | 20160301151026 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29FD119B83 |
182 | 20150521042108 2 6 100 7679 2 D67DA234F46097F7EE3B230456E7C895BCA86395DF43D60D9D587C64EA4525FBCAD22442143068578CE8ECC8280B2D81F747B484AA668FFCDBEB067EB824B42E5FA1A40BC08EE8CC4A064298CB31C36340951EC7A006878C79C80068196180DA31E1DEF79A72B2D059203DDE461485D1B9783AF79E981CDAEF88589D8343E5B52D96FE90EA13194AFAF7459B17B80971720357ABD09CFE992966FFC1C239821C910F55D69E44277E5DE9841F4E5B2D25D6A265D321059B762F7D6AC5F0E260DEEB628D32940002B219B354486CC5BBF6390F19899EA5E145A28487029DF0517564A81FA10FA60AFA04CE77794775392829DB636E7F5EE00868D5027A6BA75CA922CEF3CA78683D14AB2E58439789033ACF441236F5E3C7849E3662B5123304F82D0061EA9C18EA1676A736FFD628AE982CCEAB8979568C43FB34207E0DEC7D8A6AA391846C910F77771ECF2D0531A234D3798BC1B1433091A895E23A77792F4BE403D526F1D260A3627F2E80E863A204A774F58D7DE2C5C4A7E463A46BC436F0B7AF07179EC334D31073BF035FD94454ECD54146473F786EA15A1CEBB3B9C0D282195AD612D33B31F5528DAB5231CB17A3DE9AB5C8BD7BF8F773C255845BC9B70A1E53A50E5AEA801FFE604A2B2C1FBE86A2A883632E7AE75ADA007FB6AB1AA529DE3151CAA8D1D07FA19EFF5679398340E720CF2CFC4E1AEDD73C44983CC8E610DD419AE2E88206573837D6E44018D9498B62F9C0B8EA7741450FC7DBFF7C546D3CBCBA5B9123577FD5531880A18F1275F9181A922803D8F03512C58B5FBBC41CE8095EDD920A3E36CEB6EDB56900E6CEC2928288909D61B3B426EBC54F0A69C261A848B358C3A8E332567B9FFC1A7A07E9414BB1F75DE0795CF87632F5D6A87A246FD4E98E70489F779FE99C5BC4DB24BFA860C3551888FC721CDBC6AB5783B02BEF893E0984B6FDB5142A1AFD3277FE8F36B87849BC00B3FB3ADAFE4EDAE4839B83894C27FEF93514D7E3FFB7A30E99C6875D96C582E81D45FB463DC37B8791FC28A759301FC2F9879960C82BC7C427382A41B9AEFAC0051A2C653E55A47B48860CDA32812A192C1508A6C012C7E4BBAB1619B7926549FD8CE27928618F035BE31D56CBC9586D88E00DA69341F6F01554E205344E49E8871CCF80F9FF5CB54479AFA66806DD02FAFEE7D43572B3AA22742635FE65BFC8004960DC679FC7F8C0E5B50B3CE1E446B7A5E189BB9AAFA06FEC472D6E67EA4905373A01A2B662F534131405FBAB9BBAE892F0C265439EA1ABC91B186B5AC1E53A0C786607B1069BC026359955CFD614D7F80DF416A08AB18991A0398A83DF3CF2D65D7C505E524B | 182 | 20160301152435 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29FE2CAD43 |
183 | 20150521041835 2 6 100 8191 5 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354CD3703FA7 | 183 | 20160301152638 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29FE504DD3 |
184 | 20150521051726 2 6 100 8191 5 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354CD4CEF96F | 184 | 20160301153829 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29FF425A73 |
185 | 20150521074626 2 6 100 8191 2 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354CD86439C3 | 185 | 20160301154015 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29FF5FBCDB |
186 | 20150521082439 2 6 100 8191 2 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354CD947F7F3 | 186 | 20160301154135 2 6 100 4095 5 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29FF725ADF |
187 | 20150521012012 2 6 100 8191 2 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354CE0694343 | 187 | 20160301154325 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F29FF9005B3 |
188 | 20150521073153 2 6 100 8191 5 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354CE93D436F | 188 | 20160301155218 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F2A00430653 |
189 | 20150521094433 2 6 100 8191 2 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354CEC4EE993 | 189 | 20160301160626 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F2A01612A43 |
190 | 20150521074128 2 6 100 8191 2 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354CFA190CE3 | 190 | 20160301160831 2 6 100 4095 5 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F2A01842FE7 |
191 | 20150521014004 2 6 100 8191 5 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D0235296F | 191 | 20160301161542 2 6 100 4095 2 EF7840BC7248E3E12D223BD86584358750562F5FCB298632E269C7F4347DC441CEBCBAF5B8AD25C3A3EE85A97FC342EF2B320425ACE6A816200E4A46596E6D911E8E5940E4ED1F64275D1A2A1E2DC8A34E26026A8DD9D20AF2E36B2BEB467168E516F1DF9145DBA60CE4BE46B34E918D36F581B2860BEBD153A09BF5B51348137CEB0BFA43FDEF5398C538CB9854BED966017DC918E4EA26E0E1A283AEA90F41B2D27CBC34E6AA64FE7E370D532BE4A0DB2E77958CA6E570DEDA817FB91351B65E227BAF96383323820AC5CF785CD686E99398773DF19C1E33D7199A5104337AD3C8CF78FE1AF5D8A4A2B8C092E1FD2688F2829E006C050257DC4C16576AB12AC01AE40F35785586902058735024E0CF90B1DD3B547647AC6F98A70BE3CA9EF80E9A1E408D29FDBE7935625B9AB863891D6D30A54903DD23933303055B8E864751CEB7A153A841D2E1CD3C5943C7F6F1BB2836ED387BE4FB3075363317A1E813965497F5CC621A72B1CF5B50813B418F391FB7C4530B6C19416B4A942063012798536BBF853166697747F39827832A3D135ABFB03BF15990787F64D25E629ED1A6009BADF5447730445ACF2684715A84ECBC4B3A1E2C93E3EFCF4D9373E1355740776F66353576D7359C69EAE48FCFB06CA7536F4B132BFCE6DB2FDBD687B24E7A0AD1EBCBF887A7258C24D8AC9BB86BF847D9AC980919AD9BAF3F2A020ED50B |
192 | 20150521014736 2 6 100 8191 2 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D025961EB | 192 | 20160301165149 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE54C87A80B |
193 | 20150521065737 2 6 100 8191 5 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D0961218F | 193 | 20160301165241 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE54C91EA2B |
194 | 20150521043653 2 6 100 8191 5 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D163706C7 | 194 | 20160301165750 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE54CFA74E3 |
195 | 20150521085322 2 6 100 8191 5 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D1BC6858F | 195 | 20160301173839 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE5504AEAFB |
196 | 20150521093922 2 6 100 8191 2 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D1CC27FE3 | 196 | 20160301174247 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE5509AF4D7 |
197 | 20150521120407 2 6 100 8191 5 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D1FE2874F | 197 | 20160301174504 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE550BFB1D7 |
198 | 20150521124157 2 6 100 8191 2 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D20A8A19B | 198 | 20160301180608 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE5526F5F0F |
199 | 20150521035417 2 6 100 8191 2 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D24E0665B | 199 | 20160301181854 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55377C36B |
200 | 20150521062806 2 6 100 8191 2 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D2828F7AB | 200 | 20160301182221 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE553B4B8F3 |
201 | 20150521074218 2 6 100 8191 5 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D29B42017 | 201 | 20160301183911 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55510470B |
202 | 20150521114937 2 6 100 8191 5 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D2F027D3F | 202 | 20160301184110 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE555338897 |
203 | 20150521073847 2 6 100 8191 5 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D3905A9FF | 203 | 20160301184426 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55571A23F |
204 | 20150521024512 2 6 100 8191 2 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D41DB2FFB | 204 | 20160301190148 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE556DEB983 |
205 | 20150521024827 2 6 100 8191 5 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D41E2852F | 205 | 20160301192446 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE558BD1523 |
206 | 20150521042402 2 6 100 8191 2 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D43D9B0E3 | 206 | 20160301193428 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE559875F5F |
207 | 20150521083756 2 6 100 8191 5 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D491D852F | 207 | 20160301193505 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE5598BF0AB |
208 | 20150521113241 2 6 100 8191 2 D7182545CB6AFDA1CCF5BB87F606DDD1CD25D4BAF110D7CCCC0BC78929189C09DC69308FBF76A16338AB8351B974081AEFE6F68B9DD0B3F661ED84DAF8736BF328122D00A803AD05DDB334CF5C98B2670F0B2ED0E2FA602CE2F6157A2A8E649A546957CE4F723C84B6AC46D64C5B329304181F2B70F48D15181C38777F4E18BB0344F5DAE703CC3A46B670713A7B99E536D30F92D1E5E683F2C5540105F425E01234968D1A63E0220A02721183E30302F029E4D0E0664E30329B730D99D03E53D67793F31BBA6C4274FB2ACA9181655B766246C598E4CD402737B682232B8534BE43A790ED6C04EF8047E1796048099B65EF415375D87BC7A01CB6086C9E23B667D22F52F5F44D6960601C15515D14F7D6A6BF6D7F6B1D834866ADF9FCFA1CDE00EF04C05591B05D4752471F124406D034BC8E6D71E03880BD3E7A77FD22E7D90B90A491E528EDE2E4B6FCF7C638883A4CDE80AF2C839569A4FB641C7B8948200DB0F51CA9B2613966C51F026A007D0696D14A4E4897556C7BB0E60A407B7B8C57643F278A47CC8089E24D38BAC1350A0E6D19FE540A773B8E90A6312D4B038C643B03ADDC741BDD3012F7714863BB63688E6145D47A6F40D15D6485E5AC278E229EA800FE705FEBEB2183CEF7C55DB952B627D4890B45441B3D4CF03BF0D132A7042C24447518B14956C11703131981CD69D7B6BA2A9F8C62057FE3A4319D17739DE0BBDAC9600E4809CD856E5F41C580863D93C251F0A31BA1CBCCAA499FEB79184E165C436A3B2FA9791C4526B47B0D1F6FE3BDE2730421E5DCA10483D91AA873ABD1236674EBE3A0D134C685CCE9D632280AE11C0D9CF7275517C1F14BCB81F2B23860D86F5028B21DF85868972EDF70A0704B3853EB1B16970834C661BC65693D38368DDB0D6E781DD2F52AE279913304601F5709E1C4B1A12B0FFDA93369001186FE8716027667F4B816E927A9977D3030CE211F4BE8B6F48836EABF4D8457FC5CFE39DF5BE96146D3B8C5BA11C3D75D252B0C190DEA5757049DE6BA89249166D60163ADDD38EAE171B53D44E135973AA05293AA7407693AE5478F480A3BE97BACBD8C7DE6EDF39EFB8BDDF8B0A2169228FD98A863C450129C8BA561A1D0F29C4EC75060A27E028E1321BCF7ADCB34B2C2B037E2C6B705F74002E0C844092025A630CFB2105F04D40135794DDF30C7E19187AE2AB8E6296C9EACFF43279F0ABE6E1150ABC2C3C8A6C4B95A7AA18CFBF953BF7662C16A0FE26D9EE7CF62BA16AA87B06373082E7551F42B8BE57BE19A50B059DC652BA46157FB7CC29AC1BF2834E668443637F87B2B12FD338706D69935D2C6348CF72F568B89B66345BF42209AA6D898F4388A54B4CFFD735EAF987CD6B738B401A14FACDAC97F63529118ED56DFB7DAC4967FFA252D185DBC29652E3F62A45D6BF990FB354D4CAD7D8B | 208 | 20160301194148 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55A0E82C3 |
209 | 20160301195020 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55AB8837B | ||
210 | 20160301195917 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55B6C5AB3 | ||
211 | 20160301200332 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55BBC661B | ||
212 | 20160301201317 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55C7D9887 | ||
213 | 20160301201523 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55CA30A3B | ||
214 | 20160301202029 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55D044403 | ||
215 | 20160301203514 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55E324A43 | ||
216 | 20160301203700 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55E4D607B | ||
217 | 20160301204309 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55EC519A7 | ||
218 | 20160301205135 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55F6BDE23 | ||
219 | 20160301205244 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55F7B0B23 | ||
220 | 20160301205520 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55FA81627 | ||
221 | 20160301205558 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE55FACF2AF | ||
222 | 20160301213318 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE562B75737 | ||
223 | 20160301214847 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE563F5D2EB | ||
224 | 20160301215746 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE564AA7C23 | ||
225 | 20160301220025 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE564DC00EB | ||
226 | 20160301222154 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE5669AE6CF | ||
227 | 20160301223932 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE567FEFC33 | ||
228 | 20160301225302 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE569139497 | ||
229 | 20160301225705 2 6 100 4095 5 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE5695E7AB7 | ||
230 | 20160301230308 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE569D3D2B3 | ||
231 | 20160301230751 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE56A2CD9CB | ||
232 | 20160301231012 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE56A537EDB | ||
233 | 20160301231655 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE56AD78EE3 | ||
234 | 20160301232437 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE56B7299EB | ||
235 | 20160301232518 2 6 100 4095 2 E268D4796069A7E90EC81DC69831656A982D57FD2C1E7810FD32855F3A67C150F52C2B45EC5C1183DE82AE98202BCD0CA7D1CD0A4D15AE296B23B6FCC0BD171005C939D9D1D75DEA733A6B4F3DA9A96759881B7482ABC3CF967763F261D0D6BEDDEE374F138597B347A57A4E21F8F801CD8F8A33FB3638FE0CE021E052AD5CE00E23E3A6644C844E8F79749384DBD4AC2D46B7804D797174F4BF19F92D8710B18BAE576F69449EA91681A92B0E8E95EECB47CCB0720DA611EF8686A09A7DB37726E1357EA9A1CFB7B2DB04529147BD30F96515123A7B5540890860D45C7C033DC0FAF079A0A7825C6A6DFD9B87189F2EEFBE5F68BA9B1DDA8E3BF26ECA3A8A261BF5C67E2A01C8E4BDFAA1C221950596216C69468493E424DBBCEFB8BCCF0A83C773123087F355A15EE7515BC3C6536FFCA05B50F8FB7F3A57103DDB6FA82E2B902991086E2EA9284CB09FEC7A4184EBA09A700930188711313FD16C27B338BA4BA55736E0C7B4C6E731933BD9FD7DDC80BC3A23676FF871FE3E21945BFC83B22C3992E2219F75A6C7AD05F66F2D09B8C805C2E1FFBEDBE5115FD9FB023B58B37FAFEA2CDE16C52A54BD7090C03438EF19F04D8FC630055FC96AFEA891B8CDF6016A6E101A9C27C1E6A5A3B81DC785B6E8808EF59414B58C1CBC5E3E1428DA520F1AA2E8BF6A6554F2DCA1CE30972E13BED33D2744621C763D387AE56B78E563 | ||
236 | 20160302001351 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDF880CFD33 | ||
237 | 20160302060207 2 6 100 6143 5 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDF915C8E67 | ||
238 | 20160302080221 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDF9484D603 | ||
239 | 20160302085858 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDF95FD5243 | ||
240 | 20160302110323 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDF99425D23 | ||
241 | 20160302115537 2 6 100 6143 5 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDF9AA4530F | ||
242 | 20160302121026 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDF9AFF17B3 | ||
243 | 20160302125303 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDF9C1752FB | ||
244 | 20160302132855 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDF9D055A3B | ||
245 | 20160302145027 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDF9F210C3B | ||
246 | 20160302160128 2 6 100 6143 5 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFA0F799CF | ||
247 | 20160302164318 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFA205C49B | ||
248 | 20160302193543 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFA66F725B | ||
249 | 20160302223446 2 6 100 6143 5 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFAB045BFF | ||
250 | 20160302230706 2 6 100 6143 5 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFABD44B9F | ||
251 | 20160303005014 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFAE7817DB | ||
252 | 20160303013053 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFAF76805B | ||
253 | 20160303031806 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFB234F5BB | ||
254 | 20160303034446 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFB2DCD713 | ||
255 | 20160303042131 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFB3CABEBB | ||
256 | 20160303052710 2 6 100 6143 5 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFB569F28F | ||
257 | 20160303064237 2 6 100 6143 5 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFB744D6A7 | ||
258 | 20160303074318 2 6 100 6143 5 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFB8C38E87 | ||
259 | 20160303091435 2 6 100 6143 5 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFBB0B707F | ||
260 | 20160303111232 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFBE003643 | ||
261 | 20160303112343 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFBE40A0B3 | ||
262 | 20160303113550 2 6 100 6143 5 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFBE87B0BF | ||
263 | 20160303120708 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFBF49A92B | ||
264 | 20160303122005 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFBF954093 | ||
265 | 20160303134821 2 6 100 6143 5 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFC1C0AD17 | ||
266 | 20160303183137 2 6 100 6143 5 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFC8B45457 | ||
267 | 20160303204451 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFCBFBCF5B | ||
268 | 20160303210530 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFCC756893 | ||
269 | 20160303224116 2 6 100 6143 2 D9752DD196C5E138B7F542FD56561455DDBDF05DCC107F8A5C8F393529CEBAE3CECA54E85766015CBFE1856D830D7A20385951C0941FF754570F697951C77F6FC064C28B708E8A691BDA8C6C1921C7559288EE8A024EB50D923EFF9F143E76B053D2B5FF1779C1CDC0E5856BBE4396928E605009866CFD212C68183120D5A7EA14BD3878690406069F8BC9AED334AEB6C25FD4CD9421F860893256B1A7741F729982BC109E3B6DF4D86CCFCDC1EBAB2EB13836E7988CB9F32F3EC5120E6B2DD74FF13E456A1A01E313E00A728D2ED690A656DACB1C71C6BADCA959CD944EBA762FC8B0B3CEF237386ED3D4FC6983A8F950B956DC76C09B6AAE22B5B8501B73B6E685FA40AA56139A8C02F6E0B7836E3F08EB5F9D4EC83A8BDA394FC5DA24D2CF078AE7491E3856A18FCA2C68BF9BC82ABCDE494CDFB31F82E5FE8C20D7832412F478BFC67A2B4B2CF5F266DDF53CB62372957861B95FFD2C82C46E48ACD75CAEC30E8453C8A24020ABB6143665441179478D8E33E505C2E34C1EA8F22205CA8FB31A48209BCF10ACD56B6B0060DE1836A4C9EF3C062C552C1BC8528D262FF0A2BEB56626C69A8CC7BA24F65FC39768212BB7C41BFFEDDAFD1A1528F6258F2ABC102F693425FDDF20D9EC9601FBFDC6FCD43E551C082A8A1373A1CB5E83BCD8175D9B60662D03ED5894D3EF4325180633C33FA1DD0964CC0CAEDE403146E7A5B8ED74FC6AB359EE1909A45A445429B17C04658E7F4F31F84DD194FDFBF3EF345C1B4EF2563E16351808FE4262B52D0C8AA748DF502FEF3A92C9F6A6A03BDE903DD1392177265313C08E767B003614AC6C6BFC501AAC24737BB3C8CC0160D81FC3BC6244974E1D83D15E676976F92999AEE25A66E7FE124A94D52A902E035FA5F866833D7AD3387BE2423095930671D8588E49510AEC9430ED1F03A02F3160124D893833D44FA4B51FED9044AE5B4136105466D5CD711FDFC37690183BA1D4930347148433D76B98A857EF4962FE0F48A16F20454555411EC778B248529F50503C4E0D62A122EEF42CA6BEFC7B3517CCB75A293AF2532E29FC2889DFDFCEC94F0B | ||
270 | 20160304002011 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F213AE3B5BB | ||
271 | 20160304013213 2 6 100 6143 5 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F213CCC818F | ||
272 | 20160304014837 2 6 100 6143 5 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F213D3357F7 | ||
273 | 20160304050100 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F21426DAC33 | ||
274 | 20160304070516 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F2145B0AFE3 | ||
275 | 20160304085926 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F2148A9E96B | ||
276 | 20160304092251 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F21493F5C9B | ||
277 | 20160304092815 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F21495C2BA3 | ||
278 | 20160304115839 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F214D4FED23 | ||
279 | 20160304122842 2 6 100 6143 5 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F214E130FAF | ||
280 | 20160304143749 2 6 100 6143 5 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F215161823F | ||
281 | 20160304160139 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F2153888D53 | ||
282 | 20160304160440 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F215394B933 | ||
283 | 20160304162214 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F215400CF9B | ||
284 | 20160304212008 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F215BACC633 | ||
285 | 20160304221341 2 6 100 6143 5 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F215D065E4F | ||
286 | 20160304221614 2 6 100 6143 5 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F215D0E8A6F | ||
287 | 20160305022340 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F216368CBBB | ||
288 | 20160305044620 2 6 100 6143 5 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F216709F6C7 | ||
289 | 20160305053801 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F2168484233 | ||
290 | 20160305060125 2 6 100 6143 5 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F2168D0E0E7 | ||
291 | 20160305081042 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F216C1797FB | ||
292 | 20160305094218 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F216E608403 | ||
293 | 20160305095044 2 6 100 6143 5 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F216E8BAD0F | ||
294 | 20160305095440 2 6 100 6143 5 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F216E9B001F | ||
295 | 20160305111737 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F2170A72F1B | ||
296 | 20160305152313 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F2176C19D53 | ||
297 | 20160305152947 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F2176E37BCB | ||
298 | 20160305154608 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F217744E9E3 | ||
299 | 20160305161226 2 6 100 6143 5 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F2177E547CF | ||
300 | 20160305173357 2 6 100 6143 2 FC87210E608B51094653AB8D5963CAEF1C053FBDBBEDF91B83BBD945C79B4F67E96E8FA2C32DD50643434724257CC86C29F3CA2D266A719934B4D350E933D37153610C332F148D4B22D7D790A2A83995B0600254F640BD5E48B7D97D1BCEE76515FE078CE062EFB08529A5670F773DF514EC5392403D50C33577AFCDDE7D90224AEED69799AE17968CADDBFDC81A6E10B1CDE4A0D3F41C4B82CE346E0621973BE07918EAD36D7C67BCF2984D0F78BCD1E540847CA4DC90D909845862D4F699ABFA17F5749554774BC2C59443265CE386C655055202009B32590EB0FD85F203E63425342E756AB57F5BA14BD2E283B617A230E11A955442F0C1F53AF4F08DFD1D2606DD5DD04486C40A0E6D2DB2B390D664A97D32ED7868A6AAC5F2E534B7C880EE0F6834EC100D547B823547443D02980F1EBB2EBB6D57E9368BC70C440BB5406220630583D59AB11C489B0B0B8591A7F9FF322BFD4B9FE0672800A402F9734652EF151B44180D4EA7A713C66873A245691AAF295272BFF02979772EC48D65CF34540F38EDF2B95BDF8E7A88062866A8F5471F29993E1D4A4F1638A447D237964907CA1090C0CE1D4FDD79277219F9E1CE63E3E95BAFF8017639969710AE8520769B09C318BDD8A0CB3560DDC3A6281E1816EF16D942980934B6B381D44FD19311FDE8457113B6F8FBC9101EC20F6F216712BC17A63A753F0724BA90EA9A4766FF93BBA39020CC72E0B33CB6CC3C3D87A13CB86BA9C1A9B9086DBD905F62B29782E5AAD4C27704913415E583A0EF1F2586C612DCA66CA31FD1F797752EC984E543616C7575ADC6BDAB9788F82C9258DF1E58777440BDAD5D93A2CBEAC466D6BE37CC4307CA0534B00B6EBEE4C3958BC587117E8E26D13E36B1D4A9D0F7DB2F00E9568EB21F6530EF635650C51DC9D04B788439BE01ACBF5501D673896A170037E0048882DCF5A09F7605AEFEA5615A534B5CAE77D46B00E27CAC0C7685AA235EBC0941B056FCE7737E3BD6597EF0C5774D1535F294645B12025F17474F9066DA7DFD867B72E3706FAEECD892C05D92494D7A3BEE52080BAC6FCA8F2179D3586B | ||
301 | 20160305235825 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B0B4DFC33 | ||
302 | 20160306022229 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B0D65D0DB | ||
303 | 20160306093737 2 6 100 7679 5 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B13D7D927 | ||
304 | 20160306094452 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B13E933BB | ||
305 | 20160306160337 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B1971D123 | ||
306 | 20160306224032 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B1F3B6DAB | ||
307 | 20160306225345 2 6 100 7679 5 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B1F6160BF | ||
308 | 20160306233854 2 6 100 7679 5 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B2005324F | ||
309 | 20160307010902 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B214E9673 | ||
310 | 20160307051433 2 6 100 7679 5 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B24C9A09F | ||
311 | 20160307062817 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B25CA759B | ||
312 | 20160307113227 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B2A201EFB | ||
313 | 20160307123109 2 6 100 7679 5 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B2AEC017F | ||
314 | 20160307185147 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B3059D223 | ||
315 | 20160308031623 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B3779276B | ||
316 | 20160308074434 2 6 100 7679 5 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B3B36AF7F | ||
317 | 20160308080500 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B3B735E1B | ||
318 | 20160308090559 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B3C46A863 | ||
319 | 20160308204809 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B45F50A43 | ||
320 | 20160308220844 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B47098FDB | ||
321 | 20160309000534 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B4893E51B | ||
322 | 20160309035855 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B4B9D5AF3 | ||
323 | 20160309042540 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B4BEF4FBB | ||
324 | 20160309152136 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B54B515AB | ||
325 | 20160309192852 2 6 100 7679 5 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B57FBEBF7 | ||
326 | 20160310013359 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B5CE29283 | ||
327 | 20160310035549 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B5EB8EE13 | ||
328 | 20160310075706 2 6 100 7679 5 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B61EA384F | ||
329 | 20160310173812 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B6993761B | ||
330 | 20160310190029 2 6 100 7679 5 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B6A9FDA07 | ||
331 | 20160310193821 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B6B156863 | ||
332 | 20160311033330 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B714D2463 | ||
333 | 20160311043906 2 6 100 7679 5 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B7225A617 | ||
334 | 20160311054129 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B72E8A083 | ||
335 | 20160311060123 2 6 100 7679 5 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B7320D78F | ||
336 | 20160311060829 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B732F58C3 | ||
337 | 20160311071819 2 6 100 7679 2 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B740FC84B | ||
338 | 20160311081031 2 6 100 7679 5 CDE6C545B0D2F4A803F7AA7269ADA925DA60EAE55764AE38A7C61738B71DA67096F9E2CABF9B30B2E33E1FE97BFE4CE54B53041F2B2A0DAEF6135B6FB4990BE5C32AA56F223B6FDA4599B58517C6B78EA50C8E17CBB37865B5DB8AB5AB0F9A30B27AD76B11F758F10643A569346816280CE9368A159957E161B5E877CBD33D838B725F3CBAA53F6BC1B8F0062B9ED6D756CBB077B92A0A010636B4B92D570C8E0E3BA5553A92B7F1BF41C7AF7354849491B1C63886EE4A52DDBCF24444D5EA1636F883C1B5482E5ECBCA45BB5C741E9A302554B218DEC84908A75D6A2FB12CD96B1C6046A27FCBEDF260AA445C90A156DC17A1147861792E81840E71D0C8DA6BFC54BE0AA2409B7B23807FC07EF4B2B88B6AA9755809D084448E20D06890B4F299F4A38653F34BB52F38E06E4BC7AECD019E6E06FE39238F661726D7FD4AF8F5CFD49177CE8F8D324C99A00D4FF37B5CE5845106893B0AB4600F0A47BC5C3A536969498548EB86BC2ADB0155F9D2F94B02E7198CCE6E03D091191F63F7CD9AF5F2781D32C105A5DD8425090F90FD2099FE37630A69DB179A7161A226B0CD24C93C087B3AC90EF711C2358DC39EA53C0B9BEAF30851B9DCC5BCE27B4595D391DB68336FF330D3A1E90358A2CB1B35765C6F629D737EF13D6565390D25F3DC8E5A17FDDAF740568659F064CC5DB9F4A3A6CA3BA027A58CD18880F4941CC9B372BDB9B3398FBC357B7672EFEA922537846A4F4B7F393B927786A30DEEC3E5234CFB2D9CE459D1CB2140DE33052CF325BF81C4AA80928FB4906B6700F9CC2628747894CDF90FE2C2F07303F435CFD182F661B19E802092BEDB3E22C275A9AB635DD60A442E2E3D6B61CB204898EB0F0D888CE8903FA8521B9EF18046904F63B66C70B2C503CD1E2A2EEF203274D59D5A86F1B2758B9DDC9F97708841322C99BE9A47524A8BE01D7152B9ACF12C0181BB8C1884DD03FF26FA916FD95A4325DAC03139C80F7931F24694AFDDC150848579C28276BC4DA72400277F560A1E9701186148B5ADADDA2BCC8F7ED47A999DC77C3D6C7E20AD7F3C0A4DFAD3B8EEA0C0C402A28B27B01EAE661CF48CB7A8E14FF0597612798D954B1AC078984BAC3353F2A9829E9F29D88562F5EF90DF5A5E81A97C4BC9565F2F915B43ECD333B189D3C774E18B397D3B6640D8F4902DE3A90BF4E2646302A4BE7341A40F83AEC49B7DC31C0B91CF4BF022EBC8623CDFAD234CECD39942649B386CC65EBED4676F6B0FBC015D2C300B252A7DE8DC6434270DF9918D48FF541CAFFEE9485166EFB82C4F4FB2FA109C6C16D475052E530B12FB81DF189F77C08A9DC2F6A4F37E38601B74B68FAF | ||
339 | 20160311170649 2 6 100 7679 5 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9B171F787 | ||
340 | 20160311195449 2 6 100 7679 5 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9B3EAFC07 | ||
341 | 20160312113901 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9C1FC4A03 | ||
342 | 20160312141825 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9C45A6C9B | ||
343 | 20160312221956 2 6 100 7679 5 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9CB35C95F | ||
344 | 20160313023234 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9CED021AB | ||
345 | 20160313062450 2 6 100 7679 5 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9D2124DF7 | ||
346 | 20160313135733 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9D880F89B | ||
347 | 20160314002320 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9E14CBED3 | ||
348 | 20160314074608 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9E75C54D3 | ||
349 | 20160314135741 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9EC7E3DAB | ||
350 | 20160314140815 2 6 100 7679 5 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9EC9AC0E7 | ||
351 | 20160314202745 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9F1BD98C3 | ||
352 | 20160314223316 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9F36F08D3 | ||
353 | 20160315005016 2 6 100 7679 5 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9F54715BF | ||
354 | 20160315013952 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9F5E3A7F3 | ||
355 | 20160315060542 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9F968A573 | ||
356 | 20160315072619 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9FA7969D3 | ||
357 | 20160315105849 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9FD4C31DB | ||
358 | 20160315120521 2 6 100 7679 5 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9FE292087 | ||
359 | 20160315121136 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073B9FE352FC3 | ||
360 | 20160315152946 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073BA00CB151B | ||
361 | 20160315165331 2 6 100 7679 5 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073BA01DFD347 | ||
362 | 20160315184225 2 6 100 7679 5 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073BA034D7527 | ||
363 | 20160315214330 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073BA05A75E33 | ||
364 | 20160316020204 2 6 100 7679 5 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073BA0912D52F | ||
365 | 20160316065014 2 6 100 7679 5 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073BA0CD7441F | ||
366 | 20160316121031 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073BA1102A093 | ||
367 | 20160316165356 2 6 100 7679 5 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073BA14B5C017 | ||
368 | 20160316191831 2 6 100 7679 2 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073BA168B1623 | ||
369 | 20160316230539 2 6 100 7679 5 EC435B7E292EBAAEC94B8E8A53ED9F3FF717BB820D4893F0BBE6589BD3AF344B765A6000950C6244B2E4262E7E500BF699AF0FF49605A15EB80C61429C9FB79F658C3E0F8DB516AF9703BCB5E84ABA314292808DC70D183C513609A6D345F5D8676256E25108EE70B210C0293B5C804CF21FD843D2F5F79F91F57CF2C2EFB7052CA5F73544F0568A68FA5583CA6EDD300817AAB25E650B0AB9523C6C60156726F4B5243A8BE580308BB6297E23785893119D49B2407D4D8DACD551D08A5F9BB32BD7965313EC6C9DDCD685A62F7AFC8E71DF10F9E1FA25EB3DCD41D7DBDEFE5DB565BAE0CB62F192AA573A126FB92C9638457E73EB4C007268142D9506B17D20A4D73B51E21983D9AC86F7ABBDCE9B9D10BE307642C49382E27B45ADB32E9FF7A2203F395C71EAF7656DF83F57E527CCA37A2BE9AFBA89FB718DB95CC041BF4025FF1CB5F463C8A09FD374AF3F143EE53FF4B369117BDBE0743335B1B5650B68C5B4F64E42D4CF0B329316F4FCD5E66F4A1359F2B29684961CA04EC5AC787FD4BF990F3FBE698D69FAF946DE12A4215392928E29ACF24F940AE4046C74BC6E799EE1D85BA8264C6C7DFF62A244CA2D05C4352870E0E8EF71F884AEFA4A4CA704B6C6607D2E59D36253350AF73C1FBE9C5D61A26A9024B715B45ECF1487D23970C5E405B46029403DD95B2F5672E61863E48CBB280300B2CF87C749F0ACC52940819688C819250B71E54397C8792AAB31655BCE19FAD3A7C59BD64904CC806304AEB6DC8B534081CD2EFD2808977FAC9BAB540EC153DD98D8B33984EC40BCFBC0C5D5B95AB3E183961DB2EE8883B174A3CFEC21CBE7F200FDD2879C1BA808B65A03B02793688FBB1F753333A23A4139766DD3ECD30742E55C25474D068CAB008BA6957CB014E4D46C4BF3084C8343D61231B6B997A8BCEE761D907E4323B92EED55575A38048D686B04F6614B7F931BF1F7D2CF35912E3472F424B11FEBA41F6D569B1A13002A33D5660844A896436AA4D8BC74B6951C75F883D747690B6AD3501B84C6C5B4E29C4153A98C0F2DF38CAFDF00E15CFE8DB0939E5611518DB4547CB2880B5F2D431526082D608384FA3BDD78B75157F25C7A2448249E635C20051C39577AE777C75E7B424CB647B76C9880E905E401DA09DE7A6A5F3E59376B24DCAC613C6EF263741FA15E83B64C78C03016FD34AB608D77100FD8733F130F63A0725B8E7CCD344F5E9A460D2F4F5BE139A6B57A3955A47726A02D6425EF8D1440709517F2DE1D8BB1D054BF69B77E44B4C4427F26EC6303F91CF197298214820264AFACBD355F08E278734BDBF1E116ADF6C1C03ADF5E73212A7073BA1974D157 | ||
370 | 20160317204037 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F505984F7 | ||
371 | 20160317232704 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F52635AA3 | ||
372 | 20160318065706 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F57FAD16B | ||
373 | 20160318115527 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F5BAEDEAF | ||
374 | 20160318183751 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F608FC39F | ||
375 | 20160318220732 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F6315D9EB | ||
376 | 20160318231533 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F63E5739F | ||
377 | 20160319161235 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F7037DD73 | ||
378 | 20160319230645 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F751E7BE3 | ||
379 | 20160320013744 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F76DF3D47 | ||
380 | 20160320040506 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F789CABBF | ||
381 | 20160321132428 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F8FC5A85B | ||
382 | 20160321160901 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F91961EDF | ||
383 | 20160321181311 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F92F8EDBB | ||
384 | 20160321224946 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F9615911F | ||
385 | 20160321230806 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F963FE5D3 | ||
386 | 20160322064427 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F9B60592B | ||
387 | 20160322090339 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F9CE9AD5B | ||
388 | 20160322103202 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F9DDFC97B | ||
389 | 20160322120630 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F9EE9F43F | ||
390 | 20160322130823 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27F9F927B4B | ||
391 | 20160322151455 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27FA0F6C9EB | ||
392 | 20160322151924 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27FA0FAAD73 | ||
393 | 20160323004347 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27FA73E643F | ||
394 | 20160323011842 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27FA794B363 | ||
395 | 20160323041407 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27FA98073AF | ||
396 | 20160323042341 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27FA992813B | ||
397 | 20160324042502 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27FB9535E6F | ||
398 | 20160324084810 2 6 100 8191 2 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27FBC2024D3 | ||
399 | 20160324112528 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27FBDCE47F7 | ||
400 | 20160324195325 2 6 100 8191 5 D8320CDE33443FD11E472910A82D580EF614A690CF5313E998A695702508351835AF6D1DF2FA7AF2F1B234CB85E4174D67D9A32B8CC58DAF6DCFD555275B1D038D5EAAC00E0396BFF8A3686F1BB5DADDEB3C5F12B02358C7A1249A01CB1AA2AB3FAC5FC95CB7D16A38DBCD11804212872394D9A2E2F2797A3062AC5AF0C0C57F5ABEF3608546608EC08F197CE2CCF0490875BE4BCF1BD35358AF5694217F2E3DE713800F3C4071622FDBAD20CAEBE2BA60C80DF012DA576EE24A753749C0BAD8707A2382B6E909FF0B8F4A304EEDB1BF04CA0747166981279FE69248AF0DD177702DA2DC709E301D7D6FE985A7D3F7A1678A9BEF306D6036F143806563C42ADFFD8D70595F0C60BA39F0D392CE7EF7CA57547DB2E35B0464FEC6F59F6095F93BD0A241589CAEE15E2226873D31876900E534999F1D2E23E7239FF679377580065A861D3E29FA7215979BDE039ED1FFED26CC2F5541C5CD907E81434EED0479D8737262CCB2807A70504088F23E72A3D949F37C2C8E957DC2FE64BB9CE028013270F42E022BA671F1670EBD20413453A3CF19F53A1A6BDE5D744E39BBF9377384AAF0FBAF475DD1067A2906244CB87F919159DDC71256A251F1BBA789B18D97602C9C1254A4443849C16E0CE2A7A0B6AA6F117788A92C1CB3F60E2C8E539840E3AF49B9248D3E1CAACB08B43146F07CC53D2573086ED062D108C9AC924F58265CCEF3731D39FE5D4F983EADD0E9F9D8B68D953AA9342B8604AFE7916E544D88870F2ED0AFC2CD0C47DD1E5F361004D97B5108D13CD127DEC8609FA2C65FF1714FD45F3B2B3809BAC06DFCA198B71B3929E2A7B62538E5B1B8B5024D8BB78438883911A6FCA870DB16F8F2DA46D9C611F785428A356B40C07B2B8A72E157E3497DE2982AAAE4D2D9F4368469A7AD4061AEE188DA4317D826721B9F9B1A361FECF0C725E0AB6F17C147D2C62A4D11989DB1503F85763FA3E4A49BAB6BDD05C95199158D421B115F40B124EE448803E07496DE7C2682D4AF433662978CFDCFAC88C9100C46CC16929A10E3082BCAD4444D59FE57717FB4BE8DE45F4D84716D204AC97CBA5A7824765636C571AD6780AAA7510E832EECC54D571A780F90BC6A1B54DE8CC83ECB797A9065CC9807CC99DD7638AFC500D05FD2EDEB795227CAA37EBBC04A37DF07762E0319F27B523282D11DEFD85A1DBA40C87EA1EA4D1B9B2A2FC34F9F5395AE51E3A994FE25C680022E5ABD19D11703C2CB6EEE1780F76FEA8601FAE9E27BC16F832BC16776609DC2B0E3D605E635258A95907A148D583B44E202BA4A48211DA3358B7B391B6F3AD0F84D9D7F97DFFA9D819C3D316A59173E8CA970240349A89E09F0A9B1A4B4C6FFCDD878A977BC9EB254318574C40C49D2DCE56FF803601E1752BE3824F94D0D66C1C5FDADCC9670BFC85C422811D27FC34000DF | ||
401 | 20160325054405 2 6 100 8191 5 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD3C9827F7 | ||
402 | 20160325073844 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD3DFD683B | ||
403 | 20160326035547 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD4D2BE973 | ||
404 | 20160326072058 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD4FA14E4B | ||
405 | 20160326092507 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD511CC0FB | ||
406 | 20160326124028 2 6 100 8191 5 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD537EA3E7 | ||
407 | 20160326204702 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD595EF333 | ||
408 | 20160327004038 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD5C324F5B | ||
409 | 20160327062851 2 6 100 8191 5 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD606E1A47 | ||
410 | 20160327081155 2 6 100 8191 5 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD61A5005F | ||
411 | 20160327123555 2 6 100 8191 5 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD64D2A70F | ||
412 | 20160327223323 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD6BD47A7B | ||
413 | 20160328011117 2 6 100 8191 5 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD6DAD19BF | ||
414 | 20160328031621 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD6F1E5643 | ||
415 | 20160328081352 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD7291B183 | ||
416 | 20160328130100 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD75E7418B | ||
417 | 20160328200420 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD7AC63CBB | ||
418 | 20160328203420 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD7B12C7E3 | ||
419 | 20160329051003 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD80FE5033 | ||
420 | 20160329150013 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD87A1FCEB | ||
421 | 20160329205744 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD8BA2A65B | ||
422 | 20160330010039 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD8E545E13 | ||
423 | 20160330064620 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD922B39AB | ||
424 | 20160330195544 2 6 100 8191 5 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD9AE926F7 | ||
425 | 20160330202118 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD9B2841A3 | ||
426 | 20160331010824 2 6 100 8191 5 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DD9E522A6F | ||
427 | 20160331155606 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DDA80BFF2B | ||
428 | 20160401003202 2 6 100 8191 5 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DDADA756E7 | ||
429 | 20160401083841 2 6 100 8191 5 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DDB2E0BFC7 | ||
430 | 20160401133333 2 6 100 8191 5 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DDB612067F | ||
431 | 20160401171656 2 6 100 8191 2 E8E5A3AF93DBD4FB99E4325B3B9308AE7731E7E27B532A2D0AF5306CB249EF6C63C7DFB66FC19B8E84A5672B378D77DD413933ACA7F62EABCD4012865D9336A47AD7E596B21EA5B6A2695C0F6C1C70D92CFF3CA18522B29993AA0A43A6849CEFFF53DF7E33C833B5B0037D8906528C80F98C2FC22F0C43B933795D153ECD05FC0D734F4EC61BBBD611F61CACA7CEC4FEF72A127074ACF73A11B1004A954C48D18E74B534E318069C5CE76C1D9BBB0326432B3C39F26058B6D6077B562CBE0DCA4E5B53F1CF9B80EB4F40DA6DAADF924DD2E7A689321F1558FFB55DA7B91009767791BDA252285D117D45A77FF044F467273CDEA8D4B5AC83DBF16DDB8F5FA4C1556129FFF4213D199DE4E0996BAA284FEC13A86A9F81E7FEAD84B4C59CC6DD641ADDE2E74DEAAD096E53F1F9509BF4A5405BAE67B7A1107E685D6CB934A422673ED632BD91BF84758C9B504DBFF7835E36B038C74400C983452CFEE72FACF76D3AE196BA44DF804657B92D6B646DA47910E53FAE8979C1DA9120C672CD4AAD18A7BDBA2AD397F7B0E01AA7AF4700F9A83EDBA90D25F74C1DCE0520BA9DE24636629D0140BB4BC6C2A703103E5A234BBB9154AEBA22D48F8EBC37368CCC68DC6BA310E2060EC37BCA2BF7DBD68F951BB23D7C018DB2CBC74752F5CED8ECA04EC743A8F4B503831DB09C387F6BD3A7DF1A25BCA452FFB852B134B67CCE4B0141E84B3D796BFDE7BFB2C34760C64200D40728560598B6FB965C0187495318A6EE97E6648F476939AE82F3D9D51761652672CFB3263385219E41D9A26ECFD975AB2005F67B9B6DB6D72ACE42C5079C2E11BEF3B2C0B334E9D4C2EFE518AD4BB8C0A9A995F99B4625D570E283D41EB4542BA37ADCEB772E45F77A72071874CBF8E9C2022DB9FAB62BB8BB11F72416193D10F4A493BDD9FB68A3BADF8130AE380D1987CD5ECCD6D9F5AD2F219D0076964D17F2232E5DAACB832D6E54A0CDAE72302C52604675053C5ED83680DB1D5A2FB9D4885B61E29465FDC016B9CE5DD93582A7221167E77C194C6E7A6D00E98A3E0FBE3987B1C5C1562AE878FC14AC7458003F949665D92F4F01B7A511C9C9126B79E32258AD5BFAB38B91B710AFDD222312DB543EA712C60CF8C8C0C9A7968A9AED867EA11E9718D25EF8A21F18A2F2B3FB28944F8E049705ADC399296AFBA30228CC7AF6D39F49689A16FF5FD64F09A2233970885EB76AEF2650D9A16CA594A3C67F0640095D10FB6E818BDC512F36446FB7277480BA1947D49A8AB5D78965DB16F2E50BFD09910DB0DD99654A32E07C86CF1601D618E7B9D2745C4CFC983E3D48FFE5A08AA471B29DD0E7BBE6DC1DE82FF8988E76835D0E03C177945886DC273C9C91B8B0950E7619490125AFC453772CB66D45D3CEBA3AFA919AE4AEF42D36AF7EDC4C5F030B5720C82FB229E9DDB86F198B | ||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: moduli.c,v 1.30 2015/01/20 23:14:00 deraadt Exp $ */ | 1 | /* $OpenBSD: moduli.c,v 1.31 2016/09/12 01:22:38 deraadt Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright 1994 Phil Karn <karn@qualcomm.com> | 3 | * Copyright 1994 Phil Karn <karn@qualcomm.com> |
4 | * Copyright 1996-1998, 2003 William Allen Simpson <wsimpson@greendragon.com> | 4 | * Copyright 1996-1998, 2003 William Allen Simpson <wsimpson@greendragon.com> |
@@ -41,7 +41,6 @@ | |||
41 | 41 | ||
42 | #ifdef WITH_OPENSSL | 42 | #ifdef WITH_OPENSSL |
43 | 43 | ||
44 | #include <sys/param.h> /* MAX */ | ||
45 | #include <sys/types.h> | 44 | #include <sys/types.h> |
46 | 45 | ||
47 | #include <openssl/bn.h> | 46 | #include <openssl/bn.h> |
@@ -609,7 +608,7 @@ prime_test(FILE *in, FILE *out, u_int32_t trials, u_int32_t generator_wanted, | |||
609 | 608 | ||
610 | if (checkpoint_file != NULL) | 609 | if (checkpoint_file != NULL) |
611 | last_processed = read_checkpoint(checkpoint_file); | 610 | last_processed = read_checkpoint(checkpoint_file); |
612 | last_processed = start_lineno = MAX(last_processed, start_lineno); | 611 | last_processed = start_lineno = MAXIMUM(last_processed, start_lineno); |
613 | if (end_lineno == ULONG_MAX) | 612 | if (end_lineno == ULONG_MAX) |
614 | debug("process from line %lu from pipe", last_processed); | 613 | debug("process from line %lu from pipe", last_processed); |
615 | else | 614 | else |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: monitor.c,v 1.161 2016/07/22 03:39:13 djm Exp $ */ | 1 | /* $OpenBSD: monitor.c,v 1.166 2016/09/28 16:33:06 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> | 3 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> |
4 | * Copyright 2002 Markus Friedl <markus@openbsd.org> | 4 | * Copyright 2002 Markus Friedl <markus@openbsd.org> |
@@ -94,7 +94,6 @@ | |||
94 | #include "misc.h" | 94 | #include "misc.h" |
95 | #include "servconf.h" | 95 | #include "servconf.h" |
96 | #include "monitor.h" | 96 | #include "monitor.h" |
97 | #include "monitor_mm.h" | ||
98 | #ifdef GSSAPI | 97 | #ifdef GSSAPI |
99 | #include "ssh-gss.h" | 98 | #include "ssh-gss.h" |
100 | #endif | 99 | #endif |
@@ -169,10 +168,6 @@ static int monitor_read_log(struct monitor *); | |||
169 | 168 | ||
170 | static Authctxt *authctxt; | 169 | static Authctxt *authctxt; |
171 | 170 | ||
172 | #ifdef WITH_SSH1 | ||
173 | static BIGNUM *ssh1_challenge = NULL; /* used for ssh1 rsa auth */ | ||
174 | #endif | ||
175 | |||
176 | /* local state for key verify */ | 171 | /* local state for key verify */ |
177 | static u_char *key_blob = NULL; | 172 | static u_char *key_blob = NULL; |
178 | static u_int key_bloblen = 0; | 173 | static u_int key_bloblen = 0; |
@@ -212,9 +207,9 @@ struct mon_table mon_dispatch_proto20[] = { | |||
212 | #ifdef USE_PAM | 207 | #ifdef USE_PAM |
213 | {MONITOR_REQ_PAM_START, MON_ONCE, mm_answer_pam_start}, | 208 | {MONITOR_REQ_PAM_START, MON_ONCE, mm_answer_pam_start}, |
214 | {MONITOR_REQ_PAM_ACCOUNT, 0, mm_answer_pam_account}, | 209 | {MONITOR_REQ_PAM_ACCOUNT, 0, mm_answer_pam_account}, |
215 | {MONITOR_REQ_PAM_INIT_CTX, MON_ISAUTH, mm_answer_pam_init_ctx}, | 210 | {MONITOR_REQ_PAM_INIT_CTX, MON_ONCE, mm_answer_pam_init_ctx}, |
216 | {MONITOR_REQ_PAM_QUERY, MON_ISAUTH, mm_answer_pam_query}, | 211 | {MONITOR_REQ_PAM_QUERY, 0, mm_answer_pam_query}, |
217 | {MONITOR_REQ_PAM_RESPOND, MON_ISAUTH, mm_answer_pam_respond}, | 212 | {MONITOR_REQ_PAM_RESPOND, MON_ONCE, mm_answer_pam_respond}, |
218 | {MONITOR_REQ_PAM_FREE_CTX, MON_ONCE|MON_AUTHDECIDE, mm_answer_pam_free_ctx}, | 213 | {MONITOR_REQ_PAM_FREE_CTX, MON_ONCE|MON_AUTHDECIDE, mm_answer_pam_free_ctx}, |
219 | #endif | 214 | #endif |
220 | #ifdef SSH_AUDIT_EVENTS | 215 | #ifdef SSH_AUDIT_EVENTS |
@@ -232,9 +227,9 @@ struct mon_table mon_dispatch_proto20[] = { | |||
232 | {MONITOR_REQ_KEYVERIFY, MON_AUTH, mm_answer_keyverify}, | 227 | {MONITOR_REQ_KEYVERIFY, MON_AUTH, mm_answer_keyverify}, |
233 | #ifdef GSSAPI | 228 | #ifdef GSSAPI |
234 | {MONITOR_REQ_GSSSETUP, MON_ISAUTH, mm_answer_gss_setup_ctx}, | 229 | {MONITOR_REQ_GSSSETUP, MON_ISAUTH, mm_answer_gss_setup_ctx}, |
235 | {MONITOR_REQ_GSSSTEP, MON_ISAUTH, mm_answer_gss_accept_ctx}, | 230 | {MONITOR_REQ_GSSSTEP, 0, mm_answer_gss_accept_ctx}, |
236 | {MONITOR_REQ_GSSUSEROK, MON_AUTH, mm_answer_gss_userok}, | 231 | {MONITOR_REQ_GSSUSEROK, MON_ONCE|MON_AUTHDECIDE, mm_answer_gss_userok}, |
237 | {MONITOR_REQ_GSSCHECKMIC, MON_ISAUTH, mm_answer_gss_checkmic}, | 232 | {MONITOR_REQ_GSSCHECKMIC, MON_ONCE, mm_answer_gss_checkmic}, |
238 | #endif | 233 | #endif |
239 | {0, 0, NULL} | 234 | {0, 0, NULL} |
240 | }; | 235 | }; |
@@ -254,52 +249,6 @@ struct mon_table mon_dispatch_postauth20[] = { | |||
254 | {0, 0, NULL} | 249 | {0, 0, NULL} |
255 | }; | 250 | }; |
256 | 251 | ||
257 | struct mon_table mon_dispatch_proto15[] = { | ||
258 | #ifdef WITH_SSH1 | ||
259 | {MONITOR_REQ_PWNAM, MON_ONCE, mm_answer_pwnamallow}, | ||
260 | {MONITOR_REQ_SESSKEY, MON_ONCE, mm_answer_sesskey}, | ||
261 | {MONITOR_REQ_SESSID, MON_ONCE, mm_answer_sessid}, | ||
262 | {MONITOR_REQ_AUTHPASSWORD, MON_AUTH, mm_answer_authpassword}, | ||
263 | {MONITOR_REQ_RSAKEYALLOWED, MON_ISAUTH|MON_ALOG, mm_answer_rsa_keyallowed}, | ||
264 | {MONITOR_REQ_KEYALLOWED, MON_ISAUTH|MON_ALOG, mm_answer_keyallowed}, | ||
265 | {MONITOR_REQ_RSACHALLENGE, MON_ONCE, mm_answer_rsa_challenge}, | ||
266 | {MONITOR_REQ_RSARESPONSE, MON_ONCE|MON_AUTHDECIDE, mm_answer_rsa_response}, | ||
267 | #ifdef BSD_AUTH | ||
268 | {MONITOR_REQ_BSDAUTHQUERY, MON_ISAUTH, mm_answer_bsdauthquery}, | ||
269 | {MONITOR_REQ_BSDAUTHRESPOND, MON_AUTH, mm_answer_bsdauthrespond}, | ||
270 | #endif | ||
271 | #ifdef SKEY | ||
272 | {MONITOR_REQ_SKEYQUERY, MON_ISAUTH, mm_answer_skeyquery}, | ||
273 | {MONITOR_REQ_SKEYRESPOND, MON_AUTH, mm_answer_skeyrespond}, | ||
274 | #endif | ||
275 | #ifdef USE_PAM | ||
276 | {MONITOR_REQ_PAM_START, MON_ONCE, mm_answer_pam_start}, | ||
277 | {MONITOR_REQ_PAM_ACCOUNT, 0, mm_answer_pam_account}, | ||
278 | {MONITOR_REQ_PAM_INIT_CTX, MON_ISAUTH, mm_answer_pam_init_ctx}, | ||
279 | {MONITOR_REQ_PAM_QUERY, MON_ISAUTH, mm_answer_pam_query}, | ||
280 | {MONITOR_REQ_PAM_RESPOND, MON_ISAUTH, mm_answer_pam_respond}, | ||
281 | {MONITOR_REQ_PAM_FREE_CTX, MON_ONCE|MON_AUTHDECIDE, mm_answer_pam_free_ctx}, | ||
282 | #endif | ||
283 | #ifdef SSH_AUDIT_EVENTS | ||
284 | {MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, | ||
285 | #endif | ||
286 | #endif /* WITH_SSH1 */ | ||
287 | {0, 0, NULL} | ||
288 | }; | ||
289 | |||
290 | struct mon_table mon_dispatch_postauth15[] = { | ||
291 | #ifdef WITH_SSH1 | ||
292 | {MONITOR_REQ_PTY, MON_ONCE, mm_answer_pty}, | ||
293 | {MONITOR_REQ_PTYCLEANUP, MON_ONCE, mm_answer_pty_cleanup}, | ||
294 | {MONITOR_REQ_TERM, 0, mm_answer_term}, | ||
295 | #ifdef SSH_AUDIT_EVENTS | ||
296 | {MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, | ||
297 | {MONITOR_REQ_AUDIT_COMMAND, MON_PERMIT|MON_ONCE, mm_answer_audit_command}, | ||
298 | #endif | ||
299 | #endif /* WITH_SSH1 */ | ||
300 | {0, 0, NULL} | ||
301 | }; | ||
302 | |||
303 | struct mon_table *mon_dispatch; | 252 | struct mon_table *mon_dispatch; |
304 | 253 | ||
305 | /* Specifies if a certain message is allowed at the moment */ | 254 | /* Specifies if a certain message is allowed at the moment */ |
@@ -348,17 +297,10 @@ monitor_child_preauth(Authctxt *_authctxt, struct monitor *pmonitor) | |||
348 | 297 | ||
349 | authctxt->loginmsg = &loginmsg; | 298 | authctxt->loginmsg = &loginmsg; |
350 | 299 | ||
351 | if (compat20) { | 300 | mon_dispatch = mon_dispatch_proto20; |
352 | mon_dispatch = mon_dispatch_proto20; | 301 | /* Permit requests for moduli and signatures */ |
353 | 302 | monitor_permit(mon_dispatch, MONITOR_REQ_MODULI, 1); | |
354 | /* Permit requests for moduli and signatures */ | 303 | monitor_permit(mon_dispatch, MONITOR_REQ_SIGN, 1); |
355 | monitor_permit(mon_dispatch, MONITOR_REQ_MODULI, 1); | ||
356 | monitor_permit(mon_dispatch, MONITOR_REQ_SIGN, 1); | ||
357 | } else { | ||
358 | mon_dispatch = mon_dispatch_proto15; | ||
359 | |||
360 | monitor_permit(mon_dispatch, MONITOR_REQ_SESSKEY, 1); | ||
361 | } | ||
362 | 304 | ||
363 | /* The first few requests do not require asynchronous access */ | 305 | /* The first few requests do not require asynchronous access */ |
364 | while (!authenticated) { | 306 | while (!authenticated) { |
@@ -369,9 +311,6 @@ monitor_child_preauth(Authctxt *_authctxt, struct monitor *pmonitor) | |||
369 | 311 | ||
370 | /* Special handling for multiple required authentications */ | 312 | /* Special handling for multiple required authentications */ |
371 | if (options.num_auth_methods != 0) { | 313 | if (options.num_auth_methods != 0) { |
372 | if (!compat20) | ||
373 | fatal("AuthenticationMethods is not supported" | ||
374 | "with SSH protocol 1"); | ||
375 | if (authenticated && | 314 | if (authenticated && |
376 | !auth2_update_methods_lists(authctxt, | 315 | !auth2_update_methods_lists(authctxt, |
377 | auth_method, auth_submethod)) { | 316 | auth_method, auth_submethod)) { |
@@ -455,17 +394,13 @@ monitor_child_postauth(struct monitor *pmonitor) | |||
455 | signal(SIGXFSZ, SIG_IGN); | 394 | signal(SIGXFSZ, SIG_IGN); |
456 | #endif | 395 | #endif |
457 | 396 | ||
458 | if (compat20) { | 397 | mon_dispatch = mon_dispatch_postauth20; |
459 | mon_dispatch = mon_dispatch_postauth20; | 398 | |
399 | /* Permit requests for moduli and signatures */ | ||
400 | monitor_permit(mon_dispatch, MONITOR_REQ_MODULI, 1); | ||
401 | monitor_permit(mon_dispatch, MONITOR_REQ_SIGN, 1); | ||
402 | monitor_permit(mon_dispatch, MONITOR_REQ_TERM, 1); | ||
460 | 403 | ||
461 | /* Permit requests for moduli and signatures */ | ||
462 | monitor_permit(mon_dispatch, MONITOR_REQ_MODULI, 1); | ||
463 | monitor_permit(mon_dispatch, MONITOR_REQ_SIGN, 1); | ||
464 | monitor_permit(mon_dispatch, MONITOR_REQ_TERM, 1); | ||
465 | } else { | ||
466 | mon_dispatch = mon_dispatch_postauth15; | ||
467 | monitor_permit(mon_dispatch, MONITOR_REQ_TERM, 1); | ||
468 | } | ||
469 | if (!no_pty_flag) { | 404 | if (!no_pty_flag) { |
470 | monitor_permit(mon_dispatch, MONITOR_REQ_PTY, 1); | 405 | monitor_permit(mon_dispatch, MONITOR_REQ_PTY, 1); |
471 | monitor_permit(mon_dispatch, MONITOR_REQ_PTYCLEANUP, 1); | 406 | monitor_permit(mon_dispatch, MONITOR_REQ_PTYCLEANUP, 1); |
@@ -475,31 +410,6 @@ monitor_child_postauth(struct monitor *pmonitor) | |||
475 | monitor_read(pmonitor, mon_dispatch, NULL); | 410 | monitor_read(pmonitor, mon_dispatch, NULL); |
476 | } | 411 | } |
477 | 412 | ||
478 | void | ||
479 | monitor_sync(struct monitor *pmonitor) | ||
480 | { | ||
481 | if (options.compression) { | ||
482 | /* The member allocation is not visible, so sync it */ | ||
483 | mm_share_sync(&pmonitor->m_zlib, &pmonitor->m_zback); | ||
484 | } | ||
485 | } | ||
486 | |||
487 | /* Allocation functions for zlib */ | ||
488 | static void * | ||
489 | mm_zalloc(struct mm_master *mm, u_int ncount, u_int size) | ||
490 | { | ||
491 | if (size == 0 || ncount == 0 || ncount > SIZE_MAX / size) | ||
492 | fatal("%s: mm_zalloc(%u, %u)", __func__, ncount, size); | ||
493 | |||
494 | return mm_malloc(mm, size * ncount); | ||
495 | } | ||
496 | |||
497 | static void | ||
498 | mm_zfree(struct mm_master *mm, void *address) | ||
499 | { | ||
500 | mm_free(mm, address); | ||
501 | } | ||
502 | |||
503 | static int | 413 | static int |
504 | monitor_read_log(struct monitor *pmonitor) | 414 | monitor_read_log(struct monitor *pmonitor) |
505 | { | 415 | { |
@@ -845,7 +755,7 @@ mm_answer_pwnamallow(int sock, Buffer *m) | |||
845 | #undef M_CP_STRARRAYOPT | 755 | #undef M_CP_STRARRAYOPT |
846 | 756 | ||
847 | /* Create valid auth method lists */ | 757 | /* Create valid auth method lists */ |
848 | if (compat20 && auth2_setup_methods_lists(authctxt) != 0) { | 758 | if (auth2_setup_methods_lists(authctxt) != 0) { |
849 | /* | 759 | /* |
850 | * The monitor will continue long enough to let the child | 760 | * The monitor will continue long enough to let the child |
851 | * run to it's packet_disconnect(), but it must not allow any | 761 | * run to it's packet_disconnect(), but it must not allow any |
@@ -857,14 +767,10 @@ mm_answer_pwnamallow(int sock, Buffer *m) | |||
857 | debug3("%s: sending MONITOR_ANS_PWNAM: %d", __func__, allowed); | 767 | debug3("%s: sending MONITOR_ANS_PWNAM: %d", __func__, allowed); |
858 | mm_request_send(sock, MONITOR_ANS_PWNAM, m); | 768 | mm_request_send(sock, MONITOR_ANS_PWNAM, m); |
859 | 769 | ||
860 | /* For SSHv1 allow authentication now */ | 770 | /* Allow service/style information on the auth context */ |
861 | if (!compat20) | 771 | monitor_permit(mon_dispatch, MONITOR_REQ_AUTHSERV, 1); |
862 | monitor_permit_authentications(1); | 772 | monitor_permit(mon_dispatch, MONITOR_REQ_AUTH2_READ_BANNER, 1); |
863 | else { | 773 | |
864 | /* Allow service/style information on the auth context */ | ||
865 | monitor_permit(mon_dispatch, MONITOR_REQ_AUTHSERV, 1); | ||
866 | monitor_permit(mon_dispatch, MONITOR_REQ_AUTH2_READ_BANNER, 1); | ||
867 | } | ||
868 | #ifdef USE_PAM | 774 | #ifdef USE_PAM |
869 | if (options.use_pam) | 775 | if (options.use_pam) |
870 | monitor_permit(mon_dispatch, MONITOR_REQ_PAM_START, 1); | 776 | monitor_permit(mon_dispatch, MONITOR_REQ_PAM_START, 1); |
@@ -912,6 +818,8 @@ mm_answer_authpassword(int sock, Buffer *m) | |||
912 | int authenticated; | 818 | int authenticated; |
913 | u_int plen; | 819 | u_int plen; |
914 | 820 | ||
821 | if (!options.password_authentication) | ||
822 | fatal("%s: password authentication not enabled", __func__); | ||
915 | passwd = buffer_get_string(m, &plen); | 823 | passwd = buffer_get_string(m, &plen); |
916 | /* Only authenticate if the context is valid */ | 824 | /* Only authenticate if the context is valid */ |
917 | authenticated = options.password_authentication && | 825 | authenticated = options.password_authentication && |
@@ -948,6 +856,8 @@ mm_answer_bsdauthquery(int sock, Buffer *m) | |||
948 | char **prompts; | 856 | char **prompts; |
949 | u_int success; | 857 | u_int success; |
950 | 858 | ||
859 | if (!options.kbd_interactive_authentication) | ||
860 | fatal("%s: kbd-int authentication not enabled", __func__); | ||
951 | success = bsdauth_query(authctxt, &name, &infotxt, &numprompts, | 861 | success = bsdauth_query(authctxt, &name, &infotxt, &numprompts, |
952 | &prompts, &echo_on) < 0 ? 0 : 1; | 862 | &prompts, &echo_on) < 0 ? 0 : 1; |
953 | 863 | ||
@@ -975,6 +885,8 @@ mm_answer_bsdauthrespond(int sock, Buffer *m) | |||
975 | char *response; | 885 | char *response; |
976 | int authok; | 886 | int authok; |
977 | 887 | ||
888 | if (!options.kbd_interactive_authentication) | ||
889 | fatal("%s: kbd-int authentication not enabled", __func__); | ||
978 | if (authctxt->as == NULL) | 890 | if (authctxt->as == NULL) |
979 | fatal("%s: no bsd auth session", __func__); | 891 | fatal("%s: no bsd auth session", __func__); |
980 | 892 | ||
@@ -991,11 +903,8 @@ mm_answer_bsdauthrespond(int sock, Buffer *m) | |||
991 | debug3("%s: sending authenticated: %d", __func__, authok); | 903 | debug3("%s: sending authenticated: %d", __func__, authok); |
992 | mm_request_send(sock, MONITOR_ANS_BSDAUTHRESPOND, m); | 904 | mm_request_send(sock, MONITOR_ANS_BSDAUTHRESPOND, m); |
993 | 905 | ||
994 | if (compat20) { | 906 | auth_method = "keyboard-interactive"; |
995 | auth_method = "keyboard-interactive"; | 907 | auth_submethod = "bsdauth"; |
996 | auth_submethod = "bsdauth"; | ||
997 | } else | ||
998 | auth_method = "bsdauth"; | ||
999 | 908 | ||
1000 | return (authok != 0); | 909 | return (authok != 0); |
1001 | } | 910 | } |
@@ -1061,6 +970,8 @@ mm_answer_pam_start(int sock, Buffer *m) | |||
1061 | start_pam(authctxt); | 970 | start_pam(authctxt); |
1062 | 971 | ||
1063 | monitor_permit(mon_dispatch, MONITOR_REQ_PAM_ACCOUNT, 1); | 972 | monitor_permit(mon_dispatch, MONITOR_REQ_PAM_ACCOUNT, 1); |
973 | if (options.kbd_interactive_authentication) | ||
974 | monitor_permit(mon_dispatch, MONITOR_REQ_PAM_INIT_CTX, 1); | ||
1064 | 975 | ||
1065 | return (0); | 976 | return (0); |
1066 | } | 977 | } |
@@ -1071,7 +982,7 @@ mm_answer_pam_account(int sock, Buffer *m) | |||
1071 | u_int ret; | 982 | u_int ret; |
1072 | 983 | ||
1073 | if (!options.use_pam) | 984 | if (!options.use_pam) |
1074 | fatal("UsePAM not set, but ended up in %s anyway", __func__); | 985 | fatal("%s: PAM not enabled", __func__); |
1075 | 986 | ||
1076 | ret = do_pam_account(); | 987 | ret = do_pam_account(); |
1077 | 988 | ||
@@ -1090,11 +1001,16 @@ int | |||
1090 | mm_answer_pam_init_ctx(int sock, Buffer *m) | 1001 | mm_answer_pam_init_ctx(int sock, Buffer *m) |
1091 | { | 1002 | { |
1092 | debug3("%s", __func__); | 1003 | debug3("%s", __func__); |
1004 | if (!options.kbd_interactive_authentication) | ||
1005 | fatal("%s: kbd-int authentication not enabled", __func__); | ||
1006 | if (sshpam_ctxt != NULL) | ||
1007 | fatal("%s: already called", __func__); | ||
1093 | sshpam_ctxt = (sshpam_device.init_ctx)(authctxt); | 1008 | sshpam_ctxt = (sshpam_device.init_ctx)(authctxt); |
1094 | sshpam_authok = NULL; | 1009 | sshpam_authok = NULL; |
1095 | buffer_clear(m); | 1010 | buffer_clear(m); |
1096 | if (sshpam_ctxt != NULL) { | 1011 | if (sshpam_ctxt != NULL) { |
1097 | monitor_permit(mon_dispatch, MONITOR_REQ_PAM_FREE_CTX, 1); | 1012 | monitor_permit(mon_dispatch, MONITOR_REQ_PAM_FREE_CTX, 1); |
1013 | monitor_permit(mon_dispatch, MONITOR_REQ_PAM_QUERY, 1); | ||
1098 | buffer_put_int(m, 1); | 1014 | buffer_put_int(m, 1); |
1099 | } else { | 1015 | } else { |
1100 | buffer_put_int(m, 0); | 1016 | buffer_put_int(m, 0); |
@@ -1112,11 +1028,15 @@ mm_answer_pam_query(int sock, Buffer *m) | |||
1112 | 1028 | ||
1113 | debug3("%s", __func__); | 1029 | debug3("%s", __func__); |
1114 | sshpam_authok = NULL; | 1030 | sshpam_authok = NULL; |
1115 | ret = (sshpam_device.query)(sshpam_ctxt, &name, &info, &num, &prompts, &echo_on); | 1031 | if (sshpam_ctxt == NULL) |
1032 | fatal("%s: no context", __func__); | ||
1033 | ret = (sshpam_device.query)(sshpam_ctxt, &name, &info, | ||
1034 | &num, &prompts, &echo_on); | ||
1116 | if (ret == 0 && num == 0) | 1035 | if (ret == 0 && num == 0) |
1117 | sshpam_authok = sshpam_ctxt; | 1036 | sshpam_authok = sshpam_ctxt; |
1118 | if (num > 1 || name == NULL || info == NULL) | 1037 | if (num > 1 || name == NULL || info == NULL) |
1119 | ret = -1; | 1038 | fatal("sshpam_device.query failed"); |
1039 | monitor_permit(mon_dispatch, MONITOR_REQ_PAM_RESPOND, 1); | ||
1120 | buffer_clear(m); | 1040 | buffer_clear(m); |
1121 | buffer_put_int(m, ret); | 1041 | buffer_put_int(m, ret); |
1122 | buffer_put_cstring(m, name); | 1042 | buffer_put_cstring(m, name); |
@@ -1146,6 +1066,8 @@ mm_answer_pam_respond(int sock, Buffer *m) | |||
1146 | int ret; | 1066 | int ret; |
1147 | 1067 | ||
1148 | debug3("%s", __func__); | 1068 | debug3("%s", __func__); |
1069 | if (sshpam_ctxt == NULL) | ||
1070 | fatal("%s: no context", __func__); | ||
1149 | sshpam_authok = NULL; | 1071 | sshpam_authok = NULL; |
1150 | num = buffer_get_int(m); | 1072 | num = buffer_get_int(m); |
1151 | if (num > 0) { | 1073 | if (num > 0) { |
@@ -1175,10 +1097,14 @@ mm_answer_pam_free_ctx(int sock, Buffer *m) | |||
1175 | int r = sshpam_authok != NULL && sshpam_authok == sshpam_ctxt; | 1097 | int r = sshpam_authok != NULL && sshpam_authok == sshpam_ctxt; |
1176 | 1098 | ||
1177 | debug3("%s", __func__); | 1099 | debug3("%s", __func__); |
1100 | if (sshpam_ctxt == NULL) | ||
1101 | fatal("%s: no context", __func__); | ||
1178 | (sshpam_device.free_ctx)(sshpam_ctxt); | 1102 | (sshpam_device.free_ctx)(sshpam_ctxt); |
1179 | sshpam_ctxt = sshpam_authok = NULL; | 1103 | sshpam_ctxt = sshpam_authok = NULL; |
1180 | buffer_clear(m); | 1104 | buffer_clear(m); |
1181 | mm_request_send(sock, MONITOR_ANS_PAM_FREE_CTX, m); | 1105 | mm_request_send(sock, MONITOR_ANS_PAM_FREE_CTX, m); |
1106 | /* Allow another attempt */ | ||
1107 | monitor_permit(mon_dispatch, MONITOR_REQ_PAM_INIT_CTX, 1); | ||
1182 | auth_method = "keyboard-interactive"; | 1108 | auth_method = "keyboard-interactive"; |
1183 | auth_submethod = "pam"; | 1109 | auth_submethod = "pam"; |
1184 | return r; | 1110 | return r; |
@@ -1205,10 +1131,6 @@ mm_answer_keyallowed(int sock, Buffer *m) | |||
1205 | 1131 | ||
1206 | key = key_from_blob(blob, bloblen); | 1132 | key = key_from_blob(blob, bloblen); |
1207 | 1133 | ||
1208 | if ((compat20 && type == MM_RSAHOSTKEY) || | ||
1209 | (!compat20 && type != MM_RSAHOSTKEY)) | ||
1210 | fatal("%s: key type and protocol mismatch", __func__); | ||
1211 | |||
1212 | debug3("%s: key_from_blob: %p", __func__, key); | 1134 | debug3("%s: key_from_blob: %p", __func__, key); |
1213 | 1135 | ||
1214 | if (key != NULL && authctxt->valid) { | 1136 | if (key != NULL && authctxt->valid) { |
@@ -1242,17 +1164,6 @@ mm_answer_keyallowed(int sock, Buffer *m) | |||
1242 | cuser, chost); | 1164 | cuser, chost); |
1243 | auth_method = "hostbased"; | 1165 | auth_method = "hostbased"; |
1244 | break; | 1166 | break; |
1245 | #ifdef WITH_SSH1 | ||
1246 | case MM_RSAHOSTKEY: | ||
1247 | key->type = KEY_RSA1; /* XXX */ | ||
1248 | allowed = options.rhosts_rsa_authentication && | ||
1249 | auth_rhosts_rsa_key_allowed(authctxt->pw, | ||
1250 | cuser, chost, key); | ||
1251 | if (options.rhosts_rsa_authentication && allowed != 1) | ||
1252 | auth_clear_options(); | ||
1253 | auth_method = "rsa"; | ||
1254 | break; | ||
1255 | #endif | ||
1256 | default: | 1167 | default: |
1257 | fatal("%s: unknown key type %d", __func__, type); | 1168 | fatal("%s: unknown key type %d", __func__, type); |
1258 | break; | 1169 | break; |
@@ -1289,9 +1200,6 @@ mm_answer_keyallowed(int sock, Buffer *m) | |||
1289 | 1200 | ||
1290 | mm_request_send(sock, MONITOR_ANS_KEYALLOWED, m); | 1201 | mm_request_send(sock, MONITOR_ANS_KEYALLOWED, m); |
1291 | 1202 | ||
1292 | if (type == MM_RSAHOSTKEY) | ||
1293 | monitor_permit(mon_dispatch, MONITOR_REQ_RSACHALLENGE, allowed); | ||
1294 | |||
1295 | return (0); | 1203 | return (0); |
1296 | } | 1204 | } |
1297 | 1205 | ||
@@ -1484,9 +1392,6 @@ mm_record_login(Session *s, struct passwd *pw) | |||
1484 | socklen_t fromlen; | 1392 | socklen_t fromlen; |
1485 | struct sockaddr_storage from; | 1393 | struct sockaddr_storage from; |
1486 | 1394 | ||
1487 | if (options.use_login) | ||
1488 | return; | ||
1489 | |||
1490 | /* | 1395 | /* |
1491 | * Get IP address of client. If the connection is not a socket, let | 1396 | * Get IP address of client. If the connection is not a socket, let |
1492 | * the address be 0.0.0.0. | 1397 | * the address be 0.0.0.0. |
@@ -1600,186 +1505,6 @@ mm_answer_pty_cleanup(int sock, Buffer *m) | |||
1600 | return (0); | 1505 | return (0); |
1601 | } | 1506 | } |
1602 | 1507 | ||
1603 | #ifdef WITH_SSH1 | ||
1604 | int | ||
1605 | mm_answer_sesskey(int sock, Buffer *m) | ||
1606 | { | ||
1607 | BIGNUM *p; | ||
1608 | int rsafail; | ||
1609 | |||
1610 | /* Turn off permissions */ | ||
1611 | monitor_permit(mon_dispatch, MONITOR_REQ_SESSKEY, 0); | ||
1612 | |||
1613 | if ((p = BN_new()) == NULL) | ||
1614 | fatal("%s: BN_new", __func__); | ||
1615 | |||
1616 | buffer_get_bignum2(m, p); | ||
1617 | |||
1618 | rsafail = ssh1_session_key(p); | ||
1619 | |||
1620 | buffer_clear(m); | ||
1621 | buffer_put_int(m, rsafail); | ||
1622 | buffer_put_bignum2(m, p); | ||
1623 | |||
1624 | BN_clear_free(p); | ||
1625 | |||
1626 | mm_request_send(sock, MONITOR_ANS_SESSKEY, m); | ||
1627 | |||
1628 | /* Turn on permissions for sessid passing */ | ||
1629 | monitor_permit(mon_dispatch, MONITOR_REQ_SESSID, 1); | ||
1630 | |||
1631 | return (0); | ||
1632 | } | ||
1633 | |||
1634 | int | ||
1635 | mm_answer_sessid(int sock, Buffer *m) | ||
1636 | { | ||
1637 | int i; | ||
1638 | |||
1639 | debug3("%s entering", __func__); | ||
1640 | |||
1641 | if (buffer_len(m) != 16) | ||
1642 | fatal("%s: bad ssh1 session id", __func__); | ||
1643 | for (i = 0; i < 16; i++) | ||
1644 | session_id[i] = buffer_get_char(m); | ||
1645 | |||
1646 | /* Turn on permissions for getpwnam */ | ||
1647 | monitor_permit(mon_dispatch, MONITOR_REQ_PWNAM, 1); | ||
1648 | |||
1649 | return (0); | ||
1650 | } | ||
1651 | |||
1652 | int | ||
1653 | mm_answer_rsa_keyallowed(int sock, Buffer *m) | ||
1654 | { | ||
1655 | BIGNUM *client_n; | ||
1656 | Key *key = NULL; | ||
1657 | u_char *blob = NULL; | ||
1658 | u_int blen = 0; | ||
1659 | int allowed = 0; | ||
1660 | |||
1661 | debug3("%s entering", __func__); | ||
1662 | |||
1663 | auth_method = "rsa"; | ||
1664 | if (options.rsa_authentication && authctxt->valid) { | ||
1665 | if ((client_n = BN_new()) == NULL) | ||
1666 | fatal("%s: BN_new", __func__); | ||
1667 | buffer_get_bignum2(m, client_n); | ||
1668 | allowed = auth_rsa_key_allowed(authctxt->pw, client_n, &key); | ||
1669 | BN_clear_free(client_n); | ||
1670 | } | ||
1671 | buffer_clear(m); | ||
1672 | buffer_put_int(m, allowed); | ||
1673 | buffer_put_int(m, forced_command != NULL); | ||
1674 | |||
1675 | /* clear temporarily storage (used by generate challenge) */ | ||
1676 | monitor_reset_key_state(); | ||
1677 | |||
1678 | if (allowed && key != NULL) { | ||
1679 | key->type = KEY_RSA; /* cheat for key_to_blob */ | ||
1680 | if (key_to_blob(key, &blob, &blen) == 0) | ||
1681 | fatal("%s: key_to_blob failed", __func__); | ||
1682 | buffer_put_string(m, blob, blen); | ||
1683 | |||
1684 | /* Save temporarily for comparison in verify */ | ||
1685 | key_blob = blob; | ||
1686 | key_bloblen = blen; | ||
1687 | key_blobtype = MM_RSAUSERKEY; | ||
1688 | } | ||
1689 | if (key != NULL) | ||
1690 | key_free(key); | ||
1691 | |||
1692 | mm_request_send(sock, MONITOR_ANS_RSAKEYALLOWED, m); | ||
1693 | |||
1694 | monitor_permit(mon_dispatch, MONITOR_REQ_RSACHALLENGE, allowed); | ||
1695 | monitor_permit(mon_dispatch, MONITOR_REQ_RSARESPONSE, 0); | ||
1696 | return (0); | ||
1697 | } | ||
1698 | |||
1699 | int | ||
1700 | mm_answer_rsa_challenge(int sock, Buffer *m) | ||
1701 | { | ||
1702 | Key *key = NULL; | ||
1703 | u_char *blob; | ||
1704 | u_int blen; | ||
1705 | |||
1706 | debug3("%s entering", __func__); | ||
1707 | |||
1708 | if (!authctxt->valid) | ||
1709 | fatal("%s: authctxt not valid", __func__); | ||
1710 | blob = buffer_get_string(m, &blen); | ||
1711 | if (!monitor_allowed_key(blob, blen)) | ||
1712 | fatal("%s: bad key, not previously allowed", __func__); | ||
1713 | if (key_blobtype != MM_RSAUSERKEY && key_blobtype != MM_RSAHOSTKEY) | ||
1714 | fatal("%s: key type mismatch", __func__); | ||
1715 | if ((key = key_from_blob(blob, blen)) == NULL) | ||
1716 | fatal("%s: received bad key", __func__); | ||
1717 | if (key->type != KEY_RSA) | ||
1718 | fatal("%s: received bad key type %d", __func__, key->type); | ||
1719 | key->type = KEY_RSA1; | ||
1720 | if (ssh1_challenge) | ||
1721 | BN_clear_free(ssh1_challenge); | ||
1722 | ssh1_challenge = auth_rsa_generate_challenge(key); | ||
1723 | |||
1724 | buffer_clear(m); | ||
1725 | buffer_put_bignum2(m, ssh1_challenge); | ||
1726 | |||
1727 | debug3("%s sending reply", __func__); | ||
1728 | mm_request_send(sock, MONITOR_ANS_RSACHALLENGE, m); | ||
1729 | |||
1730 | monitor_permit(mon_dispatch, MONITOR_REQ_RSARESPONSE, 1); | ||
1731 | |||
1732 | free(blob); | ||
1733 | key_free(key); | ||
1734 | return (0); | ||
1735 | } | ||
1736 | |||
1737 | int | ||
1738 | mm_answer_rsa_response(int sock, Buffer *m) | ||
1739 | { | ||
1740 | Key *key = NULL; | ||
1741 | u_char *blob, *response; | ||
1742 | u_int blen, len; | ||
1743 | int success; | ||
1744 | |||
1745 | debug3("%s entering", __func__); | ||
1746 | |||
1747 | if (!authctxt->valid) | ||
1748 | fatal("%s: authctxt not valid", __func__); | ||
1749 | if (ssh1_challenge == NULL) | ||
1750 | fatal("%s: no ssh1_challenge", __func__); | ||
1751 | |||
1752 | blob = buffer_get_string(m, &blen); | ||
1753 | if (!monitor_allowed_key(blob, blen)) | ||
1754 | fatal("%s: bad key, not previously allowed", __func__); | ||
1755 | if (key_blobtype != MM_RSAUSERKEY && key_blobtype != MM_RSAHOSTKEY) | ||
1756 | fatal("%s: key type mismatch: %d", __func__, key_blobtype); | ||
1757 | if ((key = key_from_blob(blob, blen)) == NULL) | ||
1758 | fatal("%s: received bad key", __func__); | ||
1759 | response = buffer_get_string(m, &len); | ||
1760 | if (len != 16) | ||
1761 | fatal("%s: received bad response to challenge", __func__); | ||
1762 | success = auth_rsa_verify_response(key, ssh1_challenge, response); | ||
1763 | |||
1764 | free(blob); | ||
1765 | key_free(key); | ||
1766 | free(response); | ||
1767 | |||
1768 | auth_method = key_blobtype == MM_RSAUSERKEY ? "rsa" : "rhosts-rsa"; | ||
1769 | |||
1770 | /* reset state */ | ||
1771 | BN_clear_free(ssh1_challenge); | ||
1772 | ssh1_challenge = NULL; | ||
1773 | monitor_reset_key_state(); | ||
1774 | |||
1775 | buffer_clear(m); | ||
1776 | buffer_put_int(m, success); | ||
1777 | mm_request_send(sock, MONITOR_ANS_RSARESPONSE, m); | ||
1778 | |||
1779 | return (success); | ||
1780 | } | ||
1781 | #endif | ||
1782 | |||
1783 | int | 1508 | int |
1784 | mm_answer_term(int sock, Buffer *req) | 1509 | mm_answer_term(int sock, Buffer *req) |
1785 | { | 1510 | { |
@@ -1881,13 +1606,6 @@ monitor_apply_keystate(struct monitor *pmonitor) | |||
1881 | kex->host_key_index=&get_hostkey_index; | 1606 | kex->host_key_index=&get_hostkey_index; |
1882 | kex->sign = sshd_hostkey_sign; | 1607 | kex->sign = sshd_hostkey_sign; |
1883 | } | 1608 | } |
1884 | |||
1885 | /* Update with new address */ | ||
1886 | if (options.compression) { | ||
1887 | ssh_packet_set_compress_hooks(ssh, pmonitor->m_zlib, | ||
1888 | (ssh_packet_comp_alloc_func *)mm_zalloc, | ||
1889 | (ssh_packet_comp_free_func *)mm_zfree); | ||
1890 | } | ||
1891 | } | 1609 | } |
1892 | 1610 | ||
1893 | /* This function requries careful sanity checking */ | 1611 | /* This function requries careful sanity checking */ |
@@ -1940,24 +1658,11 @@ monitor_openfds(struct monitor *mon, int do_logfds) | |||
1940 | struct monitor * | 1658 | struct monitor * |
1941 | monitor_init(void) | 1659 | monitor_init(void) |
1942 | { | 1660 | { |
1943 | struct ssh *ssh = active_state; /* XXX */ | ||
1944 | struct monitor *mon; | 1661 | struct monitor *mon; |
1945 | 1662 | ||
1946 | mon = xcalloc(1, sizeof(*mon)); | 1663 | mon = xcalloc(1, sizeof(*mon)); |
1947 | |||
1948 | monitor_openfds(mon, 1); | 1664 | monitor_openfds(mon, 1); |
1949 | 1665 | ||
1950 | /* Used to share zlib space across processes */ | ||
1951 | if (options.compression) { | ||
1952 | mon->m_zback = mm_create(NULL, MM_MEMSIZE); | ||
1953 | mon->m_zlib = mm_create(mon->m_zback, 20 * MM_MEMSIZE); | ||
1954 | |||
1955 | /* Compression needs to share state across borders */ | ||
1956 | ssh_packet_set_compress_hooks(ssh, mon->m_zlib, | ||
1957 | (ssh_packet_comp_alloc_func *)mm_zalloc, | ||
1958 | (ssh_packet_comp_free_func *)mm_zfree); | ||
1959 | } | ||
1960 | |||
1961 | return mon; | 1666 | return mon; |
1962 | } | 1667 | } |
1963 | 1668 | ||
@@ -1975,6 +1680,9 @@ mm_answer_gss_setup_ctx(int sock, Buffer *m) | |||
1975 | OM_uint32 major; | 1680 | OM_uint32 major; |
1976 | u_int len; | 1681 | u_int len; |
1977 | 1682 | ||
1683 | if (!options.gss_authentication) | ||
1684 | fatal("%s: GSSAPI authentication not enabled", __func__); | ||
1685 | |||
1978 | goid.elements = buffer_get_string(m, &len); | 1686 | goid.elements = buffer_get_string(m, &len); |
1979 | goid.length = len; | 1687 | goid.length = len; |
1980 | 1688 | ||
@@ -2002,6 +1710,9 @@ mm_answer_gss_accept_ctx(int sock, Buffer *m) | |||
2002 | OM_uint32 flags = 0; /* GSI needs this */ | 1710 | OM_uint32 flags = 0; /* GSI needs this */ |
2003 | u_int len; | 1711 | u_int len; |
2004 | 1712 | ||
1713 | if (!options.gss_authentication) | ||
1714 | fatal("%s: GSSAPI authentication not enabled", __func__); | ||
1715 | |||
2005 | in.value = buffer_get_string(m, &len); | 1716 | in.value = buffer_get_string(m, &len); |
2006 | in.length = len; | 1717 | in.length = len; |
2007 | major = ssh_gssapi_accept_ctx(gsscontext, &in, &out, &flags); | 1718 | major = ssh_gssapi_accept_ctx(gsscontext, &in, &out, &flags); |
@@ -2030,6 +1741,9 @@ mm_answer_gss_checkmic(int sock, Buffer *m) | |||
2030 | OM_uint32 ret; | 1741 | OM_uint32 ret; |
2031 | u_int len; | 1742 | u_int len; |
2032 | 1743 | ||
1744 | if (!options.gss_authentication) | ||
1745 | fatal("%s: GSSAPI authentication not enabled", __func__); | ||
1746 | |||
2033 | gssbuf.value = buffer_get_string(m, &len); | 1747 | gssbuf.value = buffer_get_string(m, &len); |
2034 | gssbuf.length = len; | 1748 | gssbuf.length = len; |
2035 | mic.value = buffer_get_string(m, &len); | 1749 | mic.value = buffer_get_string(m, &len); |
@@ -2056,6 +1770,9 @@ mm_answer_gss_userok(int sock, Buffer *m) | |||
2056 | { | 1770 | { |
2057 | int authenticated; | 1771 | int authenticated; |
2058 | 1772 | ||
1773 | if (!options.gss_authentication) | ||
1774 | fatal("%s: GSSAPI authentication not enabled", __func__); | ||
1775 | |||
2059 | authenticated = authctxt->valid && ssh_gssapi_userok(authctxt->user); | 1776 | authenticated = authctxt->valid && ssh_gssapi_userok(authctxt->user); |
2060 | 1777 | ||
2061 | buffer_clear(m); | 1778 | buffer_clear(m); |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: monitor.h,v 1.19 2015/01/19 19:52:16 markus Exp $ */ | 1 | /* $OpenBSD: monitor.h,v 1.20 2016/09/28 16:33:07 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> | 4 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> |
@@ -67,21 +67,17 @@ enum monitor_reqtype { | |||
67 | 67 | ||
68 | }; | 68 | }; |
69 | 69 | ||
70 | struct mm_master; | ||
71 | struct monitor { | 70 | struct monitor { |
72 | int m_recvfd; | 71 | int m_recvfd; |
73 | int m_sendfd; | 72 | int m_sendfd; |
74 | int m_log_recvfd; | 73 | int m_log_recvfd; |
75 | int m_log_sendfd; | 74 | int m_log_sendfd; |
76 | struct mm_master *m_zback; | ||
77 | struct mm_master *m_zlib; | ||
78 | struct kex **m_pkex; | 75 | struct kex **m_pkex; |
79 | pid_t m_pid; | 76 | pid_t m_pid; |
80 | }; | 77 | }; |
81 | 78 | ||
82 | struct monitor *monitor_init(void); | 79 | struct monitor *monitor_init(void); |
83 | void monitor_reinit(struct monitor *); | 80 | void monitor_reinit(struct monitor *); |
84 | void monitor_sync(struct monitor *); | ||
85 | 81 | ||
86 | struct Authctxt; | 82 | struct Authctxt; |
87 | void monitor_child_preauth(struct Authctxt *, struct monitor *); | 83 | void monitor_child_preauth(struct Authctxt *, struct monitor *); |
diff --git a/monitor_mm.c b/monitor_mm.c deleted file mode 100644 index aa47b2ed5..000000000 --- a/monitor_mm.c +++ /dev/null | |||
@@ -1,357 +0,0 @@ | |||
1 | /* $OpenBSD: monitor_mm.c,v 1.21 2015/02/06 23:21:59 millert Exp $ */ | ||
2 | /* | ||
3 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> | ||
4 | * All rights reserved. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions | ||
8 | * are met: | ||
9 | * 1. Redistributions of source code must retain the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer. | ||
11 | * 2. Redistributions in binary form must reproduce the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer in the | ||
13 | * documentation and/or other materials provided with the distribution. | ||
14 | * | ||
15 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | ||
16 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
17 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
18 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
19 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
20 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
21 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
22 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
24 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
25 | */ | ||
26 | |||
27 | #include "includes.h" | ||
28 | |||
29 | #include <sys/types.h> | ||
30 | #ifdef HAVE_SYS_MMAN_H | ||
31 | #include <sys/mman.h> | ||
32 | #endif | ||
33 | #include "openbsd-compat/sys-tree.h" | ||
34 | |||
35 | #include <errno.h> | ||
36 | #include <stdarg.h> | ||
37 | #include <stddef.h> | ||
38 | #ifdef HAVE_STDINT_H | ||
39 | #include <stdint.h> | ||
40 | #endif | ||
41 | #include <stdlib.h> | ||
42 | #include <string.h> | ||
43 | |||
44 | #include "xmalloc.h" | ||
45 | #include "ssh.h" | ||
46 | #include "log.h" | ||
47 | #include "monitor_mm.h" | ||
48 | |||
49 | static int | ||
50 | mm_compare(struct mm_share *a, struct mm_share *b) | ||
51 | { | ||
52 | ptrdiff_t diff = (char *)a->address - (char *)b->address; | ||
53 | |||
54 | if (diff == 0) | ||
55 | return (0); | ||
56 | else if (diff < 0) | ||
57 | return (-1); | ||
58 | else | ||
59 | return (1); | ||
60 | } | ||
61 | |||
62 | RB_GENERATE(mmtree, mm_share, next, mm_compare) | ||
63 | |||
64 | static struct mm_share * | ||
65 | mm_make_entry(struct mm_master *mm, struct mmtree *head, | ||
66 | void *address, size_t size) | ||
67 | { | ||
68 | struct mm_share *tmp, *tmp2; | ||
69 | |||
70 | if (mm->mmalloc == NULL) | ||
71 | tmp = xcalloc(1, sizeof(struct mm_share)); | ||
72 | else | ||
73 | tmp = mm_xmalloc(mm->mmalloc, sizeof(struct mm_share)); | ||
74 | tmp->address = address; | ||
75 | tmp->size = size; | ||
76 | |||
77 | tmp2 = RB_INSERT(mmtree, head, tmp); | ||
78 | if (tmp2 != NULL) | ||
79 | fatal("mm_make_entry(%p): double address %p->%p(%zu)", | ||
80 | mm, tmp2, address, size); | ||
81 | |||
82 | return (tmp); | ||
83 | } | ||
84 | |||
85 | /* Creates a shared memory area of a certain size */ | ||
86 | |||
87 | struct mm_master * | ||
88 | mm_create(struct mm_master *mmalloc, size_t size) | ||
89 | { | ||
90 | void *address; | ||
91 | struct mm_master *mm; | ||
92 | |||
93 | if (mmalloc == NULL) | ||
94 | mm = xcalloc(1, sizeof(struct mm_master)); | ||
95 | else | ||
96 | mm = mm_xmalloc(mmalloc, sizeof(struct mm_master)); | ||
97 | |||
98 | /* | ||
99 | * If the memory map has a mm_master it can be completely | ||
100 | * shared including authentication between the child | ||
101 | * and the client. | ||
102 | */ | ||
103 | mm->mmalloc = mmalloc; | ||
104 | |||
105 | address = xmmap(size); | ||
106 | if (address == (void *)MAP_FAILED) | ||
107 | fatal("mmap(%zu): %s", size, strerror(errno)); | ||
108 | |||
109 | mm->address = address; | ||
110 | mm->size = size; | ||
111 | |||
112 | RB_INIT(&mm->rb_free); | ||
113 | RB_INIT(&mm->rb_allocated); | ||
114 | |||
115 | mm_make_entry(mm, &mm->rb_free, address, size); | ||
116 | |||
117 | return (mm); | ||
118 | } | ||
119 | |||
120 | /* Frees either the allocated or the free list */ | ||
121 | |||
122 | static void | ||
123 | mm_freelist(struct mm_master *mmalloc, struct mmtree *head) | ||
124 | { | ||
125 | struct mm_share *mms, *next; | ||
126 | |||
127 | for (mms = RB_ROOT(head); mms; mms = next) { | ||
128 | next = RB_NEXT(mmtree, head, mms); | ||
129 | RB_REMOVE(mmtree, head, mms); | ||
130 | if (mmalloc == NULL) | ||
131 | free(mms); | ||
132 | else | ||
133 | mm_free(mmalloc, mms); | ||
134 | } | ||
135 | } | ||
136 | |||
137 | /* Destroys a memory mapped area */ | ||
138 | |||
139 | void | ||
140 | mm_destroy(struct mm_master *mm) | ||
141 | { | ||
142 | mm_freelist(mm->mmalloc, &mm->rb_free); | ||
143 | mm_freelist(mm->mmalloc, &mm->rb_allocated); | ||
144 | |||
145 | #ifdef HAVE_MMAP | ||
146 | if (munmap(mm->address, mm->size) == -1) | ||
147 | fatal("munmap(%p, %zu): %s", mm->address, mm->size, | ||
148 | strerror(errno)); | ||
149 | #else | ||
150 | fatal("%s: UsePrivilegeSeparation=yes and Compression=yes not supported", | ||
151 | __func__); | ||
152 | #endif | ||
153 | if (mm->mmalloc == NULL) | ||
154 | free(mm); | ||
155 | else | ||
156 | mm_free(mm->mmalloc, mm); | ||
157 | } | ||
158 | |||
159 | void * | ||
160 | mm_xmalloc(struct mm_master *mm, size_t size) | ||
161 | { | ||
162 | void *address; | ||
163 | |||
164 | address = mm_malloc(mm, size); | ||
165 | if (address == NULL) | ||
166 | fatal("%s: mm_malloc(%zu)", __func__, size); | ||
167 | memset(address, 0, size); | ||
168 | return (address); | ||
169 | } | ||
170 | |||
171 | |||
172 | /* Allocates data from a memory mapped area */ | ||
173 | |||
174 | void * | ||
175 | mm_malloc(struct mm_master *mm, size_t size) | ||
176 | { | ||
177 | struct mm_share *mms, *tmp; | ||
178 | |||
179 | if (size == 0) | ||
180 | fatal("mm_malloc: try to allocate 0 space"); | ||
181 | if (size > SIZE_MAX - MM_MINSIZE + 1) | ||
182 | fatal("mm_malloc: size too big"); | ||
183 | |||
184 | size = ((size + (MM_MINSIZE - 1)) / MM_MINSIZE) * MM_MINSIZE; | ||
185 | |||
186 | RB_FOREACH(mms, mmtree, &mm->rb_free) { | ||
187 | if (mms->size >= size) | ||
188 | break; | ||
189 | } | ||
190 | |||
191 | if (mms == NULL) | ||
192 | return (NULL); | ||
193 | |||
194 | /* Debug */ | ||
195 | memset(mms->address, 0xd0, size); | ||
196 | |||
197 | tmp = mm_make_entry(mm, &mm->rb_allocated, mms->address, size); | ||
198 | |||
199 | /* Does not change order in RB tree */ | ||
200 | mms->size -= size; | ||
201 | mms->address = (char *)mms->address + size; | ||
202 | |||
203 | if (mms->size == 0) { | ||
204 | RB_REMOVE(mmtree, &mm->rb_free, mms); | ||
205 | if (mm->mmalloc == NULL) | ||
206 | free(mms); | ||
207 | else | ||
208 | mm_free(mm->mmalloc, mms); | ||
209 | } | ||
210 | |||
211 | return (tmp->address); | ||
212 | } | ||
213 | |||
214 | /* Frees memory in a memory mapped area */ | ||
215 | |||
216 | void | ||
217 | mm_free(struct mm_master *mm, void *address) | ||
218 | { | ||
219 | struct mm_share *mms, *prev, tmp; | ||
220 | |||
221 | tmp.address = address; | ||
222 | mms = RB_FIND(mmtree, &mm->rb_allocated, &tmp); | ||
223 | if (mms == NULL) | ||
224 | fatal("mm_free(%p): can not find %p", mm, address); | ||
225 | |||
226 | /* Debug */ | ||
227 | memset(mms->address, 0xd0, mms->size); | ||
228 | |||
229 | /* Remove from allocated list and insert in free list */ | ||
230 | RB_REMOVE(mmtree, &mm->rb_allocated, mms); | ||
231 | if (RB_INSERT(mmtree, &mm->rb_free, mms) != NULL) | ||
232 | fatal("mm_free(%p): double address %p", mm, address); | ||
233 | |||
234 | /* Find previous entry */ | ||
235 | prev = mms; | ||
236 | if (RB_LEFT(prev, next)) { | ||
237 | prev = RB_LEFT(prev, next); | ||
238 | while (RB_RIGHT(prev, next)) | ||
239 | prev = RB_RIGHT(prev, next); | ||
240 | } else { | ||
241 | if (RB_PARENT(prev, next) && | ||
242 | (prev == RB_RIGHT(RB_PARENT(prev, next), next))) | ||
243 | prev = RB_PARENT(prev, next); | ||
244 | else { | ||
245 | while (RB_PARENT(prev, next) && | ||
246 | (prev == RB_LEFT(RB_PARENT(prev, next), next))) | ||
247 | prev = RB_PARENT(prev, next); | ||
248 | prev = RB_PARENT(prev, next); | ||
249 | } | ||
250 | } | ||
251 | |||
252 | /* Check if range does not overlap */ | ||
253 | if (prev != NULL && MM_ADDRESS_END(prev) > address) | ||
254 | fatal("mm_free: memory corruption: %p(%zu) > %p", | ||
255 | prev->address, prev->size, address); | ||
256 | |||
257 | /* See if we can merge backwards */ | ||
258 | if (prev != NULL && MM_ADDRESS_END(prev) == address) { | ||
259 | prev->size += mms->size; | ||
260 | RB_REMOVE(mmtree, &mm->rb_free, mms); | ||
261 | if (mm->mmalloc == NULL) | ||
262 | free(mms); | ||
263 | else | ||
264 | mm_free(mm->mmalloc, mms); | ||
265 | } else | ||
266 | prev = mms; | ||
267 | |||
268 | if (prev == NULL) | ||
269 | return; | ||
270 | |||
271 | /* Check if we can merge forwards */ | ||
272 | mms = RB_NEXT(mmtree, &mm->rb_free, prev); | ||
273 | if (mms == NULL) | ||
274 | return; | ||
275 | |||
276 | if (MM_ADDRESS_END(prev) > mms->address) | ||
277 | fatal("mm_free: memory corruption: %p < %p(%zu)", | ||
278 | mms->address, prev->address, prev->size); | ||
279 | if (MM_ADDRESS_END(prev) != mms->address) | ||
280 | return; | ||
281 | |||
282 | prev->size += mms->size; | ||
283 | RB_REMOVE(mmtree, &mm->rb_free, mms); | ||
284 | |||
285 | if (mm->mmalloc == NULL) | ||
286 | free(mms); | ||
287 | else | ||
288 | mm_free(mm->mmalloc, mms); | ||
289 | } | ||
290 | |||
291 | static void | ||
292 | mm_sync_list(struct mmtree *oldtree, struct mmtree *newtree, | ||
293 | struct mm_master *mm, struct mm_master *mmold) | ||
294 | { | ||
295 | struct mm_master *mmalloc = mm->mmalloc; | ||
296 | struct mm_share *mms, *new; | ||
297 | |||
298 | /* Sync free list */ | ||
299 | RB_FOREACH(mms, mmtree, oldtree) { | ||
300 | /* Check the values */ | ||
301 | mm_memvalid(mmold, mms, sizeof(struct mm_share)); | ||
302 | mm_memvalid(mm, mms->address, mms->size); | ||
303 | |||
304 | new = mm_xmalloc(mmalloc, sizeof(struct mm_share)); | ||
305 | memcpy(new, mms, sizeof(struct mm_share)); | ||
306 | RB_INSERT(mmtree, newtree, new); | ||
307 | } | ||
308 | } | ||
309 | |||
310 | void | ||
311 | mm_share_sync(struct mm_master **pmm, struct mm_master **pmmalloc) | ||
312 | { | ||
313 | struct mm_master *mm; | ||
314 | struct mm_master *mmalloc; | ||
315 | struct mm_master *mmold; | ||
316 | struct mmtree rb_free, rb_allocated; | ||
317 | |||
318 | debug3("%s: Share sync", __func__); | ||
319 | |||
320 | mm = *pmm; | ||
321 | mmold = mm->mmalloc; | ||
322 | mm_memvalid(mmold, mm, sizeof(*mm)); | ||
323 | |||
324 | mmalloc = mm_create(NULL, mm->size); | ||
325 | mm = mm_xmalloc(mmalloc, sizeof(struct mm_master)); | ||
326 | memcpy(mm, *pmm, sizeof(struct mm_master)); | ||
327 | mm->mmalloc = mmalloc; | ||
328 | |||
329 | rb_free = mm->rb_free; | ||
330 | rb_allocated = mm->rb_allocated; | ||
331 | |||
332 | RB_INIT(&mm->rb_free); | ||
333 | RB_INIT(&mm->rb_allocated); | ||
334 | |||
335 | mm_sync_list(&rb_free, &mm->rb_free, mm, mmold); | ||
336 | mm_sync_list(&rb_allocated, &mm->rb_allocated, mm, mmold); | ||
337 | |||
338 | mm_destroy(mmold); | ||
339 | |||
340 | *pmm = mm; | ||
341 | *pmmalloc = mmalloc; | ||
342 | |||
343 | debug3("%s: Share sync end", __func__); | ||
344 | } | ||
345 | |||
346 | void | ||
347 | mm_memvalid(struct mm_master *mm, void *address, size_t size) | ||
348 | { | ||
349 | void *end = (char *)address + size; | ||
350 | |||
351 | if (address < mm->address) | ||
352 | fatal("mm_memvalid: address too small: %p", address); | ||
353 | if (end < address) | ||
354 | fatal("mm_memvalid: end < address: %p < %p", end, address); | ||
355 | if (end > MM_ADDRESS_END(mm)) | ||
356 | fatal("mm_memvalid: address too large: %p", address); | ||
357 | } | ||
diff --git a/monitor_mm.h b/monitor_mm.h deleted file mode 100644 index f1fae7e3b..000000000 --- a/monitor_mm.h +++ /dev/null | |||
@@ -1,62 +0,0 @@ | |||
1 | /* $OpenBSD: monitor_mm.h,v 1.6 2014/01/04 17:50:55 tedu Exp $ */ | ||
2 | |||
3 | /* | ||
4 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> | ||
5 | * All rights reserved. | ||
6 | * | ||
7 | * Redistribution and use in source and binary forms, with or without | ||
8 | * modification, are permitted provided that the following conditions | ||
9 | * are met: | ||
10 | * 1. Redistributions of source code must retain the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer. | ||
12 | * 2. Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in the | ||
14 | * documentation and/or other materials provided with the distribution. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | ||
17 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
18 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
19 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
20 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
21 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
22 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
23 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
25 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | #ifndef _MM_H_ | ||
29 | #define _MM_H_ | ||
30 | |||
31 | struct mm_share { | ||
32 | RB_ENTRY(mm_share) next; | ||
33 | void *address; | ||
34 | size_t size; | ||
35 | }; | ||
36 | |||
37 | struct mm_master { | ||
38 | RB_HEAD(mmtree, mm_share) rb_free; | ||
39 | struct mmtree rb_allocated; | ||
40 | void *address; | ||
41 | size_t size; | ||
42 | |||
43 | struct mm_master *mmalloc; /* Used to completely share */ | ||
44 | }; | ||
45 | |||
46 | RB_PROTOTYPE(mmtree, mm_share, next, mm_compare) | ||
47 | |||
48 | #define MM_MINSIZE 128 | ||
49 | |||
50 | #define MM_ADDRESS_END(x) (void *)((char *)(x)->address + (x)->size) | ||
51 | |||
52 | struct mm_master *mm_create(struct mm_master *, size_t); | ||
53 | void mm_destroy(struct mm_master *); | ||
54 | |||
55 | void mm_share_sync(struct mm_master **, struct mm_master **); | ||
56 | |||
57 | void *mm_malloc(struct mm_master *, size_t); | ||
58 | void *mm_xmalloc(struct mm_master *, size_t); | ||
59 | void mm_free(struct mm_master *, void *); | ||
60 | |||
61 | void mm_memvalid(struct mm_master *, void *, size_t); | ||
62 | #endif /* _MM_H_ */ | ||
diff --git a/monitor_wrap.c b/monitor_wrap.c index 99dc13b61..64ff92885 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: monitor_wrap.c,v 1.88 2016/03/07 19:02:43 djm Exp $ */ | 1 | /* $OpenBSD: monitor_wrap.c,v 1.89 2016/08/13 17:47:41 markus Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> | 3 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> |
4 | * Copyright 2002 Markus Friedl <markus@openbsd.org> | 4 | * Copyright 2002 Markus Friedl <markus@openbsd.org> |
@@ -85,7 +85,6 @@ | |||
85 | #include "ssherr.h" | 85 | #include "ssherr.h" |
86 | 86 | ||
87 | /* Imports */ | 87 | /* Imports */ |
88 | extern int compat20; | ||
89 | extern z_stream incoming_stream; | 88 | extern z_stream incoming_stream; |
90 | extern z_stream outgoing_stream; | 89 | extern z_stream outgoing_stream; |
91 | extern struct monitor *pmonitor; | 90 | extern struct monitor *pmonitor; |
@@ -389,18 +388,6 @@ mm_hostbased_key_allowed(struct passwd *pw, const char *user, const char *host, | |||
389 | } | 388 | } |
390 | 389 | ||
391 | int | 390 | int |
392 | mm_auth_rhosts_rsa_key_allowed(struct passwd *pw, const char *user, | ||
393 | const char *host, Key *key) | ||
394 | { | ||
395 | int ret; | ||
396 | |||
397 | key->type = KEY_RSA; /* XXX hack for key_to_blob */ | ||
398 | ret = mm_key_allowed(MM_RSAHOSTKEY, user, host, key, 0); | ||
399 | key->type = KEY_RSA1; | ||
400 | return (ret); | ||
401 | } | ||
402 | |||
403 | int | ||
404 | mm_key_allowed(enum mm_keytype type, const char *user, const char *host, | 391 | mm_key_allowed(enum mm_keytype type, const char *user, const char *host, |
405 | Key *key, int pubkey_auth_attempt) | 392 | Key *key, int pubkey_auth_attempt) |
406 | { | 393 | { |
@@ -710,28 +697,6 @@ mm_terminate(void) | |||
710 | buffer_free(&m); | 697 | buffer_free(&m); |
711 | } | 698 | } |
712 | 699 | ||
713 | #ifdef WITH_SSH1 | ||
714 | int | ||
715 | mm_ssh1_session_key(BIGNUM *num) | ||
716 | { | ||
717 | int rsafail; | ||
718 | Buffer m; | ||
719 | |||
720 | buffer_init(&m); | ||
721 | buffer_put_bignum2(&m, num); | ||
722 | mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_SESSKEY, &m); | ||
723 | |||
724 | mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_SESSKEY, &m); | ||
725 | |||
726 | rsafail = buffer_get_int(&m); | ||
727 | buffer_get_bignum2(&m, num); | ||
728 | |||
729 | buffer_free(&m); | ||
730 | |||
731 | return (rsafail); | ||
732 | } | ||
733 | #endif | ||
734 | |||
735 | static void | 700 | static void |
736 | mm_chall_setup(char **name, char **infotxt, u_int *numprompts, | 701 | mm_chall_setup(char **name, char **infotxt, u_int *numprompts, |
737 | char ***prompts, u_int **echo_on) | 702 | char ***prompts, u_int **echo_on) |
@@ -862,120 +827,6 @@ mm_skey_respond(void *ctx, u_int numresponses, char **responses) | |||
862 | } | 827 | } |
863 | #endif /* SKEY */ | 828 | #endif /* SKEY */ |
864 | 829 | ||
865 | void | ||
866 | mm_ssh1_session_id(u_char session_id[16]) | ||
867 | { | ||
868 | Buffer m; | ||
869 | int i; | ||
870 | |||
871 | debug3("%s entering", __func__); | ||
872 | |||
873 | buffer_init(&m); | ||
874 | for (i = 0; i < 16; i++) | ||
875 | buffer_put_char(&m, session_id[i]); | ||
876 | |||
877 | mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_SESSID, &m); | ||
878 | buffer_free(&m); | ||
879 | } | ||
880 | |||
881 | #ifdef WITH_SSH1 | ||
882 | int | ||
883 | mm_auth_rsa_key_allowed(struct passwd *pw, BIGNUM *client_n, Key **rkey) | ||
884 | { | ||
885 | Buffer m; | ||
886 | Key *key; | ||
887 | u_char *blob; | ||
888 | u_int blen; | ||
889 | int allowed = 0, have_forced = 0; | ||
890 | |||
891 | debug3("%s entering", __func__); | ||
892 | |||
893 | buffer_init(&m); | ||
894 | buffer_put_bignum2(&m, client_n); | ||
895 | |||
896 | mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_RSAKEYALLOWED, &m); | ||
897 | mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_RSAKEYALLOWED, &m); | ||
898 | |||
899 | allowed = buffer_get_int(&m); | ||
900 | |||
901 | /* fake forced command */ | ||
902 | auth_clear_options(); | ||
903 | have_forced = buffer_get_int(&m); | ||
904 | forced_command = have_forced ? xstrdup("true") : NULL; | ||
905 | |||
906 | if (allowed && rkey != NULL) { | ||
907 | blob = buffer_get_string(&m, &blen); | ||
908 | if ((key = key_from_blob(blob, blen)) == NULL) | ||
909 | fatal("%s: key_from_blob failed", __func__); | ||
910 | *rkey = key; | ||
911 | free(blob); | ||
912 | } | ||
913 | buffer_free(&m); | ||
914 | |||
915 | return (allowed); | ||
916 | } | ||
917 | |||
918 | BIGNUM * | ||
919 | mm_auth_rsa_generate_challenge(Key *key) | ||
920 | { | ||
921 | Buffer m; | ||
922 | BIGNUM *challenge; | ||
923 | u_char *blob; | ||
924 | u_int blen; | ||
925 | |||
926 | debug3("%s entering", __func__); | ||
927 | |||
928 | if ((challenge = BN_new()) == NULL) | ||
929 | fatal("%s: BN_new failed", __func__); | ||
930 | |||
931 | key->type = KEY_RSA; /* XXX cheat for key_to_blob */ | ||
932 | if (key_to_blob(key, &blob, &blen) == 0) | ||
933 | fatal("%s: key_to_blob failed", __func__); | ||
934 | key->type = KEY_RSA1; | ||
935 | |||
936 | buffer_init(&m); | ||
937 | buffer_put_string(&m, blob, blen); | ||
938 | free(blob); | ||
939 | |||
940 | mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_RSACHALLENGE, &m); | ||
941 | mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_RSACHALLENGE, &m); | ||
942 | |||
943 | buffer_get_bignum2(&m, challenge); | ||
944 | buffer_free(&m); | ||
945 | |||
946 | return (challenge); | ||
947 | } | ||
948 | |||
949 | int | ||
950 | mm_auth_rsa_verify_response(Key *key, BIGNUM *p, u_char response[16]) | ||
951 | { | ||
952 | Buffer m; | ||
953 | u_char *blob; | ||
954 | u_int blen; | ||
955 | int success = 0; | ||
956 | |||
957 | debug3("%s entering", __func__); | ||
958 | |||
959 | key->type = KEY_RSA; /* XXX cheat for key_to_blob */ | ||
960 | if (key_to_blob(key, &blob, &blen) == 0) | ||
961 | fatal("%s: key_to_blob failed", __func__); | ||
962 | key->type = KEY_RSA1; | ||
963 | |||
964 | buffer_init(&m); | ||
965 | buffer_put_string(&m, blob, blen); | ||
966 | buffer_put_string(&m, response, 16); | ||
967 | free(blob); | ||
968 | |||
969 | mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_RSARESPONSE, &m); | ||
970 | mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_RSARESPONSE, &m); | ||
971 | |||
972 | success = buffer_get_int(&m); | ||
973 | buffer_free(&m); | ||
974 | |||
975 | return (success); | ||
976 | } | ||
977 | #endif | ||
978 | |||
979 | #ifdef SSH_AUDIT_EVENTS | 830 | #ifdef SSH_AUDIT_EVENTS |
980 | void | 831 | void |
981 | mm_audit_event(ssh_audit_event_t event) | 832 | mm_audit_event(ssh_audit_event_t event) |
diff --git a/monitor_wrap.h b/monitor_wrap.h index 9fd02b30c..db5902f55 100644 --- a/monitor_wrap.h +++ b/monitor_wrap.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: monitor_wrap.h,v 1.30 2016/03/07 19:02:43 djm Exp $ */ | 1 | /* $OpenBSD: monitor_wrap.h,v 1.32 2016/09/28 16:33:07 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> | 4 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> |
@@ -31,7 +31,7 @@ | |||
31 | extern int use_privsep; | 31 | extern int use_privsep; |
32 | #define PRIVSEP(x) (use_privsep ? mm_##x : x) | 32 | #define PRIVSEP(x) (use_privsep ? mm_##x : x) |
33 | 33 | ||
34 | enum mm_keytype {MM_NOKEY, MM_HOSTKEY, MM_USERKEY, MM_RSAHOSTKEY, MM_RSAUSERKEY}; | 34 | enum mm_keytype { MM_NOKEY, MM_HOSTKEY, MM_USERKEY }; |
35 | 35 | ||
36 | struct monitor; | 36 | struct monitor; |
37 | struct mm_master; | 37 | struct mm_master; |
@@ -49,12 +49,7 @@ int mm_key_allowed(enum mm_keytype, const char *, const char *, Key *, int); | |||
49 | int mm_user_key_allowed(struct passwd *, Key *, int); | 49 | int mm_user_key_allowed(struct passwd *, Key *, int); |
50 | int mm_hostbased_key_allowed(struct passwd *, const char *, | 50 | int mm_hostbased_key_allowed(struct passwd *, const char *, |
51 | const char *, Key *); | 51 | const char *, Key *); |
52 | int mm_auth_rhosts_rsa_key_allowed(struct passwd *, const char *, | ||
53 | const char *, Key *); | ||
54 | int mm_key_verify(Key *, u_char *, u_int, u_char *, u_int); | 52 | int mm_key_verify(Key *, u_char *, u_int, u_char *, u_int); |
55 | int mm_auth_rsa_key_allowed(struct passwd *, BIGNUM *, Key **); | ||
56 | int mm_auth_rsa_verify_response(Key *, BIGNUM *, u_char *); | ||
57 | BIGNUM *mm_auth_rsa_generate_challenge(Key *); | ||
58 | 53 | ||
59 | #ifdef GSSAPI | 54 | #ifdef GSSAPI |
60 | OM_uint32 mm_ssh_gssapi_server_ctx(Gssctxt **, gss_OID); | 55 | OM_uint32 mm_ssh_gssapi_server_ctx(Gssctxt **, gss_OID); |
@@ -84,10 +79,6 @@ void mm_terminate(void); | |||
84 | int mm_pty_allocate(int *, int *, char *, size_t); | 79 | int mm_pty_allocate(int *, int *, char *, size_t); |
85 | void mm_session_pty_cleanup2(struct Session *); | 80 | void mm_session_pty_cleanup2(struct Session *); |
86 | 81 | ||
87 | /* SSHv1 interfaces */ | ||
88 | void mm_ssh1_session_id(u_char *); | ||
89 | int mm_ssh1_session_key(BIGNUM *); | ||
90 | |||
91 | /* Key export functions */ | 82 | /* Key export functions */ |
92 | struct newkeys *mm_newkeys_from_blob(u_char *, int); | 83 | struct newkeys *mm_newkeys_from_blob(u_char *, int); |
93 | int mm_newkeys_to_blob(int, u_char **, u_int *); | 84 | int mm_newkeys_to_blob(int, u_char **, u_int *); |
@@ -104,7 +95,4 @@ int mm_bsdauth_respond(void *, u_int, char **); | |||
104 | int mm_skey_query(void *, char **, char **, u_int *, char ***, u_int **); | 95 | int mm_skey_query(void *, char **, char **, u_int *, char ***, u_int **); |
105 | int mm_skey_respond(void *, u_int, char **); | 96 | int mm_skey_respond(void *, u_int, char **); |
106 | 97 | ||
107 | /* zlib allocation hooks */ | ||
108 | void mm_init_compression(struct mm_master *); | ||
109 | |||
110 | #endif /* _MM_WRAP_H_ */ | 98 | #endif /* _MM_WRAP_H_ */ |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: mux.c,v 1.60 2016/06/03 03:14:41 dtucker Exp $ */ | 1 | /* $OpenBSD: mux.c,v 1.63 2016/10/19 23:21:56 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org> | 3 | * Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org> |
4 | * | 4 | * |
@@ -79,6 +79,7 @@ | |||
79 | #include "key.h" | 79 | #include "key.h" |
80 | #include "readconf.h" | 80 | #include "readconf.h" |
81 | #include "clientloop.h" | 81 | #include "clientloop.h" |
82 | #include "ssherr.h" | ||
82 | 83 | ||
83 | /* from ssh.c */ | 84 | /* from ssh.c */ |
84 | extern int tty_flag; | 85 | extern int tty_flag; |
@@ -144,6 +145,7 @@ struct mux_master_state { | |||
144 | #define MUX_C_CLOSE_FWD 0x10000007 | 145 | #define MUX_C_CLOSE_FWD 0x10000007 |
145 | #define MUX_C_NEW_STDIO_FWD 0x10000008 | 146 | #define MUX_C_NEW_STDIO_FWD 0x10000008 |
146 | #define MUX_C_STOP_LISTENING 0x10000009 | 147 | #define MUX_C_STOP_LISTENING 0x10000009 |
148 | #define MUX_C_PROXY 0x1000000f | ||
147 | #define MUX_S_OK 0x80000001 | 149 | #define MUX_S_OK 0x80000001 |
148 | #define MUX_S_PERMISSION_DENIED 0x80000002 | 150 | #define MUX_S_PERMISSION_DENIED 0x80000002 |
149 | #define MUX_S_FAILURE 0x80000003 | 151 | #define MUX_S_FAILURE 0x80000003 |
@@ -152,6 +154,7 @@ struct mux_master_state { | |||
152 | #define MUX_S_SESSION_OPENED 0x80000006 | 154 | #define MUX_S_SESSION_OPENED 0x80000006 |
153 | #define MUX_S_REMOTE_PORT 0x80000007 | 155 | #define MUX_S_REMOTE_PORT 0x80000007 |
154 | #define MUX_S_TTY_ALLOC_FAIL 0x80000008 | 156 | #define MUX_S_TTY_ALLOC_FAIL 0x80000008 |
157 | #define MUX_S_PROXY 0x8000000f | ||
155 | 158 | ||
156 | /* type codes for MUX_C_OPEN_FWD and MUX_C_CLOSE_FWD */ | 159 | /* type codes for MUX_C_OPEN_FWD and MUX_C_CLOSE_FWD */ |
157 | #define MUX_FWD_LOCAL 1 | 160 | #define MUX_FWD_LOCAL 1 |
@@ -169,6 +172,7 @@ static int process_mux_open_fwd(u_int, Channel *, Buffer *, Buffer *); | |||
169 | static int process_mux_close_fwd(u_int, Channel *, Buffer *, Buffer *); | 172 | static int process_mux_close_fwd(u_int, Channel *, Buffer *, Buffer *); |
170 | static int process_mux_stdio_fwd(u_int, Channel *, Buffer *, Buffer *); | 173 | static int process_mux_stdio_fwd(u_int, Channel *, Buffer *, Buffer *); |
171 | static int process_mux_stop_listening(u_int, Channel *, Buffer *, Buffer *); | 174 | static int process_mux_stop_listening(u_int, Channel *, Buffer *, Buffer *); |
175 | static int process_mux_proxy(u_int, Channel *, Buffer *, Buffer *); | ||
172 | 176 | ||
173 | static const struct { | 177 | static const struct { |
174 | u_int type; | 178 | u_int type; |
@@ -182,6 +186,7 @@ static const struct { | |||
182 | { MUX_C_CLOSE_FWD, process_mux_close_fwd }, | 186 | { MUX_C_CLOSE_FWD, process_mux_close_fwd }, |
183 | { MUX_C_NEW_STDIO_FWD, process_mux_stdio_fwd }, | 187 | { MUX_C_NEW_STDIO_FWD, process_mux_stdio_fwd }, |
184 | { MUX_C_STOP_LISTENING, process_mux_stop_listening }, | 188 | { MUX_C_STOP_LISTENING, process_mux_stop_listening }, |
189 | { MUX_C_PROXY, process_mux_proxy }, | ||
185 | { 0, NULL } | 190 | { 0, NULL } |
186 | }; | 191 | }; |
187 | 192 | ||
@@ -1110,6 +1115,18 @@ process_mux_stop_listening(u_int rid, Channel *c, Buffer *m, Buffer *r) | |||
1110 | return 0; | 1115 | return 0; |
1111 | } | 1116 | } |
1112 | 1117 | ||
1118 | static int | ||
1119 | process_mux_proxy(u_int rid, Channel *c, Buffer *m, Buffer *r) | ||
1120 | { | ||
1121 | debug("%s: channel %d: proxy request", __func__, c->self); | ||
1122 | |||
1123 | c->mux_rcb = channel_proxy_downstream; | ||
1124 | buffer_put_int(r, MUX_S_PROXY); | ||
1125 | buffer_put_int(r, rid); | ||
1126 | |||
1127 | return 0; | ||
1128 | } | ||
1129 | |||
1113 | /* Channel callbacks fired on read/write from mux slave fd */ | 1130 | /* Channel callbacks fired on read/write from mux slave fd */ |
1114 | static int | 1131 | static int |
1115 | mux_master_read_cb(Channel *c) | 1132 | mux_master_read_cb(Channel *c) |
@@ -1960,6 +1977,41 @@ mux_client_request_session(int fd) | |||
1960 | } | 1977 | } |
1961 | 1978 | ||
1962 | static int | 1979 | static int |
1980 | mux_client_proxy(int fd) | ||
1981 | { | ||
1982 | Buffer m; | ||
1983 | char *e; | ||
1984 | u_int type, rid; | ||
1985 | |||
1986 | buffer_init(&m); | ||
1987 | buffer_put_int(&m, MUX_C_PROXY); | ||
1988 | buffer_put_int(&m, muxclient_request_id); | ||
1989 | if (mux_client_write_packet(fd, &m) != 0) | ||
1990 | fatal("%s: write packet: %s", __func__, strerror(errno)); | ||
1991 | |||
1992 | buffer_clear(&m); | ||
1993 | |||
1994 | /* Read their reply */ | ||
1995 | if (mux_client_read_packet(fd, &m) != 0) { | ||
1996 | buffer_free(&m); | ||
1997 | return 0; | ||
1998 | } | ||
1999 | type = buffer_get_int(&m); | ||
2000 | if (type != MUX_S_PROXY) { | ||
2001 | e = buffer_get_string(&m, NULL); | ||
2002 | fatal("%s: master returned error: %s", __func__, e); | ||
2003 | } | ||
2004 | if ((rid = buffer_get_int(&m)) != muxclient_request_id) | ||
2005 | fatal("%s: out of sequence reply: my id %u theirs %u", | ||
2006 | __func__, muxclient_request_id, rid); | ||
2007 | buffer_free(&m); | ||
2008 | |||
2009 | debug3("%s: done", __func__); | ||
2010 | muxclient_request_id++; | ||
2011 | return 0; | ||
2012 | } | ||
2013 | |||
2014 | static int | ||
1963 | mux_client_request_stdio_fwd(int fd) | 2015 | mux_client_request_stdio_fwd(int fd) |
1964 | { | 2016 | { |
1965 | Buffer m; | 2017 | Buffer m; |
@@ -2105,7 +2157,7 @@ mux_client_request_stop_listening(int fd) | |||
2105 | } | 2157 | } |
2106 | 2158 | ||
2107 | /* Multiplex client main loop. */ | 2159 | /* Multiplex client main loop. */ |
2108 | void | 2160 | int |
2109 | muxclient(const char *path) | 2161 | muxclient(const char *path) |
2110 | { | 2162 | { |
2111 | struct sockaddr_un addr; | 2163 | struct sockaddr_un addr; |
@@ -2128,7 +2180,7 @@ muxclient(const char *path) | |||
2128 | case SSHCTL_MASTER_NO: | 2180 | case SSHCTL_MASTER_NO: |
2129 | break; | 2181 | break; |
2130 | default: | 2182 | default: |
2131 | return; | 2183 | return -1; |
2132 | } | 2184 | } |
2133 | 2185 | ||
2134 | memset(&addr, '\0', sizeof(addr)); | 2186 | memset(&addr, '\0', sizeof(addr)); |
@@ -2138,7 +2190,8 @@ muxclient(const char *path) | |||
2138 | 2190 | ||
2139 | if (strlcpy(addr.sun_path, path, | 2191 | if (strlcpy(addr.sun_path, path, |
2140 | sizeof(addr.sun_path)) >= sizeof(addr.sun_path)) | 2192 | sizeof(addr.sun_path)) >= sizeof(addr.sun_path)) |
2141 | fatal("ControlPath too long"); | 2193 | fatal("ControlPath too long ('%s' >= %u bytes)", path, |
2194 | (unsigned int)sizeof(addr.sun_path)); | ||
2142 | 2195 | ||
2143 | if ((sock = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) | 2196 | if ((sock = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) |
2144 | fatal("%s socket(): %s", __func__, strerror(errno)); | 2197 | fatal("%s socket(): %s", __func__, strerror(errno)); |
@@ -2163,14 +2216,14 @@ muxclient(const char *path) | |||
2163 | strerror(errno)); | 2216 | strerror(errno)); |
2164 | } | 2217 | } |
2165 | close(sock); | 2218 | close(sock); |
2166 | return; | 2219 | return -1; |
2167 | } | 2220 | } |
2168 | set_nonblock(sock); | 2221 | set_nonblock(sock); |
2169 | 2222 | ||
2170 | if (mux_client_hello_exchange(sock) != 0) { | 2223 | if (mux_client_hello_exchange(sock) != 0) { |
2171 | error("%s: master hello exchange failed", __func__); | 2224 | error("%s: master hello exchange failed", __func__); |
2172 | close(sock); | 2225 | close(sock); |
2173 | return; | 2226 | return -1; |
2174 | } | 2227 | } |
2175 | 2228 | ||
2176 | switch (muxclient_command) { | 2229 | switch (muxclient_command) { |
@@ -2181,7 +2234,8 @@ muxclient(const char *path) | |||
2181 | exit(0); | 2234 | exit(0); |
2182 | case SSHMUX_COMMAND_TERMINATE: | 2235 | case SSHMUX_COMMAND_TERMINATE: |
2183 | mux_client_request_terminate(sock); | 2236 | mux_client_request_terminate(sock); |
2184 | fprintf(stderr, "Exit request sent.\r\n"); | 2237 | if (options.log_level != SYSLOG_LEVEL_QUIET) |
2238 | fprintf(stderr, "Exit request sent.\r\n"); | ||
2185 | exit(0); | 2239 | exit(0); |
2186 | case SSHMUX_COMMAND_FORWARD: | 2240 | case SSHMUX_COMMAND_FORWARD: |
2187 | if (mux_client_forwards(sock, 0) != 0) | 2241 | if (mux_client_forwards(sock, 0) != 0) |
@@ -2190,22 +2244,26 @@ muxclient(const char *path) | |||
2190 | case SSHMUX_COMMAND_OPEN: | 2244 | case SSHMUX_COMMAND_OPEN: |
2191 | if (mux_client_forwards(sock, 0) != 0) { | 2245 | if (mux_client_forwards(sock, 0) != 0) { |
2192 | error("%s: master forward request failed", __func__); | 2246 | error("%s: master forward request failed", __func__); |
2193 | return; | 2247 | return -1; |
2194 | } | 2248 | } |
2195 | mux_client_request_session(sock); | 2249 | mux_client_request_session(sock); |
2196 | return; | 2250 | return -1; |
2197 | case SSHMUX_COMMAND_STDIO_FWD: | 2251 | case SSHMUX_COMMAND_STDIO_FWD: |
2198 | mux_client_request_stdio_fwd(sock); | 2252 | mux_client_request_stdio_fwd(sock); |
2199 | exit(0); | 2253 | exit(0); |
2200 | case SSHMUX_COMMAND_STOP: | 2254 | case SSHMUX_COMMAND_STOP: |
2201 | mux_client_request_stop_listening(sock); | 2255 | mux_client_request_stop_listening(sock); |
2202 | fprintf(stderr, "Stop listening request sent.\r\n"); | 2256 | if (options.log_level != SYSLOG_LEVEL_QUIET) |
2257 | fprintf(stderr, "Stop listening request sent.\r\n"); | ||
2203 | exit(0); | 2258 | exit(0); |
2204 | case SSHMUX_COMMAND_CANCEL_FWD: | 2259 | case SSHMUX_COMMAND_CANCEL_FWD: |
2205 | if (mux_client_forwards(sock, 1) != 0) | 2260 | if (mux_client_forwards(sock, 1) != 0) |
2206 | error("%s: master cancel forward request failed", | 2261 | error("%s: master cancel forward request failed", |
2207 | __func__); | 2262 | __func__); |
2208 | exit(0); | 2263 | exit(0); |
2264 | case SSHMUX_COMMAND_PROXY: | ||
2265 | mux_client_proxy(sock); | ||
2266 | return (sock); | ||
2209 | default: | 2267 | default: |
2210 | fatal("unrecognised muxclient_command %d", muxclient_command); | 2268 | fatal("unrecognised muxclient_command %d", muxclient_command); |
2211 | } | 2269 | } |
diff --git a/myproposal.h b/myproposal.h index 597090164..072e36ec7 100644 --- a/myproposal.h +++ b/myproposal.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: myproposal.h,v 1.50 2016/02/09 05:30:04 djm Exp $ */ | 1 | /* $OpenBSD: myproposal.h,v 1.54 2016/09/28 16:33:07 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 4 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
@@ -84,7 +84,9 @@ | |||
84 | 84 | ||
85 | #ifdef WITH_OPENSSL | 85 | #ifdef WITH_OPENSSL |
86 | # ifdef HAVE_EVP_SHA256 | 86 | # ifdef HAVE_EVP_SHA256 |
87 | # define KEX_CURVE25519_METHODS "curve25519-sha256@libssh.org," | 87 | # define KEX_CURVE25519_METHODS \ |
88 | "curve25519-sha256," \ | ||
89 | "curve25519-sha256@libssh.org," | ||
88 | # else | 90 | # else |
89 | # define KEX_CURVE25519_METHODS "" | 91 | # define KEX_CURVE25519_METHODS "" |
90 | # endif | 92 | # endif |
@@ -120,7 +122,7 @@ | |||
120 | AESGCM_CIPHER_MODES | 122 | AESGCM_CIPHER_MODES |
121 | 123 | ||
122 | #define KEX_CLIENT_ENCRYPT KEX_SERVER_ENCRYPT "," \ | 124 | #define KEX_CLIENT_ENCRYPT KEX_SERVER_ENCRYPT "," \ |
123 | "aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc" | 125 | "aes128-cbc,aes192-cbc,aes256-cbc" |
124 | 126 | ||
125 | #define KEX_SERVER_MAC \ | 127 | #define KEX_SERVER_MAC \ |
126 | "umac-64-etm@openssh.com," \ | 128 | "umac-64-etm@openssh.com," \ |
@@ -139,6 +141,7 @@ | |||
139 | #else /* WITH_OPENSSL */ | 141 | #else /* WITH_OPENSSL */ |
140 | 142 | ||
141 | #define KEX_SERVER_KEX \ | 143 | #define KEX_SERVER_KEX \ |
144 | "curve25519-sha256," \ | ||
142 | "curve25519-sha256@libssh.org" | 145 | "curve25519-sha256@libssh.org" |
143 | #define KEX_DEFAULT_PK_ALG \ | 146 | #define KEX_DEFAULT_PK_ALG \ |
144 | "ssh-ed25519-cert-v01@openssh.com," \ | 147 | "ssh-ed25519-cert-v01@openssh.com," \ |
@@ -164,7 +167,7 @@ | |||
164 | 167 | ||
165 | #endif /* WITH_OPENSSL */ | 168 | #endif /* WITH_OPENSSL */ |
166 | 169 | ||
167 | #define KEX_DEFAULT_COMP "none,zlib@openssh.com,zlib" | 170 | #define KEX_DEFAULT_COMP "none,zlib@openssh.com" |
168 | #define KEX_DEFAULT_LANG "" | 171 | #define KEX_DEFAULT_LANG "" |
169 | 172 | ||
170 | #define KEX_CLIENT \ | 173 | #define KEX_CLIENT \ |
@@ -133,9 +133,6 @@ void packet_disconnect(const char *, ...) | |||
133 | ssh_packet_get_input(active_state) | 133 | ssh_packet_get_input(active_state) |
134 | #define packet_get_output() \ | 134 | #define packet_get_output() \ |
135 | ssh_packet_get_output(active_state) | 135 | ssh_packet_get_output(active_state) |
136 | #define packet_set_compress_hooks(ctx, allocfunc, freefunc) \ | ||
137 | ssh_packet_set_compress_hooks(active_state, ctx, \ | ||
138 | allocfunc, freefunc); | ||
139 | #define packet_check_eom() \ | 136 | #define packet_check_eom() \ |
140 | ssh_packet_check_eom(active_state) | 137 | ssh_packet_check_eom(active_state) |
141 | #define set_newkeys(mode) \ | 138 | #define set_newkeys(mode) \ |
@@ -156,5 +153,9 @@ void packet_disconnect(const char *, ...) | |||
156 | ssh_packet_set_rekey_limits(active_state, x, y) | 153 | ssh_packet_set_rekey_limits(active_state, x, y) |
157 | #define packet_get_bytes(x,y) \ | 154 | #define packet_get_bytes(x,y) \ |
158 | ssh_packet_get_bytes(active_state, x, y) | 155 | ssh_packet_get_bytes(active_state, x, y) |
156 | #define packet_set_mux() \ | ||
157 | ssh_packet_set_mux(active_state) | ||
158 | #define packet_get_mux() \ | ||
159 | ssh_packet_get_mux(active_state) | ||
159 | 160 | ||
160 | #endif /* _OPACKET_H */ | 161 | #endif /* _OPACKET_H */ |
diff --git a/openbsd-compat/Makefile.in b/openbsd-compat/Makefile.in index aca9eba75..d51eacf65 100644 --- a/openbsd-compat/Makefile.in +++ b/openbsd-compat/Makefile.in | |||
@@ -16,9 +16,9 @@ RANLIB=@RANLIB@ | |||
16 | INSTALL=@INSTALL@ | 16 | INSTALL=@INSTALL@ |
17 | LDFLAGS=-L. @LDFLAGS@ | 17 | LDFLAGS=-L. @LDFLAGS@ |
18 | 18 | ||
19 | OPENBSD=base64.o basename.o bcrypt_pbkdf.o bindresvport.o blowfish.o daemon.o dirname.o fmt_scaled.o getcwd.o getgrouplist.o getopt_long.o getrrsetbyname.o glob.o inet_aton.o inet_ntoa.o inet_ntop.o mktemp.o pwcache.o readpassphrase.o reallocarray.o realpath.o rresvport.o setenv.o setproctitle.o sha1.o sha2.o rmd160.o md5.o sigact.o strlcat.o strlcpy.o strmode.o strnlen.o strptime.o strsep.o strtonum.o strtoll.o strtoul.o strtoull.o timingsafe_bcmp.o vis.o blowfish.o bcrypt_pbkdf.o explicit_bzero.o | 19 | OPENBSD=base64.o basename.o bcrypt_pbkdf.o bindresvport.o blowfish.o daemon.o dirname.o fmt_scaled.o getcwd.o getgrouplist.o getopt_long.o getrrsetbyname.o glob.o inet_aton.o inet_ntoa.o inet_ntop.o mktemp.o pwcache.o readpassphrase.o reallocarray.o realpath.o rresvport.o setenv.o setproctitle.o sha1.o sha2.o rmd160.o md5.o sigact.o strcasestr.o strlcat.o strlcpy.o strmode.o strnlen.o strptime.o strsep.o strtonum.o strtoll.o strtoul.o strtoull.o timingsafe_bcmp.o vis.o blowfish.o bcrypt_pbkdf.o explicit_bzero.o |
20 | 20 | ||
21 | COMPAT=arc4random.o bsd-asprintf.o bsd-closefrom.o bsd-cray.o bsd-cygwin_util.o bsd-getpeereid.o getrrsetbyname-ldns.o bsd-err.o bsd-misc.o bsd-nextstep.o bsd-openpty.o bsd-poll.o bsd-setres_id.o bsd-snprintf.o bsd-statvfs.o bsd-waitpid.o fake-rfc2553.o openssl-compat.o xmmap.o xcrypt.o kludge-fd_set.o | 21 | COMPAT=arc4random.o bsd-asprintf.o bsd-closefrom.o bsd-cray.o bsd-cygwin_util.o bsd-getpeereid.o getrrsetbyname-ldns.o bsd-err.o bsd-misc.o bsd-nextstep.o bsd-openpty.o bsd-poll.o bsd-setres_id.o bsd-snprintf.o bsd-statvfs.o bsd-waitpid.o fake-rfc2553.o openssl-compat.o xcrypt.o kludge-fd_set.o |
22 | 22 | ||
23 | PORTS=port-aix.o port-irix.o port-linux.o port-solaris.o port-tun.o port-uw.o | 23 | PORTS=port-aix.o port-irix.o port-linux.o port-solaris.o port-tun.o port-uw.o |
24 | 24 | ||
@@ -36,7 +36,7 @@ libopenbsd-compat.a: $(COMPAT) $(OPENBSD) $(PORTS) | |||
36 | $(RANLIB) $@ | 36 | $(RANLIB) $@ |
37 | 37 | ||
38 | clean: | 38 | clean: |
39 | rm -f *.o *.a core | 39 | rm -f *.o *.a core |
40 | 40 | ||
41 | distclean: clean | 41 | distclean: clean |
42 | rm -f Makefile *~ | 42 | rm -f Makefile *~ |
diff --git a/openbsd-compat/base64.h b/openbsd-compat/base64.h index 732c6b3f8..bd772931b 100644 --- a/openbsd-compat/base64.h +++ b/openbsd-compat/base64.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: base64.h,v 1.6 2003/08/29 16:59:52 mouring Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 1996 by Internet Software Consortium. | 2 | * Copyright (c) 1996 by Internet Software Consortium. |
5 | * | 3 | * |
@@ -49,7 +47,7 @@ | |||
49 | 47 | ||
50 | #ifndef HAVE___B64_NTOP | 48 | #ifndef HAVE___B64_NTOP |
51 | # ifndef HAVE_B64_NTOP | 49 | # ifndef HAVE_B64_NTOP |
52 | int b64_ntop(u_char const *src, size_t srclength, char *target, | 50 | int b64_ntop(u_char const *src, size_t srclength, char *target, |
53 | size_t targsize); | 51 | size_t targsize); |
54 | # endif /* !HAVE_B64_NTOP */ | 52 | # endif /* !HAVE_B64_NTOP */ |
55 | # define __b64_ntop(a,b,c,d) b64_ntop(a,b,c,d) | 53 | # define __b64_ntop(a,b,c,d) b64_ntop(a,b,c,d) |
diff --git a/openbsd-compat/bsd-asprintf.c b/openbsd-compat/bsd-asprintf.c index 7b83448ca..822367154 100644 --- a/openbsd-compat/bsd-asprintf.c +++ b/openbsd-compat/bsd-asprintf.c | |||
@@ -78,7 +78,7 @@ int asprintf(char **str, const char *fmt, ...) | |||
78 | { | 78 | { |
79 | va_list ap; | 79 | va_list ap; |
80 | int ret; | 80 | int ret; |
81 | 81 | ||
82 | *str = NULL; | 82 | *str = NULL; |
83 | va_start(ap, fmt); | 83 | va_start(ap, fmt); |
84 | ret = vasprintf(str, fmt, ap); | 84 | ret = vasprintf(str, fmt, ap); |
diff --git a/openbsd-compat/bsd-cray.c b/openbsd-compat/bsd-cray.c index f1bbd7dec..c02e63261 100644 --- a/openbsd-compat/bsd-cray.c +++ b/openbsd-compat/bsd-cray.c | |||
@@ -1,10 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * $Id: bsd-cray.c,v 1.17 2007/08/15 09:17:43 dtucker Exp $ | ||
3 | * | 2 | * |
4 | * bsd-cray.c | 3 | * bsd-cray.c |
5 | * | 4 | * |
6 | * Copyright (c) 2002, Cray Inc. (Wendy Palm <wendyp@cray.com>) | 5 | * Copyright (c) 2002, Cray Inc. (Wendy Palm <wendyp@cray.com>) |
7 | * Significant portions provided by | 6 | * Significant portions provided by |
8 | * Wayne Schroeder, SDSC <schroeder@sdsc.edu> | 7 | * Wayne Schroeder, SDSC <schroeder@sdsc.edu> |
9 | * William Jones, UTexas <jones@tacc.utexas.edu> | 8 | * William Jones, UTexas <jones@tacc.utexas.edu> |
10 | * | 9 | * |
@@ -268,7 +267,7 @@ cray_setup (uid_t uid, char *username, const char *command) | |||
268 | usent.uname = username; | 267 | usent.uname = username; |
269 | usent.host = hostname; | 268 | usent.host = hostname; |
270 | usent.ttyn = ttyn; | 269 | usent.ttyn = ttyn; |
271 | usent.caller = IA_SSHD; | 270 | usent.caller = IA_SSHD; |
272 | usent.pswdlist = &pwdacm; | 271 | usent.pswdlist = &pwdacm; |
273 | usent.ueptr = &ue; | 272 | usent.ueptr = &ue; |
274 | usent.flags = IA_INTERACTIVE | IA_FFLAG; | 273 | usent.flags = IA_INTERACTIVE | IA_FFLAG; |
@@ -352,7 +351,7 @@ cray_setup (uid_t uid, char *username, const char *command) | |||
352 | /* | 351 | /* |
353 | * These are failed return codes from ia_user() | 352 | * These are failed return codes from ia_user() |
354 | */ | 353 | */ |
355 | switch (ia_rcode) | 354 | switch (ia_rcode) |
356 | { | 355 | { |
357 | case IA_BADAUTH: | 356 | case IA_BADAUTH: |
358 | printf("Bad authorization, access denied.\n"); | 357 | printf("Bad authorization, access denied.\n"); |
@@ -407,7 +406,7 @@ cray_setup (uid_t uid, char *username, const char *command) | |||
407 | */ | 406 | */ |
408 | ia_failure(&fsent, &fret); | 407 | ia_failure(&fsent, &fret); |
409 | 408 | ||
410 | exit(1); | 409 | exit(1); |
411 | } | 410 | } |
412 | 411 | ||
413 | ia_mlsrcode = IA_NORMAL; | 412 | ia_mlsrcode = IA_NORMAL; |
@@ -441,7 +440,7 @@ cray_setup (uid_t uid, char *username, const char *command) | |||
441 | * There is no return because ia_failure exits. | 440 | * There is no return because ia_failure exits. |
442 | */ | 441 | */ |
443 | ia_failure(&fsent,&fret); | 442 | ia_failure(&fsent,&fret); |
444 | exit(1); | 443 | exit(1); |
445 | } | 444 | } |
446 | 445 | ||
447 | /* Provide login status information */ | 446 | /* Provide login status information */ |
@@ -526,7 +525,7 @@ cray_setup (uid_t uid, char *username, const char *command) | |||
526 | break; | 525 | break; |
527 | default: | 526 | default: |
528 | valid_acct = nam2acid(acct_name); | 527 | valid_acct = nam2acid(acct_name); |
529 | if (valid_acct == -1) | 528 | if (valid_acct == -1) |
530 | printf( | 529 | printf( |
531 | "Account id not found for" | 530 | "Account id not found for" |
532 | " account name \"%s\"\n\n", | 531 | " account name \"%s\"\n\n", |
@@ -576,9 +575,9 @@ cray_setup (uid_t uid, char *username, const char *command) | |||
576 | exit(1); | 575 | exit(1); |
577 | } | 576 | } |
578 | 577 | ||
579 | /* | 578 | /* |
580 | * Now set shares, quotas, limits, including CPU time for the | 579 | * Now set shares, quotas, limits, including CPU time for the |
581 | * (interactive) job and process, and set up permissions | 580 | * (interactive) job and process, and set up permissions |
582 | * (for chown etc), etc. | 581 | * (for chown etc), etc. |
583 | */ | 582 | */ |
584 | if (setshares(ue.ue_uid, valid_acct, printf, 0, 0)) { | 583 | if (setshares(ue.ue_uid, valid_acct, printf, 0, 0)) { |
@@ -656,7 +655,7 @@ drop_cray_privs() | |||
656 | usrv.sv_minlvl = sysv.sy_minlvl; | 655 | usrv.sv_minlvl = sysv.sy_minlvl; |
657 | usrv.sv_actlvl = sysv.sy_minlvl; | 656 | usrv.sv_actlvl = sysv.sy_minlvl; |
658 | usrv.sv_maxlvl = sysv.sy_maxlvl; | 657 | usrv.sv_maxlvl = sysv.sy_maxlvl; |
659 | } | 658 | } |
660 | usrv.sv_actcmp = 0; | 659 | usrv.sv_actcmp = 0; |
661 | usrv.sv_valcmp = sysv.sy_valcmp; | 660 | usrv.sv_valcmp = sysv.sy_valcmp; |
662 | 661 | ||
diff --git a/openbsd-compat/bsd-cray.h b/openbsd-compat/bsd-cray.h index 774eceb5a..ca626a021 100644 --- a/openbsd-compat/bsd-cray.h +++ b/openbsd-compat/bsd-cray.h | |||
@@ -1,8 +1,6 @@ | |||
1 | /* $Id: bsd-cray.h,v 1.12 2005/02/02 06:10:11 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2002, Cray Inc. (Wendy Palm <wendyp@cray.com>) | 2 | * Copyright (c) 2002, Cray Inc. (Wendy Palm <wendyp@cray.com>) |
5 | * Significant portions provided by | 3 | * Significant portions provided by |
6 | * Wayne Schroeder, SDSC <schroeder@sdsc.edu> | 4 | * Wayne Schroeder, SDSC <schroeder@sdsc.edu> |
7 | * William Jones, UTexas <jones@tacc.utexas.edu> | 5 | * William Jones, UTexas <jones@tacc.utexas.edu> |
8 | * | 6 | * |
diff --git a/openbsd-compat/bsd-cygwin_util.c b/openbsd-compat/bsd-cygwin_util.c index 8672ccf7f..398a5f617 100644 --- a/openbsd-compat/bsd-cygwin_util.c +++ b/openbsd-compat/bsd-cygwin_util.c | |||
@@ -39,12 +39,12 @@ | |||
39 | 39 | ||
40 | #include "xmalloc.h" | 40 | #include "xmalloc.h" |
41 | 41 | ||
42 | int | 42 | int |
43 | binary_open(const char *filename, int flags, ...) | 43 | binary_open(const char *filename, int flags, ...) |
44 | { | 44 | { |
45 | va_list ap; | 45 | va_list ap; |
46 | mode_t mode; | 46 | mode_t mode; |
47 | 47 | ||
48 | va_start(ap, flags); | 48 | va_start(ap, flags); |
49 | mode = va_arg(ap, mode_t); | 49 | mode = va_arg(ap, mode_t); |
50 | va_end(ap); | 50 | va_end(ap); |
diff --git a/openbsd-compat/bsd-cygwin_util.h b/openbsd-compat/bsd-cygwin_util.h index 79cb2a197..9cef694b9 100644 --- a/openbsd-compat/bsd-cygwin_util.h +++ b/openbsd-compat/bsd-cygwin_util.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: bsd-cygwin_util.h,v 1.18 2014/05/27 04:34:43 djm Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2000, 2001, 2011, 2013 Corinna Vinschen <vinschen@redhat.com> | 2 | * Copyright (c) 2000, 2001, 2011, 2013 Corinna Vinschen <vinschen@redhat.com> |
5 | * | 3 | * |
diff --git a/openbsd-compat/bsd-misc.c b/openbsd-compat/bsd-misc.c index 18bf62dd8..6f3bc8f1d 100644 --- a/openbsd-compat/bsd-misc.c +++ b/openbsd-compat/bsd-misc.c | |||
@@ -70,8 +70,8 @@ int setlogin(const char *name) | |||
70 | #endif /* !HAVE_SETLOGIN */ | 70 | #endif /* !HAVE_SETLOGIN */ |
71 | 71 | ||
72 | #ifndef HAVE_INNETGR | 72 | #ifndef HAVE_INNETGR |
73 | int innetgr(const char *netgroup, const char *host, | 73 | int innetgr(const char *netgroup, const char *host, |
74 | const char *user, const char *domain) | 74 | const char *user, const char *domain) |
75 | { | 75 | { |
76 | return (0); | 76 | return (0); |
77 | } | 77 | } |
@@ -96,7 +96,7 @@ const char *strerror(int e) | |||
96 | { | 96 | { |
97 | extern int sys_nerr; | 97 | extern int sys_nerr; |
98 | extern char *sys_errlist[]; | 98 | extern char *sys_errlist[]; |
99 | 99 | ||
100 | if ((e >= 0) && (e < sys_nerr)) | 100 | if ((e >= 0) && (e < sys_nerr)) |
101 | return (sys_errlist[e]); | 101 | return (sys_errlist[e]); |
102 | 102 | ||
@@ -111,10 +111,10 @@ int utimes(char *filename, struct timeval *tvp) | |||
111 | 111 | ||
112 | ub.actime = tvp[0].tv_sec; | 112 | ub.actime = tvp[0].tv_sec; |
113 | ub.modtime = tvp[1].tv_sec; | 113 | ub.modtime = tvp[1].tv_sec; |
114 | 114 | ||
115 | return (utime(filename, &ub)); | 115 | return (utime(filename, &ub)); |
116 | } | 116 | } |
117 | #endif | 117 | #endif |
118 | 118 | ||
119 | #ifndef HAVE_TRUNCATE | 119 | #ifndef HAVE_TRUNCATE |
120 | int truncate(const char *path, off_t length) | 120 | int truncate(const char *path, off_t length) |
@@ -149,9 +149,9 @@ int nanosleep(const struct timespec *req, struct timespec *rem) | |||
149 | saverrno = errno; | 149 | saverrno = errno; |
150 | (void) gettimeofday (&tstop, NULL); | 150 | (void) gettimeofday (&tstop, NULL); |
151 | errno = saverrno; | 151 | errno = saverrno; |
152 | tremain.tv_sec = time2wait.tv_sec - | 152 | tremain.tv_sec = time2wait.tv_sec - |
153 | (tstop.tv_sec - tstart.tv_sec); | 153 | (tstop.tv_sec - tstart.tv_sec); |
154 | tremain.tv_usec = time2wait.tv_usec - | 154 | tremain.tv_usec = time2wait.tv_usec - |
155 | (tstop.tv_usec - tstart.tv_usec); | 155 | (tstop.tv_usec - tstart.tv_usec); |
156 | tremain.tv_sec += tremain.tv_usec / 1000000L; | 156 | tremain.tv_sec += tremain.tv_usec / 1000000L; |
157 | tremain.tv_usec %= 1000000L; | 157 | tremain.tv_usec %= 1000000L; |
diff --git a/openbsd-compat/bsd-misc.h b/openbsd-compat/bsd-misc.h index 27abb2e92..6f08b09fa 100644 --- a/openbsd-compat/bsd-misc.h +++ b/openbsd-compat/bsd-misc.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: bsd-misc.h,v 1.25 2013/08/04 11:48:41 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 1999-2004 Damien Miller <djm@mindrot.org> | 2 | * Copyright (c) 1999-2004 Damien Miller <djm@mindrot.org> |
5 | * | 3 | * |
@@ -49,7 +47,7 @@ int setegid(uid_t); | |||
49 | 47 | ||
50 | #if !defined(HAVE_STRERROR) && defined(HAVE_SYS_ERRLIST) && defined(HAVE_SYS_NERR) | 48 | #if !defined(HAVE_STRERROR) && defined(HAVE_SYS_ERRLIST) && defined(HAVE_SYS_NERR) |
51 | const char *strerror(int); | 49 | const char *strerror(int); |
52 | #endif | 50 | #endif |
53 | 51 | ||
54 | #if !defined(HAVE_SETLINEBUF) | 52 | #if !defined(HAVE_SETLINEBUF) |
55 | #define setlinebuf(a) (setvbuf((a), NULL, _IOLBF, 0)) | 53 | #define setlinebuf(a) (setvbuf((a), NULL, _IOLBF, 0)) |
diff --git a/openbsd-compat/bsd-nextstep.c b/openbsd-compat/bsd-nextstep.c index 8195af88a..d52443f6d 100644 --- a/openbsd-compat/bsd-nextstep.c +++ b/openbsd-compat/bsd-nextstep.c | |||
@@ -29,7 +29,7 @@ | |||
29 | #include <sys/wait.h> | 29 | #include <sys/wait.h> |
30 | #include "bsd-nextstep.h" | 30 | #include "bsd-nextstep.h" |
31 | 31 | ||
32 | pid_t | 32 | pid_t |
33 | posix_wait(int *status) | 33 | posix_wait(int *status) |
34 | { | 34 | { |
35 | union wait statusp; | 35 | union wait statusp; |
diff --git a/openbsd-compat/bsd-nextstep.h b/openbsd-compat/bsd-nextstep.h index ca5b4b54a..610f9e381 100644 --- a/openbsd-compat/bsd-nextstep.h +++ b/openbsd-compat/bsd-nextstep.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: bsd-nextstep.h,v 1.9 2003/08/29 16:59:52 mouring Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2000,2001 Ben Lindstrom. All rights reserved. | 2 | * Copyright (c) 2000,2001 Ben Lindstrom. All rights reserved. |
5 | * | 3 | * |
diff --git a/openbsd-compat/bsd-openpty.c b/openbsd-compat/bsd-openpty.c index 9777eb556..b28235860 100644 --- a/openbsd-compat/bsd-openpty.c +++ b/openbsd-compat/bsd-openpty.c | |||
@@ -122,7 +122,7 @@ openpty(int *amaster, int *aslave, char *name, struct termios *termp, | |||
122 | } | 122 | } |
123 | 123 | ||
124 | /* | 124 | /* |
125 | * Try to push the appropriate streams modules, as described | 125 | * Try to push the appropriate streams modules, as described |
126 | * in Solaris pts(7). | 126 | * in Solaris pts(7). |
127 | */ | 127 | */ |
128 | ioctl(*aslave, I_PUSH, "ptem"); | 128 | ioctl(*aslave, I_PUSH, "ptem"); |
@@ -184,7 +184,7 @@ openpty(int *amaster, int *aslave, char *name, struct termios *termp, | |||
184 | struct termios tio; | 184 | struct termios tio; |
185 | 185 | ||
186 | for (i = 0; i < num_ptys; i++) { | 186 | for (i = 0; i < num_ptys; i++) { |
187 | snprintf(ptbuf, sizeof(ptbuf), "/dev/pty%c%c", | 187 | snprintf(ptbuf, sizeof(ptbuf), "/dev/pty%c%c", |
188 | ptymajors[i / num_minors], ptyminors[i % num_minors]); | 188 | ptymajors[i / num_minors], ptyminors[i % num_minors]); |
189 | snprintf(ttbuf, sizeof(ttbuf), "/dev/tty%c%c", | 189 | snprintf(ttbuf, sizeof(ttbuf), "/dev/tty%c%c", |
190 | ptymajors[i / num_minors], ptyminors[i % num_minors]); | 190 | ptymajors[i / num_minors], ptyminors[i % num_minors]); |
diff --git a/openbsd-compat/bsd-poll.c b/openbsd-compat/bsd-poll.c index 73a852480..c8e6222c0 100644 --- a/openbsd-compat/bsd-poll.c +++ b/openbsd-compat/bsd-poll.c | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: bsd-poll.c,v 1.6 2014/02/05 23:44:13 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2004, 2005, 2007 Darren Tucker (dtucker at zip com au). | 2 | * Copyright (c) 2004, 2005, 2007 Darren Tucker (dtucker at zip com au). |
5 | * | 3 | * |
diff --git a/openbsd-compat/bsd-setres_id.c b/openbsd-compat/bsd-setres_id.c index 018bde8c7..696ae7b28 100644 --- a/openbsd-compat/bsd-setres_id.c +++ b/openbsd-compat/bsd-setres_id.c | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: bsd-setres_id.c,v 1.2 2013/12/07 21:23:09 djm Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2012 Darren Tucker (dtucker at zip com au). | 2 | * Copyright (c) 2012 Darren Tucker (dtucker at zip com au). |
5 | * | 3 | * |
diff --git a/openbsd-compat/bsd-setres_id.h b/openbsd-compat/bsd-setres_id.h index 6c269e0b9..0350a596e 100644 --- a/openbsd-compat/bsd-setres_id.h +++ b/openbsd-compat/bsd-setres_id.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: bsd-setres_id.h,v 1.1 2012/11/05 06:04:37 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2012 Darren Tucker (dtucker at zip com au). | 2 | * Copyright (c) 2012 Darren Tucker (dtucker at zip com au). |
5 | * | 3 | * |
diff --git a/openbsd-compat/bsd-statvfs.c b/openbsd-compat/bsd-statvfs.c index 2b1da80ec..458dbe89c 100644 --- a/openbsd-compat/bsd-statvfs.c +++ b/openbsd-compat/bsd-statvfs.c | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: bsd-statvfs.c,v 1.2 2014/01/17 07:10:59 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2008,2014 Darren Tucker <dtucker@zip.com.au> | 2 | * Copyright (c) 2008,2014 Darren Tucker <dtucker@zip.com.au> |
5 | * | 3 | * |
diff --git a/openbsd-compat/bsd-statvfs.h b/openbsd-compat/bsd-statvfs.h index dfd609974..815ec03b2 100644 --- a/openbsd-compat/bsd-statvfs.h +++ b/openbsd-compat/bsd-statvfs.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: bsd-statvfs.h,v 1.3 2014/01/17 07:48:22 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2008,2014 Darren Tucker <dtucker@zip.com.au> | 2 | * Copyright (c) 2008,2014 Darren Tucker <dtucker@zip.com.au> |
5 | * | 3 | * |
diff --git a/openbsd-compat/bsd-waitpid.c b/openbsd-compat/bsd-waitpid.c index 40e6ffaa8..113fb1ea9 100644 --- a/openbsd-compat/bsd-waitpid.c +++ b/openbsd-compat/bsd-waitpid.c | |||
@@ -24,7 +24,7 @@ | |||
24 | 24 | ||
25 | #include "includes.h" | 25 | #include "includes.h" |
26 | 26 | ||
27 | #ifndef HAVE_WAITPID | 27 | #ifndef HAVE_WAITPID |
28 | #include <errno.h> | 28 | #include <errno.h> |
29 | #include <sys/wait.h> | 29 | #include <sys/wait.h> |
30 | #include "bsd-waitpid.h" | 30 | #include "bsd-waitpid.h" |
@@ -43,11 +43,11 @@ waitpid(int pid, int *stat_loc, int options) | |||
43 | /* wait4() wants pid=0 for indiscriminate wait. */ | 43 | /* wait4() wants pid=0 for indiscriminate wait. */ |
44 | pid = 0; | 44 | pid = 0; |
45 | } | 45 | } |
46 | wait_pid = wait4(pid, &statusp, options, NULL); | 46 | wait_pid = wait4(pid, &statusp, options, NULL); |
47 | if (stat_loc) | 47 | if (stat_loc) |
48 | *stat_loc = (int) statusp.w_status; | 48 | *stat_loc = (int) statusp.w_status; |
49 | 49 | ||
50 | return (wait_pid); | 50 | return (wait_pid); |
51 | } | 51 | } |
52 | 52 | ||
53 | #endif /* !HAVE_WAITPID */ | 53 | #endif /* !HAVE_WAITPID */ |
diff --git a/openbsd-compat/bsd-waitpid.h b/openbsd-compat/bsd-waitpid.h index 2d853db61..5ce3ee4b5 100644 --- a/openbsd-compat/bsd-waitpid.h +++ b/openbsd-compat/bsd-waitpid.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: bsd-waitpid.h,v 1.5 2003/08/29 16:59:52 mouring Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2000 Ben Lindstrom. All rights reserved. | 2 | * Copyright (c) 2000 Ben Lindstrom. All rights reserved. |
5 | * | 3 | * |
diff --git a/openbsd-compat/explicit_bzero.c b/openbsd-compat/explicit_bzero.c index 3c85a4843..5078134d1 100644 --- a/openbsd-compat/explicit_bzero.c +++ b/openbsd-compat/explicit_bzero.c | |||
@@ -7,6 +7,8 @@ | |||
7 | 7 | ||
8 | #include "includes.h" | 8 | #include "includes.h" |
9 | 9 | ||
10 | #include <string.h> | ||
11 | |||
10 | /* | 12 | /* |
11 | * explicit_bzero - don't let the compiler optimize away bzero | 13 | * explicit_bzero - don't let the compiler optimize away bzero |
12 | */ | 14 | */ |
@@ -32,6 +34,17 @@ static void (* volatile ssh_bzero)(void *, size_t) = bzero; | |||
32 | void | 34 | void |
33 | explicit_bzero(void *p, size_t n) | 35 | explicit_bzero(void *p, size_t n) |
34 | { | 36 | { |
37 | /* | ||
38 | * clang -fsanitize=memory needs to intercept memset-like functions | ||
39 | * to correctly detect memory initialisation. Make sure one is called | ||
40 | * directly since our indirection trick above sucessfully confuses it. | ||
41 | */ | ||
42 | #if defined(__has_feature) | ||
43 | # if __has_feature(memory_sanitizer) | ||
44 | memset(p, 0, n); | ||
45 | # endif | ||
46 | #endif | ||
47 | |||
35 | ssh_bzero(p, n); | 48 | ssh_bzero(p, n); |
36 | } | 49 | } |
37 | 50 | ||
diff --git a/openbsd-compat/fake-rfc2553.c b/openbsd-compat/fake-rfc2553.c index 096d9e092..d5a62975a 100644 --- a/openbsd-compat/fake-rfc2553.c +++ b/openbsd-compat/fake-rfc2553.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2000-2003 Damien Miller. All rights reserved. | 2 | * Copyright (C) 2000-2003 Damien Miller. All rights reserved. |
3 | * Copyright (C) 1999 WIDE Project. All rights reserved. | 3 | * Copyright (C) 1999 WIDE Project. All rights reserved. |
4 | * | 4 | * |
5 | * Redistribution and use in source and binary forms, with or without | 5 | * Redistribution and use in source and binary forms, with or without |
6 | * modification, are permitted provided that the following conditions | 6 | * modification, are permitted provided that the following conditions |
7 | * are met: | 7 | * are met: |
@@ -13,7 +13,7 @@ | |||
13 | * 3. Neither the name of the project nor the names of its contributors | 13 | * 3. Neither the name of the project nor the names of its contributors |
14 | * may be used to endorse or promote products derived from this software | 14 | * may be used to endorse or promote products derived from this software |
15 | * without specific prior written permission. | 15 | * without specific prior written permission. |
16 | * | 16 | * |
17 | * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND | 17 | * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND |
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
19 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 19 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
@@ -44,8 +44,8 @@ | |||
44 | #include <arpa/inet.h> | 44 | #include <arpa/inet.h> |
45 | 45 | ||
46 | #ifndef HAVE_GETNAMEINFO | 46 | #ifndef HAVE_GETNAMEINFO |
47 | int getnameinfo(const struct sockaddr *sa, size_t salen, char *host, | 47 | int getnameinfo(const struct sockaddr *sa, size_t salen, char *host, |
48 | size_t hostlen, char *serv, size_t servlen, int flags) | 48 | size_t hostlen, char *serv, size_t servlen, int flags) |
49 | { | 49 | { |
50 | struct sockaddr_in *sin = (struct sockaddr_in *)sa; | 50 | struct sockaddr_in *sin = (struct sockaddr_in *)sa; |
51 | struct hostent *hp; | 51 | struct hostent *hp; |
@@ -67,11 +67,11 @@ int getnameinfo(const struct sockaddr *sa, size_t salen, char *host, | |||
67 | else | 67 | else |
68 | return (0); | 68 | return (0); |
69 | } else { | 69 | } else { |
70 | hp = gethostbyaddr((char *)&sin->sin_addr, | 70 | hp = gethostbyaddr((char *)&sin->sin_addr, |
71 | sizeof(struct in_addr), AF_INET); | 71 | sizeof(struct in_addr), AF_INET); |
72 | if (hp == NULL) | 72 | if (hp == NULL) |
73 | return (EAI_NODATA); | 73 | return (EAI_NODATA); |
74 | 74 | ||
75 | if (strlcpy(host, hp->h_name, hostlen) >= hostlen) | 75 | if (strlcpy(host, hp->h_name, hostlen) >= hostlen) |
76 | return (EAI_MEMORY); | 76 | return (EAI_MEMORY); |
77 | else | 77 | else |
@@ -102,7 +102,7 @@ gai_strerror(int err) | |||
102 | default: | 102 | default: |
103 | return ("unknown/invalid error."); | 103 | return ("unknown/invalid error."); |
104 | } | 104 | } |
105 | } | 105 | } |
106 | #endif /* !HAVE_GAI_STRERROR */ | 106 | #endif /* !HAVE_GAI_STRERROR */ |
107 | 107 | ||
108 | #ifndef HAVE_FREEADDRINFO | 108 | #ifndef HAVE_FREEADDRINFO |
@@ -128,9 +128,9 @@ addrinfo *malloc_ai(int port, u_long addr, const struct addrinfo *hints) | |||
128 | ai = malloc(sizeof(*ai) + sizeof(struct sockaddr_in)); | 128 | ai = malloc(sizeof(*ai) + sizeof(struct sockaddr_in)); |
129 | if (ai == NULL) | 129 | if (ai == NULL) |
130 | return (NULL); | 130 | return (NULL); |
131 | 131 | ||
132 | memset(ai, '\0', sizeof(*ai) + sizeof(struct sockaddr_in)); | 132 | memset(ai, '\0', sizeof(*ai) + sizeof(struct sockaddr_in)); |
133 | 133 | ||
134 | ai->ai_addr = (struct sockaddr *)(ai + 1); | 134 | ai->ai_addr = (struct sockaddr *)(ai + 1); |
135 | /* XXX -- ssh doesn't use sa_len */ | 135 | /* XXX -- ssh doesn't use sa_len */ |
136 | ai->ai_addrlen = sizeof(struct sockaddr_in); | 136 | ai->ai_addrlen = sizeof(struct sockaddr_in); |
@@ -138,7 +138,7 @@ addrinfo *malloc_ai(int port, u_long addr, const struct addrinfo *hints) | |||
138 | 138 | ||
139 | ((struct sockaddr_in *)(ai)->ai_addr)->sin_port = port; | 139 | ((struct sockaddr_in *)(ai)->ai_addr)->sin_port = port; |
140 | ((struct sockaddr_in *)(ai)->ai_addr)->sin_addr.s_addr = addr; | 140 | ((struct sockaddr_in *)(ai)->ai_addr)->sin_addr.s_addr = addr; |
141 | 141 | ||
142 | /* XXX: the following is not generally correct, but does what we want */ | 142 | /* XXX: the following is not generally correct, but does what we want */ |
143 | if (hints->ai_socktype) | 143 | if (hints->ai_socktype) |
144 | ai->ai_socktype = hints->ai_socktype; | 144 | ai->ai_socktype = hints->ai_socktype; |
@@ -152,7 +152,7 @@ addrinfo *malloc_ai(int port, u_long addr, const struct addrinfo *hints) | |||
152 | } | 152 | } |
153 | 153 | ||
154 | int | 154 | int |
155 | getaddrinfo(const char *hostname, const char *servname, | 155 | getaddrinfo(const char *hostname, const char *servname, |
156 | const struct addrinfo *hints, struct addrinfo **res) | 156 | const struct addrinfo *hints, struct addrinfo **res) |
157 | { | 157 | { |
158 | struct hostent *hp; | 158 | struct hostent *hp; |
@@ -183,29 +183,29 @@ getaddrinfo(const char *hostname, const char *servname, | |||
183 | if (hostname && inet_aton(hostname, &in) != 0) | 183 | if (hostname && inet_aton(hostname, &in) != 0) |
184 | addr = in.s_addr; | 184 | addr = in.s_addr; |
185 | *res = malloc_ai(port, addr, hints); | 185 | *res = malloc_ai(port, addr, hints); |
186 | if (*res == NULL) | 186 | if (*res == NULL) |
187 | return (EAI_MEMORY); | 187 | return (EAI_MEMORY); |
188 | return (0); | 188 | return (0); |
189 | } | 189 | } |
190 | 190 | ||
191 | if (!hostname) { | 191 | if (!hostname) { |
192 | *res = malloc_ai(port, htonl(0x7f000001), hints); | 192 | *res = malloc_ai(port, htonl(0x7f000001), hints); |
193 | if (*res == NULL) | 193 | if (*res == NULL) |
194 | return (EAI_MEMORY); | 194 | return (EAI_MEMORY); |
195 | return (0); | 195 | return (0); |
196 | } | 196 | } |
197 | 197 | ||
198 | if (inet_aton(hostname, &in)) { | 198 | if (inet_aton(hostname, &in)) { |
199 | *res = malloc_ai(port, in.s_addr, hints); | 199 | *res = malloc_ai(port, in.s_addr, hints); |
200 | if (*res == NULL) | 200 | if (*res == NULL) |
201 | return (EAI_MEMORY); | 201 | return (EAI_MEMORY); |
202 | return (0); | 202 | return (0); |
203 | } | 203 | } |
204 | 204 | ||
205 | /* Don't try DNS if AI_NUMERICHOST is set */ | 205 | /* Don't try DNS if AI_NUMERICHOST is set */ |
206 | if (hints && hints->ai_flags & AI_NUMERICHOST) | 206 | if (hints && hints->ai_flags & AI_NUMERICHOST) |
207 | return (EAI_NONAME); | 207 | return (EAI_NONAME); |
208 | 208 | ||
209 | hp = gethostbyname(hostname); | 209 | hp = gethostbyname(hostname); |
210 | if (hp && hp->h_name && hp->h_name[0] && hp->h_addr_list[0]) { | 210 | if (hp && hp->h_name && hp->h_name[0] && hp->h_addr_list[0]) { |
211 | struct addrinfo *cur, *prev; | 211 | struct addrinfo *cur, *prev; |
@@ -229,7 +229,7 @@ getaddrinfo(const char *hostname, const char *servname, | |||
229 | } | 229 | } |
230 | return (0); | 230 | return (0); |
231 | } | 231 | } |
232 | 232 | ||
233 | return (EAI_NODATA); | 233 | return (EAI_NODATA); |
234 | } | 234 | } |
235 | #endif /* !HAVE_GETADDRINFO */ | 235 | #endif /* !HAVE_GETADDRINFO */ |
diff --git a/openbsd-compat/fake-rfc2553.h b/openbsd-compat/fake-rfc2553.h index 6426f7bf6..f913617fe 100644 --- a/openbsd-compat/fake-rfc2553.h +++ b/openbsd-compat/fake-rfc2553.h | |||
@@ -1,9 +1,7 @@ | |||
1 | /* $Id: fake-rfc2553.h,v 1.16 2008/07/14 11:37:37 djm Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (C) 2000-2003 Damien Miller. All rights reserved. | 2 | * Copyright (C) 2000-2003 Damien Miller. All rights reserved. |
5 | * Copyright (C) 1999 WIDE Project. All rights reserved. | 3 | * Copyright (C) 1999 WIDE Project. All rights reserved. |
6 | * | 4 | * |
7 | * Redistribution and use in source and binary forms, with or without | 5 | * Redistribution and use in source and binary forms, with or without |
8 | * modification, are permitted provided that the following conditions | 6 | * modification, are permitted provided that the following conditions |
9 | * are met: | 7 | * are met: |
@@ -15,7 +13,7 @@ | |||
15 | * 3. Neither the name of the project nor the names of its contributors | 13 | * 3. Neither the name of the project nor the names of its contributors |
16 | * may be used to endorse or promote products derived from this software | 14 | * may be used to endorse or promote products derived from this software |
17 | * without specific prior written permission. | 15 | * without specific prior written permission. |
18 | * | 16 | * |
19 | * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND | 17 | * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND |
20 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
21 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 19 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
@@ -47,7 +45,7 @@ | |||
47 | #endif | 45 | #endif |
48 | 46 | ||
49 | /* | 47 | /* |
50 | * First, socket and INET6 related definitions | 48 | * First, socket and INET6 related definitions |
51 | */ | 49 | */ |
52 | #ifndef HAVE_STRUCT_SOCKADDR_STORAGE | 50 | #ifndef HAVE_STRUCT_SOCKADDR_STORAGE |
53 | # define _SS_MAXSIZE 128 /* Implementation specific max size */ | 51 | # define _SS_MAXSIZE 128 /* Implementation specific max size */ |
@@ -154,7 +152,7 @@ struct addrinfo { | |||
154 | # undef getaddrinfo | 152 | # undef getaddrinfo |
155 | #endif | 153 | #endif |
156 | #define getaddrinfo(a,b,c,d) (ssh_getaddrinfo(a,b,c,d)) | 154 | #define getaddrinfo(a,b,c,d) (ssh_getaddrinfo(a,b,c,d)) |
157 | int getaddrinfo(const char *, const char *, | 155 | int getaddrinfo(const char *, const char *, |
158 | const struct addrinfo *, struct addrinfo **); | 156 | const struct addrinfo *, struct addrinfo **); |
159 | #endif /* !HAVE_GETADDRINFO */ | 157 | #endif /* !HAVE_GETADDRINFO */ |
160 | 158 | ||
@@ -170,7 +168,7 @@ void freeaddrinfo(struct addrinfo *); | |||
170 | 168 | ||
171 | #ifndef HAVE_GETNAMEINFO | 169 | #ifndef HAVE_GETNAMEINFO |
172 | #define getnameinfo(a,b,c,d,e,f,g) (ssh_getnameinfo(a,b,c,d,e,f,g)) | 170 | #define getnameinfo(a,b,c,d,e,f,g) (ssh_getnameinfo(a,b,c,d,e,f,g)) |
173 | int getnameinfo(const struct sockaddr *, size_t, char *, size_t, | 171 | int getnameinfo(const struct sockaddr *, size_t, char *, size_t, |
174 | char *, size_t, int); | 172 | char *, size_t, int); |
175 | #endif /* !HAVE_GETNAMEINFO */ | 173 | #endif /* !HAVE_GETNAMEINFO */ |
176 | 174 | ||
diff --git a/openbsd-compat/getcwd.c b/openbsd-compat/getcwd.c index 3edbb9cba..e4f7f5a3d 100644 --- a/openbsd-compat/getcwd.c +++ b/openbsd-compat/getcwd.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* from OpenBSD: getcwd.c,v 1.14 2005/08/08 08:05:34 espie Exp */ | 1 | /* $OpenBSD: getcwd.c,v 1.14 2005/08/08 08:05:34 espie Exp */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 1989, 1991, 1993 | 3 | * Copyright (c) 1989, 1991, 1993 |
4 | * The Regents of the University of California. All rights reserved. | 4 | * The Regents of the University of California. All rights reserved. |
diff --git a/openbsd-compat/getgrouplist.c b/openbsd-compat/getgrouplist.c index 3afcb9281..3906cd629 100644 --- a/openbsd-compat/getgrouplist.c +++ b/openbsd-compat/getgrouplist.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* from OpenBSD: getgrouplist.c,v 1.12 2005/08/08 08:05:34 espie Exp */ | 1 | /* $OpenBSD: getgrouplist.c,v 1.12 2005/08/08 08:05:34 espie Exp */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 1991, 1993 | 3 | * Copyright (c) 1991, 1993 |
4 | * The Regents of the University of California. All rights reserved. | 4 | * The Regents of the University of California. All rights reserved. |
diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h index 37d2064cd..cff547745 100644 --- a/openbsd-compat/openbsd-compat.h +++ b/openbsd-compat/openbsd-compat.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: openbsd-compat.h,v 1.62 2014/09/30 23:43:08 djm Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 1999-2003 Damien Miller. All rights reserved. | 2 | * Copyright (c) 1999-2003 Damien Miller. All rights reserved. |
5 | * Copyright (c) 2003 Ben Lindstrom. All rights reserved. | 3 | * Copyright (c) 2003 Ben Lindstrom. All rights reserved. |
@@ -64,7 +62,7 @@ void closefrom(int); | |||
64 | 62 | ||
65 | #ifndef HAVE_GETCWD | 63 | #ifndef HAVE_GETCWD |
66 | char *getcwd(char *pt, size_t size); | 64 | char *getcwd(char *pt, size_t size); |
67 | #endif | 65 | #endif |
68 | 66 | ||
69 | #ifndef HAVE_REALLOCARRAY | 67 | #ifndef HAVE_REALLOCARRAY |
70 | void *reallocarray(void *, size_t, size_t); | 68 | void *reallocarray(void *, size_t, size_t); |
@@ -87,14 +85,16 @@ int rresvport_af(int *alport, sa_family_t af); | |||
87 | #endif | 85 | #endif |
88 | 86 | ||
89 | #ifndef HAVE_STRLCPY | 87 | #ifndef HAVE_STRLCPY |
90 | /* #include <sys/types.h> XXX Still needed? */ | ||
91 | size_t strlcpy(char *dst, const char *src, size_t siz); | 88 | size_t strlcpy(char *dst, const char *src, size_t siz); |
92 | #endif | 89 | #endif |
93 | 90 | ||
94 | #ifndef HAVE_STRLCAT | 91 | #ifndef HAVE_STRLCAT |
95 | /* #include <sys/types.h> XXX Still needed? */ | ||
96 | size_t strlcat(char *dst, const char *src, size_t siz); | 92 | size_t strlcat(char *dst, const char *src, size_t siz); |
97 | #endif | 93 | #endif |
94 | |||
95 | #ifndef HAVE_STRCASESTR | ||
96 | char *strcasestr(const char *, const char *); | ||
97 | #endif | ||
98 | 98 | ||
99 | #ifndef HAVE_SETENV | 99 | #ifndef HAVE_SETENV |
100 | int setenv(register const char *name, register const char *value, int rewrite); | 100 | int setenv(register const char *name, register const char *value, int rewrite); |
@@ -113,11 +113,11 @@ char *strptime(const char *buf, const char *fmt, struct tm *tm); | |||
113 | int mkstemps(char *path, int slen); | 113 | int mkstemps(char *path, int slen); |
114 | int mkstemp(char *path); | 114 | int mkstemp(char *path); |
115 | char *mkdtemp(char *path); | 115 | char *mkdtemp(char *path); |
116 | #endif | 116 | #endif |
117 | 117 | ||
118 | #ifndef HAVE_DAEMON | 118 | #ifndef HAVE_DAEMON |
119 | int daemon(int nochdir, int noclose); | 119 | int daemon(int nochdir, int noclose); |
120 | #endif | 120 | #endif |
121 | 121 | ||
122 | #ifndef HAVE_DIRNAME | 122 | #ifndef HAVE_DIRNAME |
123 | char *dirname(const char *path); | 123 | char *dirname(const char *path); |
@@ -142,7 +142,7 @@ const char *inet_ntop(int af, const void *src, char *dst, socklen_t size); | |||
142 | 142 | ||
143 | #ifndef HAVE_INET_ATON | 143 | #ifndef HAVE_INET_ATON |
144 | int inet_aton(const char *cp, struct in_addr *addr); | 144 | int inet_aton(const char *cp, struct in_addr *addr); |
145 | #endif | 145 | #endif |
146 | 146 | ||
147 | #ifndef HAVE_STRSEP | 147 | #ifndef HAVE_STRSEP |
148 | char *strsep(char **stringp, const char *delim); | 148 | char *strsep(char **stringp, const char *delim); |
@@ -154,7 +154,6 @@ void compat_init_setproctitle(int argc, char *argv[]); | |||
154 | #endif | 154 | #endif |
155 | 155 | ||
156 | #ifndef HAVE_GETGROUPLIST | 156 | #ifndef HAVE_GETGROUPLIST |
157 | /* #include <grp.h> XXXX Still needed ? */ | ||
158 | int getgrouplist(const char *, gid_t, gid_t *, int *); | 157 | int getgrouplist(const char *, gid_t, gid_t *, int *); |
159 | #endif | 158 | #endif |
160 | 159 | ||
@@ -199,18 +198,16 @@ u_int32_t arc4random_uniform(u_int32_t); | |||
199 | 198 | ||
200 | #ifndef HAVE_ASPRINTF | 199 | #ifndef HAVE_ASPRINTF |
201 | int asprintf(char **, const char *, ...); | 200 | int asprintf(char **, const char *, ...); |
202 | #endif | 201 | #endif |
203 | 202 | ||
204 | #ifndef HAVE_OPENPTY | 203 | #ifndef HAVE_OPENPTY |
205 | # include <sys/ioctl.h> /* for struct winsize */ | 204 | # include <sys/ioctl.h> /* for struct winsize */ |
206 | int openpty(int *, int *, char *, struct termios *, struct winsize *); | 205 | int openpty(int *, int *, char *, struct termios *, struct winsize *); |
207 | #endif /* HAVE_OPENPTY */ | 206 | #endif /* HAVE_OPENPTY */ |
208 | 207 | ||
209 | /* #include <sys/types.h> XXX needed? For size_t */ | ||
210 | |||
211 | #ifndef HAVE_SNPRINTF | 208 | #ifndef HAVE_SNPRINTF |
212 | int snprintf(char *, size_t, SNPRINTF_CONST char *, ...); | 209 | int snprintf(char *, size_t, SNPRINTF_CONST char *, ...); |
213 | #endif | 210 | #endif |
214 | 211 | ||
215 | #ifndef HAVE_STRTOLL | 212 | #ifndef HAVE_STRTOLL |
216 | long long strtoll(const char *, char **, int); | 213 | long long strtoll(const char *, char **, int); |
@@ -299,7 +296,6 @@ int bcrypt_pbkdf(const char *, size_t, const u_int8_t *, size_t, | |||
299 | void explicit_bzero(void *p, size_t n); | 296 | void explicit_bzero(void *p, size_t n); |
300 | #endif | 297 | #endif |
301 | 298 | ||
302 | void *xmmap(size_t size); | ||
303 | char *xcrypt(const char *password, const char *salt); | 299 | char *xcrypt(const char *password, const char *salt); |
304 | char *shadow_pw(struct passwd *pw); | 300 | char *shadow_pw(struct passwd *pw); |
305 | 301 | ||
diff --git a/openbsd-compat/openssl-compat.c b/openbsd-compat/openssl-compat.c index 63a660c7a..259fccbec 100644 --- a/openbsd-compat/openssl-compat.c +++ b/openbsd-compat/openssl-compat.c | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: openssl-compat.c,v 1.19 2014/07/02 05:28:07 djm Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2005 Darren Tucker <dtucker@zip.com.au> | 2 | * Copyright (c) 2005 Darren Tucker <dtucker@zip.com.au> |
5 | * | 3 | * |
@@ -55,7 +53,7 @@ ssh_compatible_openssl(long headerver, long libver) | |||
55 | mask = 0xfffff00fL; /* major,minor,fix,status */ | 53 | mask = 0xfffff00fL; /* major,minor,fix,status */ |
56 | return (headerver & mask) == (libver & mask); | 54 | return (headerver & mask) == (libver & mask); |
57 | } | 55 | } |
58 | 56 | ||
59 | /* | 57 | /* |
60 | * For versions >= 1.0.0, major,minor,status must match and library | 58 | * For versions >= 1.0.0, major,minor,status must match and library |
61 | * fix version must be equal to or newer than the header. | 59 | * fix version must be equal to or newer than the header. |
diff --git a/openbsd-compat/openssl-compat.h b/openbsd-compat/openssl-compat.h index 8917551d3..2ae42bacf 100644 --- a/openbsd-compat/openssl-compat.h +++ b/openbsd-compat/openssl-compat.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: openssl-compat.h,v 1.31 2014/08/29 18:18:29 djm Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2005 Darren Tucker <dtucker@zip.com.au> | 2 | * Copyright (c) 2005 Darren Tucker <dtucker@zip.com.au> |
5 | * | 3 | * |
@@ -71,6 +69,12 @@ void ssh_aes_ctr_iv(EVP_CIPHER_CTX *, int, u_char *, size_t); | |||
71 | # endif | 69 | # endif |
72 | #endif | 70 | #endif |
73 | 71 | ||
72 | #if defined(HAVE_EVP_RIPEMD160) | ||
73 | # if defined(OPENSSL_NO_RIPEMD) || defined(OPENSSL_NO_RMD160) | ||
74 | # undef HAVE_EVP_RIPEMD160 | ||
75 | # endif | ||
76 | #endif | ||
77 | |||
74 | /* | 78 | /* |
75 | * We overload some of the OpenSSL crypto functions with ssh_* equivalents | 79 | * We overload some of the OpenSSL crypto functions with ssh_* equivalents |
76 | * to automatically handle OpenSSL engine initialisation. | 80 | * to automatically handle OpenSSL engine initialisation. |
diff --git a/openbsd-compat/port-aix.c b/openbsd-compat/port-aix.c index 8da367d48..c2970c4db 100644 --- a/openbsd-compat/port-aix.c +++ b/openbsd-compat/port-aix.c | |||
@@ -179,7 +179,7 @@ sys_auth_passwd(Authctxt *ctxt, const char *password) | |||
179 | do { | 179 | do { |
180 | result = authenticate((char *)name, (char *)password, &reenter, | 180 | result = authenticate((char *)name, (char *)password, &reenter, |
181 | &authmsg); | 181 | &authmsg); |
182 | aix_remove_embedded_newlines(authmsg); | 182 | aix_remove_embedded_newlines(authmsg); |
183 | debug3("AIX/authenticate result %d, authmsg %.100s", result, | 183 | debug3("AIX/authenticate result %d, authmsg %.100s", result, |
184 | authmsg); | 184 | authmsg); |
185 | } while (reenter); | 185 | } while (reenter); |
@@ -337,11 +337,11 @@ aix_setauthdb(const char *user) | |||
337 | debug3("%s: Could not open userdb to read", __func__); | 337 | debug3("%s: Could not open userdb to read", __func__); |
338 | return; | 338 | return; |
339 | } | 339 | } |
340 | 340 | ||
341 | if (getuserattr((char *)user, S_REGISTRY, ®istry, SEC_CHAR) == 0) { | 341 | if (getuserattr((char *)user, S_REGISTRY, ®istry, SEC_CHAR) == 0) { |
342 | if (setauthdb(registry, old_registry) == 0) | 342 | if (setauthdb(registry, old_registry) == 0) |
343 | debug3("AIX/setauthdb set registry '%s'", registry); | 343 | debug3("AIX/setauthdb set registry '%s'", registry); |
344 | else | 344 | else |
345 | debug3("AIX/setauthdb set registry '%s' failed: %s", | 345 | debug3("AIX/setauthdb set registry '%s' failed: %s", |
346 | registry, strerror(errno)); | 346 | registry, strerror(errno)); |
347 | } else | 347 | } else |
diff --git a/openbsd-compat/port-aix.h b/openbsd-compat/port-aix.h index 53e4e88a0..9c0a4dd3e 100644 --- a/openbsd-compat/port-aix.h +++ b/openbsd-compat/port-aix.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: port-aix.h,v 1.32 2009/12/20 23:49:22 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * | 2 | * |
5 | * Copyright (c) 2001 Gert Doering. All rights reserved. | 3 | * Copyright (c) 2001 Gert Doering. All rights reserved. |
diff --git a/openbsd-compat/port-irix.c b/openbsd-compat/port-irix.c index ba751a538..525b02909 100644 --- a/openbsd-compat/port-irix.c +++ b/openbsd-compat/port-irix.c | |||
@@ -47,42 +47,42 @@ void | |||
47 | irix_setusercontext(struct passwd *pw) | 47 | irix_setusercontext(struct passwd *pw) |
48 | { | 48 | { |
49 | #ifdef WITH_IRIX_PROJECT | 49 | #ifdef WITH_IRIX_PROJECT |
50 | prid_t projid; | 50 | prid_t projid; |
51 | #endif | 51 | #endif |
52 | #ifdef WITH_IRIX_JOBS | 52 | #ifdef WITH_IRIX_JOBS |
53 | jid_t jid = 0; | 53 | jid_t jid = 0; |
54 | #elif defined(WITH_IRIX_ARRAY) | 54 | #elif defined(WITH_IRIX_ARRAY) |
55 | int jid = 0; | 55 | int jid = 0; |
56 | #endif | 56 | #endif |
57 | 57 | ||
58 | #ifdef WITH_IRIX_JOBS | 58 | #ifdef WITH_IRIX_JOBS |
59 | jid = jlimit_startjob(pw->pw_name, pw->pw_uid, "interactive"); | 59 | jid = jlimit_startjob(pw->pw_name, pw->pw_uid, "interactive"); |
60 | if (jid == -1) | 60 | if (jid == -1) |
61 | fatal("Failed to create job container: %.100s", | 61 | fatal("Failed to create job container: %.100s", |
62 | strerror(errno)); | 62 | strerror(errno)); |
63 | #endif /* WITH_IRIX_JOBS */ | 63 | #endif /* WITH_IRIX_JOBS */ |
64 | #ifdef WITH_IRIX_ARRAY | 64 | #ifdef WITH_IRIX_ARRAY |
65 | /* initialize array session */ | 65 | /* initialize array session */ |
66 | if (jid == 0 && newarraysess() != 0) | 66 | if (jid == 0 && newarraysess() != 0) |
67 | fatal("Failed to set up new array session: %.100s", | 67 | fatal("Failed to set up new array session: %.100s", |
68 | strerror(errno)); | 68 | strerror(errno)); |
69 | #endif /* WITH_IRIX_ARRAY */ | 69 | #endif /* WITH_IRIX_ARRAY */ |
70 | #ifdef WITH_IRIX_PROJECT | 70 | #ifdef WITH_IRIX_PROJECT |
71 | /* initialize irix project info */ | 71 | /* initialize irix project info */ |
72 | if ((projid = getdfltprojuser(pw->pw_name)) == -1) { | 72 | if ((projid = getdfltprojuser(pw->pw_name)) == -1) { |
73 | debug("Failed to get project id, using projid 0"); | 73 | debug("Failed to get project id, using projid 0"); |
74 | projid = 0; | 74 | projid = 0; |
75 | } | 75 | } |
76 | if (setprid(projid)) | 76 | if (setprid(projid)) |
77 | fatal("Failed to initialize project %d for %s: %.100s", | 77 | fatal("Failed to initialize project %d for %s: %.100s", |
78 | (int)projid, pw->pw_name, strerror(errno)); | 78 | (int)projid, pw->pw_name, strerror(errno)); |
79 | #endif /* WITH_IRIX_PROJECT */ | 79 | #endif /* WITH_IRIX_PROJECT */ |
80 | #ifdef WITH_IRIX_AUDIT | 80 | #ifdef WITH_IRIX_AUDIT |
81 | if (sysconf(_SC_AUDIT)) { | 81 | if (sysconf(_SC_AUDIT)) { |
82 | debug("Setting sat id to %d", (int) pw->pw_uid); | 82 | debug("Setting sat id to %d", (int) pw->pw_uid); |
83 | if (satsetid(pw->pw_uid)) | 83 | if (satsetid(pw->pw_uid)) |
84 | debug("error setting satid: %.100s", strerror(errno)); | 84 | debug("error setting satid: %.100s", strerror(errno)); |
85 | } | 85 | } |
86 | #endif /* WITH_IRIX_AUDIT */ | 86 | #endif /* WITH_IRIX_AUDIT */ |
87 | } | 87 | } |
88 | 88 | ||
diff --git a/openbsd-compat/port-irix.h b/openbsd-compat/port-irix.h index 67c486307..bc8cc44ac 100644 --- a/openbsd-compat/port-irix.h +++ b/openbsd-compat/port-irix.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: port-irix.h,v 1.4 2003/08/29 16:59:52 mouring Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2000 Denis Parker. All rights reserved. | 2 | * Copyright (c) 2000 Denis Parker. All rights reserved. |
5 | * Copyright (c) 2000 Michael Stone. All rights reserved. | 3 | * Copyright (c) 2000 Michael Stone. All rights reserved. |
diff --git a/openbsd-compat/port-linux.c b/openbsd-compat/port-linux.c index f36999d7a..e4c5d1b7c 100644 --- a/openbsd-compat/port-linux.c +++ b/openbsd-compat/port-linux.c | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: port-linux.c,v 1.18 2013/06/01 22:07:32 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2005 Daniel Walsh <dwalsh@redhat.com> | 2 | * Copyright (c) 2005 Daniel Walsh <dwalsh@redhat.com> |
5 | * Copyright (c) 2006 Damien Miller <djm@openbsd.org> | 3 | * Copyright (c) 2006 Damien Miller <djm@openbsd.org> |
diff --git a/openbsd-compat/port-linux.h b/openbsd-compat/port-linux.h index e3d1004aa..3c22a854d 100644 --- a/openbsd-compat/port-linux.h +++ b/openbsd-compat/port-linux.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: port-linux.h,v 1.5 2011/01/25 01:16:18 djm Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2006 Damien Miller <djm@openbsd.org> | 2 | * Copyright (c) 2006 Damien Miller <djm@openbsd.org> |
5 | * | 3 | * |
diff --git a/openbsd-compat/port-solaris.c b/openbsd-compat/port-solaris.c index e36e412d7..0e89dc326 100644 --- a/openbsd-compat/port-solaris.c +++ b/openbsd-compat/port-solaris.c | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: port-solaris.c,v 1.4 2010/11/05 01:03:05 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2006 Chad Mynhier. | 2 | * Copyright (c) 2006 Chad Mynhier. |
5 | * | 3 | * |
@@ -215,7 +213,7 @@ solaris_set_default_project(struct passwd *pw) | |||
215 | 213 | ||
216 | /* get default project, if we fail just return gracefully */ | 214 | /* get default project, if we fail just return gracefully */ |
217 | if ((defaultproject = getdefaultproj(pw->pw_name, &tempproject, &buf, | 215 | if ((defaultproject = getdefaultproj(pw->pw_name, &tempproject, &buf, |
218 | sizeof(buf))) > 0) { | 216 | sizeof(buf))) != NULL) { |
219 | /* set default project */ | 217 | /* set default project */ |
220 | if (setproject(defaultproject->pj_name, pw->pw_name, | 218 | if (setproject(defaultproject->pj_name, pw->pw_name, |
221 | TASK_NORMAL) != 0) | 219 | TASK_NORMAL) != 0) |
diff --git a/openbsd-compat/port-solaris.h b/openbsd-compat/port-solaris.h index a7cb5eb30..dde1a5b8b 100644 --- a/openbsd-compat/port-solaris.h +++ b/openbsd-compat/port-solaris.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: port-solaris.h,v 1.2 2010/11/05 01:03:05 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2006 Chad Mynhier. | 2 | * Copyright (c) 2006 Chad Mynhier. |
5 | * | 3 | * |
diff --git a/openbsd-compat/port-tun.c b/openbsd-compat/port-tun.c index 49e7b4d99..a444adf1d 100644 --- a/openbsd-compat/port-tun.c +++ b/openbsd-compat/port-tun.c | |||
@@ -68,7 +68,7 @@ sys_tun_open(int tun, int mode) | |||
68 | return (-1); | 68 | return (-1); |
69 | } | 69 | } |
70 | 70 | ||
71 | bzero(&ifr, sizeof(ifr)); | 71 | bzero(&ifr, sizeof(ifr)); |
72 | 72 | ||
73 | if (mode == SSH_TUNMODE_ETHERNET) { | 73 | if (mode == SSH_TUNMODE_ETHERNET) { |
74 | ifr.ifr_flags = IFF_TAP; | 74 | ifr.ifr_flags = IFF_TAP; |
diff --git a/openbsd-compat/readpassphrase.c b/openbsd-compat/readpassphrase.c index d63cdf2f0..24aed6e46 100644 --- a/openbsd-compat/readpassphrase.c +++ b/openbsd-compat/readpassphrase.c | |||
@@ -1,7 +1,8 @@ | |||
1 | /* $OpenBSD: readpassphrase.c,v 1.22 2010/01/13 10:20:54 dtucker Exp $ */ | 1 | /* $OpenBSD: readpassphrase.c,v 1.26 2016/10/18 12:47:18 millert Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2000-2002, 2007 Todd C. Miller <Todd.Miller@courtesan.com> | 4 | * Copyright (c) 2000-2002, 2007, 2010 |
5 | * Todd C. Miller <Todd.Miller@courtesan.com> | ||
5 | * | 6 | * |
6 | * Permission to use, copy, modify, and distribute this software for any | 7 | * Permission to use, copy, modify, and distribute this software for any |
7 | * purpose with or without fee is hereby granted, provided that the above | 8 | * purpose with or without fee is hereby granted, provided that the above |
@@ -35,10 +36,9 @@ | |||
35 | #include <string.h> | 36 | #include <string.h> |
36 | #include <unistd.h> | 37 | #include <unistd.h> |
37 | 38 | ||
38 | #ifdef TCSASOFT | 39 | #ifndef TCSASOFT |
39 | # define _T_FLUSH (TCSAFLUSH|TCSASOFT) | 40 | /* If we don't have TCSASOFT define it so that ORing it it below is a no-op. */ |
40 | #else | 41 | # define TCSASOFT 0 |
41 | # define _T_FLUSH (TCSAFLUSH) | ||
42 | #endif | 42 | #endif |
43 | 43 | ||
44 | /* SunOS 4.x which lacks _POSIX_VDISABLE, but has VDISABLE */ | 44 | /* SunOS 4.x which lacks _POSIX_VDISABLE, but has VDISABLE */ |
@@ -95,6 +95,27 @@ restart: | |||
95 | } | 95 | } |
96 | 96 | ||
97 | /* | 97 | /* |
98 | * Turn off echo if possible. | ||
99 | * If we are using a tty but are not the foreground pgrp this will | ||
100 | * generate SIGTTOU, so do it *before* installing the signal handlers. | ||
101 | */ | ||
102 | if (input != STDIN_FILENO && tcgetattr(input, &oterm) == 0) { | ||
103 | memcpy(&term, &oterm, sizeof(term)); | ||
104 | if (!(flags & RPP_ECHO_ON)) | ||
105 | term.c_lflag &= ~(ECHO | ECHONL); | ||
106 | #ifdef VSTATUS | ||
107 | if (term.c_cc[VSTATUS] != _POSIX_VDISABLE) | ||
108 | term.c_cc[VSTATUS] = _POSIX_VDISABLE; | ||
109 | #endif | ||
110 | (void)tcsetattr(input, TCSAFLUSH|TCSASOFT, &term); | ||
111 | } else { | ||
112 | memset(&term, 0, sizeof(term)); | ||
113 | term.c_lflag |= ECHO; | ||
114 | memset(&oterm, 0, sizeof(oterm)); | ||
115 | oterm.c_lflag |= ECHO; | ||
116 | } | ||
117 | |||
118 | /* | ||
98 | * Catch signals that would otherwise cause the user to end | 119 | * Catch signals that would otherwise cause the user to end |
99 | * up with echo turned off in the shell. Don't worry about | 120 | * up with echo turned off in the shell. Don't worry about |
100 | * things like SIGXCPU and SIGVTALRM for now. | 121 | * things like SIGXCPU and SIGVTALRM for now. |
@@ -112,53 +133,37 @@ restart: | |||
112 | (void)sigaction(SIGTTIN, &sa, &savettin); | 133 | (void)sigaction(SIGTTIN, &sa, &savettin); |
113 | (void)sigaction(SIGTTOU, &sa, &savettou); | 134 | (void)sigaction(SIGTTOU, &sa, &savettou); |
114 | 135 | ||
115 | /* Turn off echo if possible. */ | 136 | if (!(flags & RPP_STDIN)) |
116 | if (input != STDIN_FILENO && tcgetattr(input, &oterm) == 0) { | 137 | (void)write(output, prompt, strlen(prompt)); |
117 | memcpy(&term, &oterm, sizeof(term)); | 138 | end = buf + bufsiz - 1; |
118 | if (!(flags & RPP_ECHO_ON)) | 139 | p = buf; |
119 | term.c_lflag &= ~(ECHO | ECHONL); | 140 | while ((nr = read(input, &ch, 1)) == 1 && ch != '\n' && ch != '\r') { |
120 | #ifdef VSTATUS | 141 | if (p < end) { |
121 | if (term.c_cc[VSTATUS] != _POSIX_VDISABLE) | 142 | if ((flags & RPP_SEVENBIT)) |
122 | term.c_cc[VSTATUS] = _POSIX_VDISABLE; | 143 | ch &= 0x7f; |
123 | #endif | 144 | if (isalpha((unsigned char)ch)) { |
124 | (void)tcsetattr(input, _T_FLUSH, &term); | 145 | if ((flags & RPP_FORCELOWER)) |
125 | } else { | 146 | ch = (char)tolower((unsigned char)ch); |
126 | memset(&term, 0, sizeof(term)); | 147 | if ((flags & RPP_FORCEUPPER)) |
127 | term.c_lflag |= ECHO; | 148 | ch = (char)toupper((unsigned char)ch); |
128 | memset(&oterm, 0, sizeof(oterm)); | ||
129 | oterm.c_lflag |= ECHO; | ||
130 | } | ||
131 | |||
132 | /* No I/O if we are already backgrounded. */ | ||
133 | if (signo[SIGTTOU] != 1 && signo[SIGTTIN] != 1) { | ||
134 | if (!(flags & RPP_STDIN)) | ||
135 | (void)write(output, prompt, strlen(prompt)); | ||
136 | end = buf + bufsiz - 1; | ||
137 | p = buf; | ||
138 | while ((nr = read(input, &ch, 1)) == 1 && ch != '\n' && ch != '\r') { | ||
139 | if (p < end) { | ||
140 | if ((flags & RPP_SEVENBIT)) | ||
141 | ch &= 0x7f; | ||
142 | if (isalpha(ch)) { | ||
143 | if ((flags & RPP_FORCELOWER)) | ||
144 | ch = (char)tolower(ch); | ||
145 | if ((flags & RPP_FORCEUPPER)) | ||
146 | ch = (char)toupper(ch); | ||
147 | } | ||
148 | *p++ = ch; | ||
149 | } | 149 | } |
150 | *p++ = ch; | ||
150 | } | 151 | } |
151 | *p = '\0'; | ||
152 | save_errno = errno; | ||
153 | if (!(term.c_lflag & ECHO)) | ||
154 | (void)write(output, "\n", 1); | ||
155 | } | 152 | } |
153 | *p = '\0'; | ||
154 | save_errno = errno; | ||
155 | if (!(term.c_lflag & ECHO)) | ||
156 | (void)write(output, "\n", 1); | ||
156 | 157 | ||
157 | /* Restore old terminal settings and signals. */ | 158 | /* Restore old terminal settings and signals. */ |
158 | if (memcmp(&term, &oterm, sizeof(term)) != 0) { | 159 | if (memcmp(&term, &oterm, sizeof(term)) != 0) { |
159 | while (tcsetattr(input, _T_FLUSH, &oterm) == -1 && | 160 | const int sigttou = signo[SIGTTOU]; |
160 | errno == EINTR) | 161 | |
162 | /* Ignore SIGTTOU generated when we are not the fg pgrp. */ | ||
163 | while (tcsetattr(input, TCSAFLUSH|TCSASOFT, &oterm) == -1 && | ||
164 | errno == EINTR && !signo[SIGTTOU]) | ||
161 | continue; | 165 | continue; |
166 | signo[SIGTTOU] = sigttou; | ||
162 | } | 167 | } |
163 | (void)sigaction(SIGALRM, &savealrm, NULL); | 168 | (void)sigaction(SIGALRM, &savealrm, NULL); |
164 | (void)sigaction(SIGHUP, &savehup, NULL); | 169 | (void)sigaction(SIGHUP, &savehup, NULL); |
@@ -194,6 +199,7 @@ restart: | |||
194 | errno = save_errno; | 199 | errno = save_errno; |
195 | return(nr == -1 ? NULL : buf); | 200 | return(nr == -1 ? NULL : buf); |
196 | } | 201 | } |
202 | DEF_WEAK(readpassphrase); | ||
197 | 203 | ||
198 | #if 0 | 204 | #if 0 |
199 | char * | 205 | char * |
diff --git a/openbsd-compat/setproctitle.c b/openbsd-compat/setproctitle.c index 9f7ca14c2..2b15c6e00 100644 --- a/openbsd-compat/setproctitle.c +++ b/openbsd-compat/setproctitle.c | |||
@@ -76,7 +76,7 @@ compat_init_setproctitle(int argc, char *argv[]) | |||
76 | 76 | ||
77 | /* | 77 | /* |
78 | * NB: This assumes that argv has already been copied out of the | 78 | * NB: This assumes that argv has already been copied out of the |
79 | * way. This is true for sshd, but may not be true for other | 79 | * way. This is true for sshd, but may not be true for other |
80 | * programs. Beware. | 80 | * programs. Beware. |
81 | */ | 81 | */ |
82 | 82 | ||
@@ -92,7 +92,7 @@ compat_init_setproctitle(int argc, char *argv[]) | |||
92 | } | 92 | } |
93 | 93 | ||
94 | /* | 94 | /* |
95 | * Find the last argv string or environment variable within | 95 | * Find the last argv string or environment variable within |
96 | * our process memory area. | 96 | * our process memory area. |
97 | */ | 97 | */ |
98 | for (i = 0; i < argc; i++) { | 98 | for (i = 0; i < argc; i++) { |
@@ -108,8 +108,8 @@ compat_init_setproctitle(int argc, char *argv[]) | |||
108 | argv_start = argv[0]; | 108 | argv_start = argv[0]; |
109 | argv_env_len = lastargv - argv[0] - 1; | 109 | argv_env_len = lastargv - argv[0] - 1; |
110 | 110 | ||
111 | /* | 111 | /* |
112 | * Copy environment | 112 | * Copy environment |
113 | * XXX - will truncate env on strdup fail | 113 | * XXX - will truncate env on strdup fail |
114 | */ | 114 | */ |
115 | for (i = 0; envp[i] != NULL; i++) | 115 | for (i = 0; envp[i] != NULL; i++) |
@@ -156,7 +156,7 @@ setproctitle(const char *fmt, ...) | |||
156 | pst.pst_command = ptitle; | 156 | pst.pst_command = ptitle; |
157 | pstat(PSTAT_SETCMD, pst, strlen(ptitle), 0, 0); | 157 | pstat(PSTAT_SETCMD, pst, strlen(ptitle), 0, 0); |
158 | #elif SPT_TYPE == SPT_REUSEARGV | 158 | #elif SPT_TYPE == SPT_REUSEARGV |
159 | /* debug("setproctitle: copy \"%s\" into len %d", | 159 | /* debug("setproctitle: copy \"%s\" into len %d", |
160 | buf, argv_env_len); */ | 160 | buf, argv_env_len); */ |
161 | len = strlcpy(argv_start, ptitle, argv_env_len); | 161 | len = strlcpy(argv_start, ptitle, argv_env_len); |
162 | for(; len < argv_env_len; len++) | 162 | for(; len < argv_env_len; len++) |
diff --git a/openbsd-compat/sha2.c b/openbsd-compat/sha2.c index 737935d46..a22099bbe 100644 --- a/openbsd-compat/sha2.c +++ b/openbsd-compat/sha2.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* from OpenBSD: sha2.c,v 1.11 2005/08/08 08:05:35 espie Exp */ | 1 | /* $OpenBSD: sha2.c,v 1.11 2005/08/08 08:05:35 espie Exp */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * FILE: sha2.c | 4 | * FILE: sha2.c |
diff --git a/openbsd-compat/sha2.h b/openbsd-compat/sha2.h index c8bfc3cd1..c6e6c97a5 100644 --- a/openbsd-compat/sha2.h +++ b/openbsd-compat/sha2.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* OpenBSD: sha2.h,v 1.6 2004/06/22 01:57:30 jfb Exp */ | 1 | /* $OpenBSD: sha2.h,v 1.6 2004/06/22 01:57:30 jfb Exp */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * FILE: sha2.h | 4 | * FILE: sha2.h |
diff --git a/openbsd-compat/strcasestr.c b/openbsd-compat/strcasestr.c new file mode 100644 index 000000000..4c4d1475a --- /dev/null +++ b/openbsd-compat/strcasestr.c | |||
@@ -0,0 +1,69 @@ | |||
1 | /* $OpenBSD: strcasestr.c,v 1.4 2015/08/31 02:53:57 guenther Exp $ */ | ||
2 | /* $NetBSD: strcasestr.c,v 1.2 2005/02/09 21:35:47 kleink Exp $ */ | ||
3 | |||
4 | /*- | ||
5 | * Copyright (c) 1990, 1993 | ||
6 | * The Regents of the University of California. All rights reserved. | ||
7 | * | ||
8 | * This code is derived from software contributed to Berkeley by | ||
9 | * Chris Torek. | ||
10 | * | ||
11 | * Redistribution and use in source and binary forms, with or without | ||
12 | * modification, are permitted provided that the following conditions | ||
13 | * are met: | ||
14 | * 1. Redistributions of source code must retain the above copyright | ||
15 | * notice, this list of conditions and the following disclaimer. | ||
16 | * 2. Redistributions in binary form must reproduce the above copyright | ||
17 | * notice, this list of conditions and the following disclaimer in the | ||
18 | * documentation and/or other materials provided with the distribution. | ||
19 | * 3. Neither the name of the University nor the names of its contributors | ||
20 | * may be used to endorse or promote products derived from this software | ||
21 | * without specific prior written permission. | ||
22 | * | ||
23 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | ||
24 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
25 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
26 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | ||
27 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
28 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
29 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
30 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
31 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
32 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
33 | * SUCH DAMAGE. | ||
34 | */ | ||
35 | |||
36 | /* OPENBSD ORIGINAL: lib/libc/string/strcasestr.c */ | ||
37 | |||
38 | #include "includes.h" | ||
39 | |||
40 | #ifndef HAVE_STRCASESTR | ||
41 | |||
42 | #include <ctype.h> | ||
43 | #include <string.h> | ||
44 | |||
45 | /* | ||
46 | * Find the first occurrence of find in s, ignore case. | ||
47 | */ | ||
48 | char * | ||
49 | strcasestr(const char *s, const char *find) | ||
50 | { | ||
51 | char c, sc; | ||
52 | size_t len; | ||
53 | |||
54 | if ((c = *find++) != 0) { | ||
55 | c = (char)tolower((unsigned char)c); | ||
56 | len = strlen(find); | ||
57 | do { | ||
58 | do { | ||
59 | if ((sc = *s++) == 0) | ||
60 | return (NULL); | ||
61 | } while ((char)tolower((unsigned char)sc) != c); | ||
62 | } while (strncasecmp(s, find, len) != 0); | ||
63 | s--; | ||
64 | } | ||
65 | return ((char *)s); | ||
66 | } | ||
67 | DEF_WEAK(strcasestr); | ||
68 | |||
69 | #endif | ||
diff --git a/openbsd-compat/vis.c b/openbsd-compat/vis.c index 3cef6bafd..0e04ed025 100644 --- a/openbsd-compat/vis.c +++ b/openbsd-compat/vis.c | |||
@@ -33,12 +33,6 @@ | |||
33 | #include "includes.h" | 33 | #include "includes.h" |
34 | #if !defined(HAVE_STRNVIS) || defined(BROKEN_STRNVIS) | 34 | #if !defined(HAVE_STRNVIS) || defined(BROKEN_STRNVIS) |
35 | 35 | ||
36 | /* | ||
37 | * We want these to override in the BROKEN_STRNVIS case. TO avoid future sync | ||
38 | * problems no-op out the weak symbol definition rather than remove it. | ||
39 | */ | ||
40 | #define DEF_WEAK(x) | ||
41 | |||
42 | #include <sys/types.h> | 36 | #include <sys/types.h> |
43 | #include <errno.h> | 37 | #include <errno.h> |
44 | #include <ctype.h> | 38 | #include <ctype.h> |
diff --git a/openbsd-compat/xcrypt.c b/openbsd-compat/xcrypt.c index cf6a9b99f..c9c6283cc 100644 --- a/openbsd-compat/xcrypt.c +++ b/openbsd-compat/xcrypt.c | |||
@@ -42,7 +42,7 @@ | |||
42 | # include <sys/security.h> | 42 | # include <sys/security.h> |
43 | # include <sys/audit.h> | 43 | # include <sys/audit.h> |
44 | # include <prot.h> | 44 | # include <prot.h> |
45 | # endif | 45 | # endif |
46 | 46 | ||
47 | # if defined(HAVE_SHADOW_H) && !defined(DISABLE_SHADOW) | 47 | # if defined(HAVE_SHADOW_H) && !defined(DISABLE_SHADOW) |
48 | # include <shadow.h> | 48 | # include <shadow.h> |
@@ -108,20 +108,20 @@ xcrypt(const char *password, const char *salt) | |||
108 | salt = pick_salt(); | 108 | salt = pick_salt(); |
109 | 109 | ||
110 | # ifdef HAVE_MD5_PASSWORDS | 110 | # ifdef HAVE_MD5_PASSWORDS |
111 | if (is_md5_salt(salt)) | 111 | if (is_md5_salt(salt)) |
112 | crypted = md5_crypt(password, salt); | 112 | crypted = md5_crypt(password, salt); |
113 | else | 113 | else |
114 | crypted = crypt(password, salt); | 114 | crypted = crypt(password, salt); |
115 | # elif defined(__hpux) && !defined(HAVE_SECUREWARE) | 115 | # elif defined(__hpux) && !defined(HAVE_SECUREWARE) |
116 | if (iscomsec()) | 116 | if (iscomsec()) |
117 | crypted = bigcrypt(password, salt); | 117 | crypted = bigcrypt(password, salt); |
118 | else | 118 | else |
119 | crypted = crypt(password, salt); | 119 | crypted = crypt(password, salt); |
120 | # elif defined(HAVE_SECUREWARE) | 120 | # elif defined(HAVE_SECUREWARE) |
121 | crypted = bigcrypt(password, salt); | 121 | crypted = bigcrypt(password, salt); |
122 | # else | 122 | # else |
123 | crypted = crypt(password, salt); | 123 | crypted = crypt(password, salt); |
124 | # endif | 124 | # endif |
125 | 125 | ||
126 | return crypted; | 126 | return crypted; |
127 | } | 127 | } |
diff --git a/openbsd-compat/xmmap.c b/openbsd-compat/xmmap.c deleted file mode 100644 index 04c6babc2..000000000 --- a/openbsd-compat/xmmap.c +++ /dev/null | |||
@@ -1,88 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2002 Tim Rice. All rights reserved. | ||
3 | * MAP_FAILED code by Solar Designer. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions | ||
7 | * are met: | ||
8 | * 1. Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * 2. Redistributions in binary form must reproduce the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer in the | ||
12 | * documentation and/or other materials provided with the distribution. | ||
13 | * | ||
14 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | ||
15 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
16 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
17 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
18 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
19 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
20 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
21 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
22 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
23 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
24 | */ | ||
25 | |||
26 | /* $Id: xmmap.c,v 1.15 2009/02/16 04:21:40 djm Exp $ */ | ||
27 | |||
28 | #include "includes.h" | ||
29 | |||
30 | #include <sys/types.h> | ||
31 | #ifdef HAVE_SYS_MMAN_H | ||
32 | #include <sys/mman.h> | ||
33 | #endif | ||
34 | #include <sys/stat.h> | ||
35 | |||
36 | #ifdef HAVE_FCNTL_H | ||
37 | # include <fcntl.h> | ||
38 | #endif | ||
39 | #include <errno.h> | ||
40 | #include <stdarg.h> | ||
41 | #include <stdlib.h> | ||
42 | #include <string.h> | ||
43 | #include <unistd.h> | ||
44 | |||
45 | #include "log.h" | ||
46 | |||
47 | void * | ||
48 | xmmap(size_t size) | ||
49 | { | ||
50 | #ifdef HAVE_MMAP | ||
51 | void *address; | ||
52 | |||
53 | # ifdef MAP_ANON | ||
54 | address = mmap(NULL, size, PROT_WRITE|PROT_READ, MAP_ANON|MAP_SHARED, | ||
55 | -1, (off_t)0); | ||
56 | # else | ||
57 | address = mmap(NULL, size, PROT_WRITE|PROT_READ, MAP_SHARED, | ||
58 | open("/dev/zero", O_RDWR), (off_t)0); | ||
59 | # endif | ||
60 | |||
61 | #define MM_SWAP_TEMPLATE "/var/run/sshd.mm.XXXXXXXX" | ||
62 | if (address == (void *)MAP_FAILED) { | ||
63 | char tmpname[sizeof(MM_SWAP_TEMPLATE)] = MM_SWAP_TEMPLATE; | ||
64 | int tmpfd; | ||
65 | mode_t old_umask; | ||
66 | |||
67 | old_umask = umask(0177); | ||
68 | tmpfd = mkstemp(tmpname); | ||
69 | umask(old_umask); | ||
70 | if (tmpfd == -1) | ||
71 | fatal("mkstemp(\"%s\"): %s", | ||
72 | MM_SWAP_TEMPLATE, strerror(errno)); | ||
73 | unlink(tmpname); | ||
74 | if (ftruncate(tmpfd, size) != 0) | ||
75 | fatal("%s: ftruncate: %s", __func__, strerror(errno)); | ||
76 | address = mmap(NULL, size, PROT_WRITE|PROT_READ, MAP_SHARED, | ||
77 | tmpfd, (off_t)0); | ||
78 | close(tmpfd); | ||
79 | } | ||
80 | |||
81 | return (address); | ||
82 | #else | ||
83 | fatal("%s: UsePrivilegeSeparation=yes and Compression=yes not supported", | ||
84 | __func__); | ||
85 | #endif /* HAVE_MMAP */ | ||
86 | |||
87 | } | ||
88 | |||
diff --git a/opensshd.init.in b/opensshd.init.in index 517345bfb..3908566b7 100755 --- a/opensshd.init.in +++ b/opensshd.init.in | |||
@@ -25,9 +25,9 @@ HOST_KEY_ED25519=$sysconfdir/ssh_host_ed25519_key | |||
25 | 25 | ||
26 | 26 | ||
27 | checkkeys() { | 27 | checkkeys() { |
28 | if [ ! -f $HOST_KEY_RSA1 ]; then | 28 | @COMMENT_OUT_RSA1@ if [ ! -f $HOST_KEY_RSA1 ]; then |
29 | ${SSH_KEYGEN} -t rsa1 -f ${HOST_KEY_RSA1} -N "" | 29 | @COMMENT_OUT_RSA1@ ${SSH_KEYGEN} -t rsa1 -f ${HOST_KEY_RSA1} -N "" |
30 | fi | 30 | @COMMENT_OUT_RSA1@ fi |
31 | if [ ! -f $HOST_KEY_DSA ]; then | 31 | if [ ! -f $HOST_KEY_DSA ]; then |
32 | ${SSH_KEYGEN} -t dsa -f ${HOST_KEY_DSA} -N "" | 32 | ${SSH_KEYGEN} -t dsa -f ${HOST_KEY_DSA} -N "" |
33 | fi | 33 | fi |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: packet.c,v 1.234 2016/07/18 11:35:33 markus Exp $ */ | 1 | /* $OpenBSD: packet.c,v 1.243 2016/10/11 21:47:45 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -38,8 +38,7 @@ | |||
38 | */ | 38 | */ |
39 | 39 | ||
40 | #include "includes.h" | 40 | #include "includes.h" |
41 | 41 | ||
42 | #include <sys/param.h> /* MIN roundup */ | ||
43 | #include <sys/types.h> | 42 | #include <sys/types.h> |
44 | #include "openbsd-compat/sys-queue.h" | 43 | #include "openbsd-compat/sys-queue.h" |
45 | #include <sys/socket.h> | 44 | #include <sys/socket.h> |
@@ -122,10 +121,10 @@ struct session_state { | |||
122 | u_int remote_protocol_flags; | 121 | u_int remote_protocol_flags; |
123 | 122 | ||
124 | /* Encryption context for receiving data. Only used for decryption. */ | 123 | /* Encryption context for receiving data. Only used for decryption. */ |
125 | struct sshcipher_ctx receive_context; | 124 | struct sshcipher_ctx *receive_context; |
126 | 125 | ||
127 | /* Encryption context for sending data. Only used for encryption. */ | 126 | /* Encryption context for sending data. Only used for encryption. */ |
128 | struct sshcipher_ctx send_context; | 127 | struct sshcipher_ctx *send_context; |
129 | 128 | ||
130 | /* Buffer for raw input data from the socket. */ | 129 | /* Buffer for raw input data from the socket. */ |
131 | struct sshbuf *input; | 130 | struct sshbuf *input; |
@@ -205,6 +204,9 @@ struct session_state { | |||
205 | /* Used in packet_send2 */ | 204 | /* Used in packet_send2 */ |
206 | int rekeying; | 205 | int rekeying; |
207 | 206 | ||
207 | /* Used in ssh_packet_send_mux() */ | ||
208 | int mux; | ||
209 | |||
208 | /* Used in packet_set_interactive */ | 210 | /* Used in packet_set_interactive */ |
209 | int set_interactive_called; | 211 | int set_interactive_called; |
210 | 212 | ||
@@ -217,6 +219,10 @@ struct session_state { | |||
217 | /* SSH1 CRC compensation attack detector */ | 219 | /* SSH1 CRC compensation attack detector */ |
218 | struct deattack_ctx deattack; | 220 | struct deattack_ctx deattack; |
219 | 221 | ||
222 | /* Hook for fuzzing inbound packets */ | ||
223 | ssh_packet_hook_fn *hook_in; | ||
224 | void *hook_in_ctx; | ||
225 | |||
220 | TAILQ_HEAD(, packet) outgoing; | 226 | TAILQ_HEAD(, packet) outgoing; |
221 | }; | 227 | }; |
222 | 228 | ||
@@ -261,6 +267,13 @@ ssh_alloc_session_state(void) | |||
261 | return NULL; | 267 | return NULL; |
262 | } | 268 | } |
263 | 269 | ||
270 | void | ||
271 | ssh_packet_set_input_hook(struct ssh *ssh, ssh_packet_hook_fn *hook, void *ctx) | ||
272 | { | ||
273 | ssh->state->hook_in = hook; | ||
274 | ssh->state->hook_in_ctx = ctx; | ||
275 | } | ||
276 | |||
264 | /* Returns nonzero if rekeying is in progress */ | 277 | /* Returns nonzero if rekeying is in progress */ |
265 | int | 278 | int |
266 | ssh_packet_is_rekeying(struct ssh *ssh) | 279 | ssh_packet_is_rekeying(struct ssh *ssh) |
@@ -326,6 +339,19 @@ ssh_packet_set_timeout(struct ssh *ssh, int timeout, int count) | |||
326 | state->packet_timeout_ms = timeout * count * 1000; | 339 | state->packet_timeout_ms = timeout * count * 1000; |
327 | } | 340 | } |
328 | 341 | ||
342 | void | ||
343 | ssh_packet_set_mux(struct ssh *ssh) | ||
344 | { | ||
345 | ssh->state->mux = 1; | ||
346 | ssh->state->rekeying = 0; | ||
347 | } | ||
348 | |||
349 | int | ||
350 | ssh_packet_get_mux(struct ssh *ssh) | ||
351 | { | ||
352 | return ssh->state->mux; | ||
353 | } | ||
354 | |||
329 | int | 355 | int |
330 | ssh_packet_stop_discard(struct ssh *ssh) | 356 | ssh_packet_stop_discard(struct ssh *ssh) |
331 | { | 357 | { |
@@ -529,7 +555,6 @@ void | |||
529 | ssh_packet_close(struct ssh *ssh) | 555 | ssh_packet_close(struct ssh *ssh) |
530 | { | 556 | { |
531 | struct session_state *state = ssh->state; | 557 | struct session_state *state = ssh->state; |
532 | int r; | ||
533 | u_int mode; | 558 | u_int mode; |
534 | 559 | ||
535 | if (!state->initialized) | 560 | if (!state->initialized) |
@@ -573,10 +598,9 @@ ssh_packet_close(struct ssh *ssh) | |||
573 | inflateEnd(stream); | 598 | inflateEnd(stream); |
574 | } | 599 | } |
575 | } | 600 | } |
576 | if ((r = cipher_cleanup(&state->send_context)) != 0) | 601 | cipher_free(state->send_context); |
577 | error("%s: cipher_cleanup failed: %s", __func__, ssh_err(r)); | 602 | cipher_free(state->receive_context); |
578 | if ((r = cipher_cleanup(&state->receive_context)) != 0) | 603 | state->send_context = state->receive_context = NULL; |
579 | error("%s: cipher_cleanup failed: %s", __func__, ssh_err(r)); | ||
580 | free(ssh->remote_ipaddr); | 604 | free(ssh->remote_ipaddr); |
581 | ssh->remote_ipaddr = NULL; | 605 | ssh->remote_ipaddr = NULL; |
582 | free(ssh->state); | 606 | free(ssh->state); |
@@ -759,86 +783,6 @@ uncompress_buffer(struct ssh *ssh, struct sshbuf *in, struct sshbuf *out) | |||
759 | /* NOTREACHED */ | 783 | /* NOTREACHED */ |
760 | } | 784 | } |
761 | 785 | ||
762 | /* Serialise compression state into a blob for privsep */ | ||
763 | static int | ||
764 | ssh_packet_get_compress_state(struct sshbuf *m, struct ssh *ssh) | ||
765 | { | ||
766 | struct session_state *state = ssh->state; | ||
767 | struct sshbuf *b; | ||
768 | int r; | ||
769 | |||
770 | if ((b = sshbuf_new()) == NULL) | ||
771 | return SSH_ERR_ALLOC_FAIL; | ||
772 | if (state->compression_in_started) { | ||
773 | if ((r = sshbuf_put_string(b, &state->compression_in_stream, | ||
774 | sizeof(state->compression_in_stream))) != 0) | ||
775 | goto out; | ||
776 | } else if ((r = sshbuf_put_string(b, NULL, 0)) != 0) | ||
777 | goto out; | ||
778 | if (state->compression_out_started) { | ||
779 | if ((r = sshbuf_put_string(b, &state->compression_out_stream, | ||
780 | sizeof(state->compression_out_stream))) != 0) | ||
781 | goto out; | ||
782 | } else if ((r = sshbuf_put_string(b, NULL, 0)) != 0) | ||
783 | goto out; | ||
784 | r = sshbuf_put_stringb(m, b); | ||
785 | out: | ||
786 | sshbuf_free(b); | ||
787 | return r; | ||
788 | } | ||
789 | |||
790 | /* Deserialise compression state from a blob for privsep */ | ||
791 | static int | ||
792 | ssh_packet_set_compress_state(struct ssh *ssh, struct sshbuf *m) | ||
793 | { | ||
794 | struct session_state *state = ssh->state; | ||
795 | struct sshbuf *b = NULL; | ||
796 | int r; | ||
797 | const u_char *inblob, *outblob; | ||
798 | size_t inl, outl; | ||
799 | |||
800 | if ((r = sshbuf_froms(m, &b)) != 0) | ||
801 | goto out; | ||
802 | if ((r = sshbuf_get_string_direct(b, &inblob, &inl)) != 0 || | ||
803 | (r = sshbuf_get_string_direct(b, &outblob, &outl)) != 0) | ||
804 | goto out; | ||
805 | if (inl == 0) | ||
806 | state->compression_in_started = 0; | ||
807 | else if (inl != sizeof(state->compression_in_stream)) { | ||
808 | r = SSH_ERR_INTERNAL_ERROR; | ||
809 | goto out; | ||
810 | } else { | ||
811 | state->compression_in_started = 1; | ||
812 | memcpy(&state->compression_in_stream, inblob, inl); | ||
813 | } | ||
814 | if (outl == 0) | ||
815 | state->compression_out_started = 0; | ||
816 | else if (outl != sizeof(state->compression_out_stream)) { | ||
817 | r = SSH_ERR_INTERNAL_ERROR; | ||
818 | goto out; | ||
819 | } else { | ||
820 | state->compression_out_started = 1; | ||
821 | memcpy(&state->compression_out_stream, outblob, outl); | ||
822 | } | ||
823 | r = 0; | ||
824 | out: | ||
825 | sshbuf_free(b); | ||
826 | return r; | ||
827 | } | ||
828 | |||
829 | void | ||
830 | ssh_packet_set_compress_hooks(struct ssh *ssh, void *ctx, | ||
831 | void *(*allocfunc)(void *, u_int, u_int), | ||
832 | void (*freefunc)(void *, void *)) | ||
833 | { | ||
834 | ssh->state->compression_out_stream.zalloc = (alloc_func)allocfunc; | ||
835 | ssh->state->compression_out_stream.zfree = (free_func)freefunc; | ||
836 | ssh->state->compression_out_stream.opaque = ctx; | ||
837 | ssh->state->compression_in_stream.zalloc = (alloc_func)allocfunc; | ||
838 | ssh->state->compression_in_stream.zfree = (free_func)freefunc; | ||
839 | ssh->state->compression_in_stream.opaque = ctx; | ||
840 | } | ||
841 | |||
842 | /* | 786 | /* |
843 | * Causes any further packets to be encrypted using the given key. The same | 787 | * Causes any further packets to be encrypted using the given key. The same |
844 | * key is used for both sending and reception. However, both directions are | 788 | * key is used for both sending and reception. However, both directions are |
@@ -870,8 +814,8 @@ ssh_packet_set_encryption_key(struct ssh *ssh, const u_char *key, u_int keylen, | |||
870 | NULL, 0, CIPHER_DECRYPT) != 0)) | 814 | NULL, 0, CIPHER_DECRYPT) != 0)) |
871 | fatal("%s: cipher_init failed: %s", __func__, ssh_err(r)); | 815 | fatal("%s: cipher_init failed: %s", __func__, ssh_err(r)); |
872 | if (!state->cipher_warning_done && | 816 | if (!state->cipher_warning_done && |
873 | ((wmsg = cipher_warning_message(&state->send_context)) != NULL || | 817 | ((wmsg = cipher_warning_message(state->send_context)) != NULL || |
874 | (wmsg = cipher_warning_message(&state->send_context)) != NULL)) { | 818 | (wmsg = cipher_warning_message(state->send_context)) != NULL)) { |
875 | error("Warning: %s", wmsg); | 819 | error("Warning: %s", wmsg); |
876 | state->cipher_warning_done = 1; | 820 | state->cipher_warning_done = 1; |
877 | } | 821 | } |
@@ -917,7 +861,7 @@ ssh_packet_send1(struct ssh *ssh) | |||
917 | 861 | ||
918 | /* Insert padding. Initialized to zero in packet_start1() */ | 862 | /* Insert padding. Initialized to zero in packet_start1() */ |
919 | padding = 8 - len % 8; | 863 | padding = 8 - len % 8; |
920 | if (!state->send_context.plaintext) { | 864 | if (!cipher_ctx_is_plaintext(state->send_context)) { |
921 | cp = sshbuf_mutable_ptr(state->outgoing_packet); | 865 | cp = sshbuf_mutable_ptr(state->outgoing_packet); |
922 | if (cp == NULL) { | 866 | if (cp == NULL) { |
923 | r = SSH_ERR_INTERNAL_ERROR; | 867 | r = SSH_ERR_INTERNAL_ERROR; |
@@ -947,7 +891,7 @@ ssh_packet_send1(struct ssh *ssh) | |||
947 | if ((r = sshbuf_reserve(state->output, | 891 | if ((r = sshbuf_reserve(state->output, |
948 | sshbuf_len(state->outgoing_packet), &cp)) != 0) | 892 | sshbuf_len(state->outgoing_packet), &cp)) != 0) |
949 | goto out; | 893 | goto out; |
950 | if ((r = cipher_crypt(&state->send_context, 0, cp, | 894 | if ((r = cipher_crypt(state->send_context, 0, cp, |
951 | sshbuf_ptr(state->outgoing_packet), | 895 | sshbuf_ptr(state->outgoing_packet), |
952 | sshbuf_len(state->outgoing_packet), 0, 0)) != 0) | 896 | sshbuf_len(state->outgoing_packet), 0, 0)) != 0) |
953 | goto out; | 897 | goto out; |
@@ -978,33 +922,34 @@ ssh_set_newkeys(struct ssh *ssh, int mode) | |||
978 | struct sshenc *enc; | 922 | struct sshenc *enc; |
979 | struct sshmac *mac; | 923 | struct sshmac *mac; |
980 | struct sshcomp *comp; | 924 | struct sshcomp *comp; |
981 | struct sshcipher_ctx *cc; | 925 | struct sshcipher_ctx **ccp; |
926 | struct packet_state *ps; | ||
982 | u_int64_t *max_blocks; | 927 | u_int64_t *max_blocks; |
983 | const char *wmsg; | 928 | const char *wmsg, *dir; |
984 | int r, crypt_type; | 929 | int r, crypt_type; |
985 | 930 | ||
986 | debug2("set_newkeys: mode %d", mode); | 931 | debug2("set_newkeys: mode %d", mode); |
987 | 932 | ||
988 | if (mode == MODE_OUT) { | 933 | if (mode == MODE_OUT) { |
989 | cc = &state->send_context; | 934 | dir = "output"; |
935 | ccp = &state->send_context; | ||
990 | crypt_type = CIPHER_ENCRYPT; | 936 | crypt_type = CIPHER_ENCRYPT; |
991 | state->p_send.packets = state->p_send.blocks = 0; | 937 | ps = &state->p_send; |
992 | max_blocks = &state->max_blocks_out; | 938 | max_blocks = &state->max_blocks_out; |
993 | } else { | 939 | } else { |
994 | cc = &state->receive_context; | 940 | dir = "input"; |
941 | ccp = &state->receive_context; | ||
995 | crypt_type = CIPHER_DECRYPT; | 942 | crypt_type = CIPHER_DECRYPT; |
996 | state->p_read.packets = state->p_read.blocks = 0; | 943 | ps = &state->p_read; |
997 | max_blocks = &state->max_blocks_in; | 944 | max_blocks = &state->max_blocks_in; |
998 | } | 945 | } |
999 | if (state->newkeys[mode] != NULL) { | 946 | if (state->newkeys[mode] != NULL) { |
1000 | debug("set_newkeys: rekeying, input %llu bytes %llu blocks, " | 947 | debug("%s: rekeying after %llu %s blocks" |
1001 | "output %llu bytes %llu blocks", | 948 | " (%llu bytes total)", __func__, |
1002 | (unsigned long long)state->p_read.bytes, | 949 | (unsigned long long)ps->blocks, dir, |
1003 | (unsigned long long)state->p_read.blocks, | 950 | (unsigned long long)ps->bytes); |
1004 | (unsigned long long)state->p_send.bytes, | 951 | cipher_free(*ccp); |
1005 | (unsigned long long)state->p_send.blocks); | 952 | *ccp = NULL; |
1006 | if ((r = cipher_cleanup(cc)) != 0) | ||
1007 | return r; | ||
1008 | enc = &state->newkeys[mode]->enc; | 953 | enc = &state->newkeys[mode]->enc; |
1009 | mac = &state->newkeys[mode]->mac; | 954 | mac = &state->newkeys[mode]->mac; |
1010 | comp = &state->newkeys[mode]->comp; | 955 | comp = &state->newkeys[mode]->comp; |
@@ -1020,6 +965,8 @@ ssh_set_newkeys(struct ssh *ssh, int mode) | |||
1020 | free(comp->name); | 965 | free(comp->name); |
1021 | free(state->newkeys[mode]); | 966 | free(state->newkeys[mode]); |
1022 | } | 967 | } |
968 | /* note that both bytes and the seqnr are not reset */ | ||
969 | ps->packets = ps->blocks = 0; | ||
1023 | /* move newkeys from kex to state */ | 970 | /* move newkeys from kex to state */ |
1024 | if ((state->newkeys[mode] = ssh->kex->newkeys[mode]) == NULL) | 971 | if ((state->newkeys[mode] = ssh->kex->newkeys[mode]) == NULL) |
1025 | return SSH_ERR_INTERNAL_ERROR; | 972 | return SSH_ERR_INTERNAL_ERROR; |
@@ -1033,11 +980,11 @@ ssh_set_newkeys(struct ssh *ssh, int mode) | |||
1033 | } | 980 | } |
1034 | mac->enabled = 1; | 981 | mac->enabled = 1; |
1035 | DBG(debug("cipher_init_context: %d", mode)); | 982 | DBG(debug("cipher_init_context: %d", mode)); |
1036 | if ((r = cipher_init(cc, enc->cipher, enc->key, enc->key_len, | 983 | if ((r = cipher_init(ccp, enc->cipher, enc->key, enc->key_len, |
1037 | enc->iv, enc->iv_len, crypt_type)) != 0) | 984 | enc->iv, enc->iv_len, crypt_type)) != 0) |
1038 | return r; | 985 | return r; |
1039 | if (!state->cipher_warning_done && | 986 | if (!state->cipher_warning_done && |
1040 | (wmsg = cipher_warning_message(cc)) != NULL) { | 987 | (wmsg = cipher_warning_message(*ccp)) != NULL) { |
1041 | error("Warning: %s", wmsg); | 988 | error("Warning: %s", wmsg); |
1042 | state->cipher_warning_done = 1; | 989 | state->cipher_warning_done = 1; |
1043 | } | 990 | } |
@@ -1068,7 +1015,7 @@ ssh_set_newkeys(struct ssh *ssh, int mode) | |||
1068 | else | 1015 | else |
1069 | *max_blocks = ((u_int64_t)1 << 30) / enc->block_size; | 1016 | *max_blocks = ((u_int64_t)1 << 30) / enc->block_size; |
1070 | if (state->rekey_limit) | 1017 | if (state->rekey_limit) |
1071 | *max_blocks = MIN(*max_blocks, | 1018 | *max_blocks = MINIMUM(*max_blocks, |
1072 | state->rekey_limit / enc->block_size); | 1019 | state->rekey_limit / enc->block_size); |
1073 | debug("rekey after %llu blocks", (unsigned long long)*max_blocks); | 1020 | debug("rekey after %llu blocks", (unsigned long long)*max_blocks); |
1074 | return 0; | 1021 | return 0; |
@@ -1111,7 +1058,7 @@ ssh_packet_need_rekeying(struct ssh *ssh, u_int outbound_packet_len) | |||
1111 | return 1; | 1058 | return 1; |
1112 | 1059 | ||
1113 | /* Rekey after (cipher-specific) maxiumum blocks */ | 1060 | /* Rekey after (cipher-specific) maxiumum blocks */ |
1114 | out_blocks = roundup(outbound_packet_len, | 1061 | out_blocks = ROUNDUP(outbound_packet_len, |
1115 | state->newkeys[MODE_OUT]->enc.block_size); | 1062 | state->newkeys[MODE_OUT]->enc.block_size); |
1116 | return (state->max_blocks_out && | 1063 | return (state->max_blocks_out && |
1117 | (state->p_send.blocks + out_blocks > state->max_blocks_out)) || | 1064 | (state->p_send.blocks + out_blocks > state->max_blocks_out)) || |
@@ -1158,7 +1105,7 @@ ssh_packet_enable_delayed_compress(struct ssh *ssh) | |||
1158 | } | 1105 | } |
1159 | 1106 | ||
1160 | /* Used to mute debug logging for noisy packet types */ | 1107 | /* Used to mute debug logging for noisy packet types */ |
1161 | static int | 1108 | int |
1162 | ssh_packet_log_type(u_char type) | 1109 | ssh_packet_log_type(u_char type) |
1163 | { | 1110 | { |
1164 | switch (type) { | 1111 | switch (type) { |
@@ -1239,7 +1186,7 @@ ssh_packet_send2_wrapped(struct ssh *ssh) | |||
1239 | if (state->extra_pad) { | 1186 | if (state->extra_pad) { |
1240 | tmp = state->extra_pad; | 1187 | tmp = state->extra_pad; |
1241 | state->extra_pad = | 1188 | state->extra_pad = |
1242 | roundup(state->extra_pad, block_size); | 1189 | ROUNDUP(state->extra_pad, block_size); |
1243 | /* check if roundup overflowed */ | 1190 | /* check if roundup overflowed */ |
1244 | if (state->extra_pad < tmp) | 1191 | if (state->extra_pad < tmp) |
1245 | return SSH_ERR_INVALID_ARGUMENT; | 1192 | return SSH_ERR_INVALID_ARGUMENT; |
@@ -1259,7 +1206,7 @@ ssh_packet_send2_wrapped(struct ssh *ssh) | |||
1259 | } | 1206 | } |
1260 | if ((r = sshbuf_reserve(state->outgoing_packet, padlen, &cp)) != 0) | 1207 | if ((r = sshbuf_reserve(state->outgoing_packet, padlen, &cp)) != 0) |
1261 | goto out; | 1208 | goto out; |
1262 | if (enc && !state->send_context.plaintext) { | 1209 | if (enc && !cipher_ctx_is_plaintext(state->send_context)) { |
1263 | /* random padding */ | 1210 | /* random padding */ |
1264 | arc4random_buf(cp, padlen); | 1211 | arc4random_buf(cp, padlen); |
1265 | } else { | 1212 | } else { |
@@ -1291,7 +1238,7 @@ ssh_packet_send2_wrapped(struct ssh *ssh) | |||
1291 | if ((r = sshbuf_reserve(state->output, | 1238 | if ((r = sshbuf_reserve(state->output, |
1292 | sshbuf_len(state->outgoing_packet) + authlen, &cp)) != 0) | 1239 | sshbuf_len(state->outgoing_packet) + authlen, &cp)) != 0) |
1293 | goto out; | 1240 | goto out; |
1294 | if ((r = cipher_crypt(&state->send_context, state->p_send.seqnr, cp, | 1241 | if ((r = cipher_crypt(state->send_context, state->p_send.seqnr, cp, |
1295 | sshbuf_ptr(state->outgoing_packet), | 1242 | sshbuf_ptr(state->outgoing_packet), |
1296 | len - aadlen, aadlen, authlen)) != 0) | 1243 | len - aadlen, aadlen, authlen)) != 0) |
1297 | goto out; | 1244 | goto out; |
@@ -1606,7 +1553,7 @@ ssh_packet_read_poll1(struct ssh *ssh, u_char *typep) | |||
1606 | * (C)1998 CORE-SDI, Buenos Aires Argentina | 1553 | * (C)1998 CORE-SDI, Buenos Aires Argentina |
1607 | * Ariel Futoransky(futo@core-sdi.com) | 1554 | * Ariel Futoransky(futo@core-sdi.com) |
1608 | */ | 1555 | */ |
1609 | if (!state->receive_context.plaintext) { | 1556 | if (!cipher_ctx_is_plaintext(state->receive_context)) { |
1610 | emsg = NULL; | 1557 | emsg = NULL; |
1611 | switch (detect_attack(&state->deattack, | 1558 | switch (detect_attack(&state->deattack, |
1612 | sshbuf_ptr(state->input), padded_len)) { | 1559 | sshbuf_ptr(state->input), padded_len)) { |
@@ -1635,7 +1582,7 @@ ssh_packet_read_poll1(struct ssh *ssh, u_char *typep) | |||
1635 | sshbuf_reset(state->incoming_packet); | 1582 | sshbuf_reset(state->incoming_packet); |
1636 | if ((r = sshbuf_reserve(state->incoming_packet, padded_len, &p)) != 0) | 1583 | if ((r = sshbuf_reserve(state->incoming_packet, padded_len, &p)) != 0) |
1637 | goto out; | 1584 | goto out; |
1638 | if ((r = cipher_crypt(&state->receive_context, 0, p, | 1585 | if ((r = cipher_crypt(state->receive_context, 0, p, |
1639 | sshbuf_ptr(state->input), padded_len, 0, 0)) != 0) | 1586 | sshbuf_ptr(state->input), padded_len, 0, 0)) != 0) |
1640 | goto out; | 1587 | goto out; |
1641 | 1588 | ||
@@ -1703,6 +1650,44 @@ ssh_packet_read_poll1(struct ssh *ssh, u_char *typep) | |||
1703 | return r; | 1650 | return r; |
1704 | } | 1651 | } |
1705 | 1652 | ||
1653 | static int | ||
1654 | ssh_packet_read_poll2_mux(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p) | ||
1655 | { | ||
1656 | struct session_state *state = ssh->state; | ||
1657 | const u_char *cp; | ||
1658 | size_t need; | ||
1659 | int r; | ||
1660 | |||
1661 | if (ssh->kex) | ||
1662 | return SSH_ERR_INTERNAL_ERROR; | ||
1663 | *typep = SSH_MSG_NONE; | ||
1664 | cp = sshbuf_ptr(state->input); | ||
1665 | if (state->packlen == 0) { | ||
1666 | if (sshbuf_len(state->input) < 4 + 1) | ||
1667 | return 0; /* packet is incomplete */ | ||
1668 | state->packlen = PEEK_U32(cp); | ||
1669 | if (state->packlen < 4 + 1 || | ||
1670 | state->packlen > PACKET_MAX_SIZE) | ||
1671 | return SSH_ERR_MESSAGE_INCOMPLETE; | ||
1672 | } | ||
1673 | need = state->packlen + 4; | ||
1674 | if (sshbuf_len(state->input) < need) | ||
1675 | return 0; /* packet is incomplete */ | ||
1676 | sshbuf_reset(state->incoming_packet); | ||
1677 | if ((r = sshbuf_put(state->incoming_packet, cp + 4, | ||
1678 | state->packlen)) != 0 || | ||
1679 | (r = sshbuf_consume(state->input, need)) != 0 || | ||
1680 | (r = sshbuf_get_u8(state->incoming_packet, NULL)) != 0 || | ||
1681 | (r = sshbuf_get_u8(state->incoming_packet, typep)) != 0) | ||
1682 | return r; | ||
1683 | if (ssh_packet_log_type(*typep)) | ||
1684 | debug3("%s: type %u", __func__, *typep); | ||
1685 | /* sshbuf_dump(state->incoming_packet, stderr); */ | ||
1686 | /* reset for next packet */ | ||
1687 | state->packlen = 0; | ||
1688 | return r; | ||
1689 | } | ||
1690 | |||
1706 | int | 1691 | int |
1707 | ssh_packet_read_poll2(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p) | 1692 | ssh_packet_read_poll2(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p) |
1708 | { | 1693 | { |
@@ -1715,6 +1700,9 @@ ssh_packet_read_poll2(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p) | |||
1715 | struct sshcomp *comp = NULL; | 1700 | struct sshcomp *comp = NULL; |
1716 | int r; | 1701 | int r; |
1717 | 1702 | ||
1703 | if (state->mux) | ||
1704 | return ssh_packet_read_poll2_mux(ssh, typep, seqnr_p); | ||
1705 | |||
1718 | *typep = SSH_MSG_NONE; | 1706 | *typep = SSH_MSG_NONE; |
1719 | 1707 | ||
1720 | if (state->packet_discard) | 1708 | if (state->packet_discard) |
@@ -1733,7 +1721,7 @@ ssh_packet_read_poll2(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p) | |||
1733 | aadlen = (mac && mac->enabled && mac->etm) || authlen ? 4 : 0; | 1721 | aadlen = (mac && mac->enabled && mac->etm) || authlen ? 4 : 0; |
1734 | 1722 | ||
1735 | if (aadlen && state->packlen == 0) { | 1723 | if (aadlen && state->packlen == 0) { |
1736 | if (cipher_get_length(&state->receive_context, | 1724 | if (cipher_get_length(state->receive_context, |
1737 | &state->packlen, state->p_read.seqnr, | 1725 | &state->packlen, state->p_read.seqnr, |
1738 | sshbuf_ptr(state->input), sshbuf_len(state->input)) != 0) | 1726 | sshbuf_ptr(state->input), sshbuf_len(state->input)) != 0) |
1739 | return 0; | 1727 | return 0; |
@@ -1759,7 +1747,7 @@ ssh_packet_read_poll2(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p) | |||
1759 | if ((r = sshbuf_reserve(state->incoming_packet, block_size, | 1747 | if ((r = sshbuf_reserve(state->incoming_packet, block_size, |
1760 | &cp)) != 0) | 1748 | &cp)) != 0) |
1761 | goto out; | 1749 | goto out; |
1762 | if ((r = cipher_crypt(&state->receive_context, | 1750 | if ((r = cipher_crypt(state->receive_context, |
1763 | state->p_send.seqnr, cp, sshbuf_ptr(state->input), | 1751 | state->p_send.seqnr, cp, sshbuf_ptr(state->input), |
1764 | block_size, 0, 0)) != 0) | 1752 | block_size, 0, 0)) != 0) |
1765 | goto out; | 1753 | goto out; |
@@ -1827,7 +1815,7 @@ ssh_packet_read_poll2(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p) | |||
1827 | if ((r = sshbuf_reserve(state->incoming_packet, aadlen + need, | 1815 | if ((r = sshbuf_reserve(state->incoming_packet, aadlen + need, |
1828 | &cp)) != 0) | 1816 | &cp)) != 0) |
1829 | goto out; | 1817 | goto out; |
1830 | if ((r = cipher_crypt(&state->receive_context, state->p_read.seqnr, cp, | 1818 | if ((r = cipher_crypt(state->receive_context, state->p_read.seqnr, cp, |
1831 | sshbuf_ptr(state->input), need, aadlen, authlen)) != 0) | 1819 | sshbuf_ptr(state->input), need, aadlen, authlen)) != 0) |
1832 | goto out; | 1820 | goto out; |
1833 | if ((r = sshbuf_consume(state->input, aadlen + need + authlen)) != 0) | 1821 | if ((r = sshbuf_consume(state->input, aadlen + need + authlen)) != 0) |
@@ -1907,9 +1895,11 @@ ssh_packet_read_poll2(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p) | |||
1907 | return r; | 1895 | return r; |
1908 | return SSH_ERR_PROTOCOL_ERROR; | 1896 | return SSH_ERR_PROTOCOL_ERROR; |
1909 | } | 1897 | } |
1910 | if (*typep == SSH2_MSG_NEWKEYS) | 1898 | if (state->hook_in != NULL && |
1911 | r = ssh_set_newkeys(ssh, MODE_IN); | 1899 | (r = state->hook_in(ssh, state->incoming_packet, typep, |
1912 | else if (*typep == SSH2_MSG_USERAUTH_SUCCESS && !state->server_side) | 1900 | state->hook_in_ctx)) != 0) |
1901 | return r; | ||
1902 | if (*typep == SSH2_MSG_USERAUTH_SUCCESS && !state->server_side) | ||
1913 | r = ssh_packet_enable_delayed_compress(ssh); | 1903 | r = ssh_packet_enable_delayed_compress(ssh); |
1914 | else | 1904 | else |
1915 | r = 0; | 1905 | r = 0; |
@@ -2452,21 +2442,14 @@ ssh_packet_get_output(struct ssh *ssh) | |||
2452 | static int | 2442 | static int |
2453 | ssh_packet_set_postauth(struct ssh *ssh) | 2443 | ssh_packet_set_postauth(struct ssh *ssh) |
2454 | { | 2444 | { |
2455 | struct sshcomp *comp; | 2445 | int r; |
2456 | int r, mode; | ||
2457 | 2446 | ||
2458 | debug("%s: called", __func__); | 2447 | debug("%s: called", __func__); |
2459 | /* This was set in net child, but is not visible in user child */ | 2448 | /* This was set in net child, but is not visible in user child */ |
2460 | ssh->state->after_authentication = 1; | 2449 | ssh->state->after_authentication = 1; |
2461 | ssh->state->rekeying = 0; | 2450 | ssh->state->rekeying = 0; |
2462 | for (mode = 0; mode < MODE_MAX; mode++) { | 2451 | if ((r = ssh_packet_enable_delayed_compress(ssh)) != 0) |
2463 | if (ssh->state->newkeys[mode] == NULL) | 2452 | return r; |
2464 | continue; | ||
2465 | comp = &ssh->state->newkeys[mode]->comp; | ||
2466 | if (comp && comp->enabled && | ||
2467 | (r = ssh_packet_init_compression(ssh)) != 0) | ||
2468 | return r; | ||
2469 | } | ||
2470 | return 0; | 2453 | return 0; |
2471 | } | 2454 | } |
2472 | 2455 | ||
@@ -2509,8 +2492,8 @@ newkeys_to_blob(struct sshbuf *m, struct ssh *ssh, int mode) | |||
2509 | enc = &newkey->enc; | 2492 | enc = &newkey->enc; |
2510 | mac = &newkey->mac; | 2493 | mac = &newkey->mac; |
2511 | comp = &newkey->comp; | 2494 | comp = &newkey->comp; |
2512 | cc = (mode == MODE_OUT) ? &ssh->state->send_context : | 2495 | cc = (mode == MODE_OUT) ? ssh->state->send_context : |
2513 | &ssh->state->receive_context; | 2496 | ssh->state->receive_context; |
2514 | if ((r = cipher_get_keyiv(cc, enc->iv, enc->iv_len)) != 0) | 2497 | if ((r = cipher_get_keyiv(cc, enc->iv, enc->iv_len)) != 0) |
2515 | return r; | 2498 | return r; |
2516 | if ((b = sshbuf_new()) == NULL) | 2499 | if ((b = sshbuf_new()) == NULL) |
@@ -2530,7 +2513,6 @@ newkeys_to_blob(struct sshbuf *m, struct ssh *ssh, int mode) | |||
2530 | goto out; | 2513 | goto out; |
2531 | } | 2514 | } |
2532 | if ((r = sshbuf_put_u32(b, comp->type)) != 0 || | 2515 | if ((r = sshbuf_put_u32(b, comp->type)) != 0 || |
2533 | (r = sshbuf_put_u32(b, comp->enabled)) != 0 || | ||
2534 | (r = sshbuf_put_cstring(b, comp->name)) != 0) | 2516 | (r = sshbuf_put_cstring(b, comp->name)) != 0) |
2535 | goto out; | 2517 | goto out; |
2536 | r = sshbuf_put_stringb(m, b); | 2518 | r = sshbuf_put_stringb(m, b); |
@@ -2549,18 +2531,18 @@ ssh_packet_get_state(struct ssh *ssh, struct sshbuf *m) | |||
2549 | int r, ssh1cipher; | 2531 | int r, ssh1cipher; |
2550 | 2532 | ||
2551 | if (!compat20) { | 2533 | if (!compat20) { |
2552 | ssh1cipher = cipher_get_number(state->receive_context.cipher); | 2534 | ssh1cipher = cipher_ctx_get_number(state->receive_context); |
2553 | slen = cipher_get_keyiv_len(&state->send_context); | 2535 | slen = cipher_get_keyiv_len(state->send_context); |
2554 | rlen = cipher_get_keyiv_len(&state->receive_context); | 2536 | rlen = cipher_get_keyiv_len(state->receive_context); |
2555 | if ((r = sshbuf_put_u32(m, state->remote_protocol_flags)) != 0 || | 2537 | if ((r = sshbuf_put_u32(m, state->remote_protocol_flags)) != 0 || |
2556 | (r = sshbuf_put_u32(m, ssh1cipher)) != 0 || | 2538 | (r = sshbuf_put_u32(m, ssh1cipher)) != 0 || |
2557 | (r = sshbuf_put_string(m, state->ssh1_key, state->ssh1_keylen)) != 0 || | 2539 | (r = sshbuf_put_string(m, state->ssh1_key, state->ssh1_keylen)) != 0 || |
2558 | (r = sshbuf_put_u32(m, slen)) != 0 || | 2540 | (r = sshbuf_put_u32(m, slen)) != 0 || |
2559 | (r = sshbuf_reserve(m, slen, &p)) != 0 || | 2541 | (r = sshbuf_reserve(m, slen, &p)) != 0 || |
2560 | (r = cipher_get_keyiv(&state->send_context, p, slen)) != 0 || | 2542 | (r = cipher_get_keyiv(state->send_context, p, slen)) != 0 || |
2561 | (r = sshbuf_put_u32(m, rlen)) != 0 || | 2543 | (r = sshbuf_put_u32(m, rlen)) != 0 || |
2562 | (r = sshbuf_reserve(m, rlen, &p)) != 0 || | 2544 | (r = sshbuf_reserve(m, rlen, &p)) != 0 || |
2563 | (r = cipher_get_keyiv(&state->receive_context, p, rlen)) != 0) | 2545 | (r = cipher_get_keyiv(state->receive_context, p, rlen)) != 0) |
2564 | return r; | 2546 | return r; |
2565 | } else { | 2547 | } else { |
2566 | if ((r = kex_to_blob(m, ssh->kex)) != 0 || | 2548 | if ((r = kex_to_blob(m, ssh->kex)) != 0 || |
@@ -2579,21 +2561,19 @@ ssh_packet_get_state(struct ssh *ssh, struct sshbuf *m) | |||
2579 | return r; | 2561 | return r; |
2580 | } | 2562 | } |
2581 | 2563 | ||
2582 | slen = cipher_get_keycontext(&state->send_context, NULL); | 2564 | slen = cipher_get_keycontext(state->send_context, NULL); |
2583 | rlen = cipher_get_keycontext(&state->receive_context, NULL); | 2565 | rlen = cipher_get_keycontext(state->receive_context, NULL); |
2584 | if ((r = sshbuf_put_u32(m, slen)) != 0 || | 2566 | if ((r = sshbuf_put_u32(m, slen)) != 0 || |
2585 | (r = sshbuf_reserve(m, slen, &p)) != 0) | 2567 | (r = sshbuf_reserve(m, slen, &p)) != 0) |
2586 | return r; | 2568 | return r; |
2587 | if (cipher_get_keycontext(&state->send_context, p) != (int)slen) | 2569 | if (cipher_get_keycontext(state->send_context, p) != (int)slen) |
2588 | return SSH_ERR_INTERNAL_ERROR; | 2570 | return SSH_ERR_INTERNAL_ERROR; |
2589 | if ((r = sshbuf_put_u32(m, rlen)) != 0 || | 2571 | if ((r = sshbuf_put_u32(m, rlen)) != 0 || |
2590 | (r = sshbuf_reserve(m, rlen, &p)) != 0) | 2572 | (r = sshbuf_reserve(m, rlen, &p)) != 0) |
2591 | return r; | 2573 | return r; |
2592 | if (cipher_get_keycontext(&state->receive_context, p) != (int)rlen) | 2574 | if (cipher_get_keycontext(state->receive_context, p) != (int)rlen) |
2593 | return SSH_ERR_INTERNAL_ERROR; | 2575 | return SSH_ERR_INTERNAL_ERROR; |
2594 | 2576 | if ((r = sshbuf_put_stringb(m, state->input)) != 0 || | |
2595 | if ((r = ssh_packet_get_compress_state(m, ssh)) != 0 || | ||
2596 | (r = sshbuf_put_stringb(m, state->input)) != 0 || | ||
2597 | (r = sshbuf_put_stringb(m, state->output)) != 0) | 2577 | (r = sshbuf_put_stringb(m, state->output)) != 0) |
2598 | return r; | 2578 | return r; |
2599 | 2579 | ||
@@ -2647,7 +2627,6 @@ newkeys_from_blob(struct sshbuf *m, struct ssh *ssh, int mode) | |||
2647 | mac->key_len = maclen; | 2627 | mac->key_len = maclen; |
2648 | } | 2628 | } |
2649 | if ((r = sshbuf_get_u32(b, &comp->type)) != 0 || | 2629 | if ((r = sshbuf_get_u32(b, &comp->type)) != 0 || |
2650 | (r = sshbuf_get_u32(b, (u_int *)&comp->enabled)) != 0 || | ||
2651 | (r = sshbuf_get_cstring(b, &comp->name, NULL)) != 0) | 2630 | (r = sshbuf_get_cstring(b, &comp->name, NULL)) != 0) |
2652 | goto out; | 2631 | goto out; |
2653 | if (enc->name == NULL || | 2632 | if (enc->name == NULL || |
@@ -2735,11 +2714,11 @@ ssh_packet_set_state(struct ssh *ssh, struct sshbuf *m) | |||
2735 | return SSH_ERR_KEY_UNKNOWN_CIPHER; | 2714 | return SSH_ERR_KEY_UNKNOWN_CIPHER; |
2736 | ssh_packet_set_encryption_key(ssh, ssh1key, ssh1keylen, | 2715 | ssh_packet_set_encryption_key(ssh, ssh1key, ssh1keylen, |
2737 | (int)ssh1cipher); | 2716 | (int)ssh1cipher); |
2738 | if (cipher_get_keyiv_len(&state->send_context) != (int)slen || | 2717 | if (cipher_get_keyiv_len(state->send_context) != (int)slen || |
2739 | cipher_get_keyiv_len(&state->receive_context) != (int)rlen) | 2718 | cipher_get_keyiv_len(state->receive_context) != (int)rlen) |
2740 | return SSH_ERR_INVALID_FORMAT; | 2719 | return SSH_ERR_INVALID_FORMAT; |
2741 | if ((r = cipher_set_keyiv(&state->send_context, ivout)) != 0 || | 2720 | if ((r = cipher_set_keyiv(state->send_context, ivout)) != 0 || |
2742 | (r = cipher_set_keyiv(&state->receive_context, ivin)) != 0) | 2721 | (r = cipher_set_keyiv(state->receive_context, ivin)) != 0) |
2743 | return r; | 2722 | return r; |
2744 | } else { | 2723 | } else { |
2745 | if ((r = kex_from_blob(m, &ssh->kex)) != 0 || | 2724 | if ((r = kex_from_blob(m, &ssh->kex)) != 0 || |
@@ -2769,14 +2748,13 @@ ssh_packet_set_state(struct ssh *ssh, struct sshbuf *m) | |||
2769 | if ((r = sshbuf_get_string_direct(m, &keyout, &slen)) != 0 || | 2748 | if ((r = sshbuf_get_string_direct(m, &keyout, &slen)) != 0 || |
2770 | (r = sshbuf_get_string_direct(m, &keyin, &rlen)) != 0) | 2749 | (r = sshbuf_get_string_direct(m, &keyin, &rlen)) != 0) |
2771 | return r; | 2750 | return r; |
2772 | if (cipher_get_keycontext(&state->send_context, NULL) != (int)slen || | 2751 | if (cipher_get_keycontext(state->send_context, NULL) != (int)slen || |
2773 | cipher_get_keycontext(&state->receive_context, NULL) != (int)rlen) | 2752 | cipher_get_keycontext(state->receive_context, NULL) != (int)rlen) |
2774 | return SSH_ERR_INVALID_FORMAT; | 2753 | return SSH_ERR_INVALID_FORMAT; |
2775 | cipher_set_keycontext(&state->send_context, keyout); | 2754 | cipher_set_keycontext(state->send_context, keyout); |
2776 | cipher_set_keycontext(&state->receive_context, keyin); | 2755 | cipher_set_keycontext(state->receive_context, keyin); |
2777 | 2756 | ||
2778 | if ((r = ssh_packet_set_compress_state(ssh, m)) != 0 || | 2757 | if ((r = ssh_packet_set_postauth(ssh)) != 0) |
2779 | (r = ssh_packet_set_postauth(ssh)) != 0) | ||
2780 | return r; | 2758 | return r; |
2781 | 2759 | ||
2782 | sshbuf_reset(state->input); | 2760 | sshbuf_reset(state->input); |
@@ -2969,11 +2947,43 @@ sshpkt_start(struct ssh *ssh, u_char type) | |||
2969 | return sshbuf_put(ssh->state->outgoing_packet, buf, len); | 2947 | return sshbuf_put(ssh->state->outgoing_packet, buf, len); |
2970 | } | 2948 | } |
2971 | 2949 | ||
2950 | static int | ||
2951 | ssh_packet_send_mux(struct ssh *ssh) | ||
2952 | { | ||
2953 | struct session_state *state = ssh->state; | ||
2954 | u_char type, *cp; | ||
2955 | size_t len; | ||
2956 | int r; | ||
2957 | |||
2958 | if (ssh->kex) | ||
2959 | return SSH_ERR_INTERNAL_ERROR; | ||
2960 | len = sshbuf_len(state->outgoing_packet); | ||
2961 | if (len < 6) | ||
2962 | return SSH_ERR_INTERNAL_ERROR; | ||
2963 | cp = sshbuf_mutable_ptr(state->outgoing_packet); | ||
2964 | type = cp[5]; | ||
2965 | if (ssh_packet_log_type(type)) | ||
2966 | debug3("%s: type %u", __func__, type); | ||
2967 | /* drop everything, but the connection protocol */ | ||
2968 | if (type >= SSH2_MSG_CONNECTION_MIN && | ||
2969 | type <= SSH2_MSG_CONNECTION_MAX) { | ||
2970 | POKE_U32(cp, len - 4); | ||
2971 | if ((r = sshbuf_putb(state->output, | ||
2972 | state->outgoing_packet)) != 0) | ||
2973 | return r; | ||
2974 | /* sshbuf_dump(state->output, stderr); */ | ||
2975 | } | ||
2976 | sshbuf_reset(state->outgoing_packet); | ||
2977 | return 0; | ||
2978 | } | ||
2979 | |||
2972 | /* send it */ | 2980 | /* send it */ |
2973 | 2981 | ||
2974 | int | 2982 | int |
2975 | sshpkt_send(struct ssh *ssh) | 2983 | sshpkt_send(struct ssh *ssh) |
2976 | { | 2984 | { |
2985 | if (ssh->state && ssh->state->mux) | ||
2986 | return ssh_packet_send_mux(ssh); | ||
2977 | if (compat20) | 2987 | if (compat20) |
2978 | return ssh_packet_send2(ssh); | 2988 | return ssh_packet_send2(ssh); |
2979 | else | 2989 | else |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: packet.h,v 1.71 2016/03/07 19:02:43 djm Exp $ */ | 1 | /* $OpenBSD: packet.h,v 1.74 2016/10/11 21:47:45 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -78,6 +78,9 @@ struct ssh { | |||
78 | void *app_data; | 78 | void *app_data; |
79 | }; | 79 | }; |
80 | 80 | ||
81 | typedef int (ssh_packet_hook_fn)(struct ssh *, struct sshbuf *, | ||
82 | u_char *, void *); | ||
83 | |||
81 | struct ssh *ssh_alloc_session_state(void); | 84 | struct ssh *ssh_alloc_session_state(void); |
82 | struct ssh *ssh_packet_set_connection(struct ssh *, int, int); | 85 | struct ssh *ssh_packet_set_connection(struct ssh *, int, int); |
83 | void ssh_packet_set_timeout(struct ssh *, int, int); | 86 | void ssh_packet_set_timeout(struct ssh *, int, int); |
@@ -88,6 +91,8 @@ int ssh_packet_get_connection_in(struct ssh *); | |||
88 | int ssh_packet_get_connection_out(struct ssh *); | 91 | int ssh_packet_get_connection_out(struct ssh *); |
89 | void ssh_packet_close(struct ssh *); | 92 | void ssh_packet_close(struct ssh *); |
90 | void ssh_packet_set_encryption_key(struct ssh *, const u_char *, u_int, int); | 93 | void ssh_packet_set_encryption_key(struct ssh *, const u_char *, u_int, int); |
94 | void ssh_packet_set_input_hook(struct ssh *, ssh_packet_hook_fn *, void *); | ||
95 | |||
91 | int ssh_packet_is_rekeying(struct ssh *); | 96 | int ssh_packet_is_rekeying(struct ssh *); |
92 | void ssh_packet_set_protocol_flags(struct ssh *, u_int); | 97 | void ssh_packet_set_protocol_flags(struct ssh *, u_int); |
93 | u_int ssh_packet_get_protocol_flags(struct ssh *); | 98 | u_int ssh_packet_get_protocol_flags(struct ssh *); |
@@ -97,6 +102,10 @@ void ssh_packet_set_interactive(struct ssh *, int, int, int); | |||
97 | int ssh_packet_is_interactive(struct ssh *); | 102 | int ssh_packet_is_interactive(struct ssh *); |
98 | void ssh_packet_set_server(struct ssh *); | 103 | void ssh_packet_set_server(struct ssh *); |
99 | void ssh_packet_set_authenticated(struct ssh *); | 104 | void ssh_packet_set_authenticated(struct ssh *); |
105 | void ssh_packet_set_mux(struct ssh *); | ||
106 | int ssh_packet_get_mux(struct ssh *); | ||
107 | |||
108 | int ssh_packet_log_type(u_char); | ||
100 | 109 | ||
101 | int ssh_packet_send1(struct ssh *); | 110 | int ssh_packet_send1(struct ssh *); |
102 | int ssh_packet_send2_wrapped(struct ssh *); | 111 | int ssh_packet_send2_wrapped(struct ssh *); |
@@ -120,11 +129,6 @@ void ssh_packet_send_debug(struct ssh *, const char *fmt, ...) __attribute__ | |||
120 | int ssh_set_newkeys(struct ssh *, int mode); | 129 | int ssh_set_newkeys(struct ssh *, int mode); |
121 | void ssh_packet_get_bytes(struct ssh *, u_int64_t *, u_int64_t *); | 130 | void ssh_packet_get_bytes(struct ssh *, u_int64_t *, u_int64_t *); |
122 | 131 | ||
123 | typedef void *(ssh_packet_comp_alloc_func)(void *, u_int, u_int); | ||
124 | typedef void (ssh_packet_comp_free_func)(void *, void *); | ||
125 | void ssh_packet_set_compress_hooks(struct ssh *, void *, | ||
126 | ssh_packet_comp_alloc_func *, ssh_packet_comp_free_func *); | ||
127 | |||
128 | int ssh_packet_write_poll(struct ssh *); | 132 | int ssh_packet_write_poll(struct ssh *); |
129 | int ssh_packet_write_wait(struct ssh *); | 133 | int ssh_packet_write_wait(struct ssh *); |
130 | int ssh_packet_have_data_to_write(struct ssh *); | 134 | int ssh_packet_have_data_to_write(struct ssh *); |
diff --git a/platform-tracing.c b/platform-tracing.c index 81020e7f7..4c80a282c 100644 --- a/platform-tracing.c +++ b/platform-tracing.c | |||
@@ -20,6 +20,9 @@ | |||
20 | #if defined(HAVE_SYS_PRCTL_H) | 20 | #if defined(HAVE_SYS_PRCTL_H) |
21 | #include <sys/prctl.h> /* For prctl() and PR_SET_DUMPABLE */ | 21 | #include <sys/prctl.h> /* For prctl() and PR_SET_DUMPABLE */ |
22 | #endif | 22 | #endif |
23 | #ifdef HAVE_SYS_PTRACE_H | ||
24 | #include <sys/ptrace.h> | ||
25 | #endif | ||
23 | #ifdef HAVE_PRIV_H | 26 | #ifdef HAVE_PRIV_H |
24 | #include <priv.h> /* For setpflags() and __PROC_PROTECT */ | 27 | #include <priv.h> /* For setpflags() and __PROC_PROTECT */ |
25 | #endif | 28 | #endif |
@@ -40,4 +43,9 @@ platform_disable_tracing(int strict) | |||
40 | if (setpflags(__PROC_PROTECT, 1) != 0 && strict) | 43 | if (setpflags(__PROC_PROTECT, 1) != 0 && strict) |
41 | fatal("unable to make the process untraceable"); | 44 | fatal("unable to make the process untraceable"); |
42 | #endif | 45 | #endif |
46 | #ifdef PT_DENY_ATTACH | ||
47 | /* Mac OS X */ | ||
48 | if (ptrace(PT_DENY_ATTACH, 0, 0, 0) == -1 && strict) | ||
49 | fatal("unable to set PT_DENY_ATTACH"); | ||
50 | #endif | ||
43 | } | 51 | } |
diff --git a/platform.c b/platform.c index acf8554cd..973a63e40 100644 --- a/platform.c +++ b/platform.c | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: platform.c,v 1.22 2014/07/18 04:11:26 djm Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2006 Darren Tucker. All rights reserved. | 2 | * Copyright (c) 2006 Darren Tucker. All rights reserved. |
5 | * | 3 | * |
diff --git a/platform.h b/platform.h index e97ecd909..ea4f9c584 100644 --- a/platform.h +++ b/platform.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: platform.h,v 1.9 2013/09/22 09:02:40 dtucker Exp $ */ | ||
2 | |||
3 | /* | 1 | /* |
4 | * Copyright (c) 2006 Darren Tucker. All rights reserved. | 2 | * Copyright (c) 2006 Darren Tucker. All rights reserved. |
5 | * | 3 | * |
diff --git a/readconf.c b/readconf.c index c177202b1..fa3fab8f0 100644 --- a/readconf.c +++ b/readconf.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: readconf.c,v 1.259 2016/07/22 03:35:11 djm Exp $ */ | 1 | /* $OpenBSD: readconf.c,v 1.262 2016/10/25 04:08:13 jsg Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -312,7 +312,7 @@ add_local_forward(Options *options, const struct Forward *newfwd) | |||
312 | extern uid_t original_real_uid; | 312 | extern uid_t original_real_uid; |
313 | int i; | 313 | int i; |
314 | 314 | ||
315 | if (newfwd->listen_port < IPPORT_RESERVED && original_real_uid != 0 && | 315 | if (!bind_permitted(newfwd->listen_port, original_real_uid) && |
316 | newfwd->listen_path == NULL) | 316 | newfwd->listen_path == NULL) |
317 | fatal("Privileged ports can only be forwarded by root."); | 317 | fatal("Privileged ports can only be forwarded by root."); |
318 | /* Don't add duplicates */ | 318 | /* Don't add duplicates */ |
@@ -858,7 +858,6 @@ process_config_line_depth(Options *options, struct passwd *pw, const char *host, | |||
858 | case oBadOption: | 858 | case oBadOption: |
859 | /* don't panic, but count bad options */ | 859 | /* don't panic, but count bad options */ |
860 | return -1; | 860 | return -1; |
861 | /* NOTREACHED */ | ||
862 | case oIgnoredUnknownOption: | 861 | case oIgnoredUnknownOption: |
863 | debug("%s line %d: Ignored unknown option \"%s\"", | 862 | debug("%s line %d: Ignored unknown option \"%s\"", |
864 | filename, linenum, keyword); | 863 | filename, linenum, keyword); |
diff --git a/regress/Makefile b/regress/Makefile index 08fd82dbf..c2dba4fdf 100644 --- a/regress/Makefile +++ b/regress/Makefile | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: Makefile,v 1.88 2016/06/03 04:10:41 dtucker Exp $ | 1 | # $OpenBSD: Makefile,v 1.94 2016/12/16 03:51:19 dtucker Exp $ |
2 | 2 | ||
3 | REGRESS_TARGETS= unit t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t-exec | 3 | REGRESS_TARGETS= unit t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t-exec |
4 | tests: prep $(REGRESS_TARGETS) | 4 | tests: prep $(REGRESS_TARGETS) |
@@ -39,6 +39,7 @@ LTESTS= connect \ | |||
39 | keyscan \ | 39 | keyscan \ |
40 | keygen-change \ | 40 | keygen-change \ |
41 | keygen-convert \ | 41 | keygen-convert \ |
42 | keygen-moduli \ | ||
42 | key-options \ | 43 | key-options \ |
43 | scp \ | 44 | scp \ |
44 | sftp \ | 45 | sftp \ |
@@ -77,7 +78,8 @@ LTESTS= connect \ | |||
77 | hostkey-rotate \ | 78 | hostkey-rotate \ |
78 | principals-command \ | 79 | principals-command \ |
79 | cert-file \ | 80 | cert-file \ |
80 | cfginclude | 81 | cfginclude \ |
82 | allow-deny-users | ||
81 | 83 | ||
82 | 84 | ||
83 | # dhgex \ | 85 | # dhgex \ |
@@ -87,9 +89,10 @@ INTEROP_TESTS= putty-transfer putty-ciphers putty-kex conch-ciphers | |||
87 | 89 | ||
88 | #LTESTS= cipher-speed | 90 | #LTESTS= cipher-speed |
89 | 91 | ||
90 | USER!= id -un | 92 | USERNAME!= id -un |
91 | CLEANFILES= *.core actual agent-key.* authorized_keys_${USER} \ | 93 | CLEANFILES= *.core actual agent-key.* authorized_keys_${USERNAME} \ |
92 | authorized_keys_${USER}.* authorized_principals_${USER} \ | 94 | authorized_keys_${USERNAME}.* \ |
95 | authorized_principals_${USERNAME} \ | ||
93 | banner.in banner.out cert_host_key* cert_user_key* \ | 96 | banner.in banner.out cert_host_key* cert_user_key* \ |
94 | copy.1 copy.2 data ed25519-agent ed25519-agent* \ | 97 | copy.1 copy.2 data ed25519-agent ed25519-agent* \ |
95 | ed25519-agent.pub empty.in expect failed-regress.log \ | 98 | ed25519-agent.pub empty.in expect failed-regress.log \ |
@@ -111,10 +114,10 @@ CLEANFILES= *.core actual agent-key.* authorized_keys_${USER} \ | |||
111 | t6.out1 t6.out2 t7.out t7.out.pub t8.out t8.out.pub \ | 114 | t6.out1 t6.out2 t7.out t7.out.pub t8.out t8.out.pub \ |
112 | t9.out t9.out.pub testdata user_*key* user_ca* user_key* | 115 | t9.out t9.out.pub testdata user_*key* user_ca* user_key* |
113 | 116 | ||
114 | SUDO_CLEAN+= /var/run/testdata_${USER} /var/run/keycommand_${USER} | 117 | SUDO_CLEAN+= /var/run/testdata_${USERNAME} /var/run/keycommand_${USERNAME} |
115 | 118 | ||
116 | # Enable all malloc(3) randomisations and checks | 119 | # Enable all malloc(3) randomisations and checks |
117 | TEST_ENV= "MALLOC_OPTIONS=AFGJPRX" | 120 | TEST_ENV= "MALLOC_OPTIONS=CFGJRSUX" |
118 | 121 | ||
119 | TEST_SSH_SSHKEYGEN?=ssh-keygen | 122 | TEST_SSH_SSHKEYGEN?=ssh-keygen |
120 | 123 | ||
@@ -222,4 +225,8 @@ unit: | |||
222 | $$V ${.OBJDIR}/unittests/kex/test_kex ; \ | 225 | $$V ${.OBJDIR}/unittests/kex/test_kex ; \ |
223 | $$V ${.OBJDIR}/unittests/hostkeys/test_hostkeys \ | 226 | $$V ${.OBJDIR}/unittests/hostkeys/test_hostkeys \ |
224 | -d ${.CURDIR}/unittests/hostkeys/testdata ; \ | 227 | -d ${.CURDIR}/unittests/hostkeys/testdata ; \ |
228 | $$V ${.OBJDIR}/unittests/match/test_match ; \ | ||
229 | if test "x${TEST_SSH_UTF8}" = "xyes" ; then \ | ||
230 | $$V ${.OBJDIR}/unittests/utf8/test_utf8 ; \ | ||
231 | fi \ | ||
225 | fi | 232 | fi |
diff --git a/regress/agent-getpeereid.sh b/regress/agent-getpeereid.sh index 24b71f458..91621a59c 100644 --- a/regress/agent-getpeereid.sh +++ b/regress/agent-getpeereid.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: agent-getpeereid.sh,v 1.6 2016/05/03 14:41:04 djm Exp $ | 1 | # $OpenBSD: agent-getpeereid.sh,v 1.7 2016/09/26 21:34:38 bluhm Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="disallow agent attach from other uid" | 4 | tid="disallow agent attach from other uid" |
diff --git a/regress/allow-deny-users.sh b/regress/allow-deny-users.sh new file mode 100644 index 000000000..32a269afa --- /dev/null +++ b/regress/allow-deny-users.sh | |||
@@ -0,0 +1,40 @@ | |||
1 | # Public Domain | ||
2 | # Zev Weiss, 2016 | ||
3 | |||
4 | tid="AllowUsers/DenyUsers" | ||
5 | |||
6 | me="$LOGNAME" | ||
7 | if [ "x$me" == "x" ]; then | ||
8 | me=`whoami` | ||
9 | fi | ||
10 | other="nobody" | ||
11 | |||
12 | test_auth() | ||
13 | { | ||
14 | deny="$1" | ||
15 | allow="$2" | ||
16 | should_succeed="$3" | ||
17 | failmsg="$4" | ||
18 | |||
19 | start_sshd -oDenyUsers="$deny" -oAllowUsers="$allow" | ||
20 | |||
21 | ${SSH} -F $OBJ/ssh_config "$me@somehost" true | ||
22 | status=$? | ||
23 | |||
24 | if (test $status -eq 0 && ! $should_succeed) \ | ||
25 | || (test $status -ne 0 && $should_succeed); then | ||
26 | fail "$failmsg" | ||
27 | fi | ||
28 | |||
29 | stop_sshd | ||
30 | } | ||
31 | |||
32 | # DenyUsers AllowUsers should_succeed failure_message | ||
33 | test_auth "" "" true "user in neither DenyUsers nor AllowUsers denied" | ||
34 | test_auth "$other $me" "" false "user in DenyUsers allowed" | ||
35 | test_auth "$me $other" "" false "user in DenyUsers allowed" | ||
36 | test_auth "" "$other" false "user not in AllowUsers allowed" | ||
37 | test_auth "" "$other $me" true "user in AllowUsers denied" | ||
38 | test_auth "" "$me $other" true "user in AllowUsers denied" | ||
39 | test_auth "$me $other" "$me $other" false "user in both DenyUsers and AllowUsers allowed" | ||
40 | test_auth "$other $me" "$other $me" false "user in both DenyUsers and AllowUsers allowed" | ||
diff --git a/regress/cert-file.sh b/regress/cert-file.sh index bad923ad0..b184e7fea 100644 --- a/regress/cert-file.sh +++ b/regress/cert-file.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: cert-file.sh,v 1.2 2015/09/24 07:15:39 djm Exp $ | 1 | # $OpenBSD: cert-file.sh,v 1.4 2016/12/16 02:48:55 djm Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="ssh with certificates" | 4 | tid="ssh with certificates" |
diff --git a/regress/cert-userkey.sh b/regress/cert-userkey.sh index 319746395..7005fd55e 100644 --- a/regress/cert-userkey.sh +++ b/regress/cert-userkey.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: cert-userkey.sh,v 1.16 2016/05/03 12:15:49 dtucker Exp $ | 1 | # $OpenBSD: cert-userkey.sh,v 1.17 2016/11/30 03:01:33 djm Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="certified user keys" | 4 | tid="certified user keys" |
@@ -354,6 +354,20 @@ test_one "principals key option principals" success "-n mekmitasdigoat" \ | |||
354 | test_one "principals key option no principals" failure "" \ | 354 | test_one "principals key option no principals" failure "" \ |
355 | authorized_keys ',principals="mekmitasdigoat"' | 355 | authorized_keys ',principals="mekmitasdigoat"' |
356 | 356 | ||
357 | # command= options vs. force-command in key | ||
358 | test_one "force-command match true" success \ | ||
359 | "-n ${USER} -Oforce-command=true" \ | ||
360 | authorized_keys ',command="true"' | ||
361 | test_one "force-command match true" failure \ | ||
362 | "-n ${USER} -Oforce-command=false" \ | ||
363 | authorized_keys ',command="false"' | ||
364 | test_one "force-command mismatch 1" failure \ | ||
365 | "-n ${USER} -Oforce-command=false" \ | ||
366 | authorized_keys ',command="true"' | ||
367 | test_one "force-command mismatch 2" failure \ | ||
368 | "-n ${USER} -Oforce-command=true" \ | ||
369 | authorized_keys ',command="false"' | ||
370 | |||
357 | # Wrong certificate | 371 | # Wrong certificate |
358 | cat $OBJ/sshd_proxy_bak > $OBJ/sshd_proxy | 372 | cat $OBJ/sshd_proxy_bak > $OBJ/sshd_proxy |
359 | for ktype in $PLAIN_TYPES ; do | 373 | for ktype in $PLAIN_TYPES ; do |
diff --git a/regress/connect-privsep.sh b/regress/connect-privsep.sh index ea739f614..81cedc7e5 100644 --- a/regress/connect-privsep.sh +++ b/regress/connect-privsep.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: connect-privsep.sh,v 1.6 2015/03/03 22:35:19 markus Exp $ | 1 | # $OpenBSD: connect-privsep.sh,v 1.8 2016/11/01 13:43:27 tb Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="proxy connect with privsep" | 4 | tid="proxy connect with privsep" |
@@ -27,7 +27,7 @@ done | |||
27 | # Because sandbox is sensitive to changes in libc, especially malloc, retest | 27 | # Because sandbox is sensitive to changes in libc, especially malloc, retest |
28 | # with every malloc.conf option (and none). | 28 | # with every malloc.conf option (and none). |
29 | if [ -z "TEST_MALLOC_OPTIONS" ]; then | 29 | if [ -z "TEST_MALLOC_OPTIONS" ]; then |
30 | mopts="A F G H J P R S X < >" | 30 | mopts="C F G J R S U X < >" |
31 | else | 31 | else |
32 | mopts=`echo $TEST_MALLOC_OPTIONS | sed 's/./& /g'` | 32 | mopts=`echo $TEST_MALLOC_OPTIONS | sed 's/./& /g'` |
33 | fi | 33 | fi |
diff --git a/regress/integrity.sh b/regress/integrity.sh index bfadc6b48..39d310deb 100644 --- a/regress/integrity.sh +++ b/regress/integrity.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: integrity.sh,v 1.18 2016/03/04 02:48:06 dtucker Exp $ | 1 | # $OpenBSD: integrity.sh,v 1.19 2016/11/25 02:56:49 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="integrity" | 4 | tid="integrity" |
diff --git a/regress/keygen-moduli.sh b/regress/keygen-moduli.sh new file mode 100644 index 000000000..d4e771383 --- /dev/null +++ b/regress/keygen-moduli.sh | |||
@@ -0,0 +1,18 @@ | |||
1 | # $OpenBSD: keygen-moduli.sh,v 1.2 2016/09/14 00:45:31 dtucker Exp $ | ||
2 | # Placed in the Public Domain. | ||
3 | |||
4 | tid="keygen moduli" | ||
5 | |||
6 | # Try "start at the beginning and stop after 1", "skip 1 then stop after 1" | ||
7 | # and "skip 2 and run to the end with checkpointing". Since our test data | ||
8 | # file has 3 lines, these should always result in 1 line of output. | ||
9 | for i in "-J1" "-j1 -J1" "-j2 -K $OBJ/moduli.ckpt"; do | ||
10 | trace "keygen $i" | ||
11 | rm -f $OBJ/moduli.out $OBJ/moduli.ckpt | ||
12 | ${SSHKEYGEN} -T $OBJ/moduli.out -f ${SRC}/moduli.in $i 2>/dev/null || \ | ||
13 | fail "keygen screen failed $i" | ||
14 | lines=`wc -l <$OBJ/moduli.out` | ||
15 | test "$lines" -eq "1" || fail "expected 1 line, got $lines" | ||
16 | done | ||
17 | |||
18 | rm -f $OBJ/moduli.out $OBJ/moduli.ckpt | ||
diff --git a/regress/keys-command.sh b/regress/keys-command.sh index af68cf15c..9c9ada7c7 100644 --- a/regress/keys-command.sh +++ b/regress/keys-command.sh | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | tid="authorized keys from command" | 4 | tid="authorized keys from command" |
5 | 5 | ||
6 | if test -z "$SUDO" ; then | 6 | if [ -z "$SUDO" -a ! -w /var/run ]; then |
7 | echo "skipped (SUDO not set)" | 7 | echo "skipped (SUDO not set)" |
8 | echo "need SUDO to create file in /var/run, test won't work without" | 8 | echo "need SUDO to create file in /var/run, test won't work without" |
9 | exit 0 | 9 | exit 0 |
diff --git a/regress/login-timeout.sh b/regress/login-timeout.sh index eb76f554b..12207fd99 100644 --- a/regress/login-timeout.sh +++ b/regress/login-timeout.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: login-timeout.sh,v 1.7 2014/03/13 20:44:49 djm Exp $ | 1 | # $OpenBSD: login-timeout.sh,v 1.8 2016/12/16 01:06:27 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="connect after login grace timeout" | 4 | tid="connect after login grace timeout" |
@@ -17,7 +17,7 @@ if [ $? -ne 0 ]; then | |||
17 | fail "ssh connect after login grace timeout failed with privsep" | 17 | fail "ssh connect after login grace timeout failed with privsep" |
18 | fi | 18 | fi |
19 | 19 | ||
20 | $SUDO kill `$SUDO cat $PIDFILE` | 20 | stop_sshd |
21 | 21 | ||
22 | trace "test login grace without privsep" | 22 | trace "test login grace without privsep" |
23 | echo "UsePrivilegeSeparation no" >> $OBJ/sshd_config | 23 | echo "UsePrivilegeSeparation no" >> $OBJ/sshd_config |
diff --git a/regress/misc/kexfuzz/README b/regress/misc/kexfuzz/README index 8b215b5bf..abd7b50ee 100644 --- a/regress/misc/kexfuzz/README +++ b/regress/misc/kexfuzz/README | |||
@@ -26,3 +26,7 @@ A comprehensive KEX fuzz run would fuzz every packet in both | |||
26 | directions for each key exchange type and every hostkey type. | 26 | directions for each key exchange type and every hostkey type. |
27 | This will take some time. | 27 | This will take some time. |
28 | 28 | ||
29 | Limitations: kexfuzz can't change the ordering of packets at | ||
30 | present. It is limited to replacing individual packets with | ||
31 | fuzzed variants with the same type. It really should allow | ||
32 | insertion, deletion on replacement of packets too. | ||
diff --git a/regress/misc/kexfuzz/kexfuzz.c b/regress/misc/kexfuzz/kexfuzz.c index 2894d3a1e..67058027f 100644 --- a/regress/misc/kexfuzz/kexfuzz.c +++ b/regress/misc/kexfuzz/kexfuzz.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: kexfuzz.c,v 1.1 2016/03/04 02:30:37 djm Exp $ */ | 1 | /* $OpenBSD: kexfuzz.c,v 1.3 2016/10/11 21:49:54 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Fuzz harness for KEX code | 3 | * Fuzz harness for KEX code |
4 | * | 4 | * |
@@ -27,6 +27,7 @@ | |||
27 | #include "packet.h" | 27 | #include "packet.h" |
28 | #include "myproposal.h" | 28 | #include "myproposal.h" |
29 | #include "authfile.h" | 29 | #include "authfile.h" |
30 | #include "log.h" | ||
30 | 31 | ||
31 | struct ssh *active_state = NULL; /* XXX - needed for linking */ | 32 | struct ssh *active_state = NULL; /* XXX - needed for linking */ |
32 | 33 | ||
@@ -35,61 +36,93 @@ static int do_debug = 0; | |||
35 | 36 | ||
36 | enum direction { S2C, C2S }; | 37 | enum direction { S2C, C2S }; |
37 | 38 | ||
39 | struct hook_ctx { | ||
40 | struct ssh *client, *server, *server2; | ||
41 | int *c2s, *s2c; | ||
42 | int trigger_direction, packet_index; | ||
43 | const char *dump_path; | ||
44 | struct sshbuf *replace_data; | ||
45 | }; | ||
46 | |||
38 | static int | 47 | static int |
39 | do_send_and_receive(struct ssh *from, struct ssh *to, int mydirection, | 48 | packet_hook(struct ssh *ssh, struct sshbuf *packet, u_char *typep, void *_ctx) |
40 | int *packet_count, int trigger_direction, int packet_index, | 49 | { |
41 | const char *dump_path, struct sshbuf *replace_data) | 50 | struct hook_ctx *ctx = (struct hook_ctx *)_ctx; |
51 | int mydirection = ssh == ctx->client ? S2C : C2S; | ||
52 | int *packet_count = mydirection == S2C ? ctx->s2c : ctx->c2s; | ||
53 | FILE *dumpfile; | ||
54 | int r; | ||
55 | |||
56 | if (do_debug) { | ||
57 | printf("%s packet %d type %u:\n", | ||
58 | mydirection == S2C ? "s2c" : "c2s", | ||
59 | *packet_count, *typep); | ||
60 | sshbuf_dump(packet, stdout); | ||
61 | } | ||
62 | if (mydirection == ctx->trigger_direction && | ||
63 | ctx->packet_index == *packet_count) { | ||
64 | if (ctx->replace_data != NULL) { | ||
65 | sshbuf_reset(packet); | ||
66 | /* Type is first byte of packet */ | ||
67 | if ((r = sshbuf_get_u8(ctx->replace_data, | ||
68 | typep)) != 0 || | ||
69 | (r = sshbuf_putb(packet, ctx->replace_data)) != 0) | ||
70 | return r; | ||
71 | if (do_debug) { | ||
72 | printf("***** replaced packet type %u\n", | ||
73 | *typep); | ||
74 | sshbuf_dump(packet, stdout); | ||
75 | } | ||
76 | } else if (ctx->dump_path != NULL) { | ||
77 | if ((dumpfile = fopen(ctx->dump_path, "w+")) == NULL) | ||
78 | err(1, "fopen %s", ctx->dump_path); | ||
79 | /* Write { type, packet } */ | ||
80 | if (fwrite(typep, 1, 1, dumpfile) != 1) | ||
81 | err(1, "fwrite type %s", ctx->dump_path); | ||
82 | if (sshbuf_len(packet) != 0 && | ||
83 | fwrite(sshbuf_ptr(packet), sshbuf_len(packet), | ||
84 | 1, dumpfile) != 1) | ||
85 | err(1, "fwrite body %s", ctx->dump_path); | ||
86 | if (do_debug) { | ||
87 | printf("***** dumped packet type %u len %zu\n", | ||
88 | *typep, sshbuf_len(packet)); | ||
89 | } | ||
90 | fclose(dumpfile); | ||
91 | /* No point in continuing */ | ||
92 | exit(0); | ||
93 | } | ||
94 | } | ||
95 | (*packet_count)++; | ||
96 | return 0; | ||
97 | } | ||
98 | |||
99 | static int | ||
100 | do_send_and_receive(struct ssh *from, struct ssh *to) | ||
42 | { | 101 | { |
43 | u_char type; | 102 | u_char type; |
44 | size_t len, olen; | 103 | size_t len; |
45 | const u_char *buf; | 104 | const u_char *buf; |
46 | int r; | 105 | int r; |
47 | FILE *dumpfile; | ||
48 | 106 | ||
49 | for (;;) { | 107 | for (;;) { |
50 | if ((r = ssh_packet_next(from, &type)) != 0) { | 108 | if ((r = ssh_packet_next(from, &type)) != 0) { |
51 | fprintf(stderr, "ssh_packet_next: %s\n", ssh_err(r)); | 109 | fprintf(stderr, "ssh_packet_next: %s\n", ssh_err(r)); |
52 | return r; | 110 | return r; |
53 | } | 111 | } |
112 | |||
54 | if (type != 0) | 113 | if (type != 0) |
55 | return 0; | 114 | return 0; |
56 | buf = ssh_output_ptr(from, &len); | 115 | buf = ssh_output_ptr(from, &len); |
57 | olen = len; | ||
58 | if (do_debug) { | ||
59 | printf("%s packet %d type %u len %zu:\n", | ||
60 | mydirection == S2C ? "s2c" : "c2s", | ||
61 | *packet_count, type, len); | ||
62 | sshbuf_dump_data(buf, len, stdout); | ||
63 | } | ||
64 | if (mydirection == trigger_direction && | ||
65 | packet_index == *packet_count) { | ||
66 | if (replace_data != NULL) { | ||
67 | buf = sshbuf_ptr(replace_data); | ||
68 | len = sshbuf_len(replace_data); | ||
69 | if (do_debug) { | ||
70 | printf("***** replaced packet " | ||
71 | "len %zu\n", len); | ||
72 | sshbuf_dump_data(buf, len, stdout); | ||
73 | } | ||
74 | } else if (dump_path != NULL) { | ||
75 | if ((dumpfile = fopen(dump_path, "w+")) == NULL) | ||
76 | err(1, "fopen %s", dump_path); | ||
77 | if (len != 0 && | ||
78 | fwrite(buf, len, 1, dumpfile) != 1) | ||
79 | err(1, "fwrite %s", dump_path); | ||
80 | if (do_debug) | ||
81 | printf("***** dumped packet " | ||
82 | "len %zu\n", len); | ||
83 | fclose(dumpfile); | ||
84 | exit(0); | ||
85 | } | ||
86 | } | ||
87 | (*packet_count)++; | ||
88 | if (len == 0) | 116 | if (len == 0) |
89 | return 0; | 117 | return 0; |
90 | if ((r = ssh_input_append(to, buf, len)) != 0 || | 118 | if ((r = ssh_input_append(to, buf, len)) != 0) { |
91 | (r = ssh_output_consume(from, olen)) != 0) | 119 | debug("ssh_input_append: %s", ssh_err(r)); |
120 | return r; | ||
121 | } | ||
122 | if ((r = ssh_output_consume(from, len)) != 0) { | ||
123 | debug("ssh_output_consume: %s", ssh_err(r)); | ||
92 | return r; | 124 | return r; |
125 | } | ||
93 | } | 126 | } |
94 | } | 127 | } |
95 | 128 | ||
@@ -141,19 +174,19 @@ const char *in_test = NULL; | |||
141 | 174 | ||
142 | 175 | ||
143 | static void | 176 | static void |
144 | run_kex(struct ssh *client, struct ssh *server, int *s2c, int *c2s, | 177 | run_kex(struct ssh *client, struct ssh *server) |
145 | int direction, int packet_index, | ||
146 | const char *dump_path, struct sshbuf *replace_data) | ||
147 | { | 178 | { |
148 | int r = 0; | 179 | int r = 0; |
149 | 180 | ||
150 | while (!server->kex->done || !client->kex->done) { | 181 | while (!server->kex->done || !client->kex->done) { |
151 | if ((r = do_send_and_receive(server, client, S2C, s2c, | 182 | if ((r = do_send_and_receive(server, client)) != 0) { |
152 | direction, packet_index, dump_path, replace_data))) | 183 | debug("do_send_and_receive S2C: %s", ssh_err(r)); |
153 | break; | 184 | break; |
154 | if ((r = do_send_and_receive(client, server, C2S, c2s, | 185 | } |
155 | direction, packet_index, dump_path, replace_data))) | 186 | if ((r = do_send_and_receive(client, server)) != 0) { |
187 | debug("do_send_and_receive C2S: %s", ssh_err(r)); | ||
156 | break; | 188 | break; |
189 | } | ||
157 | } | 190 | } |
158 | if (do_debug) | 191 | if (do_debug) |
159 | printf("done: %s\n", ssh_err(r)); | 192 | printf("done: %s\n", ssh_err(r)); |
@@ -173,6 +206,7 @@ do_kex_with_key(const char *kex, struct sshkey *prvkey, int *c2s, int *s2c, | |||
173 | struct kex_params kex_params; | 206 | struct kex_params kex_params; |
174 | char *myproposal[PROPOSAL_MAX] = { KEX_CLIENT }; | 207 | char *myproposal[PROPOSAL_MAX] = { KEX_CLIENT }; |
175 | char *keyname = NULL; | 208 | char *keyname = NULL; |
209 | struct hook_ctx hook_ctx; | ||
176 | 210 | ||
177 | TEST_START("sshkey_from_private"); | 211 | TEST_START("sshkey_from_private"); |
178 | ASSERT_INT_EQ(sshkey_from_private(prvkey, &pubkey), 0); | 212 | ASSERT_INT_EQ(sshkey_from_private(prvkey, &pubkey), 0); |
@@ -187,30 +221,42 @@ do_kex_with_key(const char *kex, struct sshkey *prvkey, int *c2s, int *s2c, | |||
187 | kex_params.proposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = keyname; | 221 | kex_params.proposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = keyname; |
188 | ASSERT_INT_EQ(ssh_init(&client, 0, &kex_params), 0); | 222 | ASSERT_INT_EQ(ssh_init(&client, 0, &kex_params), 0); |
189 | ASSERT_INT_EQ(ssh_init(&server, 1, &kex_params), 0); | 223 | ASSERT_INT_EQ(ssh_init(&server, 1, &kex_params), 0); |
224 | ASSERT_INT_EQ(ssh_init(&server2, 1, NULL), 0); | ||
190 | ASSERT_PTR_NE(client, NULL); | 225 | ASSERT_PTR_NE(client, NULL); |
191 | ASSERT_PTR_NE(server, NULL); | 226 | ASSERT_PTR_NE(server, NULL); |
227 | ASSERT_PTR_NE(server2, NULL); | ||
192 | TEST_DONE(); | 228 | TEST_DONE(); |
193 | 229 | ||
230 | hook_ctx.c2s = c2s; | ||
231 | hook_ctx.s2c = s2c; | ||
232 | hook_ctx.trigger_direction = direction; | ||
233 | hook_ctx.packet_index = packet_index; | ||
234 | hook_ctx.dump_path = dump_path; | ||
235 | hook_ctx.replace_data = replace_data; | ||
236 | hook_ctx.client = client; | ||
237 | hook_ctx.server = server; | ||
238 | hook_ctx.server2 = server2; | ||
239 | ssh_packet_set_input_hook(client, packet_hook, &hook_ctx); | ||
240 | ssh_packet_set_input_hook(server, packet_hook, &hook_ctx); | ||
241 | ssh_packet_set_input_hook(server2, packet_hook, &hook_ctx); | ||
242 | |||
194 | TEST_START("ssh_add_hostkey"); | 243 | TEST_START("ssh_add_hostkey"); |
195 | ASSERT_INT_EQ(ssh_add_hostkey(server, prvkey), 0); | 244 | ASSERT_INT_EQ(ssh_add_hostkey(server, prvkey), 0); |
196 | ASSERT_INT_EQ(ssh_add_hostkey(client, pubkey), 0); | 245 | ASSERT_INT_EQ(ssh_add_hostkey(client, pubkey), 0); |
197 | TEST_DONE(); | 246 | TEST_DONE(); |
198 | 247 | ||
199 | TEST_START("kex"); | 248 | TEST_START("kex"); |
200 | run_kex(client, server, s2c, c2s, direction, packet_index, | 249 | run_kex(client, server); |
201 | dump_path, replace_data); | ||
202 | TEST_DONE(); | 250 | TEST_DONE(); |
203 | 251 | ||
204 | TEST_START("rekeying client"); | 252 | TEST_START("rekeying client"); |
205 | ASSERT_INT_EQ(kex_send_kexinit(client), 0); | 253 | ASSERT_INT_EQ(kex_send_kexinit(client), 0); |
206 | run_kex(client, server, s2c, c2s, direction, packet_index, | 254 | run_kex(client, server); |
207 | dump_path, replace_data); | ||
208 | TEST_DONE(); | 255 | TEST_DONE(); |
209 | 256 | ||
210 | TEST_START("rekeying server"); | 257 | TEST_START("rekeying server"); |
211 | ASSERT_INT_EQ(kex_send_kexinit(server), 0); | 258 | ASSERT_INT_EQ(kex_send_kexinit(server), 0); |
212 | run_kex(client, server, s2c, c2s, direction, packet_index, | 259 | run_kex(client, server); |
213 | dump_path, replace_data); | ||
214 | TEST_DONE(); | 260 | TEST_DONE(); |
215 | 261 | ||
216 | TEST_START("ssh_packet_get_state"); | 262 | TEST_START("ssh_packet_get_state"); |
@@ -221,9 +267,6 @@ do_kex_with_key(const char *kex, struct sshkey *prvkey, int *c2s, int *s2c, | |||
221 | TEST_DONE(); | 267 | TEST_DONE(); |
222 | 268 | ||
223 | TEST_START("ssh_packet_set_state"); | 269 | TEST_START("ssh_packet_set_state"); |
224 | server2 = NULL; | ||
225 | ASSERT_INT_EQ(ssh_init(&server2, 1, NULL), 0); | ||
226 | ASSERT_PTR_NE(server2, NULL); | ||
227 | ASSERT_INT_EQ(ssh_add_hostkey(server2, prvkey), 0); | 270 | ASSERT_INT_EQ(ssh_add_hostkey(server2, prvkey), 0); |
228 | kex_free(server2->kex); /* XXX or should ssh_packet_set_state()? */ | 271 | kex_free(server2->kex); /* XXX or should ssh_packet_set_state()? */ |
229 | ASSERT_INT_EQ(ssh_packet_set_state(server2, state), 0); | 272 | ASSERT_INT_EQ(ssh_packet_set_state(server2, state), 0); |
@@ -231,12 +274,17 @@ do_kex_with_key(const char *kex, struct sshkey *prvkey, int *c2s, int *s2c, | |||
231 | sshbuf_free(state); | 274 | sshbuf_free(state); |
232 | ASSERT_PTR_NE(server2->kex, NULL); | 275 | ASSERT_PTR_NE(server2->kex, NULL); |
233 | /* XXX we need to set the callbacks */ | 276 | /* XXX we need to set the callbacks */ |
277 | #ifdef WITH_OPENSSL | ||
234 | server2->kex->kex[KEX_DH_GRP1_SHA1] = kexdh_server; | 278 | server2->kex->kex[KEX_DH_GRP1_SHA1] = kexdh_server; |
235 | server2->kex->kex[KEX_DH_GRP14_SHA1] = kexdh_server; | 279 | server2->kex->kex[KEX_DH_GRP14_SHA1] = kexdh_server; |
280 | server2->kex->kex[KEX_DH_GRP14_SHA256] = kexdh_server; | ||
281 | server2->kex->kex[KEX_DH_GRP16_SHA512] = kexdh_server; | ||
282 | server2->kex->kex[KEX_DH_GRP18_SHA512] = kexdh_server; | ||
236 | server2->kex->kex[KEX_DH_GEX_SHA1] = kexgex_server; | 283 | server2->kex->kex[KEX_DH_GEX_SHA1] = kexgex_server; |
237 | server2->kex->kex[KEX_DH_GEX_SHA256] = kexgex_server; | 284 | server2->kex->kex[KEX_DH_GEX_SHA256] = kexgex_server; |
238 | #ifdef OPENSSL_HAS_ECC | 285 | # ifdef OPENSSL_HAS_ECC |
239 | server2->kex->kex[KEX_ECDH_SHA2] = kexecdh_server; | 286 | server2->kex->kex[KEX_ECDH_SHA2] = kexecdh_server; |
287 | # endif | ||
240 | #endif | 288 | #endif |
241 | server2->kex->kex[KEX_C25519_SHA256] = kexc25519_server; | 289 | server2->kex->kex[KEX_C25519_SHA256] = kexc25519_server; |
242 | server2->kex->load_host_public_key = server->kex->load_host_public_key; | 290 | server2->kex->load_host_public_key = server->kex->load_host_public_key; |
@@ -246,11 +294,9 @@ do_kex_with_key(const char *kex, struct sshkey *prvkey, int *c2s, int *s2c, | |||
246 | 294 | ||
247 | TEST_START("rekeying server2"); | 295 | TEST_START("rekeying server2"); |
248 | ASSERT_INT_EQ(kex_send_kexinit(server2), 0); | 296 | ASSERT_INT_EQ(kex_send_kexinit(server2), 0); |
249 | run_kex(client, server2, s2c, c2s, direction, packet_index, | 297 | run_kex(client, server2); |
250 | dump_path, replace_data); | ||
251 | ASSERT_INT_EQ(kex_send_kexinit(client), 0); | 298 | ASSERT_INT_EQ(kex_send_kexinit(client), 0); |
252 | run_kex(client, server2, s2c, c2s, direction, packet_index, | 299 | run_kex(client, server2); |
253 | dump_path, replace_data); | ||
254 | TEST_DONE(); | 300 | TEST_DONE(); |
255 | 301 | ||
256 | TEST_START("cleanup"); | 302 | TEST_START("cleanup"); |
@@ -352,6 +398,9 @@ main(int argc, char **argv) | |||
352 | argc -= optind; | 398 | argc -= optind; |
353 | argv += optind; | 399 | argv += optind; |
354 | 400 | ||
401 | log_init(argv[0], do_debug ? SYSLOG_LEVEL_DEBUG3 : SYSLOG_LEVEL_INFO, | ||
402 | SYSLOG_FACILITY_USER, 1); | ||
403 | |||
355 | /* Must select a single mode */ | 404 | /* Must select a single mode */ |
356 | if ((count_flag + dump_flag + replace_flag) != 1) | 405 | if ((count_flag + dump_flag + replace_flag) != 1) |
357 | badusage("Must select one mode: -c, -d or -r"); | 406 | badusage("Must select one mode: -c, -d or -r"); |
diff --git a/regress/moduli.in b/regress/moduli.in new file mode 100644 index 000000000..e69c902a2 --- /dev/null +++ b/regress/moduli.in | |||
@@ -0,0 +1,3 @@ | |||
1 | 20160301052556 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D19F4647 | ||
2 | 20160301052601 2 6 100 2047 2 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D1A5C13B | ||
3 | 20160301052612 2 6 100 2047 5 DA57B18976E9C55CEAC3BFFF70419A1550258EA7359400BD4FAC8F4203B73E0BC54D62C0A2D9AA9B543FACA0290514EA426DE6FEF897CB858243511DCE5170420C799D888DCFDC4502FF49B66F34E75C00E98A55408A791FF5CFEA7C288F8E6664226A6A90BE237D2E40C207B5AD0CAEDFDA4946E63AEA351A09EF462515FED4098694241CD07E2CB7727B39B8B1B9467D72DFB908D8169F5DB3CD5A6BEBE1344C585A882508B760402E86EB9B5548A7B98635ECFCDC02FF62B29C53847142FC598ADC66F622F6E9F73BDF02B3D795C0DF23D00E5A3A7748F3E1D5B06F46D4568CE3F4CC57E67D4C36DF5C12800620698C727CC5F5BCACF3B7E17E37D1B7A3EF | ||
diff --git a/regress/principals-command.sh b/regress/principals-command.sh index c0be7e747..9b38eb105 100644 --- a/regress/principals-command.sh +++ b/regress/principals-command.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: principals-command.sh,v 1.1 2015/05/21 06:44:25 djm Exp $ | 1 | # $OpenBSD: principals-command.sh,v 1.3 2016/09/26 21:34:38 bluhm Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="authorized principals command" | 4 | tid="authorized principals command" |
@@ -6,41 +6,56 @@ tid="authorized principals command" | |||
6 | rm -f $OBJ/user_ca_key* $OBJ/cert_user_key* | 6 | rm -f $OBJ/user_ca_key* $OBJ/cert_user_key* |
7 | cp $OBJ/sshd_proxy $OBJ/sshd_proxy_bak | 7 | cp $OBJ/sshd_proxy $OBJ/sshd_proxy_bak |
8 | 8 | ||
9 | if test -z "$SUDO" ; then | 9 | if [ -z "$SUDO" -a ! -w /var/run ]; then |
10 | echo "skipped (SUDO not set)" | 10 | echo "skipped (SUDO not set)" |
11 | echo "need SUDO to create file in /var/run, test won't work without" | 11 | echo "need SUDO to create file in /var/run, test won't work without" |
12 | exit 0 | 12 | exit 0 |
13 | fi | 13 | fi |
14 | 14 | ||
15 | SERIAL=$$ | ||
16 | |||
17 | # Create a CA key and a user certificate. | ||
18 | ${SSHKEYGEN} -q -N '' -t ed25519 -f $OBJ/user_ca_key || \ | ||
19 | fatal "ssh-keygen of user_ca_key failed" | ||
20 | ${SSHKEYGEN} -q -N '' -t rsa -f $OBJ/cert_user_key || \ | ||
21 | fatal "ssh-keygen of cert_user_key failed" | ||
22 | ${SSHKEYGEN} -q -s $OBJ/user_ca_key -I "Joanne User" \ | ||
23 | -z $$ -n ${USER},mekmitasdigoat $OBJ/cert_user_key || \ | ||
24 | fatal "couldn't sign cert_user_key" | ||
25 | |||
26 | CERT_BODY=`cat $OBJ/cert_user_key-cert.pub | awk '{ print $2 }'` | ||
27 | CA_BODY=`cat $OBJ/user_ca_key.pub | awk '{ print $2 }'` | ||
28 | CERT_FP=`${SSHKEYGEN} -lf $OBJ/cert_user_key-cert.pub | awk '{ print $2 }'` | ||
29 | CA_FP=`${SSHKEYGEN} -lf $OBJ/user_ca_key.pub | awk '{ print $2 }'` | ||
30 | |||
15 | # Establish a AuthorizedPrincipalsCommand in /var/run where it will have | 31 | # Establish a AuthorizedPrincipalsCommand in /var/run where it will have |
16 | # acceptable directory permissions. | 32 | # acceptable directory permissions. |
17 | PRINCIPALS_CMD="/var/run/principals_command_${LOGNAME}" | 33 | PRINCIPALS_COMMAND="/var/run/principals_command_${LOGNAME}" |
18 | cat << _EOF | $SUDO sh -c "cat > '$PRINCIPALS_CMD'" | 34 | cat << _EOF | $SUDO sh -c "cat > '$PRINCIPALS_COMMAND'" |
19 | #!/bin/sh | 35 | #!/bin/sh |
20 | test "x\$1" != "x${LOGNAME}" && exit 1 | 36 | test "x\$1" != "x${LOGNAME}" && exit 1 |
37 | test "x\$2" != "xssh-rsa-cert-v01@openssh.com" && exit 1 | ||
38 | test "x\$3" != "xssh-ed25519" && exit 1 | ||
39 | test "x\$4" != "xJoanne User" && exit 1 | ||
40 | test "x\$5" != "x${SERIAL}" && exit 1 | ||
41 | test "x\$6" != "x${CA_FP}" && exit 1 | ||
42 | test "x\$7" != "x${CERT_FP}" && exit 1 | ||
43 | test "x\$8" != "x${CERT_BODY}" && exit 1 | ||
44 | test "x\$9" != "x${CA_BODY}" && exit 1 | ||
21 | test -f "$OBJ/authorized_principals_${LOGNAME}" && | 45 | test -f "$OBJ/authorized_principals_${LOGNAME}" && |
22 | exec cat "$OBJ/authorized_principals_${LOGNAME}" | 46 | exec cat "$OBJ/authorized_principals_${LOGNAME}" |
23 | _EOF | 47 | _EOF |
24 | test $? -eq 0 || fatal "couldn't prepare principals command" | 48 | test $? -eq 0 || fatal "couldn't prepare principals command" |
25 | $SUDO chmod 0755 "$PRINCIPALS_CMD" | 49 | $SUDO chmod 0755 "$PRINCIPALS_COMMAND" |
26 | 50 | ||
27 | if ! $OBJ/check-perm -m keys-command $PRINCIPALS_CMD ; then | 51 | if ! $OBJ/check-perm -m keys-command $PRINCIPALS_COMMAND ; then |
28 | echo "skipping: $PRINCIPALS_CMD is unsuitable as " \ | 52 | echo "skipping: $PRINCIPALS_COMMAND is unsuitable as " \ |
29 | "AuthorizedPrincipalsCommand" | 53 | "AuthorizedPrincipalsCommand" |
30 | $SUDO rm -f $PRINCIPALS_CMD | 54 | $SUDO rm -f $PRINCIPALS_COMMAND |
31 | exit 0 | 55 | exit 0 |
32 | fi | 56 | fi |
33 | 57 | ||
34 | # Create a CA key and a user certificate. | 58 | if [ -x $PRINCIPALS_COMMAND ]; then |
35 | ${SSHKEYGEN} -q -N '' -t ed25519 -f $OBJ/user_ca_key || \ | ||
36 | fatal "ssh-keygen of user_ca_key failed" | ||
37 | ${SSHKEYGEN} -q -N '' -t ed25519 -f $OBJ/cert_user_key || \ | ||
38 | fatal "ssh-keygen of cert_user_key failed" | ||
39 | ${SSHKEYGEN} -q -s $OBJ/user_ca_key -I "regress user key for $USER" \ | ||
40 | -z $$ -n ${USER},mekmitasdigoat $OBJ/cert_user_key || \ | ||
41 | fatal "couldn't sign cert_user_key" | ||
42 | |||
43 | if [ -x $PRINCIPALS_CMD ]; then | ||
44 | # Test explicitly-specified principals | 59 | # Test explicitly-specified principals |
45 | for privsep in yes no ; do | 60 | for privsep in yes no ; do |
46 | _prefix="privsep $privsep" | 61 | _prefix="privsep $privsep" |
@@ -51,7 +66,8 @@ if [ -x $PRINCIPALS_CMD ]; then | |||
51 | cat $OBJ/sshd_proxy_bak | 66 | cat $OBJ/sshd_proxy_bak |
52 | echo "UsePrivilegeSeparation $privsep" | 67 | echo "UsePrivilegeSeparation $privsep" |
53 | echo "AuthorizedKeysFile none" | 68 | echo "AuthorizedKeysFile none" |
54 | echo "AuthorizedPrincipalsCommand $PRINCIPALS_CMD %u" | 69 | echo "AuthorizedPrincipalsCommand $PRINCIPALS_COMMAND" \ |
70 | "%u %t %T %i %s %F %f %k %K" | ||
55 | echo "AuthorizedPrincipalsCommandUser ${LOGNAME}" | 71 | echo "AuthorizedPrincipalsCommandUser ${LOGNAME}" |
56 | echo "TrustedUserCAKeys $OBJ/user_ca_key.pub" | 72 | echo "TrustedUserCAKeys $OBJ/user_ca_key.pub" |
57 | ) > $OBJ/sshd_proxy | 73 | ) > $OBJ/sshd_proxy |
diff --git a/regress/putty-ciphers.sh b/regress/putty-ciphers.sh index 724a98cc1..9adba674e 100644 --- a/regress/putty-ciphers.sh +++ b/regress/putty-ciphers.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: putty-ciphers.sh,v 1.4 2013/05/17 04:29:14 dtucker Exp $ | 1 | # $OpenBSD: putty-ciphers.sh,v 1.5 2016/11/25 03:02:01 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="putty ciphers" | 4 | tid="putty ciphers" |
@@ -16,7 +16,7 @@ for c in aes blowfish 3des arcfour aes128-ctr aes192-ctr aes256-ctr ; do | |||
16 | 16 | ||
17 | rm -f ${COPY} | 17 | rm -f ${COPY} |
18 | env HOME=$PWD ${PLINK} -load cipher_$c -batch -i putty.rsa2 \ | 18 | env HOME=$PWD ${PLINK} -load cipher_$c -batch -i putty.rsa2 \ |
19 | 127.0.0.1 cat ${DATA} > ${COPY} | 19 | cat ${DATA} > ${COPY} |
20 | if [ $? -ne 0 ]; then | 20 | if [ $? -ne 0 ]; then |
21 | fail "ssh cat $DATA failed" | 21 | fail "ssh cat $DATA failed" |
22 | fi | 22 | fi |
diff --git a/regress/putty-kex.sh b/regress/putty-kex.sh index 1844d6599..9d3c6a9f0 100644 --- a/regress/putty-kex.sh +++ b/regress/putty-kex.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: putty-kex.sh,v 1.3 2013/05/17 04:29:14 dtucker Exp $ | 1 | # $OpenBSD: putty-kex.sh,v 1.4 2016/11/25 03:02:01 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="putty KEX" | 4 | tid="putty KEX" |
@@ -14,8 +14,7 @@ for k in dh-gex-sha1 dh-group1-sha1 dh-group14-sha1 ; do | |||
14 | ${OBJ}/.putty/sessions/kex_$k | 14 | ${OBJ}/.putty/sessions/kex_$k |
15 | echo "KEX=$k" >> ${OBJ}/.putty/sessions/kex_$k | 15 | echo "KEX=$k" >> ${OBJ}/.putty/sessions/kex_$k |
16 | 16 | ||
17 | env HOME=$PWD ${PLINK} -load kex_$k -batch -i putty.rsa2 \ | 17 | env HOME=$PWD ${PLINK} -load kex_$k -batch -i putty.rsa2 true |
18 | 127.0.0.1 true | ||
19 | if [ $? -ne 0 ]; then | 18 | if [ $? -ne 0 ]; then |
20 | fail "KEX $k failed" | 19 | fail "KEX $k failed" |
21 | fi | 20 | fi |
diff --git a/regress/putty-transfer.sh b/regress/putty-transfer.sh index aec0e04ee..8eb6ae0c0 100644 --- a/regress/putty-transfer.sh +++ b/regress/putty-transfer.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: putty-transfer.sh,v 1.3 2013/05/17 04:29:14 dtucker Exp $ | 1 | # $OpenBSD: putty-transfer.sh,v 1.4 2016/11/25 03:02:01 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="putty transfer data" | 4 | tid="putty transfer data" |
@@ -17,7 +17,7 @@ for p in 2; do | |||
17 | ${OBJ}/.putty/sessions/compression_$c | 17 | ${OBJ}/.putty/sessions/compression_$c |
18 | echo "Compression=$c" >> ${OBJ}/.putty/sessions/kex_$k | 18 | echo "Compression=$c" >> ${OBJ}/.putty/sessions/kex_$k |
19 | env HOME=$PWD ${PLINK} -load compression_$c -batch \ | 19 | env HOME=$PWD ${PLINK} -load compression_$c -batch \ |
20 | -i putty.rsa$p 127.0.0.1 cat ${DATA} > ${COPY} | 20 | -i putty.rsa$p cat ${DATA} > ${COPY} |
21 | if [ $? -ne 0 ]; then | 21 | if [ $? -ne 0 ]; then |
22 | fail "ssh cat $DATA failed" | 22 | fail "ssh cat $DATA failed" |
23 | fi | 23 | fi |
@@ -28,7 +28,7 @@ for p in 2; do | |||
28 | rm -f ${COPY} | 28 | rm -f ${COPY} |
29 | dd if=$DATA obs=${s} 2> /dev/null | \ | 29 | dd if=$DATA obs=${s} 2> /dev/null | \ |
30 | env HOME=$PWD ${PLINK} -load compression_$c \ | 30 | env HOME=$PWD ${PLINK} -load compression_$c \ |
31 | -batch -i putty.rsa$p 127.0.0.1 \ | 31 | -batch -i putty.rsa$p \ |
32 | "cat > ${COPY}" | 32 | "cat > ${COPY}" |
33 | if [ $? -ne 0 ]; then | 33 | if [ $? -ne 0 ]; then |
34 | fail "ssh cat $DATA failed" | 34 | fail "ssh cat $DATA failed" |
diff --git a/regress/reexec.sh b/regress/reexec.sh index 5c0a7b46f..72957d4cd 100644 --- a/regress/reexec.sh +++ b/regress/reexec.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: reexec.sh,v 1.8 2015/03/03 22:35:19 markus Exp $ | 1 | # $OpenBSD: reexec.sh,v 1.10 2016/12/16 01:06:27 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="reexec tests" | 4 | tid="reexec tests" |
@@ -39,8 +39,7 @@ echo "InvalidXXX=no" >> $OBJ/sshd_config | |||
39 | 39 | ||
40 | copy_tests | 40 | copy_tests |
41 | 41 | ||
42 | $SUDO kill `$SUDO cat $PIDFILE` | 42 | stop_sshd |
43 | rm -f $PIDFILE | ||
44 | 43 | ||
45 | cp $OBJ/sshd_config.orig $OBJ/sshd_config | 44 | cp $OBJ/sshd_config.orig $OBJ/sshd_config |
46 | 45 | ||
@@ -54,8 +53,7 @@ rm -f $SSHD_COPY | |||
54 | 53 | ||
55 | copy_tests | 54 | copy_tests |
56 | 55 | ||
57 | $SUDO kill `$SUDO cat $PIDFILE` | 56 | stop_sshd |
58 | rm -f $PIDFILE | ||
59 | 57 | ||
60 | verbose "test reexec fallback without privsep" | 58 | verbose "test reexec fallback without privsep" |
61 | 59 | ||
@@ -67,7 +65,6 @@ rm -f $SSHD_COPY | |||
67 | 65 | ||
68 | copy_tests | 66 | copy_tests |
69 | 67 | ||
70 | $SUDO kill `$SUDO cat $PIDFILE` | 68 | stop_sshd |
71 | rm -f $PIDFILE | ||
72 | 69 | ||
73 | fi | 70 | fi |
diff --git a/regress/sftp-chroot.sh b/regress/sftp-chroot.sh index 9c26eb680..4ea2fce85 100644 --- a/regress/sftp-chroot.sh +++ b/regress/sftp-chroot.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: sftp-chroot.sh,v 1.4 2014/01/20 00:00:30 dtucker Exp $ | 1 | # $OpenBSD: sftp-chroot.sh,v 1.5 2016/09/26 21:34:38 bluhm Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="sftp in chroot" | 4 | tid="sftp in chroot" |
@@ -7,7 +7,7 @@ CHROOT=/var/run | |||
7 | FILENAME=testdata_${USER} | 7 | FILENAME=testdata_${USER} |
8 | PRIVDATA=${CHROOT}/${FILENAME} | 8 | PRIVDATA=${CHROOT}/${FILENAME} |
9 | 9 | ||
10 | if [ -z "$SUDO" ]; then | 10 | if [ -z "$SUDO" -a ! -w /var/run ]; then |
11 | echo "skipped: need SUDO to create file in /var/run, test won't work without" | 11 | echo "skipped: need SUDO to create file in /var/run, test won't work without" |
12 | exit 0 | 12 | exit 0 |
13 | fi | 13 | fi |
diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 1b6526d0b..bfa48803b 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: test-exec.sh,v 1.53 2016/04/15 02:57:10 djm Exp $ | 1 | # $OpenBSD: test-exec.sh,v 1.58 2016/12/16 01:06:27 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | #SUDO=sudo | 4 | #SUDO=sudo |
@@ -130,7 +130,8 @@ if [ "x$TEST_SSH_CONCH" != "x" ]; then | |||
130 | esac | 130 | esac |
131 | fi | 131 | fi |
132 | 132 | ||
133 | SSH_PROTOCOLS=`$SSH -Q protocol-version` | 133 | SSH_PROTOCOLS=2 |
134 | #SSH_PROTOCOLS=`$SSH -Q protocol-version` | ||
134 | if [ "x$TEST_SSH_PROTOCOLS" != "x" ]; then | 135 | if [ "x$TEST_SSH_PROTOCOLS" != "x" ]; then |
135 | SSH_PROTOCOLS="${TEST_SSH_PROTOCOLS}" | 136 | SSH_PROTOCOLS="${TEST_SSH_PROTOCOLS}" |
136 | fi | 137 | fi |
@@ -292,16 +293,8 @@ md5 () { | |||
292 | } | 293 | } |
293 | # End of portable specific functions | 294 | # End of portable specific functions |
294 | 295 | ||
295 | # helper | 296 | stop_sshd () |
296 | cleanup () | ||
297 | { | 297 | { |
298 | if [ "x$SSH_PID" != "x" ]; then | ||
299 | if [ $SSH_PID -lt 2 ]; then | ||
300 | echo bad pid for ssh: $SSH_PID | ||
301 | else | ||
302 | kill $SSH_PID | ||
303 | fi | ||
304 | fi | ||
305 | if [ -f $PIDFILE ]; then | 298 | if [ -f $PIDFILE ]; then |
306 | pid=`$SUDO cat $PIDFILE` | 299 | pid=`$SUDO cat $PIDFILE` |
307 | if [ "X$pid" = "X" ]; then | 300 | if [ "X$pid" = "X" ]; then |
@@ -324,6 +317,19 @@ cleanup () | |||
324 | fi | 317 | fi |
325 | } | 318 | } |
326 | 319 | ||
320 | # helper | ||
321 | cleanup () | ||
322 | { | ||
323 | if [ "x$SSH_PID" != "x" ]; then | ||
324 | if [ $SSH_PID -lt 2 ]; then | ||
325 | echo bad pid for ssh: $SSH_PID | ||
326 | else | ||
327 | kill $SSH_PID | ||
328 | fi | ||
329 | fi | ||
330 | stop_sshd | ||
331 | } | ||
332 | |||
327 | start_debug_log () | 333 | start_debug_log () |
328 | { | 334 | { |
329 | echo "trace: $@" >$TEST_REGRESS_LOGFILE | 335 | echo "trace: $@" >$TEST_REGRESS_LOGFILE |
@@ -400,7 +406,6 @@ fi | |||
400 | cat << EOF > $OBJ/sshd_config | 406 | cat << EOF > $OBJ/sshd_config |
401 | StrictModes no | 407 | StrictModes no |
402 | Port $PORT | 408 | Port $PORT |
403 | Protocol $PROTO | ||
404 | AddressFamily inet | 409 | AddressFamily inet |
405 | ListenAddress 127.0.0.1 | 410 | ListenAddress 127.0.0.1 |
406 | #ListenAddress ::1 | 411 | #ListenAddress ::1 |
@@ -433,7 +438,6 @@ echo 'StrictModes no' >> $OBJ/sshd_proxy | |||
433 | # create client config | 438 | # create client config |
434 | cat << EOF > $OBJ/ssh_config | 439 | cat << EOF > $OBJ/ssh_config |
435 | Host * | 440 | Host * |
436 | Protocol $PROTO | ||
437 | Hostname 127.0.0.1 | 441 | Hostname 127.0.0.1 |
438 | HostKeyAlias localhost-with-alias | 442 | HostKeyAlias localhost-with-alias |
439 | Port $PORT | 443 | Port $PORT |
@@ -513,7 +517,11 @@ if test "$REGRESS_INTEROP_PUTTY" = "yes" ; then | |||
513 | 517 | ||
514 | # Add a PuTTY key to authorized_keys | 518 | # Add a PuTTY key to authorized_keys |
515 | rm -f ${OBJ}/putty.rsa2 | 519 | rm -f ${OBJ}/putty.rsa2 |
516 | puttygen -t rsa -o ${OBJ}/putty.rsa2 < /dev/null > /dev/null | 520 | if ! puttygen -t rsa -o ${OBJ}/putty.rsa2 \ |
521 | --new-passphrase /dev/null < /dev/null > /dev/null; then | ||
522 | echo "Your installed version of PuTTY is too old to support --new-passphrase; trying without (may require manual interaction) ..." >&2 | ||
523 | puttygen -t rsa -o ${OBJ}/putty.rsa2 < /dev/null > /dev/null | ||
524 | fi | ||
517 | puttygen -O public-openssh ${OBJ}/putty.rsa2 \ | 525 | puttygen -O public-openssh ${OBJ}/putty.rsa2 \ |
518 | >> $OBJ/authorized_keys_$USER | 526 | >> $OBJ/authorized_keys_$USER |
519 | 527 | ||
@@ -526,10 +534,12 @@ if test "$REGRESS_INTEROP_PUTTY" = "yes" ; then | |||
526 | # Setup proxied session | 534 | # Setup proxied session |
527 | mkdir -p ${OBJ}/.putty/sessions | 535 | mkdir -p ${OBJ}/.putty/sessions |
528 | rm -f ${OBJ}/.putty/sessions/localhost_proxy | 536 | rm -f ${OBJ}/.putty/sessions/localhost_proxy |
529 | echo "Hostname=127.0.0.1" >> ${OBJ}/.putty/sessions/localhost_proxy | 537 | echo "Protocol=ssh" >> ${OBJ}/.putty/sessions/localhost_proxy |
538 | echo "HostName=127.0.0.1" >> ${OBJ}/.putty/sessions/localhost_proxy | ||
530 | echo "PortNumber=$PORT" >> ${OBJ}/.putty/sessions/localhost_proxy | 539 | echo "PortNumber=$PORT" >> ${OBJ}/.putty/sessions/localhost_proxy |
531 | echo "ProxyMethod=5" >> ${OBJ}/.putty/sessions/localhost_proxy | 540 | echo "ProxyMethod=5" >> ${OBJ}/.putty/sessions/localhost_proxy |
532 | echo "ProxyTelnetCommand=sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy" >> ${OBJ}/.putty/sessions/localhost_proxy | 541 | echo "ProxyTelnetCommand=sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy" >> ${OBJ}/.putty/sessions/localhost_proxy |
542 | echo "ProxyLocalhost=1" >> ${OBJ}/.putty/sessions/localhost_proxy | ||
533 | 543 | ||
534 | REGRESS_INTEROP_PUTTY=yes | 544 | REGRESS_INTEROP_PUTTY=yes |
535 | fi | 545 | fi |
diff --git a/regress/unittests/Makefile b/regress/unittests/Makefile index 0a95d4b20..e70b16644 100644 --- a/regress/unittests/Makefile +++ b/regress/unittests/Makefile | |||
@@ -1,5 +1,5 @@ | |||
1 | # $OpenBSD: Makefile,v 1.6 2016/05/26 19:14:25 schwarze Exp $ | 1 | # $OpenBSD: Makefile,v 1.7 2016/08/19 06:44:13 djm Exp $ |
2 | REGRESS_FAIL_EARLY= yes | 2 | REGRESS_FAIL_EARLY= yes |
3 | SUBDIR= test_helper sshbuf sshkey bitmap kex hostkeys utf8 | 3 | SUBDIR= test_helper sshbuf sshkey bitmap kex hostkeys utf8 match |
4 | 4 | ||
5 | .include <bsd.subdir.mk> | 5 | .include <bsd.subdir.mk> |
diff --git a/regress/unittests/Makefile.inc b/regress/unittests/Makefile.inc index 7385e2ba3..3d9eaba5c 100644 --- a/regress/unittests/Makefile.inc +++ b/regress/unittests/Makefile.inc | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: Makefile.inc,v 1.6 2015/07/01 23:11:18 djm Exp $ | 1 | # $OpenBSD: Makefile.inc,v 1.9 2016/11/01 13:43:27 tb Exp $ |
2 | 2 | ||
3 | .include <bsd.own.mk> | 3 | .include <bsd.own.mk> |
4 | .include <bsd.obj.mk> | 4 | .include <bsd.obj.mk> |
@@ -49,11 +49,15 @@ DPADD+=${.CURDIR}/../test_helper/libtest_helper.a | |||
49 | 49 | ||
50 | .if exists(${.CURDIR}/${SSHREL}/lib/${__objdir}) | 50 | .if exists(${.CURDIR}/${SSHREL}/lib/${__objdir}) |
51 | LDADD+=-L${.CURDIR}/${SSHREL}/lib/${__objdir} -lssh | 51 | LDADD+=-L${.CURDIR}/${SSHREL}/lib/${__objdir} -lssh |
52 | DPADD+=${.CURDIR}/${SSHREL}/lib/${__objdir}/libssh.a | 52 | LIBSSH=${.CURDIR}/${SSHREL}/lib/${__objdir}/libssh.a |
53 | .else | 53 | .else |
54 | LDADD+=-L${.CURDIR}/${SSHREL}/lib -lssh | 54 | LDADD+=-L${.CURDIR}/${SSHREL}/lib -lssh |
55 | DPADD+=${.CURDIR}/${SSHREL}/lib/libssh.a | 55 | LIBSSH=${.CURDIR}/${SSHREL}/lib/libssh.a |
56 | .endif | 56 | .endif |
57 | DPADD+=${LIBSSH} | ||
58 | ${PROG}: ${LIBSSH} | ||
59 | ${LIBSSH}: | ||
60 | cd ${.CURDIR}/${SSHREL} && ${MAKE} lib | ||
57 | 61 | ||
58 | LDADD+= -lcrypto | 62 | LDADD+= -lcrypto |
59 | DPADD+= ${LIBCRYPTO} | 63 | DPADD+= ${LIBCRYPTO} |
diff --git a/regress/unittests/bitmap/Makefile b/regress/unittests/bitmap/Makefile index b704d22d6..bd21949f8 100644 --- a/regress/unittests/bitmap/Makefile +++ b/regress/unittests/bitmap/Makefile | |||
@@ -1,6 +1,4 @@ | |||
1 | # $OpenBSD: Makefile,v 1.1 2015/01/15 07:36:28 djm Exp $ | 1 | # $OpenBSD: Makefile,v 1.3 2016/11/01 13:43:27 tb Exp $ |
2 | |||
3 | TEST_ENV= "MALLOC_OPTIONS=AFGJPRX" | ||
4 | 2 | ||
5 | PROG=test_bitmap | 3 | PROG=test_bitmap |
6 | SRCS=tests.c | 4 | SRCS=tests.c |
diff --git a/regress/unittests/hostkeys/Makefile b/regress/unittests/hostkeys/Makefile index f52a85fb1..ae3c342bd 100644 --- a/regress/unittests/hostkeys/Makefile +++ b/regress/unittests/hostkeys/Makefile | |||
@@ -1,6 +1,4 @@ | |||
1 | # $OpenBSD: Makefile,v 1.1 2015/02/16 22:18:34 djm Exp $ | 1 | # $OpenBSD: Makefile,v 1.3 2016/11/01 13:43:27 tb Exp $ |
2 | |||
3 | TEST_ENV= "MALLOC_OPTIONS=AFGJPRX" | ||
4 | 2 | ||
5 | PROG=test_hostkeys | 3 | PROG=test_hostkeys |
6 | SRCS=tests.c test_iterate.c | 4 | SRCS=tests.c test_iterate.c |
diff --git a/regress/unittests/kex/Makefile b/regress/unittests/kex/Makefile index 6532cb00a..7ed312675 100644 --- a/regress/unittests/kex/Makefile +++ b/regress/unittests/kex/Makefile | |||
@@ -1,6 +1,4 @@ | |||
1 | # $OpenBSD: Makefile,v 1.2 2015/01/24 10:39:21 miod Exp $ | 1 | # $OpenBSD: Makefile,v 1.4 2016/11/01 13:43:27 tb Exp $ |
2 | |||
3 | TEST_ENV= "MALLOC_OPTIONS=AFGJPRX" | ||
4 | 2 | ||
5 | PROG=test_kex | 3 | PROG=test_kex |
6 | SRCS=tests.c test_kex.c | 4 | SRCS=tests.c test_kex.c |
diff --git a/regress/unittests/match/Makefile b/regress/unittests/match/Makefile new file mode 100644 index 000000000..bd4aed844 --- /dev/null +++ b/regress/unittests/match/Makefile | |||
@@ -0,0 +1,10 @@ | |||
1 | # $OpenBSD: Makefile,v 1.3 2016/11/01 13:43:27 tb Exp $ | ||
2 | |||
3 | PROG=test_match | ||
4 | SRCS=tests.c | ||
5 | REGRESS_TARGETS=run-regress-${PROG} | ||
6 | |||
7 | run-regress-${PROG}: ${PROG} | ||
8 | env ${TEST_ENV} ./${PROG} | ||
9 | |||
10 | .include <bsd.regress.mk> | ||
diff --git a/regress/unittests/match/tests.c b/regress/unittests/match/tests.c new file mode 100644 index 000000000..7ff319c16 --- /dev/null +++ b/regress/unittests/match/tests.c | |||
@@ -0,0 +1,113 @@ | |||
1 | /* $OpenBSD: tests.c,v 1.3 2016/09/21 17:03:54 djm Exp $ */ | ||
2 | /* | ||
3 | * Regress test for matching functions | ||
4 | * | ||
5 | * Placed in the public domain | ||
6 | */ | ||
7 | |||
8 | #include "includes.h" | ||
9 | |||
10 | #include <sys/types.h> | ||
11 | #include <sys/param.h> | ||
12 | #include <stdio.h> | ||
13 | #ifdef HAVE_STDINT_H | ||
14 | #include <stdint.h> | ||
15 | #endif | ||
16 | #include <stdlib.h> | ||
17 | #include <string.h> | ||
18 | |||
19 | #include "../test_helper/test_helper.h" | ||
20 | |||
21 | #include "match.h" | ||
22 | |||
23 | void | ||
24 | tests(void) | ||
25 | { | ||
26 | TEST_START("match_pattern"); | ||
27 | ASSERT_INT_EQ(match_pattern("", ""), 1); | ||
28 | ASSERT_INT_EQ(match_pattern("", "aaa"), 0); | ||
29 | ASSERT_INT_EQ(match_pattern("aaa", ""), 0); | ||
30 | ASSERT_INT_EQ(match_pattern("aaa", "aaaa"), 0); | ||
31 | ASSERT_INT_EQ(match_pattern("aaaa", "aaa"), 0); | ||
32 | TEST_DONE(); | ||
33 | |||
34 | TEST_START("match_pattern wildcard"); | ||
35 | ASSERT_INT_EQ(match_pattern("", "*"), 1); | ||
36 | ASSERT_INT_EQ(match_pattern("a", "?"), 1); | ||
37 | ASSERT_INT_EQ(match_pattern("aa", "a?"), 1); | ||
38 | ASSERT_INT_EQ(match_pattern("a", "*"), 1); | ||
39 | ASSERT_INT_EQ(match_pattern("aa", "a*"), 1); | ||
40 | ASSERT_INT_EQ(match_pattern("aa", "?*"), 1); | ||
41 | ASSERT_INT_EQ(match_pattern("aa", "**"), 1); | ||
42 | ASSERT_INT_EQ(match_pattern("aa", "?a"), 1); | ||
43 | ASSERT_INT_EQ(match_pattern("aa", "*a"), 1); | ||
44 | ASSERT_INT_EQ(match_pattern("ba", "a?"), 0); | ||
45 | ASSERT_INT_EQ(match_pattern("ba", "a*"), 0); | ||
46 | ASSERT_INT_EQ(match_pattern("ab", "?a"), 0); | ||
47 | ASSERT_INT_EQ(match_pattern("ab", "*a"), 0); | ||
48 | TEST_DONE(); | ||
49 | |||
50 | TEST_START("match_pattern_list"); | ||
51 | ASSERT_INT_EQ(match_pattern_list("", "", 0), 0); /* no patterns */ | ||
52 | ASSERT_INT_EQ(match_pattern_list("", "*", 0), 1); | ||
53 | ASSERT_INT_EQ(match_pattern_list("", "!*", 0), -1); | ||
54 | ASSERT_INT_EQ(match_pattern_list("", "!a,*", 0), 1); | ||
55 | ASSERT_INT_EQ(match_pattern_list("", "*,!a", 0), 1); | ||
56 | ASSERT_INT_EQ(match_pattern_list("", "a,!*", 0), -1); | ||
57 | ASSERT_INT_EQ(match_pattern_list("", "!*,a", 0), -1); | ||
58 | ASSERT_INT_EQ(match_pattern_list("a", "", 0), 0); | ||
59 | ASSERT_INT_EQ(match_pattern_list("a", "*", 0), 1); | ||
60 | ASSERT_INT_EQ(match_pattern_list("a", "!*", 0), -1); | ||
61 | ASSERT_INT_EQ(match_pattern_list("a", "!a", 0), -1); | ||
62 | /* XXX negated ASSERT_INT_EQ(match_pattern_list("a", "!b", 0), 1); */ | ||
63 | ASSERT_INT_EQ(match_pattern_list("a", "!a,*", 0), -1); | ||
64 | ASSERT_INT_EQ(match_pattern_list("b", "!a,*", 0), 1); | ||
65 | ASSERT_INT_EQ(match_pattern_list("a", "*,!a", 0), -1); | ||
66 | ASSERT_INT_EQ(match_pattern_list("b", "*,!a", 0), 1); | ||
67 | ASSERT_INT_EQ(match_pattern_list("a", "a,!*", 0), -1); | ||
68 | ASSERT_INT_EQ(match_pattern_list("b", "a,!*", 0), -1); | ||
69 | ASSERT_INT_EQ(match_pattern_list("a", "a,!a", 0), -1); | ||
70 | /* XXX negated ASSERT_INT_EQ(match_pattern_list("b", "a,!a", 0), 1); */ | ||
71 | ASSERT_INT_EQ(match_pattern_list("a", "!*,a", 0), -1); | ||
72 | ASSERT_INT_EQ(match_pattern_list("b", "!*,a", 0), -1); | ||
73 | TEST_DONE(); | ||
74 | |||
75 | TEST_START("match_pattern_list lowercase"); | ||
76 | ASSERT_INT_EQ(match_pattern_list("abc", "ABC", 0), 0); | ||
77 | ASSERT_INT_EQ(match_pattern_list("ABC", "abc", 0), 0); | ||
78 | ASSERT_INT_EQ(match_pattern_list("abc", "ABC", 1), 1); | ||
79 | ASSERT_INT_EQ(match_pattern_list("ABC", "abc", 1), 0); | ||
80 | TEST_DONE(); | ||
81 | |||
82 | TEST_START("addr_match_list"); | ||
83 | ASSERT_INT_EQ(addr_match_list("127.0.0.1", "127.0.0.1/44"), -2); | ||
84 | ASSERT_INT_EQ(addr_match_list(NULL, "127.0.0.1/44"), -2); | ||
85 | ASSERT_INT_EQ(addr_match_list("a", "*"), 0); | ||
86 | ASSERT_INT_EQ(addr_match_list("127.0.0.1", "*"), 1); | ||
87 | ASSERT_INT_EQ(addr_match_list(NULL, "*"), 0); | ||
88 | ASSERT_INT_EQ(addr_match_list("127.0.0.1", "127.0.0.1"), 1); | ||
89 | ASSERT_INT_EQ(addr_match_list("127.0.0.1", "127.0.0.2"), 0); | ||
90 | ASSERT_INT_EQ(addr_match_list("127.0.0.1", "!127.0.0.1"), -1); | ||
91 | /* XXX negated ASSERT_INT_EQ(addr_match_list("127.0.0.1", "!127.0.0.2"), 1); */ | ||
92 | ASSERT_INT_EQ(addr_match_list("127.0.0.255", "127.0.0.0/24"), 1); | ||
93 | ASSERT_INT_EQ(addr_match_list("127.0.1.1", "127.0.0.0/24"), 0); | ||
94 | ASSERT_INT_EQ(addr_match_list("127.0.0.1", "127.0.0.0/24"), 1); | ||
95 | ASSERT_INT_EQ(addr_match_list("127.0.0.1", "127.0.1.0/24"), 0); | ||
96 | ASSERT_INT_EQ(addr_match_list("127.0.0.1", "!127.0.0.0/24"), -1); | ||
97 | /* XXX negated ASSERT_INT_EQ(addr_match_list("127.0.0.1", "!127.0.1.0/24"), 1); */ | ||
98 | ASSERT_INT_EQ(addr_match_list("127.0.0.1", "10.0.0.1,!127.0.0.1"), -1); | ||
99 | ASSERT_INT_EQ(addr_match_list("127.0.0.1", "!127.0.0.1,10.0.0.1"), -1); | ||
100 | ASSERT_INT_EQ(addr_match_list("127.0.0.1", "10.0.0.1,127.0.0.2"), 0); | ||
101 | ASSERT_INT_EQ(addr_match_list("127.0.0.1", "127.0.0.2,10.0.0.1"), 0); | ||
102 | /* XXX negated ASSERT_INT_EQ(addr_match_list("127.0.0.1", "10.0.0.1,!127.0.0.2"), 1); */ | ||
103 | /* XXX negated ASSERT_INT_EQ(addr_match_list("127.0.0.1", "!127.0.0.2,10.0.0.1"), 1); */ | ||
104 | TEST_DONE(); | ||
105 | |||
106 | /* | ||
107 | * XXX TODO | ||
108 | * int match_host_and_ip(const char *, const char *, const char *); | ||
109 | * int match_user(const char *, const char *, const char *, const char *); | ||
110 | * char *match_list(const char *, const char *, u_int *); | ||
111 | * int addr_match_cidr_list(const char *, const char *); | ||
112 | */ | ||
113 | } | ||
diff --git a/regress/unittests/sshbuf/Makefile b/regress/unittests/sshbuf/Makefile index 85f99ac38..69b27566b 100644 --- a/regress/unittests/sshbuf/Makefile +++ b/regress/unittests/sshbuf/Makefile | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: Makefile,v 1.1 2014/04/30 05:32:00 djm Exp $ | 1 | # $OpenBSD: Makefile,v 1.5 2016/11/01 13:43:27 tb Exp $ |
2 | 2 | ||
3 | PROG=test_sshbuf | 3 | PROG=test_sshbuf |
4 | SRCS=tests.c | 4 | SRCS=tests.c |
diff --git a/regress/unittests/sshkey/Makefile b/regress/unittests/sshkey/Makefile index 1bcd26676..cfbfcf8f1 100644 --- a/regress/unittests/sshkey/Makefile +++ b/regress/unittests/sshkey/Makefile | |||
@@ -1,6 +1,4 @@ | |||
1 | # $OpenBSD: Makefile,v 1.1 2014/06/24 01:14:18 djm Exp $ | 1 | # $OpenBSD: Makefile,v 1.4 2016/11/01 13:43:27 tb Exp $ |
2 | |||
3 | TEST_ENV= "MALLOC_OPTIONS=AFGJPRX" | ||
4 | 2 | ||
5 | PROG=test_sshkey | 3 | PROG=test_sshkey |
6 | SRCS=tests.c test_sshkey.c test_file.c test_fuzz.c common.c | 4 | SRCS=tests.c test_sshkey.c test_file.c test_fuzz.c common.c |
diff --git a/regress/unittests/utf8/Makefile b/regress/unittests/utf8/Makefile index 150ea2f2e..a975264fc 100644 --- a/regress/unittests/utf8/Makefile +++ b/regress/unittests/utf8/Makefile | |||
@@ -1,6 +1,4 @@ | |||
1 | # $OpenBSD: Makefile,v 1.2 2016/05/30 12:14:08 schwarze Exp $ | 1 | # $OpenBSD: Makefile,v 1.4 2016/11/01 13:43:27 tb Exp $ |
2 | |||
3 | TEST_ENV= "MALLOC_OPTIONS=CFGJPRSUX" | ||
4 | 2 | ||
5 | PROG=test_utf8 | 3 | PROG=test_utf8 |
6 | SRCS=tests.c | 4 | SRCS=tests.c |
diff --git a/regress/unittests/utf8/tests.c b/regress/unittests/utf8/tests.c index fad2ec279..31f9fe9c3 100644 --- a/regress/unittests/utf8/tests.c +++ b/regress/unittests/utf8/tests.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tests.c,v 1.2 2016/05/30 12:05:56 schwarze Exp $ */ | 1 | /* $OpenBSD: tests.c,v 1.3 2016/12/19 04:55:18 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Regress test for the utf8.h *mprintf() API | 3 | * Regress test for the utf8.h *mprintf() API |
4 | * | 4 | * |
@@ -6,10 +6,12 @@ | |||
6 | * and placed in the public domain. | 6 | * and placed in the public domain. |
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include "includes.h" | ||
10 | |||
9 | #include <locale.h> | 11 | #include <locale.h> |
10 | #include <string.h> | 12 | #include <string.h> |
11 | 13 | ||
12 | #include "test_helper.h" | 14 | #include "../test_helper/test_helper.h" |
13 | 15 | ||
14 | #include "utf8.h" | 16 | #include "utf8.h" |
15 | 17 | ||
@@ -63,7 +65,6 @@ tests(void) | |||
63 | TEST_DONE(); | 65 | TEST_DONE(); |
64 | 66 | ||
65 | badarg(); | 67 | badarg(); |
66 | one("null", NULL, 8, 6, 6, "(null)"); | ||
67 | one("empty", "", 2, 0, 0, ""); | 68 | one("empty", "", 2, 0, 0, ""); |
68 | one("ascii", "x", -2, -2, -2, "x"); | 69 | one("ascii", "x", -2, -2, -2, "x"); |
69 | one("newline", "a\nb", -2, -2, -2, "a\nb"); | 70 | one("newline", "a\nb", -2, -2, -2, "a\nb"); |
diff --git a/sandbox-darwin.c b/sandbox-darwin.c index 35f0c4d1a..a61de7495 100644 --- a/sandbox-darwin.c +++ b/sandbox-darwin.c | |||
@@ -31,6 +31,7 @@ | |||
31 | 31 | ||
32 | #include "log.h" | 32 | #include "log.h" |
33 | #include "sandbox.h" | 33 | #include "sandbox.h" |
34 | #include "monitor.h" | ||
34 | #include "xmalloc.h" | 35 | #include "xmalloc.h" |
35 | 36 | ||
36 | /* Darwin/OS X sandbox */ | 37 | /* Darwin/OS X sandbox */ |
diff --git a/sandbox-rlimit.c b/sandbox-rlimit.c index bba80778b..0bff3dfba 100644 --- a/sandbox-rlimit.c +++ b/sandbox-rlimit.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sandbox-rlimit.c,v 1.3 2011/06/23 09:34:13 djm Exp $ */ | 1 | /* $OpenBSD: sandbox-rlimit.c,v 1.4 2016/09/12 01:22:38 deraadt Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2011 Damien Miller <djm@mindrot.org> | 3 | * Copyright (c) 2011 Damien Miller <djm@mindrot.org> |
4 | * | 4 | * |
@@ -20,7 +20,6 @@ | |||
20 | #ifdef SANDBOX_RLIMIT | 20 | #ifdef SANDBOX_RLIMIT |
21 | 21 | ||
22 | #include <sys/types.h> | 22 | #include <sys/types.h> |
23 | #include <sys/param.h> | ||
24 | #include <sys/time.h> | 23 | #include <sys/time.h> |
25 | #include <sys/resource.h> | 24 | #include <sys/resource.h> |
26 | 25 | ||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: scp.c,v 1.186 2016/05/25 23:48:45 schwarze Exp $ */ | 1 | /* $OpenBSD: scp.c,v 1.187 2016/09/12 01:22:38 deraadt Exp $ */ |
2 | /* | 2 | /* |
3 | * scp - secure remote copy. This is basically patched BSD rcp which | 3 | * scp - secure remote copy. This is basically patched BSD rcp which |
4 | * uses ssh to do the data transfer (instead of using rcmd). | 4 | * uses ssh to do the data transfer (instead of using rcmd). |
@@ -74,7 +74,6 @@ | |||
74 | #include "includes.h" | 74 | #include "includes.h" |
75 | 75 | ||
76 | #include <sys/types.h> | 76 | #include <sys/types.h> |
77 | #include <sys/param.h> | ||
78 | #ifdef HAVE_SYS_STAT_H | 77 | #ifdef HAVE_SYS_STAT_H |
79 | # include <sys/stat.h> | 78 | # include <sys/stat.h> |
80 | #endif | 79 | #endif |
@@ -380,10 +379,10 @@ main(int argc, char **argv) | |||
380 | /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ | 379 | /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ |
381 | sanitise_stdfd(); | 380 | sanitise_stdfd(); |
382 | 381 | ||
383 | setlocale(LC_CTYPE, ""); | 382 | msetlocale(); |
384 | 383 | ||
385 | /* Copy argv, because we modify it */ | 384 | /* Copy argv, because we modify it */ |
386 | newargv = xcalloc(MAX(argc + 1, 1), sizeof(*newargv)); | 385 | newargv = xcalloc(MAXIMUM(argc + 1, 1), sizeof(*newargv)); |
387 | for (n = 0; n < argc; n++) | 386 | for (n = 0; n < argc; n++) |
388 | newargv[n] = xstrdup(argv[n]); | 387 | newargv[n] = xstrdup(argv[n]); |
389 | argv = newargv; | 388 | argv = newargv; |
@@ -1343,7 +1342,7 @@ allocbuf(BUF *bp, int fd, int blksize) | |||
1343 | run_err("fstat: %s", strerror(errno)); | 1342 | run_err("fstat: %s", strerror(errno)); |
1344 | return (0); | 1343 | return (0); |
1345 | } | 1344 | } |
1346 | size = roundup(stb.st_blksize, blksize); | 1345 | size = ROUNDUP(stb.st_blksize, blksize); |
1347 | if (size == 0) | 1346 | if (size == 0) |
1348 | size = blksize; | 1347 | size = blksize; |
1349 | #else /* HAVE_STRUCT_STAT_ST_BLKSIZE */ | 1348 | #else /* HAVE_STRUCT_STAT_ST_BLKSIZE */ |
diff --git a/servconf.c b/servconf.c index 873b0d02a..795ddbab7 100644 --- a/servconf.c +++ b/servconf.c | |||
@@ -1,5 +1,5 @@ | |||
1 | 1 | ||
2 | /* $OpenBSD: servconf.c,v 1.292 2016/06/23 05:17:51 djm Exp $ */ | 2 | /* $OpenBSD: servconf.c,v 1.301 2016/11/30 03:00:05 djm Exp $ */ |
3 | /* | 3 | /* |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
5 | * All rights reserved | 5 | * All rights reserved |
@@ -86,9 +86,7 @@ initialize_server_options(ServerOptions *options) | |||
86 | options->num_host_cert_files = 0; | 86 | options->num_host_cert_files = 0; |
87 | options->host_key_agent = NULL; | 87 | options->host_key_agent = NULL; |
88 | options->pid_file = NULL; | 88 | options->pid_file = NULL; |
89 | options->server_key_bits = -1; | ||
90 | options->login_grace_time = -1; | 89 | options->login_grace_time = -1; |
91 | options->key_regeneration_time = -1; | ||
92 | options->permit_root_login = PERMIT_NOT_SET; | 90 | options->permit_root_login = PERMIT_NOT_SET; |
93 | options->ignore_rhosts = -1; | 91 | options->ignore_rhosts = -1; |
94 | options->ignore_user_known_hosts = -1; | 92 | options->ignore_user_known_hosts = -1; |
@@ -104,12 +102,10 @@ initialize_server_options(ServerOptions *options) | |||
104 | options->tcp_keep_alive = -1; | 102 | options->tcp_keep_alive = -1; |
105 | options->log_facility = SYSLOG_FACILITY_NOT_SET; | 103 | options->log_facility = SYSLOG_FACILITY_NOT_SET; |
106 | options->log_level = SYSLOG_LEVEL_NOT_SET; | 104 | options->log_level = SYSLOG_LEVEL_NOT_SET; |
107 | options->rhosts_rsa_authentication = -1; | ||
108 | options->hostbased_authentication = -1; | 105 | options->hostbased_authentication = -1; |
109 | options->hostbased_uses_name_from_packet_only = -1; | 106 | options->hostbased_uses_name_from_packet_only = -1; |
110 | options->hostbased_key_types = NULL; | 107 | options->hostbased_key_types = NULL; |
111 | options->hostkeyalgorithms = NULL; | 108 | options->hostkeyalgorithms = NULL; |
112 | options->rsa_authentication = -1; | ||
113 | options->pubkey_authentication = -1; | 109 | options->pubkey_authentication = -1; |
114 | options->pubkey_key_types = NULL; | 110 | options->pubkey_key_types = NULL; |
115 | options->kerberos_authentication = -1; | 111 | options->kerberos_authentication = -1; |
@@ -124,7 +120,6 @@ initialize_server_options(ServerOptions *options) | |||
124 | options->challenge_response_authentication = -1; | 120 | options->challenge_response_authentication = -1; |
125 | options->permit_empty_passwd = -1; | 121 | options->permit_empty_passwd = -1; |
126 | options->permit_user_env = -1; | 122 | options->permit_user_env = -1; |
127 | options->use_login = -1; | ||
128 | options->compression = -1; | 123 | options->compression = -1; |
129 | options->rekey_limit = -1; | 124 | options->rekey_limit = -1; |
130 | options->rekey_interval = -1; | 125 | options->rekey_interval = -1; |
@@ -138,7 +133,6 @@ initialize_server_options(ServerOptions *options) | |||
138 | options->ciphers = NULL; | 133 | options->ciphers = NULL; |
139 | options->macs = NULL; | 134 | options->macs = NULL; |
140 | options->kex_algorithms = NULL; | 135 | options->kex_algorithms = NULL; |
141 | options->protocol = SSH_PROTO_UNKNOWN; | ||
142 | options->fwd_opts.gateway_ports = -1; | 136 | options->fwd_opts.gateway_ports = -1; |
143 | options->fwd_opts.streamlocal_bind_mask = (mode_t)-1; | 137 | options->fwd_opts.streamlocal_bind_mask = (mode_t)-1; |
144 | options->fwd_opts.streamlocal_bind_unlink = -1; | 138 | options->fwd_opts.streamlocal_bind_unlink = -1; |
@@ -169,6 +163,7 @@ initialize_server_options(ServerOptions *options) | |||
169 | options->ip_qos_bulk = -1; | 163 | options->ip_qos_bulk = -1; |
170 | options->version_addendum = NULL; | 164 | options->version_addendum = NULL; |
171 | options->fingerprint_hash = -1; | 165 | options->fingerprint_hash = -1; |
166 | options->disable_forwarding = -1; | ||
172 | } | 167 | } |
173 | 168 | ||
174 | /* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */ | 169 | /* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */ |
@@ -202,25 +197,18 @@ fill_default_server_options(ServerOptions *options) | |||
202 | options->use_pam = 0; | 197 | options->use_pam = 0; |
203 | 198 | ||
204 | /* Standard Options */ | 199 | /* Standard Options */ |
205 | if (options->protocol == SSH_PROTO_UNKNOWN) | ||
206 | options->protocol = SSH_PROTO_2; | ||
207 | if (options->num_host_key_files == 0) { | 200 | if (options->num_host_key_files == 0) { |
208 | /* fill default hostkeys for protocols */ | 201 | /* fill default hostkeys for protocols */ |
209 | if (options->protocol & SSH_PROTO_1) | 202 | options->host_key_files[options->num_host_key_files++] = |
210 | options->host_key_files[options->num_host_key_files++] = | 203 | _PATH_HOST_RSA_KEY_FILE; |
211 | _PATH_HOST_KEY_FILE; | 204 | options->host_key_files[options->num_host_key_files++] = |
212 | if (options->protocol & SSH_PROTO_2) { | 205 | _PATH_HOST_DSA_KEY_FILE; |
213 | options->host_key_files[options->num_host_key_files++] = | ||
214 | _PATH_HOST_RSA_KEY_FILE; | ||
215 | options->host_key_files[options->num_host_key_files++] = | ||
216 | _PATH_HOST_DSA_KEY_FILE; | ||
217 | #ifdef OPENSSL_HAS_ECC | 206 | #ifdef OPENSSL_HAS_ECC |
218 | options->host_key_files[options->num_host_key_files++] = | 207 | options->host_key_files[options->num_host_key_files++] = |
219 | _PATH_HOST_ECDSA_KEY_FILE; | 208 | _PATH_HOST_ECDSA_KEY_FILE; |
220 | #endif | 209 | #endif |
221 | options->host_key_files[options->num_host_key_files++] = | 210 | options->host_key_files[options->num_host_key_files++] = |
222 | _PATH_HOST_ED25519_KEY_FILE; | 211 | _PATH_HOST_ED25519_KEY_FILE; |
223 | } | ||
224 | } | 212 | } |
225 | /* No certificates by default */ | 213 | /* No certificates by default */ |
226 | if (options->num_ports == 0) | 214 | if (options->num_ports == 0) |
@@ -231,12 +219,8 @@ fill_default_server_options(ServerOptions *options) | |||
231 | add_listen_addr(options, NULL, 0); | 219 | add_listen_addr(options, NULL, 0); |
232 | if (options->pid_file == NULL) | 220 | if (options->pid_file == NULL) |
233 | options->pid_file = xstrdup(_PATH_SSH_DAEMON_PID_FILE); | 221 | options->pid_file = xstrdup(_PATH_SSH_DAEMON_PID_FILE); |
234 | if (options->server_key_bits == -1) | ||
235 | options->server_key_bits = 1024; | ||
236 | if (options->login_grace_time == -1) | 222 | if (options->login_grace_time == -1) |
237 | options->login_grace_time = 120; | 223 | options->login_grace_time = 120; |
238 | if (options->key_regeneration_time == -1) | ||
239 | options->key_regeneration_time = 3600; | ||
240 | if (options->permit_root_login == PERMIT_NOT_SET) | 224 | if (options->permit_root_login == PERMIT_NOT_SET) |
241 | options->permit_root_login = PERMIT_NO_PASSWD; | 225 | options->permit_root_login = PERMIT_NO_PASSWD; |
242 | if (options->ignore_rhosts == -1) | 226 | if (options->ignore_rhosts == -1) |
@@ -267,14 +251,10 @@ fill_default_server_options(ServerOptions *options) | |||
267 | options->log_facility = SYSLOG_FACILITY_AUTH; | 251 | options->log_facility = SYSLOG_FACILITY_AUTH; |
268 | if (options->log_level == SYSLOG_LEVEL_NOT_SET) | 252 | if (options->log_level == SYSLOG_LEVEL_NOT_SET) |
269 | options->log_level = SYSLOG_LEVEL_INFO; | 253 | options->log_level = SYSLOG_LEVEL_INFO; |
270 | if (options->rhosts_rsa_authentication == -1) | ||
271 | options->rhosts_rsa_authentication = 0; | ||
272 | if (options->hostbased_authentication == -1) | 254 | if (options->hostbased_authentication == -1) |
273 | options->hostbased_authentication = 0; | 255 | options->hostbased_authentication = 0; |
274 | if (options->hostbased_uses_name_from_packet_only == -1) | 256 | if (options->hostbased_uses_name_from_packet_only == -1) |
275 | options->hostbased_uses_name_from_packet_only = 0; | 257 | options->hostbased_uses_name_from_packet_only = 0; |
276 | if (options->rsa_authentication == -1) | ||
277 | options->rsa_authentication = 1; | ||
278 | if (options->pubkey_authentication == -1) | 258 | if (options->pubkey_authentication == -1) |
279 | options->pubkey_authentication = 1; | 259 | options->pubkey_authentication = 1; |
280 | if (options->kerberos_authentication == -1) | 260 | if (options->kerberos_authentication == -1) |
@@ -301,8 +281,6 @@ fill_default_server_options(ServerOptions *options) | |||
301 | options->permit_empty_passwd = 0; | 281 | options->permit_empty_passwd = 0; |
302 | if (options->permit_user_env == -1) | 282 | if (options->permit_user_env == -1) |
303 | options->permit_user_env = 0; | 283 | options->permit_user_env = 0; |
304 | if (options->use_login == -1) | ||
305 | options->use_login = 0; | ||
306 | if (options->compression == -1) | 284 | if (options->compression == -1) |
307 | options->compression = COMP_DELAYED; | 285 | options->compression = COMP_DELAYED; |
308 | if (options->rekey_limit == -1) | 286 | if (options->rekey_limit == -1) |
@@ -353,6 +331,8 @@ fill_default_server_options(ServerOptions *options) | |||
353 | options->fwd_opts.streamlocal_bind_unlink = 0; | 331 | options->fwd_opts.streamlocal_bind_unlink = 0; |
354 | if (options->fingerprint_hash == -1) | 332 | if (options->fingerprint_hash == -1) |
355 | options->fingerprint_hash = SSH_FP_HASH_DEFAULT; | 333 | options->fingerprint_hash = SSH_FP_HASH_DEFAULT; |
334 | if (options->disable_forwarding == -1) | ||
335 | options->disable_forwarding = 0; | ||
356 | 336 | ||
357 | assemble_algorithms(options); | 337 | assemble_algorithms(options); |
358 | 338 | ||
@@ -406,8 +386,8 @@ typedef enum { | |||
406 | /* Portable-specific options */ | 386 | /* Portable-specific options */ |
407 | sUsePAM, | 387 | sUsePAM, |
408 | /* Standard Options */ | 388 | /* Standard Options */ |
409 | sPort, sHostKeyFile, sServerKeyBits, sLoginGraceTime, | 389 | sPort, sHostKeyFile, sLoginGraceTime, |
410 | sKeyRegenerationTime, sPermitRootLogin, sLogFacility, sLogLevel, | 390 | sPermitRootLogin, sLogFacility, sLogLevel, |
411 | sRhostsRSAAuthentication, sRSAAuthentication, | 391 | sRhostsRSAAuthentication, sRSAAuthentication, |
412 | sKerberosAuthentication, sKerberosOrLocalPasswd, sKerberosTicketCleanup, | 392 | sKerberosAuthentication, sKerberosOrLocalPasswd, sKerberosTicketCleanup, |
413 | sKerberosGetAFSToken, | 393 | sKerberosGetAFSToken, |
@@ -417,9 +397,9 @@ typedef enum { | |||
417 | sPrintMotd, sPrintLastLog, sIgnoreRhosts, | 397 | sPrintMotd, sPrintLastLog, sIgnoreRhosts, |
418 | sX11Forwarding, sX11DisplayOffset, sX11UseLocalhost, | 398 | sX11Forwarding, sX11DisplayOffset, sX11UseLocalhost, |
419 | sPermitTTY, sStrictModes, sEmptyPasswd, sTCPKeepAlive, | 399 | sPermitTTY, sStrictModes, sEmptyPasswd, sTCPKeepAlive, |
420 | sPermitUserEnvironment, sUseLogin, sAllowTcpForwarding, sCompression, | 400 | sPermitUserEnvironment, sAllowTcpForwarding, sCompression, |
421 | sRekeyLimit, sAllowUsers, sDenyUsers, sAllowGroups, sDenyGroups, | 401 | sRekeyLimit, sAllowUsers, sDenyUsers, sAllowGroups, sDenyGroups, |
422 | sIgnoreUserKnownHosts, sCiphers, sMacs, sProtocol, sPidFile, | 402 | sIgnoreUserKnownHosts, sCiphers, sMacs, sPidFile, |
423 | sGatewayPorts, sPubkeyAuthentication, sPubkeyAcceptedKeyTypes, | 403 | sGatewayPorts, sPubkeyAuthentication, sPubkeyAcceptedKeyTypes, |
424 | sXAuthLocation, sSubsystem, sMaxStartups, sMaxAuthTries, sMaxSessions, | 404 | sXAuthLocation, sSubsystem, sMaxStartups, sMaxAuthTries, sMaxSessions, |
425 | sBanner, sUseDNS, sHostbasedAuthentication, | 405 | sBanner, sUseDNS, sHostbasedAuthentication, |
@@ -437,8 +417,8 @@ typedef enum { | |||
437 | sAuthorizedKeysCommand, sAuthorizedKeysCommandUser, | 417 | sAuthorizedKeysCommand, sAuthorizedKeysCommandUser, |
438 | sAuthenticationMethods, sHostKeyAgent, sPermitUserRC, | 418 | sAuthenticationMethods, sHostKeyAgent, sPermitUserRC, |
439 | sStreamLocalBindMask, sStreamLocalBindUnlink, | 419 | sStreamLocalBindMask, sStreamLocalBindUnlink, |
440 | sAllowStreamLocalForwarding, sFingerprintHash, | 420 | sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding, |
441 | sDeprecated, sUnsupported | 421 | sDeprecated, sIgnore, sUnsupported |
442 | } ServerOpCodes; | 422 | } ServerOpCodes; |
443 | 423 | ||
444 | #define SSHCFG_GLOBAL 0x01 /* allowed in main section of sshd_config */ | 424 | #define SSHCFG_GLOBAL 0x01 /* allowed in main section of sshd_config */ |
@@ -464,19 +444,19 @@ static struct { | |||
464 | { "hostdsakey", sHostKeyFile, SSHCFG_GLOBAL }, /* alias */ | 444 | { "hostdsakey", sHostKeyFile, SSHCFG_GLOBAL }, /* alias */ |
465 | { "hostkeyagent", sHostKeyAgent, SSHCFG_GLOBAL }, | 445 | { "hostkeyagent", sHostKeyAgent, SSHCFG_GLOBAL }, |
466 | { "pidfile", sPidFile, SSHCFG_GLOBAL }, | 446 | { "pidfile", sPidFile, SSHCFG_GLOBAL }, |
467 | { "serverkeybits", sServerKeyBits, SSHCFG_GLOBAL }, | 447 | { "serverkeybits", sDeprecated, SSHCFG_GLOBAL }, |
468 | { "logingracetime", sLoginGraceTime, SSHCFG_GLOBAL }, | 448 | { "logingracetime", sLoginGraceTime, SSHCFG_GLOBAL }, |
469 | { "keyregenerationinterval", sKeyRegenerationTime, SSHCFG_GLOBAL }, | 449 | { "keyregenerationinterval", sDeprecated, SSHCFG_GLOBAL }, |
470 | { "permitrootlogin", sPermitRootLogin, SSHCFG_ALL }, | 450 | { "permitrootlogin", sPermitRootLogin, SSHCFG_ALL }, |
471 | { "syslogfacility", sLogFacility, SSHCFG_GLOBAL }, | 451 | { "syslogfacility", sLogFacility, SSHCFG_GLOBAL }, |
472 | { "loglevel", sLogLevel, SSHCFG_GLOBAL }, | 452 | { "loglevel", sLogLevel, SSHCFG_GLOBAL }, |
473 | { "rhostsauthentication", sDeprecated, SSHCFG_GLOBAL }, | 453 | { "rhostsauthentication", sDeprecated, SSHCFG_GLOBAL }, |
474 | { "rhostsrsaauthentication", sRhostsRSAAuthentication, SSHCFG_ALL }, | 454 | { "rhostsrsaauthentication", sDeprecated, SSHCFG_ALL }, |
475 | { "hostbasedauthentication", sHostbasedAuthentication, SSHCFG_ALL }, | 455 | { "hostbasedauthentication", sHostbasedAuthentication, SSHCFG_ALL }, |
476 | { "hostbasedusesnamefrompacketonly", sHostbasedUsesNameFromPacketOnly, SSHCFG_ALL }, | 456 | { "hostbasedusesnamefrompacketonly", sHostbasedUsesNameFromPacketOnly, SSHCFG_ALL }, |
477 | { "hostbasedacceptedkeytypes", sHostbasedAcceptedKeyTypes, SSHCFG_ALL }, | 457 | { "hostbasedacceptedkeytypes", sHostbasedAcceptedKeyTypes, SSHCFG_ALL }, |
478 | { "hostkeyalgorithms", sHostKeyAlgorithms, SSHCFG_GLOBAL }, | 458 | { "hostkeyalgorithms", sHostKeyAlgorithms, SSHCFG_GLOBAL }, |
479 | { "rsaauthentication", sRSAAuthentication, SSHCFG_ALL }, | 459 | { "rsaauthentication", sDeprecated, SSHCFG_ALL }, |
480 | { "pubkeyauthentication", sPubkeyAuthentication, SSHCFG_ALL }, | 460 | { "pubkeyauthentication", sPubkeyAuthentication, SSHCFG_ALL }, |
481 | { "pubkeyacceptedkeytypes", sPubkeyAcceptedKeyTypes, SSHCFG_ALL }, | 461 | { "pubkeyacceptedkeytypes", sPubkeyAcceptedKeyTypes, SSHCFG_ALL }, |
482 | { "dsaauthentication", sPubkeyAuthentication, SSHCFG_GLOBAL }, /* alias */ | 462 | { "dsaauthentication", sPubkeyAuthentication, SSHCFG_GLOBAL }, /* alias */ |
@@ -528,7 +508,7 @@ static struct { | |||
528 | { "strictmodes", sStrictModes, SSHCFG_GLOBAL }, | 508 | { "strictmodes", sStrictModes, SSHCFG_GLOBAL }, |
529 | { "permitemptypasswords", sEmptyPasswd, SSHCFG_ALL }, | 509 | { "permitemptypasswords", sEmptyPasswd, SSHCFG_ALL }, |
530 | { "permituserenvironment", sPermitUserEnvironment, SSHCFG_GLOBAL }, | 510 | { "permituserenvironment", sPermitUserEnvironment, SSHCFG_GLOBAL }, |
531 | { "uselogin", sUseLogin, SSHCFG_GLOBAL }, | 511 | { "uselogin", sDeprecated, SSHCFG_GLOBAL }, |
532 | { "compression", sCompression, SSHCFG_GLOBAL }, | 512 | { "compression", sCompression, SSHCFG_GLOBAL }, |
533 | { "rekeylimit", sRekeyLimit, SSHCFG_ALL }, | 513 | { "rekeylimit", sRekeyLimit, SSHCFG_ALL }, |
534 | { "tcpkeepalive", sTCPKeepAlive, SSHCFG_GLOBAL }, | 514 | { "tcpkeepalive", sTCPKeepAlive, SSHCFG_GLOBAL }, |
@@ -541,7 +521,7 @@ static struct { | |||
541 | { "denygroups", sDenyGroups, SSHCFG_ALL }, | 521 | { "denygroups", sDenyGroups, SSHCFG_ALL }, |
542 | { "ciphers", sCiphers, SSHCFG_GLOBAL }, | 522 | { "ciphers", sCiphers, SSHCFG_GLOBAL }, |
543 | { "macs", sMacs, SSHCFG_GLOBAL }, | 523 | { "macs", sMacs, SSHCFG_GLOBAL }, |
544 | { "protocol", sProtocol, SSHCFG_GLOBAL }, | 524 | { "protocol", sIgnore, SSHCFG_GLOBAL }, |
545 | { "gatewayports", sGatewayPorts, SSHCFG_ALL }, | 525 | { "gatewayports", sGatewayPorts, SSHCFG_ALL }, |
546 | { "subsystem", sSubsystem, SSHCFG_GLOBAL }, | 526 | { "subsystem", sSubsystem, SSHCFG_GLOBAL }, |
547 | { "maxstartups", sMaxStartups, SSHCFG_GLOBAL }, | 527 | { "maxstartups", sMaxStartups, SSHCFG_GLOBAL }, |
@@ -551,8 +531,8 @@ static struct { | |||
551 | { "usedns", sUseDNS, SSHCFG_GLOBAL }, | 531 | { "usedns", sUseDNS, SSHCFG_GLOBAL }, |
552 | { "verifyreversemapping", sDeprecated, SSHCFG_GLOBAL }, | 532 | { "verifyreversemapping", sDeprecated, SSHCFG_GLOBAL }, |
553 | { "reversemappingcheck", sDeprecated, SSHCFG_GLOBAL }, | 533 | { "reversemappingcheck", sDeprecated, SSHCFG_GLOBAL }, |
554 | { "clientaliveinterval", sClientAliveInterval, SSHCFG_GLOBAL }, | 534 | { "clientaliveinterval", sClientAliveInterval, SSHCFG_ALL }, |
555 | { "clientalivecountmax", sClientAliveCountMax, SSHCFG_GLOBAL }, | 535 | { "clientalivecountmax", sClientAliveCountMax, SSHCFG_ALL }, |
556 | { "authorizedkeysfile", sAuthorizedKeysFile, SSHCFG_ALL }, | 536 | { "authorizedkeysfile", sAuthorizedKeysFile, SSHCFG_ALL }, |
557 | { "authorizedkeysfile2", sDeprecated, SSHCFG_ALL }, | 537 | { "authorizedkeysfile2", sDeprecated, SSHCFG_ALL }, |
558 | { "useprivilegeseparation", sUsePrivilegeSeparation, SSHCFG_GLOBAL}, | 538 | { "useprivilegeseparation", sUsePrivilegeSeparation, SSHCFG_GLOBAL}, |
@@ -580,6 +560,7 @@ static struct { | |||
580 | { "streamlocalbindunlink", sStreamLocalBindUnlink, SSHCFG_ALL }, | 560 | { "streamlocalbindunlink", sStreamLocalBindUnlink, SSHCFG_ALL }, |
581 | { "allowstreamlocalforwarding", sAllowStreamLocalForwarding, SSHCFG_ALL }, | 561 | { "allowstreamlocalforwarding", sAllowStreamLocalForwarding, SSHCFG_ALL }, |
582 | { "fingerprinthash", sFingerprintHash, SSHCFG_GLOBAL }, | 562 | { "fingerprinthash", sFingerprintHash, SSHCFG_GLOBAL }, |
563 | { "disableforwarding", sDisableForwarding, SSHCFG_ALL }, | ||
583 | { NULL, sBadOption, 0 } | 564 | { NULL, sBadOption, 0 } |
584 | }; | 565 | }; |
585 | 566 | ||
@@ -742,7 +723,7 @@ get_connection_info(int populate, int use_dns) | |||
742 | * options set are copied into the main server config. | 723 | * options set are copied into the main server config. |
743 | * | 724 | * |
744 | * Potential additions/improvements: | 725 | * Potential additions/improvements: |
745 | * - Add Match support for pre-kex directives, eg Protocol, Ciphers. | 726 | * - Add Match support for pre-kex directives, eg. Ciphers. |
746 | * | 727 | * |
747 | * - Add a Tag directive (idea from David Leonard) ala pf, eg: | 728 | * - Add a Tag directive (idea from David Leonard) ala pf, eg: |
748 | * Match Address 192.168.0.* | 729 | * Match Address 192.168.0.* |
@@ -943,8 +924,8 @@ static const struct multistate multistate_permitrootlogin[] = { | |||
943 | { NULL, -1 } | 924 | { NULL, -1 } |
944 | }; | 925 | }; |
945 | static const struct multistate multistate_compression[] = { | 926 | static const struct multistate multistate_compression[] = { |
927 | { "yes", COMP_DELAYED }, | ||
946 | { "delayed", COMP_DELAYED }, | 928 | { "delayed", COMP_DELAYED }, |
947 | { "yes", COMP_ZLIB }, | ||
948 | { "no", COMP_NONE }, | 929 | { "no", COMP_NONE }, |
949 | { NULL, -1 } | 930 | { NULL, -1 } |
950 | }; | 931 | }; |
@@ -1040,18 +1021,6 @@ process_server_config_line(ServerOptions *options, char *line, | |||
1040 | filename, linenum); | 1021 | filename, linenum); |
1041 | break; | 1022 | break; |
1042 | 1023 | ||
1043 | case sServerKeyBits: | ||
1044 | intptr = &options->server_key_bits; | ||
1045 | parse_int: | ||
1046 | arg = strdelim(&cp); | ||
1047 | if (!arg || *arg == '\0') | ||
1048 | fatal("%s line %d: missing integer value.", | ||
1049 | filename, linenum); | ||
1050 | value = atoi(arg); | ||
1051 | if (*activep && *intptr == -1) | ||
1052 | *intptr = value; | ||
1053 | break; | ||
1054 | |||
1055 | case sLoginGraceTime: | 1024 | case sLoginGraceTime: |
1056 | intptr = &options->login_grace_time; | 1025 | intptr = &options->login_grace_time; |
1057 | parse_time: | 1026 | parse_time: |
@@ -1066,10 +1035,6 @@ process_server_config_line(ServerOptions *options, char *line, | |||
1066 | *intptr = value; | 1035 | *intptr = value; |
1067 | break; | 1036 | break; |
1068 | 1037 | ||
1069 | case sKeyRegenerationTime: | ||
1070 | intptr = &options->key_regeneration_time; | ||
1071 | goto parse_time; | ||
1072 | |||
1073 | case sListenAddress: | 1038 | case sListenAddress: |
1074 | arg = strdelim(&cp); | 1039 | arg = strdelim(&cp); |
1075 | if (arg == NULL || *arg == '\0') | 1040 | if (arg == NULL || *arg == '\0') |
@@ -1155,7 +1120,6 @@ process_server_config_line(ServerOptions *options, char *line, | |||
1155 | MAX_HOSTCERTS); | 1120 | MAX_HOSTCERTS); |
1156 | charptr = &options->host_cert_files[*intptr]; | 1121 | charptr = &options->host_cert_files[*intptr]; |
1157 | goto parse_filename; | 1122 | goto parse_filename; |
1158 | break; | ||
1159 | 1123 | ||
1160 | case sPidFile: | 1124 | case sPidFile: |
1161 | charptr = &options->pid_file; | 1125 | charptr = &options->pid_file; |
@@ -1189,10 +1153,6 @@ process_server_config_line(ServerOptions *options, char *line, | |||
1189 | intptr = &options->ignore_user_known_hosts; | 1153 | intptr = &options->ignore_user_known_hosts; |
1190 | goto parse_flag; | 1154 | goto parse_flag; |
1191 | 1155 | ||
1192 | case sRhostsRSAAuthentication: | ||
1193 | intptr = &options->rhosts_rsa_authentication; | ||
1194 | goto parse_flag; | ||
1195 | |||
1196 | case sHostbasedAuthentication: | 1156 | case sHostbasedAuthentication: |
1197 | intptr = &options->hostbased_authentication; | 1157 | intptr = &options->hostbased_authentication; |
1198 | goto parse_flag; | 1158 | goto parse_flag; |
@@ -1219,10 +1179,6 @@ process_server_config_line(ServerOptions *options, char *line, | |||
1219 | charptr = &options->hostkeyalgorithms; | 1179 | charptr = &options->hostkeyalgorithms; |
1220 | goto parse_keytypes; | 1180 | goto parse_keytypes; |
1221 | 1181 | ||
1222 | case sRSAAuthentication: | ||
1223 | intptr = &options->rsa_authentication; | ||
1224 | goto parse_flag; | ||
1225 | |||
1226 | case sPubkeyAuthentication: | 1182 | case sPubkeyAuthentication: |
1227 | intptr = &options->pubkey_authentication; | 1183 | intptr = &options->pubkey_authentication; |
1228 | goto parse_flag; | 1184 | goto parse_flag; |
@@ -1285,7 +1241,15 @@ process_server_config_line(ServerOptions *options, char *line, | |||
1285 | 1241 | ||
1286 | case sX11DisplayOffset: | 1242 | case sX11DisplayOffset: |
1287 | intptr = &options->x11_display_offset; | 1243 | intptr = &options->x11_display_offset; |
1288 | goto parse_int; | 1244 | parse_int: |
1245 | arg = strdelim(&cp); | ||
1246 | if (!arg || *arg == '\0') | ||
1247 | fatal("%s line %d: missing integer value.", | ||
1248 | filename, linenum); | ||
1249 | value = atoi(arg); | ||
1250 | if (*activep && *intptr == -1) | ||
1251 | *intptr = value; | ||
1252 | break; | ||
1289 | 1253 | ||
1290 | case sX11UseLocalhost: | 1254 | case sX11UseLocalhost: |
1291 | intptr = &options->x11_use_localhost; | 1255 | intptr = &options->x11_use_localhost; |
@@ -1319,10 +1283,6 @@ process_server_config_line(ServerOptions *options, char *line, | |||
1319 | intptr = &options->permit_user_env; | 1283 | intptr = &options->permit_user_env; |
1320 | goto parse_flag; | 1284 | goto parse_flag; |
1321 | 1285 | ||
1322 | case sUseLogin: | ||
1323 | intptr = &options->use_login; | ||
1324 | goto parse_flag; | ||
1325 | |||
1326 | case sCompression: | 1286 | case sCompression: |
1327 | intptr = &options->compression; | 1287 | intptr = &options->compression; |
1328 | multistate_ptr = multistate_compression; | 1288 | multistate_ptr = multistate_compression; |
@@ -1400,6 +1360,10 @@ process_server_config_line(ServerOptions *options, char *line, | |||
1400 | intptr = &options->allow_agent_forwarding; | 1360 | intptr = &options->allow_agent_forwarding; |
1401 | goto parse_flag; | 1361 | goto parse_flag; |
1402 | 1362 | ||
1363 | case sDisableForwarding: | ||
1364 | intptr = &options->disable_forwarding; | ||
1365 | goto parse_flag; | ||
1366 | |||
1403 | case sUsePrivilegeSeparation: | 1367 | case sUsePrivilegeSeparation: |
1404 | intptr = &use_privsep; | 1368 | intptr = &use_privsep; |
1405 | multistate_ptr = multistate_privsep; | 1369 | multistate_ptr = multistate_privsep; |
@@ -1410,6 +1374,9 @@ process_server_config_line(ServerOptions *options, char *line, | |||
1410 | if (options->num_allow_users >= MAX_ALLOW_USERS) | 1374 | if (options->num_allow_users >= MAX_ALLOW_USERS) |
1411 | fatal("%s line %d: too many allow users.", | 1375 | fatal("%s line %d: too many allow users.", |
1412 | filename, linenum); | 1376 | filename, linenum); |
1377 | if (match_user(NULL, NULL, NULL, arg) == -1) | ||
1378 | fatal("%s line %d: invalid AllowUsers pattern: " | ||
1379 | "\"%.100s\"", filename, linenum, arg); | ||
1413 | if (!*activep) | 1380 | if (!*activep) |
1414 | continue; | 1381 | continue; |
1415 | options->allow_users[options->num_allow_users++] = | 1382 | options->allow_users[options->num_allow_users++] = |
@@ -1422,6 +1389,9 @@ process_server_config_line(ServerOptions *options, char *line, | |||
1422 | if (options->num_deny_users >= MAX_DENY_USERS) | 1389 | if (options->num_deny_users >= MAX_DENY_USERS) |
1423 | fatal("%s line %d: too many deny users.", | 1390 | fatal("%s line %d: too many deny users.", |
1424 | filename, linenum); | 1391 | filename, linenum); |
1392 | if (match_user(NULL, NULL, NULL, arg) == -1) | ||
1393 | fatal("%s line %d: invalid DenyUsers pattern: " | ||
1394 | "\"%.100s\"", filename, linenum, arg); | ||
1425 | if (!*activep) | 1395 | if (!*activep) |
1426 | continue; | 1396 | continue; |
1427 | options->deny_users[options->num_deny_users++] = | 1397 | options->deny_users[options->num_deny_users++] = |
@@ -1487,19 +1457,6 @@ process_server_config_line(ServerOptions *options, char *line, | |||
1487 | options->kex_algorithms = xstrdup(arg); | 1457 | options->kex_algorithms = xstrdup(arg); |
1488 | break; | 1458 | break; |
1489 | 1459 | ||
1490 | case sProtocol: | ||
1491 | intptr = &options->protocol; | ||
1492 | arg = strdelim(&cp); | ||
1493 | if (!arg || *arg == '\0') | ||
1494 | fatal("%s line %d: Missing argument.", filename, linenum); | ||
1495 | value = proto_spec(arg); | ||
1496 | if (value == SSH_PROTO_UNKNOWN) | ||
1497 | fatal("%s line %d: Bad protocol spec '%s'.", | ||
1498 | filename, linenum, arg ? arg : "<NONE>"); | ||
1499 | if (*intptr == SSH_PROTO_UNKNOWN) | ||
1500 | *intptr = value; | ||
1501 | break; | ||
1502 | |||
1503 | case sSubsystem: | 1460 | case sSubsystem: |
1504 | if (options->num_subsystems >= MAX_SUBSYSTEMS) { | 1461 | if (options->num_subsystems >= MAX_SUBSYSTEMS) { |
1505 | fatal("%s line %d: too many subsystems defined.", | 1462 | fatal("%s line %d: too many subsystems defined.", |
@@ -1880,15 +1837,12 @@ process_server_config_line(ServerOptions *options, char *line, | |||
1880 | break; | 1837 | break; |
1881 | 1838 | ||
1882 | case sDeprecated: | 1839 | case sDeprecated: |
1883 | logit("%s line %d: Deprecated option %s", | 1840 | case sIgnore: |
1884 | filename, linenum, arg); | ||
1885 | while (arg) | ||
1886 | arg = strdelim(&cp); | ||
1887 | break; | ||
1888 | |||
1889 | case sUnsupported: | 1841 | case sUnsupported: |
1890 | logit("%s line %d: Unsupported option %s", | 1842 | do_log2(opcode == sIgnore ? |
1891 | filename, linenum, arg); | 1843 | SYSLOG_LEVEL_DEBUG2 : SYSLOG_LEVEL_INFO, |
1844 | "%s line %d: %s option %s", filename, linenum, | ||
1845 | opcode == sUnsupported ? "Unsupported" : "Deprecated", arg); | ||
1892 | while (arg) | 1846 | while (arg) |
1893 | arg = strdelim(&cp); | 1847 | arg = strdelim(&cp); |
1894 | break; | 1848 | break; |
@@ -2008,7 +1962,6 @@ copy_set_server_options(ServerOptions *dst, ServerOptions *src, int preauth) | |||
2008 | 1962 | ||
2009 | M_CP_INTOPT(password_authentication); | 1963 | M_CP_INTOPT(password_authentication); |
2010 | M_CP_INTOPT(gss_authentication); | 1964 | M_CP_INTOPT(gss_authentication); |
2011 | M_CP_INTOPT(rsa_authentication); | ||
2012 | M_CP_INTOPT(pubkey_authentication); | 1965 | M_CP_INTOPT(pubkey_authentication); |
2013 | M_CP_INTOPT(kerberos_authentication); | 1966 | M_CP_INTOPT(kerberos_authentication); |
2014 | M_CP_INTOPT(hostbased_authentication); | 1967 | M_CP_INTOPT(hostbased_authentication); |
@@ -2020,6 +1973,7 @@ copy_set_server_options(ServerOptions *dst, ServerOptions *src, int preauth) | |||
2020 | M_CP_INTOPT(allow_tcp_forwarding); | 1973 | M_CP_INTOPT(allow_tcp_forwarding); |
2021 | M_CP_INTOPT(allow_streamlocal_forwarding); | 1974 | M_CP_INTOPT(allow_streamlocal_forwarding); |
2022 | M_CP_INTOPT(allow_agent_forwarding); | 1975 | M_CP_INTOPT(allow_agent_forwarding); |
1976 | M_CP_INTOPT(disable_forwarding); | ||
2023 | M_CP_INTOPT(permit_tun); | 1977 | M_CP_INTOPT(permit_tun); |
2024 | M_CP_INTOPT(fwd_opts.gateway_ports); | 1978 | M_CP_INTOPT(fwd_opts.gateway_ports); |
2025 | M_CP_INTOPT(fwd_opts.streamlocal_bind_unlink); | 1979 | M_CP_INTOPT(fwd_opts.streamlocal_bind_unlink); |
@@ -2030,6 +1984,8 @@ copy_set_server_options(ServerOptions *dst, ServerOptions *src, int preauth) | |||
2030 | M_CP_INTOPT(permit_user_rc); | 1984 | M_CP_INTOPT(permit_user_rc); |
2031 | M_CP_INTOPT(max_sessions); | 1985 | M_CP_INTOPT(max_sessions); |
2032 | M_CP_INTOPT(max_authtries); | 1986 | M_CP_INTOPT(max_authtries); |
1987 | M_CP_INTOPT(client_alive_count_max); | ||
1988 | M_CP_INTOPT(client_alive_interval); | ||
2033 | M_CP_INTOPT(ip_qos_interactive); | 1989 | M_CP_INTOPT(ip_qos_interactive); |
2034 | M_CP_INTOPT(ip_qos_bulk); | 1990 | M_CP_INTOPT(ip_qos_bulk); |
2035 | M_CP_INTOPT(rekey_limit); | 1991 | M_CP_INTOPT(rekey_limit); |
@@ -2148,17 +2104,6 @@ fmt_intarg(ServerOpCodes code, int val) | |||
2148 | return fmt_multistate_int(val, multistate_tcpfwd); | 2104 | return fmt_multistate_int(val, multistate_tcpfwd); |
2149 | case sFingerprintHash: | 2105 | case sFingerprintHash: |
2150 | return ssh_digest_alg_name(val); | 2106 | return ssh_digest_alg_name(val); |
2151 | case sProtocol: | ||
2152 | switch (val) { | ||
2153 | case SSH_PROTO_1: | ||
2154 | return "1"; | ||
2155 | case SSH_PROTO_2: | ||
2156 | return "2"; | ||
2157 | case (SSH_PROTO_1|SSH_PROTO_2): | ||
2158 | return "2,1"; | ||
2159 | default: | ||
2160 | return "UNKNOWN"; | ||
2161 | } | ||
2162 | default: | 2107 | default: |
2163 | switch (val) { | 2108 | switch (val) { |
2164 | case 0: | 2109 | case 0: |
@@ -2245,7 +2190,6 @@ dump_config(ServerOptions *o) | |||
2245 | /* these are usually at the top of the config */ | 2190 | /* these are usually at the top of the config */ |
2246 | for (i = 0; i < o->num_ports; i++) | 2191 | for (i = 0; i < o->num_ports; i++) |
2247 | printf("port %d\n", o->ports[i]); | 2192 | printf("port %d\n", o->ports[i]); |
2248 | dump_cfg_fmtint(sProtocol, o->protocol); | ||
2249 | dump_cfg_fmtint(sAddressFamily, o->address_family); | 2193 | dump_cfg_fmtint(sAddressFamily, o->address_family); |
2250 | 2194 | ||
2251 | /* | 2195 | /* |
@@ -2278,9 +2222,7 @@ dump_config(ServerOptions *o) | |||
2278 | #ifdef USE_PAM | 2222 | #ifdef USE_PAM |
2279 | dump_cfg_fmtint(sUsePAM, o->use_pam); | 2223 | dump_cfg_fmtint(sUsePAM, o->use_pam); |
2280 | #endif | 2224 | #endif |
2281 | dump_cfg_int(sServerKeyBits, o->server_key_bits); | ||
2282 | dump_cfg_int(sLoginGraceTime, o->login_grace_time); | 2225 | dump_cfg_int(sLoginGraceTime, o->login_grace_time); |
2283 | dump_cfg_int(sKeyRegenerationTime, o->key_regeneration_time); | ||
2284 | dump_cfg_int(sX11DisplayOffset, o->x11_display_offset); | 2226 | dump_cfg_int(sX11DisplayOffset, o->x11_display_offset); |
2285 | dump_cfg_int(sMaxAuthTries, o->max_authtries); | 2227 | dump_cfg_int(sMaxAuthTries, o->max_authtries); |
2286 | dump_cfg_int(sMaxSessions, o->max_sessions); | 2228 | dump_cfg_int(sMaxSessions, o->max_sessions); |
@@ -2292,11 +2234,9 @@ dump_config(ServerOptions *o) | |||
2292 | dump_cfg_fmtint(sPermitRootLogin, o->permit_root_login); | 2234 | dump_cfg_fmtint(sPermitRootLogin, o->permit_root_login); |
2293 | dump_cfg_fmtint(sIgnoreRhosts, o->ignore_rhosts); | 2235 | dump_cfg_fmtint(sIgnoreRhosts, o->ignore_rhosts); |
2294 | dump_cfg_fmtint(sIgnoreUserKnownHosts, o->ignore_user_known_hosts); | 2236 | dump_cfg_fmtint(sIgnoreUserKnownHosts, o->ignore_user_known_hosts); |
2295 | dump_cfg_fmtint(sRhostsRSAAuthentication, o->rhosts_rsa_authentication); | ||
2296 | dump_cfg_fmtint(sHostbasedAuthentication, o->hostbased_authentication); | 2237 | dump_cfg_fmtint(sHostbasedAuthentication, o->hostbased_authentication); |
2297 | dump_cfg_fmtint(sHostbasedUsesNameFromPacketOnly, | 2238 | dump_cfg_fmtint(sHostbasedUsesNameFromPacketOnly, |
2298 | o->hostbased_uses_name_from_packet_only); | 2239 | o->hostbased_uses_name_from_packet_only); |
2299 | dump_cfg_fmtint(sRSAAuthentication, o->rsa_authentication); | ||
2300 | dump_cfg_fmtint(sPubkeyAuthentication, o->pubkey_authentication); | 2240 | dump_cfg_fmtint(sPubkeyAuthentication, o->pubkey_authentication); |
2301 | #ifdef KRB5 | 2241 | #ifdef KRB5 |
2302 | dump_cfg_fmtint(sKerberosAuthentication, o->kerberos_authentication); | 2242 | dump_cfg_fmtint(sKerberosAuthentication, o->kerberos_authentication); |
@@ -2327,12 +2267,12 @@ dump_config(ServerOptions *o) | |||
2327 | dump_cfg_fmtint(sTCPKeepAlive, o->tcp_keep_alive); | 2267 | dump_cfg_fmtint(sTCPKeepAlive, o->tcp_keep_alive); |
2328 | dump_cfg_fmtint(sEmptyPasswd, o->permit_empty_passwd); | 2268 | dump_cfg_fmtint(sEmptyPasswd, o->permit_empty_passwd); |
2329 | dump_cfg_fmtint(sPermitUserEnvironment, o->permit_user_env); | 2269 | dump_cfg_fmtint(sPermitUserEnvironment, o->permit_user_env); |
2330 | dump_cfg_fmtint(sUseLogin, o->use_login); | ||
2331 | dump_cfg_fmtint(sCompression, o->compression); | 2270 | dump_cfg_fmtint(sCompression, o->compression); |
2332 | dump_cfg_fmtint(sGatewayPorts, o->fwd_opts.gateway_ports); | 2271 | dump_cfg_fmtint(sGatewayPorts, o->fwd_opts.gateway_ports); |
2333 | dump_cfg_fmtint(sUseDNS, o->use_dns); | 2272 | dump_cfg_fmtint(sUseDNS, o->use_dns); |
2334 | dump_cfg_fmtint(sAllowTcpForwarding, o->allow_tcp_forwarding); | 2273 | dump_cfg_fmtint(sAllowTcpForwarding, o->allow_tcp_forwarding); |
2335 | dump_cfg_fmtint(sAllowAgentForwarding, o->allow_agent_forwarding); | 2274 | dump_cfg_fmtint(sAllowAgentForwarding, o->allow_agent_forwarding); |
2275 | dump_cfg_fmtint(sDisableForwarding, o->disable_forwarding); | ||
2336 | dump_cfg_fmtint(sAllowStreamLocalForwarding, o->allow_streamlocal_forwarding); | 2276 | dump_cfg_fmtint(sAllowStreamLocalForwarding, o->allow_streamlocal_forwarding); |
2337 | dump_cfg_fmtint(sStreamLocalBindUnlink, o->fwd_opts.streamlocal_bind_unlink); | 2277 | dump_cfg_fmtint(sStreamLocalBindUnlink, o->fwd_opts.streamlocal_bind_unlink); |
2338 | dump_cfg_fmtint(sUsePrivilegeSeparation, use_privsep); | 2278 | dump_cfg_fmtint(sUsePrivilegeSeparation, use_privsep); |
diff --git a/servconf.h b/servconf.h index f4137af7d..5853a9747 100644 --- a/servconf.h +++ b/servconf.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: servconf.h,v 1.120 2015/07/10 06:21:53 markus Exp $ */ | 1 | /* $OpenBSD: servconf.h,v 1.123 2016/11/30 03:00:05 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -69,10 +69,8 @@ typedef struct { | |||
69 | int num_host_cert_files; /* Number of files for host certs. */ | 69 | int num_host_cert_files; /* Number of files for host certs. */ |
70 | char *host_key_agent; /* ssh-agent socket for host keys. */ | 70 | char *host_key_agent; /* ssh-agent socket for host keys. */ |
71 | char *pid_file; /* Where to put our pid */ | 71 | char *pid_file; /* Where to put our pid */ |
72 | int server_key_bits;/* Size of the server key. */ | ||
73 | int login_grace_time; /* Disconnect if no auth in this time | 72 | int login_grace_time; /* Disconnect if no auth in this time |
74 | * (sec). */ | 73 | * (sec). */ |
75 | int key_regeneration_time; /* Server key lifetime (seconds). */ | ||
76 | int permit_root_login; /* PERMIT_*, see above */ | 74 | int permit_root_login; /* PERMIT_*, see above */ |
77 | int ignore_rhosts; /* Ignore .rhosts and .shosts. */ | 75 | int ignore_rhosts; /* Ignore .rhosts and .shosts. */ |
78 | int ignore_user_known_hosts; /* Ignore ~/.ssh/known_hosts | 76 | int ignore_user_known_hosts; /* Ignore ~/.ssh/known_hosts |
@@ -93,17 +91,13 @@ typedef struct { | |||
93 | char *ciphers; /* Supported SSH2 ciphers. */ | 91 | char *ciphers; /* Supported SSH2 ciphers. */ |
94 | char *macs; /* Supported SSH2 macs. */ | 92 | char *macs; /* Supported SSH2 macs. */ |
95 | char *kex_algorithms; /* SSH2 kex methods in order of preference. */ | 93 | char *kex_algorithms; /* SSH2 kex methods in order of preference. */ |
96 | int protocol; /* Supported protocol versions. */ | ||
97 | struct ForwardOptions fwd_opts; /* forwarding options */ | 94 | struct ForwardOptions fwd_opts; /* forwarding options */ |
98 | SyslogFacility log_facility; /* Facility for system logging. */ | 95 | SyslogFacility log_facility; /* Facility for system logging. */ |
99 | LogLevel log_level; /* Level for system logging. */ | 96 | LogLevel log_level; /* Level for system logging. */ |
100 | int rhosts_rsa_authentication; /* If true, permit rhosts RSA | ||
101 | * authentication. */ | ||
102 | int hostbased_authentication; /* If true, permit ssh2 hostbased auth */ | 97 | int hostbased_authentication; /* If true, permit ssh2 hostbased auth */ |
103 | int hostbased_uses_name_from_packet_only; /* experimental */ | 98 | int hostbased_uses_name_from_packet_only; /* experimental */ |
104 | char *hostbased_key_types; /* Key types allowed for hostbased */ | 99 | char *hostbased_key_types; /* Key types allowed for hostbased */ |
105 | char *hostkeyalgorithms; /* SSH2 server key types */ | 100 | char *hostkeyalgorithms; /* SSH2 server key types */ |
106 | int rsa_authentication; /* If true, permit RSA authentication. */ | ||
107 | int pubkey_authentication; /* If true, permit ssh2 pubkey authentication. */ | 101 | int pubkey_authentication; /* If true, permit ssh2 pubkey authentication. */ |
108 | char *pubkey_key_types; /* Key types allowed for public key */ | 102 | char *pubkey_key_types; /* Key types allowed for public key */ |
109 | int kerberos_authentication; /* If true, permit Kerberos | 103 | int kerberos_authentication; /* If true, permit Kerberos |
@@ -127,11 +121,11 @@ typedef struct { | |||
127 | int permit_empty_passwd; /* If false, do not permit empty | 121 | int permit_empty_passwd; /* If false, do not permit empty |
128 | * passwords. */ | 122 | * passwords. */ |
129 | int permit_user_env; /* If true, read ~/.ssh/environment */ | 123 | int permit_user_env; /* If true, read ~/.ssh/environment */ |
130 | int use_login; /* If true, login(1) is used */ | ||
131 | int compression; /* If true, compression is allowed */ | 124 | int compression; /* If true, compression is allowed */ |
132 | int allow_tcp_forwarding; /* One of FORWARD_* */ | 125 | int allow_tcp_forwarding; /* One of FORWARD_* */ |
133 | int allow_streamlocal_forwarding; /* One of FORWARD_* */ | 126 | int allow_streamlocal_forwarding; /* One of FORWARD_* */ |
134 | int allow_agent_forwarding; | 127 | int allow_agent_forwarding; |
128 | int disable_forwarding; | ||
135 | u_int num_allow_users; | 129 | u_int num_allow_users; |
136 | char *allow_users[MAX_ALLOW_USERS]; | 130 | char *allow_users[MAX_ALLOW_USERS]; |
137 | u_int num_deny_users; | 131 | u_int num_deny_users; |
diff --git a/serverloop.c b/serverloop.c index 3563e5d42..c4e4699da 100644 --- a/serverloop.c +++ b/serverloop.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: serverloop.c,v 1.184 2016/03/07 19:02:43 djm Exp $ */ | 1 | /* $OpenBSD: serverloop.c,v 1.189 2016/12/14 00:36:34 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -37,7 +37,6 @@ | |||
37 | 37 | ||
38 | #include "includes.h" | 38 | #include "includes.h" |
39 | 39 | ||
40 | #include <sys/param.h> /* MIN MAX */ | ||
41 | #include <sys/types.h> | 40 | #include <sys/types.h> |
42 | #include <sys/wait.h> | 41 | #include <sys/wait.h> |
43 | #include <sys/socket.h> | 42 | #include <sys/socket.h> |
@@ -67,7 +66,6 @@ | |||
67 | #include "sshpty.h" | 66 | #include "sshpty.h" |
68 | #include "channels.h" | 67 | #include "channels.h" |
69 | #include "compat.h" | 68 | #include "compat.h" |
70 | #include "ssh1.h" | ||
71 | #include "ssh2.h" | 69 | #include "ssh2.h" |
72 | #include "key.h" | 70 | #include "key.h" |
73 | #include "cipher.h" | 71 | #include "cipher.h" |
@@ -86,25 +84,6 @@ extern ServerOptions options; | |||
86 | extern Authctxt *the_authctxt; | 84 | extern Authctxt *the_authctxt; |
87 | extern int use_privsep; | 85 | extern int use_privsep; |
88 | 86 | ||
89 | static Buffer stdin_buffer; /* Buffer for stdin data. */ | ||
90 | static Buffer stdout_buffer; /* Buffer for stdout data. */ | ||
91 | static Buffer stderr_buffer; /* Buffer for stderr data. */ | ||
92 | static int fdin; /* Descriptor for stdin (for writing) */ | ||
93 | static int fdout; /* Descriptor for stdout (for reading); | ||
94 | May be same number as fdin. */ | ||
95 | static int fderr; /* Descriptor for stderr. May be -1. */ | ||
96 | static long stdin_bytes = 0; /* Number of bytes written to stdin. */ | ||
97 | static long stdout_bytes = 0; /* Number of stdout bytes sent to client. */ | ||
98 | static long stderr_bytes = 0; /* Number of stderr bytes sent to client. */ | ||
99 | static long fdout_bytes = 0; /* Number of stdout bytes read from program. */ | ||
100 | static int stdin_eof = 0; /* EOF message received from client. */ | ||
101 | static int fdout_eof = 0; /* EOF encountered reading from fdout. */ | ||
102 | static int fderr_eof = 0; /* EOF encountered readung from fderr. */ | ||
103 | static int fdin_is_tty = 0; /* fdin points to a tty. */ | ||
104 | static int connection_in; /* Connection to client (input). */ | ||
105 | static int connection_out; /* Connection to client (output). */ | ||
106 | static int connection_closed = 0; /* Connection to client closed. */ | ||
107 | static u_int buffer_high; /* "Soft" max buffer size. */ | ||
108 | static int no_more_sessions = 0; /* Disallow further sessions. */ | 87 | static int no_more_sessions = 0; /* Disallow further sessions. */ |
109 | 88 | ||
110 | /* | 89 | /* |
@@ -185,64 +164,6 @@ sigterm_handler(int sig) | |||
185 | received_sigterm = sig; | 164 | received_sigterm = sig; |
186 | } | 165 | } |
187 | 166 | ||
188 | /* | ||
189 | * Make packets from buffered stderr data, and buffer it for sending | ||
190 | * to the client. | ||
191 | */ | ||
192 | static void | ||
193 | make_packets_from_stderr_data(void) | ||
194 | { | ||
195 | u_int len; | ||
196 | |||
197 | /* Send buffered stderr data to the client. */ | ||
198 | while (buffer_len(&stderr_buffer) > 0 && | ||
199 | packet_not_very_much_data_to_write()) { | ||
200 | len = buffer_len(&stderr_buffer); | ||
201 | if (packet_is_interactive()) { | ||
202 | if (len > 512) | ||
203 | len = 512; | ||
204 | } else { | ||
205 | /* Keep the packets at reasonable size. */ | ||
206 | if (len > packet_get_maxsize()) | ||
207 | len = packet_get_maxsize(); | ||
208 | } | ||
209 | packet_start(SSH_SMSG_STDERR_DATA); | ||
210 | packet_put_string(buffer_ptr(&stderr_buffer), len); | ||
211 | packet_send(); | ||
212 | buffer_consume(&stderr_buffer, len); | ||
213 | stderr_bytes += len; | ||
214 | } | ||
215 | } | ||
216 | |||
217 | /* | ||
218 | * Make packets from buffered stdout data, and buffer it for sending to the | ||
219 | * client. | ||
220 | */ | ||
221 | static void | ||
222 | make_packets_from_stdout_data(void) | ||
223 | { | ||
224 | u_int len; | ||
225 | |||
226 | /* Send buffered stdout data to the client. */ | ||
227 | while (buffer_len(&stdout_buffer) > 0 && | ||
228 | packet_not_very_much_data_to_write()) { | ||
229 | len = buffer_len(&stdout_buffer); | ||
230 | if (packet_is_interactive()) { | ||
231 | if (len > 512) | ||
232 | len = 512; | ||
233 | } else { | ||
234 | /* Keep the packets at reasonable size. */ | ||
235 | if (len > packet_get_maxsize()) | ||
236 | len = packet_get_maxsize(); | ||
237 | } | ||
238 | packet_start(SSH_SMSG_STDOUT_DATA); | ||
239 | packet_put_string(buffer_ptr(&stdout_buffer), len); | ||
240 | packet_send(); | ||
241 | buffer_consume(&stdout_buffer, len); | ||
242 | stdout_bytes += len; | ||
243 | } | ||
244 | } | ||
245 | |||
246 | static void | 167 | static void |
247 | client_alive_check(void) | 168 | client_alive_check(void) |
248 | { | 169 | { |
@@ -275,14 +196,14 @@ client_alive_check(void) | |||
275 | * for the duration of the wait (0 = infinite). | 196 | * for the duration of the wait (0 = infinite). |
276 | */ | 197 | */ |
277 | static void | 198 | static void |
278 | wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp, int *maxfdp, | 199 | wait_until_can_do_something(int connection_in, int connection_out, |
200 | fd_set **readsetp, fd_set **writesetp, int *maxfdp, | ||
279 | u_int *nallocp, u_int64_t max_time_ms) | 201 | u_int *nallocp, u_int64_t max_time_ms) |
280 | { | 202 | { |
281 | struct timeval tv, *tvp; | 203 | struct timeval tv, *tvp; |
282 | int ret; | 204 | int ret; |
283 | time_t minwait_secs = 0; | 205 | time_t minwait_secs = 0; |
284 | int client_alive_scheduled = 0; | 206 | int client_alive_scheduled = 0; |
285 | int program_alive_scheduled = 0; | ||
286 | 207 | ||
287 | /* Allocate and update select() masks for channel descriptors. */ | 208 | /* Allocate and update select() masks for channel descriptors. */ |
288 | channel_prepare_select(readsetp, writesetp, maxfdp, nallocp, | 209 | channel_prepare_select(readsetp, writesetp, maxfdp, nallocp, |
@@ -290,7 +211,7 @@ wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp, int *maxfdp, | |||
290 | 211 | ||
291 | /* XXX need proper deadline system for rekey/client alive */ | 212 | /* XXX need proper deadline system for rekey/client alive */ |
292 | if (minwait_secs != 0) | 213 | if (minwait_secs != 0) |
293 | max_time_ms = MIN(max_time_ms, (u_int)minwait_secs * 1000); | 214 | max_time_ms = MINIMUM(max_time_ms, (u_int)minwait_secs * 1000); |
294 | 215 | ||
295 | /* | 216 | /* |
296 | * if using client_alive, set the max timeout accordingly, | 217 | * if using client_alive, set the max timeout accordingly, |
@@ -300,7 +221,7 @@ wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp, int *maxfdp, | |||
300 | * this could be randomized somewhat to make traffic | 221 | * this could be randomized somewhat to make traffic |
301 | * analysis more difficult, but we're not doing it yet. | 222 | * analysis more difficult, but we're not doing it yet. |
302 | */ | 223 | */ |
303 | if (compat20 && options.client_alive_interval) { | 224 | if (options.client_alive_interval) { |
304 | uint64_t keepalive_ms = | 225 | uint64_t keepalive_ms = |
305 | (uint64_t)options.client_alive_interval * 1000; | 226 | (uint64_t)options.client_alive_interval * 1000; |
306 | 227 | ||
@@ -309,38 +230,11 @@ wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp, int *maxfdp, | |||
309 | max_time_ms = keepalive_ms; | 230 | max_time_ms = keepalive_ms; |
310 | } | 231 | } |
311 | 232 | ||
312 | if (compat20) { | ||
313 | #if 0 | 233 | #if 0 |
314 | /* wrong: bad condition XXX */ | 234 | /* wrong: bad condition XXX */ |
315 | if (channel_not_very_much_buffered_data()) | 235 | if (channel_not_very_much_buffered_data()) |
316 | #endif | 236 | #endif |
317 | FD_SET(connection_in, *readsetp); | 237 | FD_SET(connection_in, *readsetp); |
318 | } else { | ||
319 | /* | ||
320 | * Read packets from the client unless we have too much | ||
321 | * buffered stdin or channel data. | ||
322 | */ | ||
323 | if (buffer_len(&stdin_buffer) < buffer_high && | ||
324 | channel_not_very_much_buffered_data()) | ||
325 | FD_SET(connection_in, *readsetp); | ||
326 | /* | ||
327 | * If there is not too much data already buffered going to | ||
328 | * the client, try to get some more data from the program. | ||
329 | */ | ||
330 | if (packet_not_very_much_data_to_write()) { | ||
331 | program_alive_scheduled = child_terminated; | ||
332 | if (!fdout_eof) | ||
333 | FD_SET(fdout, *readsetp); | ||
334 | if (!fderr_eof) | ||
335 | FD_SET(fderr, *readsetp); | ||
336 | } | ||
337 | /* | ||
338 | * If we have buffered data, try to write some of that data | ||
339 | * to the program. | ||
340 | */ | ||
341 | if (fdin != -1 && buffer_len(&stdin_buffer) > 0) | ||
342 | FD_SET(fdin, *writesetp); | ||
343 | } | ||
344 | notify_prepare(*readsetp); | 238 | notify_prepare(*readsetp); |
345 | 239 | ||
346 | /* | 240 | /* |
@@ -374,16 +268,8 @@ wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp, int *maxfdp, | |||
374 | memset(*writesetp, 0, *nallocp); | 268 | memset(*writesetp, 0, *nallocp); |
375 | if (errno != EINTR) | 269 | if (errno != EINTR) |
376 | error("select: %.100s", strerror(errno)); | 270 | error("select: %.100s", strerror(errno)); |
377 | } else { | 271 | } else if (ret == 0 && client_alive_scheduled) |
378 | if (ret == 0 && client_alive_scheduled) | 272 | client_alive_check(); |
379 | client_alive_check(); | ||
380 | if (!compat20 && program_alive_scheduled && fdin_is_tty) { | ||
381 | if (!fdout_eof) | ||
382 | FD_SET(fdout, *readsetp); | ||
383 | if (!fderr_eof) | ||
384 | FD_SET(fderr, *readsetp); | ||
385 | } | ||
386 | } | ||
387 | 273 | ||
388 | notify_done(*readsetp); | 274 | notify_done(*readsetp); |
389 | } | 275 | } |
@@ -392,8 +278,8 @@ wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp, int *maxfdp, | |||
392 | * Processes input from the client and the program. Input data is stored | 278 | * Processes input from the client and the program. Input data is stored |
393 | * in buffers and processed later. | 279 | * in buffers and processed later. |
394 | */ | 280 | */ |
395 | static void | 281 | static int |
396 | process_input(fd_set *readset) | 282 | process_input(fd_set *readset, int connection_in) |
397 | { | 283 | { |
398 | struct ssh *ssh = active_state; /* XXX */ | 284 | struct ssh *ssh = active_state; /* XXX */ |
399 | int len; | 285 | int len; |
@@ -405,10 +291,7 @@ process_input(fd_set *readset) | |||
405 | if (len == 0) { | 291 | if (len == 0) { |
406 | verbose("Connection closed by %.100s port %d", | 292 | verbose("Connection closed by %.100s port %d", |
407 | ssh_remote_ipaddr(ssh), ssh_remote_port(ssh)); | 293 | ssh_remote_ipaddr(ssh), ssh_remote_port(ssh)); |
408 | connection_closed = 1; | 294 | return -1; |
409 | if (compat20) | ||
410 | return; | ||
411 | cleanup_exit(255); | ||
412 | } else if (len < 0) { | 295 | } else if (len < 0) { |
413 | if (errno != EINTR && errno != EAGAIN && | 296 | if (errno != EINTR && errno != EAGAIN && |
414 | errno != EWOULDBLOCK) { | 297 | errno != EWOULDBLOCK) { |
@@ -423,381 +306,26 @@ process_input(fd_set *readset) | |||
423 | packet_process_incoming(buf, len); | 306 | packet_process_incoming(buf, len); |
424 | } | 307 | } |
425 | } | 308 | } |
426 | if (compat20) | 309 | return 0; |
427 | return; | ||
428 | |||
429 | /* Read and buffer any available stdout data from the program. */ | ||
430 | if (!fdout_eof && FD_ISSET(fdout, readset)) { | ||
431 | errno = 0; | ||
432 | len = read(fdout, buf, sizeof(buf)); | ||
433 | if (len < 0 && (errno == EINTR || ((errno == EAGAIN || | ||
434 | errno == EWOULDBLOCK) && !child_terminated))) { | ||
435 | /* do nothing */ | ||
436 | #ifndef PTY_ZEROREAD | ||
437 | } else if (len <= 0) { | ||
438 | #else | ||
439 | } else if ((!isatty(fdout) && len <= 0) || | ||
440 | (isatty(fdout) && (len < 0 || (len == 0 && errno != 0)))) { | ||
441 | #endif | ||
442 | fdout_eof = 1; | ||
443 | } else { | ||
444 | buffer_append(&stdout_buffer, buf, len); | ||
445 | fdout_bytes += len; | ||
446 | } | ||
447 | } | ||
448 | /* Read and buffer any available stderr data from the program. */ | ||
449 | if (!fderr_eof && FD_ISSET(fderr, readset)) { | ||
450 | errno = 0; | ||
451 | len = read(fderr, buf, sizeof(buf)); | ||
452 | if (len < 0 && (errno == EINTR || ((errno == EAGAIN || | ||
453 | errno == EWOULDBLOCK) && !child_terminated))) { | ||
454 | /* do nothing */ | ||
455 | #ifndef PTY_ZEROREAD | ||
456 | } else if (len <= 0) { | ||
457 | #else | ||
458 | } else if ((!isatty(fderr) && len <= 0) || | ||
459 | (isatty(fderr) && (len < 0 || (len == 0 && errno != 0)))) { | ||
460 | #endif | ||
461 | fderr_eof = 1; | ||
462 | } else { | ||
463 | buffer_append(&stderr_buffer, buf, len); | ||
464 | } | ||
465 | } | ||
466 | } | 310 | } |
467 | 311 | ||
468 | /* | 312 | /* |
469 | * Sends data from internal buffers to client program stdin. | 313 | * Sends data from internal buffers to client program stdin. |
470 | */ | 314 | */ |
471 | static void | 315 | static void |
472 | process_output(fd_set *writeset) | 316 | process_output(fd_set *writeset, int connection_out) |
473 | { | 317 | { |
474 | struct termios tio; | ||
475 | u_char *data; | ||
476 | u_int dlen; | ||
477 | int len; | ||
478 | |||
479 | /* Write buffered data to program stdin. */ | ||
480 | if (!compat20 && fdin != -1 && FD_ISSET(fdin, writeset)) { | ||
481 | data = buffer_ptr(&stdin_buffer); | ||
482 | dlen = buffer_len(&stdin_buffer); | ||
483 | len = write(fdin, data, dlen); | ||
484 | if (len < 0 && | ||
485 | (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK)) { | ||
486 | /* do nothing */ | ||
487 | } else if (len <= 0) { | ||
488 | if (fdin != fdout) | ||
489 | close(fdin); | ||
490 | else | ||
491 | shutdown(fdin, SHUT_WR); /* We will no longer send. */ | ||
492 | fdin = -1; | ||
493 | } else { | ||
494 | /* Successful write. */ | ||
495 | if (fdin_is_tty && dlen >= 1 && data[0] != '\r' && | ||
496 | tcgetattr(fdin, &tio) == 0 && | ||
497 | !(tio.c_lflag & ECHO) && (tio.c_lflag & ICANON)) { | ||
498 | /* | ||
499 | * Simulate echo to reduce the impact of | ||
500 | * traffic analysis | ||
501 | */ | ||
502 | packet_send_ignore(len); | ||
503 | packet_send(); | ||
504 | } | ||
505 | /* Consume the data from the buffer. */ | ||
506 | buffer_consume(&stdin_buffer, len); | ||
507 | /* Update the count of bytes written to the program. */ | ||
508 | stdin_bytes += len; | ||
509 | } | ||
510 | } | ||
511 | /* Send any buffered packet data to the client. */ | 318 | /* Send any buffered packet data to the client. */ |
512 | if (FD_ISSET(connection_out, writeset)) | 319 | if (FD_ISSET(connection_out, writeset)) |
513 | packet_write_poll(); | 320 | packet_write_poll(); |
514 | } | 321 | } |
515 | 322 | ||
516 | /* | ||
517 | * Wait until all buffered output has been sent to the client. | ||
518 | * This is used when the program terminates. | ||
519 | */ | ||
520 | static void | ||
521 | drain_output(void) | ||
522 | { | ||
523 | /* Send any buffered stdout data to the client. */ | ||
524 | if (buffer_len(&stdout_buffer) > 0) { | ||
525 | packet_start(SSH_SMSG_STDOUT_DATA); | ||
526 | packet_put_string(buffer_ptr(&stdout_buffer), | ||
527 | buffer_len(&stdout_buffer)); | ||
528 | packet_send(); | ||
529 | /* Update the count of sent bytes. */ | ||
530 | stdout_bytes += buffer_len(&stdout_buffer); | ||
531 | } | ||
532 | /* Send any buffered stderr data to the client. */ | ||
533 | if (buffer_len(&stderr_buffer) > 0) { | ||
534 | packet_start(SSH_SMSG_STDERR_DATA); | ||
535 | packet_put_string(buffer_ptr(&stderr_buffer), | ||
536 | buffer_len(&stderr_buffer)); | ||
537 | packet_send(); | ||
538 | /* Update the count of sent bytes. */ | ||
539 | stderr_bytes += buffer_len(&stderr_buffer); | ||
540 | } | ||
541 | /* Wait until all buffered data has been written to the client. */ | ||
542 | packet_write_wait(); | ||
543 | } | ||
544 | |||
545 | static void | 323 | static void |
546 | process_buffered_input_packets(void) | 324 | process_buffered_input_packets(void) |
547 | { | 325 | { |
548 | dispatch_run(DISPATCH_NONBLOCK, NULL, active_state); | 326 | dispatch_run(DISPATCH_NONBLOCK, NULL, active_state); |
549 | } | 327 | } |
550 | 328 | ||
551 | /* | ||
552 | * Performs the interactive session. This handles data transmission between | ||
553 | * the client and the program. Note that the notion of stdin, stdout, and | ||
554 | * stderr in this function is sort of reversed: this function writes to | ||
555 | * stdin (of the child program), and reads from stdout and stderr (of the | ||
556 | * child program). | ||
557 | */ | ||
558 | void | ||
559 | server_loop(pid_t pid, int fdin_arg, int fdout_arg, int fderr_arg) | ||
560 | { | ||
561 | fd_set *readset = NULL, *writeset = NULL; | ||
562 | int max_fd = 0; | ||
563 | u_int nalloc = 0; | ||
564 | int wait_status; /* Status returned by wait(). */ | ||
565 | pid_t wait_pid; /* pid returned by wait(). */ | ||
566 | int waiting_termination = 0; /* Have displayed waiting close message. */ | ||
567 | u_int64_t max_time_milliseconds; | ||
568 | u_int previous_stdout_buffer_bytes; | ||
569 | u_int stdout_buffer_bytes; | ||
570 | int type; | ||
571 | |||
572 | debug("Entering interactive session."); | ||
573 | |||
574 | /* Initialize the SIGCHLD kludge. */ | ||
575 | child_terminated = 0; | ||
576 | mysignal(SIGCHLD, sigchld_handler); | ||
577 | |||
578 | if (!use_privsep) { | ||
579 | signal(SIGTERM, sigterm_handler); | ||
580 | signal(SIGINT, sigterm_handler); | ||
581 | signal(SIGQUIT, sigterm_handler); | ||
582 | } | ||
583 | |||
584 | /* Initialize our global variables. */ | ||
585 | fdin = fdin_arg; | ||
586 | fdout = fdout_arg; | ||
587 | fderr = fderr_arg; | ||
588 | |||
589 | /* nonblocking IO */ | ||
590 | set_nonblock(fdin); | ||
591 | set_nonblock(fdout); | ||
592 | /* we don't have stderr for interactive terminal sessions, see below */ | ||
593 | if (fderr != -1) | ||
594 | set_nonblock(fderr); | ||
595 | |||
596 | if (!(datafellows & SSH_BUG_IGNOREMSG) && isatty(fdin)) | ||
597 | fdin_is_tty = 1; | ||
598 | |||
599 | connection_in = packet_get_connection_in(); | ||
600 | connection_out = packet_get_connection_out(); | ||
601 | |||
602 | notify_setup(); | ||
603 | |||
604 | previous_stdout_buffer_bytes = 0; | ||
605 | |||
606 | /* Set approximate I/O buffer size. */ | ||
607 | if (packet_is_interactive()) | ||
608 | buffer_high = 4096; | ||
609 | else | ||
610 | buffer_high = 64 * 1024; | ||
611 | |||
612 | #if 0 | ||
613 | /* Initialize max_fd to the maximum of the known file descriptors. */ | ||
614 | max_fd = MAX(connection_in, connection_out); | ||
615 | max_fd = MAX(max_fd, fdin); | ||
616 | max_fd = MAX(max_fd, fdout); | ||
617 | if (fderr != -1) | ||
618 | max_fd = MAX(max_fd, fderr); | ||
619 | #endif | ||
620 | |||
621 | /* Initialize Initialize buffers. */ | ||
622 | buffer_init(&stdin_buffer); | ||
623 | buffer_init(&stdout_buffer); | ||
624 | buffer_init(&stderr_buffer); | ||
625 | |||
626 | /* | ||
627 | * If we have no separate fderr (which is the case when we have a pty | ||
628 | * - there we cannot make difference between data sent to stdout and | ||
629 | * stderr), indicate that we have seen an EOF from stderr. This way | ||
630 | * we don't need to check the descriptor everywhere. | ||
631 | */ | ||
632 | if (fderr == -1) | ||
633 | fderr_eof = 1; | ||
634 | |||
635 | server_init_dispatch(); | ||
636 | |||
637 | /* Main loop of the server for the interactive session mode. */ | ||
638 | for (;;) { | ||
639 | |||
640 | /* Process buffered packets from the client. */ | ||
641 | process_buffered_input_packets(); | ||
642 | |||
643 | /* | ||
644 | * If we have received eof, and there is no more pending | ||
645 | * input data, cause a real eof by closing fdin. | ||
646 | */ | ||
647 | if (stdin_eof && fdin != -1 && buffer_len(&stdin_buffer) == 0) { | ||
648 | if (fdin != fdout) | ||
649 | close(fdin); | ||
650 | else | ||
651 | shutdown(fdin, SHUT_WR); /* We will no longer send. */ | ||
652 | fdin = -1; | ||
653 | } | ||
654 | /* Make packets from buffered stderr data to send to the client. */ | ||
655 | make_packets_from_stderr_data(); | ||
656 | |||
657 | /* | ||
658 | * Make packets from buffered stdout data to send to the | ||
659 | * client. If there is very little to send, this arranges to | ||
660 | * not send them now, but to wait a short while to see if we | ||
661 | * are getting more data. This is necessary, as some systems | ||
662 | * wake up readers from a pty after each separate character. | ||
663 | */ | ||
664 | max_time_milliseconds = 0; | ||
665 | stdout_buffer_bytes = buffer_len(&stdout_buffer); | ||
666 | if (stdout_buffer_bytes != 0 && stdout_buffer_bytes < 256 && | ||
667 | stdout_buffer_bytes != previous_stdout_buffer_bytes) { | ||
668 | /* try again after a while */ | ||
669 | max_time_milliseconds = 10; | ||
670 | } else { | ||
671 | /* Send it now. */ | ||
672 | make_packets_from_stdout_data(); | ||
673 | } | ||
674 | previous_stdout_buffer_bytes = buffer_len(&stdout_buffer); | ||
675 | |||
676 | /* Send channel data to the client. */ | ||
677 | if (packet_not_very_much_data_to_write()) | ||
678 | channel_output_poll(); | ||
679 | |||
680 | /* | ||
681 | * Bail out of the loop if the program has closed its output | ||
682 | * descriptors, and we have no more data to send to the | ||
683 | * client, and there is no pending buffered data. | ||
684 | */ | ||
685 | if (fdout_eof && fderr_eof && !packet_have_data_to_write() && | ||
686 | buffer_len(&stdout_buffer) == 0 && buffer_len(&stderr_buffer) == 0) { | ||
687 | if (!channel_still_open()) | ||
688 | break; | ||
689 | if (!waiting_termination) { | ||
690 | const char *s = "Waiting for forwarded connections to terminate...\r\n"; | ||
691 | char *cp; | ||
692 | waiting_termination = 1; | ||
693 | buffer_append(&stderr_buffer, s, strlen(s)); | ||
694 | |||
695 | /* Display list of open channels. */ | ||
696 | cp = channel_open_message(); | ||
697 | buffer_append(&stderr_buffer, cp, strlen(cp)); | ||
698 | free(cp); | ||
699 | } | ||
700 | } | ||
701 | max_fd = MAX(connection_in, connection_out); | ||
702 | max_fd = MAX(max_fd, fdin); | ||
703 | max_fd = MAX(max_fd, fdout); | ||
704 | max_fd = MAX(max_fd, fderr); | ||
705 | max_fd = MAX(max_fd, notify_pipe[0]); | ||
706 | |||
707 | /* Sleep in select() until we can do something. */ | ||
708 | wait_until_can_do_something(&readset, &writeset, &max_fd, | ||
709 | &nalloc, max_time_milliseconds); | ||
710 | |||
711 | if (received_sigterm) { | ||
712 | logit("Exiting on signal %d", (int)received_sigterm); | ||
713 | /* Clean up sessions, utmp, etc. */ | ||
714 | cleanup_exit(255); | ||
715 | } | ||
716 | |||
717 | /* Process any channel events. */ | ||
718 | channel_after_select(readset, writeset); | ||
719 | |||
720 | /* Process input from the client and from program stdout/stderr. */ | ||
721 | process_input(readset); | ||
722 | |||
723 | /* Process output to the client and to program stdin. */ | ||
724 | process_output(writeset); | ||
725 | } | ||
726 | free(readset); | ||
727 | free(writeset); | ||
728 | |||
729 | /* Cleanup and termination code. */ | ||
730 | |||
731 | /* Wait until all output has been sent to the client. */ | ||
732 | drain_output(); | ||
733 | |||
734 | debug("End of interactive session; stdin %ld, stdout (read %ld, sent %ld), stderr %ld bytes.", | ||
735 | stdin_bytes, fdout_bytes, stdout_bytes, stderr_bytes); | ||
736 | |||
737 | /* Free and clear the buffers. */ | ||
738 | buffer_free(&stdin_buffer); | ||
739 | buffer_free(&stdout_buffer); | ||
740 | buffer_free(&stderr_buffer); | ||
741 | |||
742 | /* Close the file descriptors. */ | ||
743 | if (fdout != -1) | ||
744 | close(fdout); | ||
745 | fdout = -1; | ||
746 | fdout_eof = 1; | ||
747 | if (fderr != -1) | ||
748 | close(fderr); | ||
749 | fderr = -1; | ||
750 | fderr_eof = 1; | ||
751 | if (fdin != -1) | ||
752 | close(fdin); | ||
753 | fdin = -1; | ||
754 | |||
755 | channel_free_all(); | ||
756 | |||
757 | /* We no longer want our SIGCHLD handler to be called. */ | ||
758 | mysignal(SIGCHLD, SIG_DFL); | ||
759 | |||
760 | while ((wait_pid = waitpid(-1, &wait_status, 0)) < 0) | ||
761 | if (errno != EINTR) | ||
762 | packet_disconnect("wait: %.100s", strerror(errno)); | ||
763 | if (wait_pid != pid) | ||
764 | error("Strange, wait returned pid %ld, expected %ld", | ||
765 | (long)wait_pid, (long)pid); | ||
766 | |||
767 | /* Check if it exited normally. */ | ||
768 | if (WIFEXITED(wait_status)) { | ||
769 | /* Yes, normal exit. Get exit status and send it to the client. */ | ||
770 | debug("Command exited with status %d.", WEXITSTATUS(wait_status)); | ||
771 | packet_start(SSH_SMSG_EXITSTATUS); | ||
772 | packet_put_int(WEXITSTATUS(wait_status)); | ||
773 | packet_send(); | ||
774 | packet_write_wait(); | ||
775 | |||
776 | /* | ||
777 | * Wait for exit confirmation. Note that there might be | ||
778 | * other packets coming before it; however, the program has | ||
779 | * already died so we just ignore them. The client is | ||
780 | * supposed to respond with the confirmation when it receives | ||
781 | * the exit status. | ||
782 | */ | ||
783 | do { | ||
784 | type = packet_read(); | ||
785 | } | ||
786 | while (type != SSH_CMSG_EXIT_CONFIRMATION); | ||
787 | |||
788 | debug("Received exit confirmation."); | ||
789 | return; | ||
790 | } | ||
791 | /* Check if the program terminated due to a signal. */ | ||
792 | if (WIFSIGNALED(wait_status)) | ||
793 | packet_disconnect("Command terminated on signal %d.", | ||
794 | WTERMSIG(wait_status)); | ||
795 | |||
796 | /* Some weird exit cause. Just exit. */ | ||
797 | packet_disconnect("wait returned status %04x.", wait_status); | ||
798 | /* NOTREACHED */ | ||
799 | } | ||
800 | |||
801 | static void | 329 | static void |
802 | collect_children(void) | 330 | collect_children(void) |
803 | { | 331 | { |
@@ -825,7 +353,7 @@ server_loop2(Authctxt *authctxt) | |||
825 | { | 353 | { |
826 | fd_set *readset = NULL, *writeset = NULL; | 354 | fd_set *readset = NULL, *writeset = NULL; |
827 | int max_fd; | 355 | int max_fd; |
828 | u_int nalloc = 0; | 356 | u_int nalloc = 0, connection_in, connection_out; |
829 | u_int64_t rekey_timeout_ms = 0; | 357 | u_int64_t rekey_timeout_ms = 0; |
830 | 358 | ||
831 | debug("Entering interactive session for SSH2."); | 359 | debug("Entering interactive session for SSH2."); |
@@ -843,8 +371,8 @@ server_loop2(Authctxt *authctxt) | |||
843 | 371 | ||
844 | notify_setup(); | 372 | notify_setup(); |
845 | 373 | ||
846 | max_fd = MAX(connection_in, connection_out); | 374 | max_fd = MAXIMUM(connection_in, connection_out); |
847 | max_fd = MAX(max_fd, notify_pipe[0]); | 375 | max_fd = MAXIMUM(max_fd, notify_pipe[0]); |
848 | 376 | ||
849 | server_init_dispatch(); | 377 | server_init_dispatch(); |
850 | 378 | ||
@@ -854,14 +382,14 @@ server_loop2(Authctxt *authctxt) | |||
854 | if (!ssh_packet_is_rekeying(active_state) && | 382 | if (!ssh_packet_is_rekeying(active_state) && |
855 | packet_not_very_much_data_to_write()) | 383 | packet_not_very_much_data_to_write()) |
856 | channel_output_poll(); | 384 | channel_output_poll(); |
857 | if (options.rekey_interval > 0 && compat20 && | 385 | if (options.rekey_interval > 0 && |
858 | !ssh_packet_is_rekeying(active_state)) | 386 | !ssh_packet_is_rekeying(active_state)) |
859 | rekey_timeout_ms = packet_get_rekey_timeout() * 1000; | 387 | rekey_timeout_ms = packet_get_rekey_timeout() * 1000; |
860 | else | 388 | else |
861 | rekey_timeout_ms = 0; | 389 | rekey_timeout_ms = 0; |
862 | 390 | ||
863 | wait_until_can_do_something(&readset, &writeset, &max_fd, | 391 | wait_until_can_do_something(connection_in, connection_out, |
864 | &nalloc, rekey_timeout_ms); | 392 | &readset, &writeset, &max_fd, &nalloc, rekey_timeout_ms); |
865 | 393 | ||
866 | if (received_sigterm) { | 394 | if (received_sigterm) { |
867 | logit("Exiting on signal %d", (int)received_sigterm); | 395 | logit("Exiting on signal %d", (int)received_sigterm); |
@@ -872,10 +400,9 @@ server_loop2(Authctxt *authctxt) | |||
872 | collect_children(); | 400 | collect_children(); |
873 | if (!ssh_packet_is_rekeying(active_state)) | 401 | if (!ssh_packet_is_rekeying(active_state)) |
874 | channel_after_select(readset, writeset); | 402 | channel_after_select(readset, writeset); |
875 | process_input(readset); | 403 | if (process_input(readset, connection_in) < 0) |
876 | if (connection_closed) | ||
877 | break; | 404 | break; |
878 | process_output(writeset); | 405 | process_output(writeset, connection_out); |
879 | } | 406 | } |
880 | collect_children(); | 407 | collect_children(); |
881 | 408 | ||
@@ -902,53 +429,6 @@ server_input_keep_alive(int type, u_int32_t seq, void *ctxt) | |||
902 | return 0; | 429 | return 0; |
903 | } | 430 | } |
904 | 431 | ||
905 | static int | ||
906 | server_input_stdin_data(int type, u_int32_t seq, void *ctxt) | ||
907 | { | ||
908 | char *data; | ||
909 | u_int data_len; | ||
910 | |||
911 | /* Stdin data from the client. Append it to the buffer. */ | ||
912 | /* Ignore any data if the client has closed stdin. */ | ||
913 | if (fdin == -1) | ||
914 | return 0; | ||
915 | data = packet_get_string(&data_len); | ||
916 | packet_check_eom(); | ||
917 | buffer_append(&stdin_buffer, data, data_len); | ||
918 | explicit_bzero(data, data_len); | ||
919 | free(data); | ||
920 | return 0; | ||
921 | } | ||
922 | |||
923 | static int | ||
924 | server_input_eof(int type, u_int32_t seq, void *ctxt) | ||
925 | { | ||
926 | /* | ||
927 | * Eof from the client. The stdin descriptor to the | ||
928 | * program will be closed when all buffered data has | ||
929 | * drained. | ||
930 | */ | ||
931 | debug("EOF received for stdin."); | ||
932 | packet_check_eom(); | ||
933 | stdin_eof = 1; | ||
934 | return 0; | ||
935 | } | ||
936 | |||
937 | static int | ||
938 | server_input_window_size(int type, u_int32_t seq, void *ctxt) | ||
939 | { | ||
940 | u_int row = packet_get_int(); | ||
941 | u_int col = packet_get_int(); | ||
942 | u_int xpixel = packet_get_int(); | ||
943 | u_int ypixel = packet_get_int(); | ||
944 | |||
945 | debug("Window change received."); | ||
946 | packet_check_eom(); | ||
947 | if (fdin != -1) | ||
948 | pty_change_window_size(fdin, row, col, xpixel, ypixel); | ||
949 | return 0; | ||
950 | } | ||
951 | |||
952 | static Channel * | 432 | static Channel * |
953 | server_request_direct_tcpip(void) | 433 | server_request_direct_tcpip(void) |
954 | { | 434 | { |
@@ -967,7 +447,7 @@ server_request_direct_tcpip(void) | |||
967 | 447 | ||
968 | /* XXX fine grained permissions */ | 448 | /* XXX fine grained permissions */ |
969 | if ((options.allow_tcp_forwarding & FORWARD_LOCAL) != 0 && | 449 | if ((options.allow_tcp_forwarding & FORWARD_LOCAL) != 0 && |
970 | !no_port_forwarding_flag) { | 450 | !no_port_forwarding_flag && !options.disable_forwarding) { |
971 | c = channel_connect_to_port(target, target_port, | 451 | c = channel_connect_to_port(target, target_port, |
972 | "direct-tcpip", "direct-tcpip"); | 452 | "direct-tcpip", "direct-tcpip"); |
973 | } else { | 453 | } else { |
@@ -999,7 +479,8 @@ server_request_direct_streamlocal(void) | |||
999 | 479 | ||
1000 | /* XXX fine grained permissions */ | 480 | /* XXX fine grained permissions */ |
1001 | if ((options.allow_streamlocal_forwarding & FORWARD_LOCAL) != 0 && | 481 | if ((options.allow_streamlocal_forwarding & FORWARD_LOCAL) != 0 && |
1002 | !no_port_forwarding_flag) { | 482 | !no_port_forwarding_flag && !options.disable_forwarding && |
483 | use_privsep) { | ||
1003 | c = channel_connect_to_path(target, | 484 | c = channel_connect_to_path(target, |
1004 | "direct-streamlocal@openssh.com", "direct-streamlocal"); | 485 | "direct-streamlocal@openssh.com", "direct-streamlocal"); |
1005 | } else { | 486 | } else { |
@@ -1242,10 +723,10 @@ server_input_global_request(int type, u_int32_t seq, void *ctxt) | |||
1242 | 723 | ||
1243 | /* check permissions */ | 724 | /* check permissions */ |
1244 | if ((options.allow_tcp_forwarding & FORWARD_REMOTE) == 0 || | 725 | if ((options.allow_tcp_forwarding & FORWARD_REMOTE) == 0 || |
1245 | no_port_forwarding_flag || | 726 | no_port_forwarding_flag || options.disable_forwarding || |
1246 | (!want_reply && fwd.listen_port == 0) || | 727 | (!want_reply && fwd.listen_port == 0) || |
1247 | (fwd.listen_port != 0 && fwd.listen_port < IPPORT_RESERVED && | 728 | (fwd.listen_port != 0 && |
1248 | pw->pw_uid != 0)) { | 729 | !bind_permitted(fwd.listen_port, pw->pw_uid))) { |
1249 | success = 0; | 730 | success = 0; |
1250 | packet_send_debug("Server has disabled port forwarding."); | 731 | packet_send_debug("Server has disabled port forwarding."); |
1251 | } else { | 732 | } else { |
@@ -1280,7 +761,8 @@ server_input_global_request(int type, u_int32_t seq, void *ctxt) | |||
1280 | 761 | ||
1281 | /* check permissions */ | 762 | /* check permissions */ |
1282 | if ((options.allow_streamlocal_forwarding & FORWARD_REMOTE) == 0 | 763 | if ((options.allow_streamlocal_forwarding & FORWARD_REMOTE) == 0 |
1283 | || no_port_forwarding_flag) { | 764 | || no_port_forwarding_flag || options.disable_forwarding || |
765 | !use_privsep) { | ||
1284 | success = 0; | 766 | success = 0; |
1285 | packet_send_debug("Server has disabled port forwarding."); | 767 | packet_send_debug("Server has disabled port forwarding."); |
1286 | } else { | 768 | } else { |
@@ -1353,9 +835,9 @@ server_input_channel_req(int type, u_int32_t seq, void *ctxt) | |||
1353 | } | 835 | } |
1354 | 836 | ||
1355 | static void | 837 | static void |
1356 | server_init_dispatch_20(void) | 838 | server_init_dispatch(void) |
1357 | { | 839 | { |
1358 | debug("server_init_dispatch_20"); | 840 | debug("server_init_dispatch"); |
1359 | dispatch_init(&dispatch_protocol_error); | 841 | dispatch_init(&dispatch_protocol_error); |
1360 | dispatch_set(SSH2_MSG_CHANNEL_CLOSE, &channel_input_oclose); | 842 | dispatch_set(SSH2_MSG_CHANNEL_CLOSE, &channel_input_oclose); |
1361 | dispatch_set(SSH2_MSG_CHANNEL_DATA, &channel_input_data); | 843 | dispatch_set(SSH2_MSG_CHANNEL_DATA, &channel_input_data); |
@@ -1375,36 +857,3 @@ server_init_dispatch_20(void) | |||
1375 | /* rekeying */ | 857 | /* rekeying */ |
1376 | dispatch_set(SSH2_MSG_KEXINIT, &kex_input_kexinit); | 858 | dispatch_set(SSH2_MSG_KEXINIT, &kex_input_kexinit); |
1377 | } | 859 | } |
1378 | static void | ||
1379 | server_init_dispatch_13(void) | ||
1380 | { | ||
1381 | debug("server_init_dispatch_13"); | ||
1382 | dispatch_init(NULL); | ||
1383 | dispatch_set(SSH_CMSG_EOF, &server_input_eof); | ||
1384 | dispatch_set(SSH_CMSG_STDIN_DATA, &server_input_stdin_data); | ||
1385 | dispatch_set(SSH_CMSG_WINDOW_SIZE, &server_input_window_size); | ||
1386 | dispatch_set(SSH_MSG_CHANNEL_CLOSE, &channel_input_close); | ||
1387 | dispatch_set(SSH_MSG_CHANNEL_CLOSE_CONFIRMATION, &channel_input_close_confirmation); | ||
1388 | dispatch_set(SSH_MSG_CHANNEL_DATA, &channel_input_data); | ||
1389 | dispatch_set(SSH_MSG_CHANNEL_OPEN_CONFIRMATION, &channel_input_open_confirmation); | ||
1390 | dispatch_set(SSH_MSG_CHANNEL_OPEN_FAILURE, &channel_input_open_failure); | ||
1391 | dispatch_set(SSH_MSG_PORT_OPEN, &channel_input_port_open); | ||
1392 | } | ||
1393 | static void | ||
1394 | server_init_dispatch_15(void) | ||
1395 | { | ||
1396 | server_init_dispatch_13(); | ||
1397 | debug("server_init_dispatch_15"); | ||
1398 | dispatch_set(SSH_MSG_CHANNEL_CLOSE, &channel_input_ieof); | ||
1399 | dispatch_set(SSH_MSG_CHANNEL_CLOSE_CONFIRMATION, &channel_input_oclose); | ||
1400 | } | ||
1401 | static void | ||
1402 | server_init_dispatch(void) | ||
1403 | { | ||
1404 | if (compat20) | ||
1405 | server_init_dispatch_20(); | ||
1406 | else if (compat13) | ||
1407 | server_init_dispatch_13(); | ||
1408 | else | ||
1409 | server_init_dispatch_15(); | ||
1410 | } | ||
diff --git a/serverloop.h b/serverloop.h index 7311558f9..d5fbda16f 100644 --- a/serverloop.h +++ b/serverloop.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: serverloop.h,v 1.6 2006/03/25 22:22:43 djm Exp $ */ | 1 | /* $OpenBSD: serverloop.h,v 1.7 2016/08/13 17:47:41 markus Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -21,7 +21,6 @@ | |||
21 | #ifndef SERVERLOOP_H | 21 | #ifndef SERVERLOOP_H |
22 | #define SERVERLOOP_H | 22 | #define SERVERLOOP_H |
23 | 23 | ||
24 | void server_loop(pid_t, int, int, int); | ||
25 | void server_loop2(Authctxt *); | 24 | void server_loop2(Authctxt *); |
26 | 25 | ||
27 | #endif | 26 | #endif |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: session.c,v 1.282 2016/03/10 11:47:57 djm Exp $ */ | 1 | /* $OpenBSD: session.c,v 1.286 2016/11/30 03:00:05 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 3 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
4 | * All rights reserved | 4 | * All rights reserved |
@@ -66,7 +66,6 @@ | |||
66 | #include "openbsd-compat/sys-queue.h" | 66 | #include "openbsd-compat/sys-queue.h" |
67 | #include "xmalloc.h" | 67 | #include "xmalloc.h" |
68 | #include "ssh.h" | 68 | #include "ssh.h" |
69 | #include "ssh1.h" | ||
70 | #include "ssh2.h" | 69 | #include "ssh2.h" |
71 | #include "sshpty.h" | 70 | #include "sshpty.h" |
72 | #include "packet.h" | 71 | #include "packet.h" |
@@ -128,7 +127,6 @@ void do_child(Session *, const char *); | |||
128 | void do_motd(void); | 127 | void do_motd(void); |
129 | int check_quietlogin(Session *, const char *); | 128 | int check_quietlogin(Session *, const char *); |
130 | 129 | ||
131 | static void do_authenticated1(Authctxt *); | ||
132 | static void do_authenticated2(Authctxt *); | 130 | static void do_authenticated2(Authctxt *); |
133 | 131 | ||
134 | static int session_pty_req(Session *); | 132 | static int session_pty_req(Session *); |
@@ -259,7 +257,7 @@ do_authenticated(Authctxt *authctxt) | |||
259 | 257 | ||
260 | /* setup the channel layer */ | 258 | /* setup the channel layer */ |
261 | /* XXX - streamlocal? */ | 259 | /* XXX - streamlocal? */ |
262 | if (no_port_forwarding_flag || | 260 | if (no_port_forwarding_flag || options.disable_forwarding || |
263 | (options.allow_tcp_forwarding & FORWARD_LOCAL) == 0) | 261 | (options.allow_tcp_forwarding & FORWARD_LOCAL) == 0) |
264 | channel_disable_adm_local_opens(); | 262 | channel_disable_adm_local_opens(); |
265 | else | 263 | else |
@@ -267,11 +265,7 @@ do_authenticated(Authctxt *authctxt) | |||
267 | 265 | ||
268 | auth_debug_send(); | 266 | auth_debug_send(); |
269 | 267 | ||
270 | if (compat20) | 268 | do_authenticated2(authctxt); |
271 | do_authenticated2(authctxt); | ||
272 | else | ||
273 | do_authenticated1(authctxt); | ||
274 | |||
275 | do_cleanup(authctxt); | 269 | do_cleanup(authctxt); |
276 | } | 270 | } |
277 | 271 | ||
@@ -290,164 +284,6 @@ xauth_valid_string(const char *s) | |||
290 | return 1; | 284 | return 1; |
291 | } | 285 | } |
292 | 286 | ||
293 | /* | ||
294 | * Prepares for an interactive session. This is called after the user has | ||
295 | * been successfully authenticated. During this message exchange, pseudo | ||
296 | * terminals are allocated, X11, TCP/IP, and authentication agent forwardings | ||
297 | * are requested, etc. | ||
298 | */ | ||
299 | static void | ||
300 | do_authenticated1(Authctxt *authctxt) | ||
301 | { | ||
302 | Session *s; | ||
303 | char *command; | ||
304 | int success, type, screen_flag; | ||
305 | int enable_compression_after_reply = 0; | ||
306 | u_int proto_len, data_len, dlen, compression_level = 0; | ||
307 | |||
308 | s = session_new(); | ||
309 | if (s == NULL) { | ||
310 | error("no more sessions"); | ||
311 | return; | ||
312 | } | ||
313 | s->authctxt = authctxt; | ||
314 | s->pw = authctxt->pw; | ||
315 | |||
316 | /* | ||
317 | * We stay in this loop until the client requests to execute a shell | ||
318 | * or a command. | ||
319 | */ | ||
320 | for (;;) { | ||
321 | success = 0; | ||
322 | |||
323 | /* Get a packet from the client. */ | ||
324 | type = packet_read(); | ||
325 | |||
326 | /* Process the packet. */ | ||
327 | switch (type) { | ||
328 | case SSH_CMSG_REQUEST_COMPRESSION: | ||
329 | compression_level = packet_get_int(); | ||
330 | packet_check_eom(); | ||
331 | if (compression_level < 1 || compression_level > 9) { | ||
332 | packet_send_debug("Received invalid compression level %d.", | ||
333 | compression_level); | ||
334 | break; | ||
335 | } | ||
336 | if (options.compression == COMP_NONE) { | ||
337 | debug2("compression disabled"); | ||
338 | break; | ||
339 | } | ||
340 | /* Enable compression after we have responded with SUCCESS. */ | ||
341 | enable_compression_after_reply = 1; | ||
342 | success = 1; | ||
343 | break; | ||
344 | |||
345 | case SSH_CMSG_REQUEST_PTY: | ||
346 | success = session_pty_req(s); | ||
347 | break; | ||
348 | |||
349 | case SSH_CMSG_X11_REQUEST_FORWARDING: | ||
350 | s->auth_proto = packet_get_string(&proto_len); | ||
351 | s->auth_data = packet_get_string(&data_len); | ||
352 | |||
353 | screen_flag = packet_get_protocol_flags() & | ||
354 | SSH_PROTOFLAG_SCREEN_NUMBER; | ||
355 | debug2("SSH_PROTOFLAG_SCREEN_NUMBER: %d", screen_flag); | ||
356 | |||
357 | if (packet_remaining() == 4) { | ||
358 | if (!screen_flag) | ||
359 | debug2("Buggy client: " | ||
360 | "X11 screen flag missing"); | ||
361 | s->screen = packet_get_int(); | ||
362 | } else { | ||
363 | s->screen = 0; | ||
364 | } | ||
365 | packet_check_eom(); | ||
366 | if (xauth_valid_string(s->auth_proto) && | ||
367 | xauth_valid_string(s->auth_data)) | ||
368 | success = session_setup_x11fwd(s); | ||
369 | else { | ||
370 | success = 0; | ||
371 | error("Invalid X11 forwarding data"); | ||
372 | } | ||
373 | if (!success) { | ||
374 | free(s->auth_proto); | ||
375 | free(s->auth_data); | ||
376 | s->auth_proto = NULL; | ||
377 | s->auth_data = NULL; | ||
378 | } | ||
379 | break; | ||
380 | |||
381 | case SSH_CMSG_AGENT_REQUEST_FORWARDING: | ||
382 | if (!options.allow_agent_forwarding || | ||
383 | no_agent_forwarding_flag || compat13) { | ||
384 | debug("Authentication agent forwarding not permitted for this authentication."); | ||
385 | break; | ||
386 | } | ||
387 | debug("Received authentication agent forwarding request."); | ||
388 | success = auth_input_request_forwarding(s->pw); | ||
389 | break; | ||
390 | |||
391 | case SSH_CMSG_PORT_FORWARD_REQUEST: | ||
392 | if (no_port_forwarding_flag) { | ||
393 | debug("Port forwarding not permitted for this authentication."); | ||
394 | break; | ||
395 | } | ||
396 | if (!(options.allow_tcp_forwarding & FORWARD_REMOTE)) { | ||
397 | debug("Port forwarding not permitted."); | ||
398 | break; | ||
399 | } | ||
400 | debug("Received TCP/IP port forwarding request."); | ||
401 | if (channel_input_port_forward_request(s->pw->pw_uid == 0, | ||
402 | &options.fwd_opts) < 0) { | ||
403 | debug("Port forwarding failed."); | ||
404 | break; | ||
405 | } | ||
406 | success = 1; | ||
407 | break; | ||
408 | |||
409 | case SSH_CMSG_MAX_PACKET_SIZE: | ||
410 | if (packet_set_maxsize(packet_get_int()) > 0) | ||
411 | success = 1; | ||
412 | break; | ||
413 | |||
414 | case SSH_CMSG_EXEC_SHELL: | ||
415 | case SSH_CMSG_EXEC_CMD: | ||
416 | if (type == SSH_CMSG_EXEC_CMD) { | ||
417 | command = packet_get_string(&dlen); | ||
418 | debug("Exec command '%.500s'", command); | ||
419 | if (do_exec(s, command) != 0) | ||
420 | packet_disconnect( | ||
421 | "command execution failed"); | ||
422 | free(command); | ||
423 | } else { | ||
424 | if (do_exec(s, NULL) != 0) | ||
425 | packet_disconnect( | ||
426 | "shell execution failed"); | ||
427 | } | ||
428 | packet_check_eom(); | ||
429 | session_close(s); | ||
430 | return; | ||
431 | |||
432 | default: | ||
433 | /* | ||
434 | * Any unknown messages in this phase are ignored, | ||
435 | * and a failure message is returned. | ||
436 | */ | ||
437 | logit("Unknown packet type received after authentication: %d", type); | ||
438 | } | ||
439 | packet_start(success ? SSH_SMSG_SUCCESS : SSH_SMSG_FAILURE); | ||
440 | packet_send(); | ||
441 | packet_write_wait(); | ||
442 | |||
443 | /* Enable compression now that we have replied if appropriate. */ | ||
444 | if (enable_compression_after_reply) { | ||
445 | enable_compression_after_reply = 0; | ||
446 | packet_start_compression(compression_level); | ||
447 | } | ||
448 | } | ||
449 | } | ||
450 | |||
451 | #define USE_PIPES 1 | 287 | #define USE_PIPES 1 |
452 | /* | 288 | /* |
453 | * This is called to fork and execute a command when we have no tty. This | 289 | * This is called to fork and execute a command when we have no tty. This |
@@ -615,14 +451,8 @@ do_exec_no_pty(Session *s, const char *command) | |||
615 | close(pout[1]); | 451 | close(pout[1]); |
616 | close(perr[1]); | 452 | close(perr[1]); |
617 | 453 | ||
618 | if (compat20) { | 454 | session_set_fds(s, pin[1], pout[0], perr[0], |
619 | session_set_fds(s, pin[1], pout[0], perr[0], | 455 | s->is_subsystem, 0); |
620 | s->is_subsystem, 0); | ||
621 | } else { | ||
622 | /* Enter the interactive session. */ | ||
623 | server_loop(pid, pin[1], pout[0], perr[0]); | ||
624 | /* server_loop has closed pin[1], pout[0], and perr[0]. */ | ||
625 | } | ||
626 | #else | 456 | #else |
627 | /* We are the parent. Close the child sides of the socket pairs. */ | 457 | /* We are the parent. Close the child sides of the socket pairs. */ |
628 | close(inout[0]); | 458 | close(inout[0]); |
@@ -632,13 +462,8 @@ do_exec_no_pty(Session *s, const char *command) | |||
632 | * Enter the interactive session. Note: server_loop must be able to | 462 | * Enter the interactive session. Note: server_loop must be able to |
633 | * handle the case that fdin and fdout are the same. | 463 | * handle the case that fdin and fdout are the same. |
634 | */ | 464 | */ |
635 | if (compat20) { | 465 | session_set_fds(s, inout[1], inout[1], err[1], |
636 | session_set_fds(s, inout[1], inout[1], err[1], | 466 | s->is_subsystem, 0); |
637 | s->is_subsystem, 0); | ||
638 | } else { | ||
639 | server_loop(pid, inout[1], inout[1], err[1]); | ||
640 | /* server_loop has closed inout[1] and err[1]. */ | ||
641 | } | ||
642 | #endif | 467 | #endif |
643 | return 0; | 468 | return 0; |
644 | } | 469 | } |
@@ -718,17 +543,11 @@ do_exec_pty(Session *s, const char *command) | |||
718 | close(ttyfd); | 543 | close(ttyfd); |
719 | 544 | ||
720 | /* record login, etc. similar to login(1) */ | 545 | /* record login, etc. similar to login(1) */ |
721 | #ifndef HAVE_OSF_SIA | ||
722 | if (!(options.use_login && command == NULL)) { | ||
723 | #ifdef _UNICOS | 546 | #ifdef _UNICOS |
724 | cray_init_job(s->pw); /* set up cray jid and tmpdir */ | 547 | cray_init_job(s->pw); /* set up cray jid and tmpdir */ |
725 | #endif /* _UNICOS */ | 548 | #endif /* _UNICOS */ |
726 | do_login(s, command); | 549 | #ifndef HAVE_OSF_SIA |
727 | } | 550 | do_login(s, command); |
728 | # ifdef LOGIN_NEEDS_UTMPX | ||
729 | else | ||
730 | do_pre_login(s); | ||
731 | # endif | ||
732 | #endif | 551 | #endif |
733 | /* | 552 | /* |
734 | * Do common processing for the child, such as execing | 553 | * Do common processing for the child, such as execing |
@@ -756,12 +575,7 @@ do_exec_pty(Session *s, const char *command) | |||
756 | s->ptymaster = ptymaster; | 575 | s->ptymaster = ptymaster; |
757 | packet_set_interactive(1, | 576 | packet_set_interactive(1, |
758 | options.ip_qos_interactive, options.ip_qos_bulk); | 577 | options.ip_qos_interactive, options.ip_qos_bulk); |
759 | if (compat20) { | 578 | session_set_fds(s, ptyfd, fdout, -1, 1, 1); |
760 | session_set_fds(s, ptyfd, fdout, -1, 1, 1); | ||
761 | } else { | ||
762 | server_loop(pid, ptyfd, fdout, -1); | ||
763 | /* server_loop _has_ closed ptyfd and fdout. */ | ||
764 | } | ||
765 | return 0; | 579 | return 0; |
766 | } | 580 | } |
767 | 581 | ||
@@ -1199,69 +1013,63 @@ do_setup_env(Session *s, const char *shell) | |||
1199 | ssh_gssapi_do_child(&env, &envsize); | 1013 | ssh_gssapi_do_child(&env, &envsize); |
1200 | #endif | 1014 | #endif |
1201 | 1015 | ||
1202 | if (!options.use_login) { | 1016 | /* Set basic environment. */ |
1203 | /* Set basic environment. */ | 1017 | for (i = 0; i < s->num_env; i++) |
1204 | for (i = 0; i < s->num_env; i++) | 1018 | child_set_env(&env, &envsize, s->env[i].name, s->env[i].val); |
1205 | child_set_env(&env, &envsize, s->env[i].name, | ||
1206 | s->env[i].val); | ||
1207 | 1019 | ||
1208 | child_set_env(&env, &envsize, "USER", pw->pw_name); | 1020 | child_set_env(&env, &envsize, "USER", pw->pw_name); |
1209 | child_set_env(&env, &envsize, "LOGNAME", pw->pw_name); | 1021 | child_set_env(&env, &envsize, "LOGNAME", pw->pw_name); |
1210 | #ifdef _AIX | 1022 | #ifdef _AIX |
1211 | child_set_env(&env, &envsize, "LOGIN", pw->pw_name); | 1023 | child_set_env(&env, &envsize, "LOGIN", pw->pw_name); |
1212 | #endif | 1024 | #endif |
1213 | child_set_env(&env, &envsize, "HOME", pw->pw_dir); | 1025 | child_set_env(&env, &envsize, "HOME", pw->pw_dir); |
1214 | #ifdef HAVE_LOGIN_CAP | 1026 | #ifdef HAVE_LOGIN_CAP |
1215 | if (setusercontext(lc, pw, pw->pw_uid, LOGIN_SETPATH) < 0) | 1027 | if (setusercontext(lc, pw, pw->pw_uid, LOGIN_SETPATH) < 0) |
1216 | child_set_env(&env, &envsize, "PATH", _PATH_STDPATH); | 1028 | child_set_env(&env, &envsize, "PATH", _PATH_STDPATH); |
1217 | else | 1029 | else |
1218 | child_set_env(&env, &envsize, "PATH", getenv("PATH")); | 1030 | child_set_env(&env, &envsize, "PATH", getenv("PATH")); |
1219 | #else /* HAVE_LOGIN_CAP */ | 1031 | #else /* HAVE_LOGIN_CAP */ |
1220 | # ifndef HAVE_CYGWIN | 1032 | # ifndef HAVE_CYGWIN |
1221 | /* | 1033 | /* |
1222 | * There's no standard path on Windows. The path contains | 1034 | * There's no standard path on Windows. The path contains |
1223 | * important components pointing to the system directories, | 1035 | * important components pointing to the system directories, |
1224 | * needed for loading shared libraries. So the path better | 1036 | * needed for loading shared libraries. So the path better |
1225 | * remains intact here. | 1037 | * remains intact here. |
1226 | */ | 1038 | */ |
1227 | # ifdef HAVE_ETC_DEFAULT_LOGIN | 1039 | # ifdef HAVE_ETC_DEFAULT_LOGIN |
1228 | read_etc_default_login(&env, &envsize, pw->pw_uid); | 1040 | read_etc_default_login(&env, &envsize, pw->pw_uid); |
1229 | path = child_get_env(env, "PATH"); | 1041 | path = child_get_env(env, "PATH"); |
1230 | # endif /* HAVE_ETC_DEFAULT_LOGIN */ | 1042 | # endif /* HAVE_ETC_DEFAULT_LOGIN */ |
1231 | if (path == NULL || *path == '\0') { | 1043 | if (path == NULL || *path == '\0') { |
1232 | child_set_env(&env, &envsize, "PATH", | 1044 | child_set_env(&env, &envsize, "PATH", |
1233 | s->pw->pw_uid == 0 ? | 1045 | s->pw->pw_uid == 0 ? SUPERUSER_PATH : _PATH_STDPATH); |
1234 | SUPERUSER_PATH : _PATH_STDPATH); | 1046 | } |
1235 | } | ||
1236 | # endif /* HAVE_CYGWIN */ | 1047 | # endif /* HAVE_CYGWIN */ |
1237 | #endif /* HAVE_LOGIN_CAP */ | 1048 | #endif /* HAVE_LOGIN_CAP */ |
1238 | 1049 | ||
1239 | snprintf(buf, sizeof buf, "%.200s/%.50s", | 1050 | snprintf(buf, sizeof buf, "%.200s/%.50s", _PATH_MAILDIR, pw->pw_name); |
1240 | _PATH_MAILDIR, pw->pw_name); | 1051 | child_set_env(&env, &envsize, "MAIL", buf); |
1241 | child_set_env(&env, &envsize, "MAIL", buf); | 1052 | |
1053 | /* Normal systems set SHELL by default. */ | ||
1054 | child_set_env(&env, &envsize, "SHELL", shell); | ||
1242 | 1055 | ||
1243 | /* Normal systems set SHELL by default. */ | ||
1244 | child_set_env(&env, &envsize, "SHELL", shell); | ||
1245 | } | ||
1246 | if (getenv("TZ")) | 1056 | if (getenv("TZ")) |
1247 | child_set_env(&env, &envsize, "TZ", getenv("TZ")); | 1057 | child_set_env(&env, &envsize, "TZ", getenv("TZ")); |
1248 | 1058 | ||
1249 | /* Set custom environment options from RSA authentication. */ | 1059 | /* Set custom environment options from RSA authentication. */ |
1250 | if (!options.use_login) { | 1060 | while (custom_environment) { |
1251 | while (custom_environment) { | 1061 | struct envstring *ce = custom_environment; |
1252 | struct envstring *ce = custom_environment; | 1062 | char *str = ce->s; |
1253 | char *str = ce->s; | 1063 | |
1254 | 1064 | for (i = 0; str[i] != '=' && str[i]; i++) | |
1255 | for (i = 0; str[i] != '=' && str[i]; i++) | 1065 | ; |
1256 | ; | 1066 | if (str[i] == '=') { |
1257 | if (str[i] == '=') { | 1067 | str[i] = 0; |
1258 | str[i] = 0; | 1068 | child_set_env(&env, &envsize, str, str + i + 1); |
1259 | child_set_env(&env, &envsize, str, str + i + 1); | ||
1260 | } | ||
1261 | custom_environment = ce->next; | ||
1262 | free(ce->s); | ||
1263 | free(ce); | ||
1264 | } | 1069 | } |
1070 | custom_environment = ce->next; | ||
1071 | free(ce->s); | ||
1072 | free(ce); | ||
1265 | } | 1073 | } |
1266 | 1074 | ||
1267 | /* SSH_CLIENT deprecated */ | 1075 | /* SSH_CLIENT deprecated */ |
@@ -1323,7 +1131,7 @@ do_setup_env(Session *s, const char *shell) | |||
1323 | * Pull in any environment variables that may have | 1131 | * Pull in any environment variables that may have |
1324 | * been set by PAM. | 1132 | * been set by PAM. |
1325 | */ | 1133 | */ |
1326 | if (options.use_pam && !options.use_login) { | 1134 | if (options.use_pam) { |
1327 | char **p; | 1135 | char **p; |
1328 | 1136 | ||
1329 | p = fetch_pam_child_environment(); | 1137 | p = fetch_pam_child_environment(); |
@@ -1341,7 +1149,7 @@ do_setup_env(Session *s, const char *shell) | |||
1341 | auth_sock_name); | 1149 | auth_sock_name); |
1342 | 1150 | ||
1343 | /* read $HOME/.ssh/environment. */ | 1151 | /* read $HOME/.ssh/environment. */ |
1344 | if (options.permit_user_env && !options.use_login) { | 1152 | if (options.permit_user_env) { |
1345 | snprintf(buf, sizeof buf, "%.200s/.ssh/environment", | 1153 | snprintf(buf, sizeof buf, "%.200s/.ssh/environment", |
1346 | strcmp(pw->pw_dir, "/") ? pw->pw_dir : ""); | 1154 | strcmp(pw->pw_dir, "/") ? pw->pw_dir : ""); |
1347 | read_environment_file(&env, &envsize, buf); | 1155 | read_environment_file(&env, &envsize, buf); |
@@ -1623,27 +1431,6 @@ do_pwchange(Session *s) | |||
1623 | } | 1431 | } |
1624 | 1432 | ||
1625 | static void | 1433 | static void |
1626 | launch_login(struct passwd *pw, const char *hostname) | ||
1627 | { | ||
1628 | /* Launch login(1). */ | ||
1629 | |||
1630 | execl(LOGIN_PROGRAM, "login", "-h", hostname, | ||
1631 | #ifdef xxxLOGIN_NEEDS_TERM | ||
1632 | (s->term ? s->term : "unknown"), | ||
1633 | #endif /* LOGIN_NEEDS_TERM */ | ||
1634 | #ifdef LOGIN_NO_ENDOPT | ||
1635 | "-p", "-f", pw->pw_name, (char *)NULL); | ||
1636 | #else | ||
1637 | "-p", "-f", "--", pw->pw_name, (char *)NULL); | ||
1638 | #endif | ||
1639 | |||
1640 | /* Login couldn't be executed, die. */ | ||
1641 | |||
1642 | perror("login"); | ||
1643 | exit(1); | ||
1644 | } | ||
1645 | |||
1646 | static void | ||
1647 | child_close_fds(void) | 1434 | child_close_fds(void) |
1648 | { | 1435 | { |
1649 | extern int auth_sock; | 1436 | extern int auth_sock; |
@@ -1690,11 +1477,10 @@ child_close_fds(void) | |||
1690 | void | 1477 | void |
1691 | do_child(Session *s, const char *command) | 1478 | do_child(Session *s, const char *command) |
1692 | { | 1479 | { |
1693 | struct ssh *ssh = active_state; /* XXX */ | ||
1694 | extern char **environ; | 1480 | extern char **environ; |
1695 | char **env; | 1481 | char **env; |
1696 | char *argv[ARGV_MAX]; | 1482 | char *argv[ARGV_MAX]; |
1697 | const char *shell, *shell0, *hostname = NULL; | 1483 | const char *shell, *shell0; |
1698 | struct passwd *pw = s->pw; | 1484 | struct passwd *pw = s->pw; |
1699 | int r = 0; | 1485 | int r = 0; |
1700 | 1486 | ||
@@ -1709,10 +1495,6 @@ do_child(Session *s, const char *command) | |||
1709 | exit(1); | 1495 | exit(1); |
1710 | } | 1496 | } |
1711 | 1497 | ||
1712 | /* login(1) is only called if we execute the login shell */ | ||
1713 | if (options.use_login && command != NULL) | ||
1714 | options.use_login = 0; | ||
1715 | |||
1716 | #ifdef _UNICOS | 1498 | #ifdef _UNICOS |
1717 | cray_setup(pw->pw_uid, pw->pw_name, command); | 1499 | cray_setup(pw->pw_uid, pw->pw_name, command); |
1718 | #endif /* _UNICOS */ | 1500 | #endif /* _UNICOS */ |
@@ -1721,28 +1503,26 @@ do_child(Session *s, const char *command) | |||
1721 | * Login(1) does this as well, and it needs uid 0 for the "-h" | 1503 | * Login(1) does this as well, and it needs uid 0 for the "-h" |
1722 | * switch, so we let login(1) to this for us. | 1504 | * switch, so we let login(1) to this for us. |
1723 | */ | 1505 | */ |
1724 | if (!options.use_login) { | ||
1725 | #ifdef HAVE_OSF_SIA | 1506 | #ifdef HAVE_OSF_SIA |
1726 | session_setup_sia(pw, s->ttyfd == -1 ? NULL : s->tty); | 1507 | session_setup_sia(pw, s->ttyfd == -1 ? NULL : s->tty); |
1727 | if (!check_quietlogin(s, command)) | 1508 | if (!check_quietlogin(s, command)) |
1728 | do_motd(); | 1509 | do_motd(); |
1729 | #else /* HAVE_OSF_SIA */ | 1510 | #else /* HAVE_OSF_SIA */ |
1730 | /* When PAM is enabled we rely on it to do the nologin check */ | 1511 | /* When PAM is enabled we rely on it to do the nologin check */ |
1731 | if (!options.use_pam) | 1512 | if (!options.use_pam) |
1732 | do_nologin(pw); | 1513 | do_nologin(pw); |
1733 | do_setusercontext(pw); | 1514 | do_setusercontext(pw); |
1734 | /* | 1515 | /* |
1735 | * PAM session modules in do_setusercontext may have | 1516 | * PAM session modules in do_setusercontext may have |
1736 | * generated messages, so if this in an interactive | 1517 | * generated messages, so if this in an interactive |
1737 | * login then display them too. | 1518 | * login then display them too. |
1738 | */ | 1519 | */ |
1739 | if (!check_quietlogin(s, command)) | 1520 | if (!check_quietlogin(s, command)) |
1740 | display_loginmsg(); | 1521 | display_loginmsg(); |
1741 | #endif /* HAVE_OSF_SIA */ | 1522 | #endif /* HAVE_OSF_SIA */ |
1742 | } | ||
1743 | 1523 | ||
1744 | #ifdef USE_PAM | 1524 | #ifdef USE_PAM |
1745 | if (options.use_pam && !options.use_login && !is_pam_session_open()) { | 1525 | if (options.use_pam && !is_pam_session_open()) { |
1746 | debug3("PAM session not opened, exiting"); | 1526 | debug3("PAM session not opened, exiting"); |
1747 | display_loginmsg(); | 1527 | display_loginmsg(); |
1748 | exit(254); | 1528 | exit(254); |
@@ -1765,10 +1545,6 @@ do_child(Session *s, const char *command) | |||
1765 | shell = login_getcapstr(lc, "shell", (char *)shell, (char *)shell); | 1545 | shell = login_getcapstr(lc, "shell", (char *)shell, (char *)shell); |
1766 | #endif | 1546 | #endif |
1767 | 1547 | ||
1768 | /* we have to stash the hostname before we close our socket. */ | ||
1769 | if (options.use_login) | ||
1770 | hostname = session_get_remote_name_or_ip(ssh, utmp_len, | ||
1771 | options.use_dns); | ||
1772 | /* | 1548 | /* |
1773 | * Close the connection descriptors; note that this is the child, and | 1549 | * Close the connection descriptors; note that this is the child, and |
1774 | * the server will still have the socket open, and it is important | 1550 | * the server will still have the socket open, and it is important |
@@ -1827,8 +1603,7 @@ do_child(Session *s, const char *command) | |||
1827 | 1603 | ||
1828 | closefrom(STDERR_FILENO + 1); | 1604 | closefrom(STDERR_FILENO + 1); |
1829 | 1605 | ||
1830 | if (!options.use_login) | 1606 | do_rc_files(s, shell); |
1831 | do_rc_files(s, shell); | ||
1832 | 1607 | ||
1833 | /* restore SIGPIPE for child */ | 1608 | /* restore SIGPIPE for child */ |
1834 | signal(SIGPIPE, SIG_DFL); | 1609 | signal(SIGPIPE, SIG_DFL); |
@@ -1858,11 +1633,6 @@ do_child(Session *s, const char *command) | |||
1858 | 1633 | ||
1859 | fflush(NULL); | 1634 | fflush(NULL); |
1860 | 1635 | ||
1861 | if (options.use_login) { | ||
1862 | launch_login(pw, hostname); | ||
1863 | /* NEVERREACHED */ | ||
1864 | } | ||
1865 | |||
1866 | /* Get the last component of the shell name. */ | 1636 | /* Get the last component of the shell name. */ |
1867 | if ((shell0 = strrchr(shell, '/')) != NULL) | 1637 | if ((shell0 = strrchr(shell, '/')) != NULL) |
1868 | shell0++; | 1638 | shell0++; |
@@ -2106,14 +1876,8 @@ session_pty_req(Session *s) | |||
2106 | } | 1876 | } |
2107 | 1877 | ||
2108 | s->term = packet_get_string(&len); | 1878 | s->term = packet_get_string(&len); |
2109 | 1879 | s->col = packet_get_int(); | |
2110 | if (compat20) { | 1880 | s->row = packet_get_int(); |
2111 | s->col = packet_get_int(); | ||
2112 | s->row = packet_get_int(); | ||
2113 | } else { | ||
2114 | s->row = packet_get_int(); | ||
2115 | s->col = packet_get_int(); | ||
2116 | } | ||
2117 | s->xpixel = packet_get_int(); | 1881 | s->xpixel = packet_get_int(); |
2118 | s->ypixel = packet_get_int(); | 1882 | s->ypixel = packet_get_int(); |
2119 | 1883 | ||
@@ -2135,9 +1899,7 @@ session_pty_req(Session *s) | |||
2135 | } | 1899 | } |
2136 | debug("session_pty_req: session %d alloc %s", s->self, s->tty); | 1900 | debug("session_pty_req: session %d alloc %s", s->self, s->tty); |
2137 | 1901 | ||
2138 | /* for SSH1 the tty modes length is not given */ | 1902 | n_bytes = packet_remaining(); |
2139 | if (!compat20) | ||
2140 | n_bytes = packet_remaining(); | ||
2141 | tty_parse_modes(s->ttyfd, &n_bytes); | 1903 | tty_parse_modes(s->ttyfd, &n_bytes); |
2142 | 1904 | ||
2143 | if (!use_privsep) | 1905 | if (!use_privsep) |
@@ -2353,8 +2115,6 @@ void | |||
2353 | session_set_fds(Session *s, int fdin, int fdout, int fderr, int ignore_fderr, | 2115 | session_set_fds(Session *s, int fdin, int fdout, int fderr, int ignore_fderr, |
2354 | int is_tty) | 2116 | int is_tty) |
2355 | { | 2117 | { |
2356 | if (!compat20) | ||
2357 | fatal("session_set_fds: called for proto != 2.0"); | ||
2358 | /* | 2118 | /* |
2359 | * now that have a child and a pipe to the child, | 2119 | * now that have a child and a pipe to the child, |
2360 | * we can activate our channel and register the fd's | 2120 | * we can activate our channel and register the fd's |
@@ -2692,11 +2452,6 @@ session_setup_x11fwd(Session *s) | |||
2692 | packet_send_debug("No xauth program; cannot forward with spoofing."); | 2452 | packet_send_debug("No xauth program; cannot forward with spoofing."); |
2693 | return 0; | 2453 | return 0; |
2694 | } | 2454 | } |
2695 | if (options.use_login) { | ||
2696 | packet_send_debug("X11 forwarding disabled; " | ||
2697 | "not compatible with UseLogin=yes."); | ||
2698 | return 0; | ||
2699 | } | ||
2700 | if (s->display != NULL) { | 2455 | if (s->display != NULL) { |
2701 | debug("X11 display already set."); | 2456 | debug("X11 display already set."); |
2702 | return 0; | 2457 | return 0; |
@@ -2794,7 +2549,7 @@ do_cleanup(Authctxt *authctxt) | |||
2794 | #endif | 2549 | #endif |
2795 | 2550 | ||
2796 | #ifdef GSSAPI | 2551 | #ifdef GSSAPI |
2797 | if (compat20 && options.gss_cleanup_creds) | 2552 | if (options.gss_cleanup_creds) |
2798 | ssh_gssapi_cleanup_creds(); | 2553 | ssh_gssapi_cleanup_creds(); |
2799 | #endif | 2554 | #endif |
2800 | 2555 | ||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: session.h,v 1.32 2016/03/07 19:02:43 djm Exp $ */ | 1 | /* $OpenBSD: session.h,v 1.33 2016/08/13 17:47:41 markus Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. | 4 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. |
@@ -51,7 +51,6 @@ struct Session { | |||
51 | char *auth_data; | 51 | char *auth_data; |
52 | int single_connection; | 52 | int single_connection; |
53 | 53 | ||
54 | /* proto 2 */ | ||
55 | int chanid; | 54 | int chanid; |
56 | int *x11_chanids; | 55 | int *x11_chanids; |
57 | int is_subsystem; | 56 | int is_subsystem; |
diff --git a/sftp-client.c b/sftp-client.c index 0ca44a4d6..e65c15c8f 100644 --- a/sftp-client.c +++ b/sftp-client.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sftp-client.c,v 1.124 2016/05/25 23:48:45 schwarze Exp $ */ | 1 | /* $OpenBSD: sftp-client.c,v 1.125 2016/09/12 01:22:38 deraadt Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> | 3 | * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> |
4 | * | 4 | * |
@@ -22,7 +22,6 @@ | |||
22 | 22 | ||
23 | #include "includes.h" | 23 | #include "includes.h" |
24 | 24 | ||
25 | #include <sys/param.h> /* MIN MAX */ | ||
26 | #include <sys/types.h> | 25 | #include <sys/types.h> |
27 | #ifdef HAVE_SYS_STATVFS_H | 26 | #ifdef HAVE_SYS_STATVFS_H |
28 | #include <sys/statvfs.h> | 27 | #include <sys/statvfs.h> |
@@ -462,7 +461,7 @@ do_init(int fd_in, int fd_out, u_int transfer_buflen, u_int num_requests, | |||
462 | 461 | ||
463 | /* Some filexfer v.0 servers don't support large packets */ | 462 | /* Some filexfer v.0 servers don't support large packets */ |
464 | if (ret->version == 0) | 463 | if (ret->version == 0) |
465 | ret->transfer_buflen = MIN(ret->transfer_buflen, 20480); | 464 | ret->transfer_buflen = MINIMUM(ret->transfer_buflen, 20480); |
466 | 465 | ||
467 | ret->limit_kbps = limit_kbps; | 466 | ret->limit_kbps = limit_kbps; |
468 | if (ret->limit_kbps > 0) { | 467 | if (ret->limit_kbps > 0) { |
@@ -1351,7 +1350,7 @@ do_download(struct sftp_conn *conn, const char *remote_path, | |||
1351 | req->offset, req->len, handle, handle_len); | 1350 | req->offset, req->len, handle, handle_len); |
1352 | /* Reduce the request size */ | 1351 | /* Reduce the request size */ |
1353 | if (len < buflen) | 1352 | if (len < buflen) |
1354 | buflen = MAX(MIN_READ_SIZE, len); | 1353 | buflen = MAXIMUM(MIN_READ_SIZE, len); |
1355 | } | 1354 | } |
1356 | if (max_req > 0) { /* max_req = 0 iff EOF received */ | 1355 | if (max_req > 0) { /* max_req = 0 iff EOF received */ |
1357 | if (size > 0 && offset > size) { | 1356 | if (size > 0 && offset > size) { |
diff --git a/sftp-common.c b/sftp-common.c index 9dc1f9831..3a70c52dd 100644 --- a/sftp-common.c +++ b/sftp-common.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sftp-common.c,v 1.28 2015/01/20 23:14:00 deraadt Exp $ */ | 1 | /* $OpenBSD: sftp-common.c,v 1.29 2016/09/12 01:22:38 deraadt Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2001 Markus Friedl. All rights reserved. |
4 | * Copyright (c) 2001 Damien Miller. All rights reserved. | 4 | * Copyright (c) 2001 Damien Miller. All rights reserved. |
@@ -26,7 +26,6 @@ | |||
26 | 26 | ||
27 | #include "includes.h" | 27 | #include "includes.h" |
28 | 28 | ||
29 | #include <sys/param.h> /* MAX */ | ||
30 | #include <sys/types.h> | 29 | #include <sys/types.h> |
31 | #include <sys/stat.h> | 30 | #include <sys/stat.h> |
32 | 31 | ||
@@ -45,6 +44,7 @@ | |||
45 | #include "ssherr.h" | 44 | #include "ssherr.h" |
46 | #include "sshbuf.h" | 45 | #include "sshbuf.h" |
47 | #include "log.h" | 46 | #include "log.h" |
47 | #include "misc.h" | ||
48 | 48 | ||
49 | #include "sftp.h" | 49 | #include "sftp.h" |
50 | #include "sftp-common.h" | 50 | #include "sftp-common.h" |
@@ -243,8 +243,8 @@ ls_file(const char *name, const struct stat *st, int remote, int si_units) | |||
243 | } | 243 | } |
244 | if (sz == 0) | 244 | if (sz == 0) |
245 | tbuf[0] = '\0'; | 245 | tbuf[0] = '\0'; |
246 | ulen = MAX(strlen(user), 8); | 246 | ulen = MAXIMUM(strlen(user), 8); |
247 | glen = MAX(strlen(group), 8); | 247 | glen = MAXIMUM(strlen(group), 8); |
248 | if (si_units) { | 248 | if (si_units) { |
249 | fmt_scaled((long long)st->st_size, sbuf); | 249 | fmt_scaled((long long)st->st_size, sbuf); |
250 | snprintf(buf, sizeof buf, "%s %3u %-*s %-*s %8s %s %s", mode, | 250 | snprintf(buf, sizeof buf, "%s %3u %-*s %-*s %8s %s %s", mode, |
diff --git a/sftp-server.c b/sftp-server.c index 646286a3c..3619cdfc0 100644 --- a/sftp-server.c +++ b/sftp-server.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sftp-server.c,v 1.109 2016/02/15 09:47:49 dtucker Exp $ */ | 1 | /* $OpenBSD: sftp-server.c,v 1.110 2016/09/12 01:22:38 deraadt Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000-2004 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000-2004 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -17,7 +17,6 @@ | |||
17 | 17 | ||
18 | #include "includes.h" | 18 | #include "includes.h" |
19 | 19 | ||
20 | #include <sys/param.h> /* MIN */ | ||
21 | #include <sys/types.h> | 20 | #include <sys/types.h> |
22 | #include <sys/stat.h> | 21 | #include <sys/stat.h> |
23 | #ifdef HAVE_SYS_TIME_H | 22 | #ifdef HAVE_SYS_TIME_H |
@@ -505,7 +504,7 @@ status_to_message(u_int32_t status) | |||
505 | "Operation unsupported", /* SSH_FX_OP_UNSUPPORTED */ | 504 | "Operation unsupported", /* SSH_FX_OP_UNSUPPORTED */ |
506 | "Unknown error" /* Others */ | 505 | "Unknown error" /* Others */ |
507 | }; | 506 | }; |
508 | return (status_messages[MIN(status,SSH2_FX_MAX)]); | 507 | return (status_messages[MINIMUM(status,SSH2_FX_MAX)]); |
509 | } | 508 | } |
510 | 509 | ||
511 | static void | 510 | static void |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sftp.c,v 1.175 2016/07/22 03:47:36 djm Exp $ */ | 1 | /* $OpenBSD: sftp.c,v 1.177 2016/10/18 12:41:22 millert Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> | 3 | * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> |
4 | * | 4 | * |
@@ -17,7 +17,6 @@ | |||
17 | 17 | ||
18 | #include "includes.h" | 18 | #include "includes.h" |
19 | 19 | ||
20 | #include <sys/param.h> /* MIN MAX */ | ||
21 | #include <sys/types.h> | 20 | #include <sys/types.h> |
22 | #include <sys/ioctl.h> | 21 | #include <sys/ioctl.h> |
23 | #ifdef HAVE_SYS_STAT_H | 22 | #ifdef HAVE_SYS_STAT_H |
@@ -233,6 +232,18 @@ killchild(int signo) | |||
233 | 232 | ||
234 | /* ARGSUSED */ | 233 | /* ARGSUSED */ |
235 | static void | 234 | static void |
235 | suspchild(int signo) | ||
236 | { | ||
237 | if (sshpid > 1) { | ||
238 | kill(sshpid, signo); | ||
239 | while (waitpid(sshpid, NULL, WUNTRACED) == -1 && errno == EINTR) | ||
240 | continue; | ||
241 | } | ||
242 | kill(getpid(), SIGSTOP); | ||
243 | } | ||
244 | |||
245 | /* ARGSUSED */ | ||
246 | static void | ||
236 | cmd_interrupt(int signo) | 247 | cmd_interrupt(int signo) |
237 | { | 248 | { |
238 | const char msg[] = "\rInterrupt \n"; | 249 | const char msg[] = "\rInterrupt \n"; |
@@ -802,7 +813,7 @@ do_ls_dir(struct sftp_conn *conn, const char *path, | |||
802 | /* Count entries for sort and find longest filename */ | 813 | /* Count entries for sort and find longest filename */ |
803 | for (n = 0; d[n] != NULL; n++) { | 814 | for (n = 0; d[n] != NULL; n++) { |
804 | if (d[n]->filename[0] != '.' || (lflag & LS_SHOW_ALL)) | 815 | if (d[n]->filename[0] != '.' || (lflag & LS_SHOW_ALL)) |
805 | m = MAX(m, strlen(d[n]->filename)); | 816 | m = MAXIMUM(m, strlen(d[n]->filename)); |
806 | } | 817 | } |
807 | 818 | ||
808 | /* Add any subpath that also needs to be counted */ | 819 | /* Add any subpath that also needs to be counted */ |
@@ -814,9 +825,9 @@ do_ls_dir(struct sftp_conn *conn, const char *path, | |||
814 | width = ws.ws_col; | 825 | width = ws.ws_col; |
815 | 826 | ||
816 | columns = width / (m + 2); | 827 | columns = width / (m + 2); |
817 | columns = MAX(columns, 1); | 828 | columns = MAXIMUM(columns, 1); |
818 | colspace = width / columns; | 829 | colspace = width / columns; |
819 | colspace = MIN(colspace, width); | 830 | colspace = MINIMUM(colspace, width); |
820 | } | 831 | } |
821 | 832 | ||
822 | if (lflag & SORT_FLAGS) { | 833 | if (lflag & SORT_FLAGS) { |
@@ -915,10 +926,10 @@ do_globbed_ls(struct sftp_conn *conn, const char *path, | |||
915 | if (!(lflag & LS_SHORT_VIEW)) { | 926 | if (!(lflag & LS_SHORT_VIEW)) { |
916 | /* Count entries for sort and find longest filename */ | 927 | /* Count entries for sort and find longest filename */ |
917 | for (i = 0; g.gl_pathv[i]; i++) | 928 | for (i = 0; g.gl_pathv[i]; i++) |
918 | m = MAX(m, strlen(g.gl_pathv[i])); | 929 | m = MAXIMUM(m, strlen(g.gl_pathv[i])); |
919 | 930 | ||
920 | columns = width / (m + 2); | 931 | columns = width / (m + 2); |
921 | columns = MAX(columns, 1); | 932 | columns = MAXIMUM(columns, 1); |
922 | colspace = width / columns; | 933 | colspace = width / columns; |
923 | } | 934 | } |
924 | 935 | ||
@@ -1669,16 +1680,16 @@ complete_display(char **list, u_int len) | |||
1669 | 1680 | ||
1670 | /* Count entries for sort and find longest */ | 1681 | /* Count entries for sort and find longest */ |
1671 | for (y = 0; list[y]; y++) | 1682 | for (y = 0; list[y]; y++) |
1672 | m = MAX(m, strlen(list[y])); | 1683 | m = MAXIMUM(m, strlen(list[y])); |
1673 | 1684 | ||
1674 | if (ioctl(fileno(stdin), TIOCGWINSZ, &ws) != -1) | 1685 | if (ioctl(fileno(stdin), TIOCGWINSZ, &ws) != -1) |
1675 | width = ws.ws_col; | 1686 | width = ws.ws_col; |
1676 | 1687 | ||
1677 | m = m > len ? m - len : 0; | 1688 | m = m > len ? m - len : 0; |
1678 | columns = width / (m + 2); | 1689 | columns = width / (m + 2); |
1679 | columns = MAX(columns, 1); | 1690 | columns = MAXIMUM(columns, 1); |
1680 | colspace = width / columns; | 1691 | colspace = width / columns; |
1681 | colspace = MIN(colspace, width); | 1692 | colspace = MINIMUM(colspace, width); |
1682 | 1693 | ||
1683 | printf("\n"); | 1694 | printf("\n"); |
1684 | m = 1; | 1695 | m = 1; |
@@ -2214,6 +2225,9 @@ connect_to_server(char *path, char **args, int *in, int *out) | |||
2214 | signal(SIGTERM, killchild); | 2225 | signal(SIGTERM, killchild); |
2215 | signal(SIGINT, killchild); | 2226 | signal(SIGINT, killchild); |
2216 | signal(SIGHUP, killchild); | 2227 | signal(SIGHUP, killchild); |
2228 | signal(SIGTSTP, suspchild); | ||
2229 | signal(SIGTTIN, suspchild); | ||
2230 | signal(SIGTTOU, suspchild); | ||
2217 | close(c_in); | 2231 | close(c_in); |
2218 | close(c_out); | 2232 | close(c_out); |
2219 | } | 2233 | } |
@@ -2258,7 +2272,7 @@ main(int argc, char **argv) | |||
2258 | ssh_malloc_init(); /* must be called before any mallocs */ | 2272 | ssh_malloc_init(); /* must be called before any mallocs */ |
2259 | /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ | 2273 | /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ |
2260 | sanitise_stdfd(); | 2274 | sanitise_stdfd(); |
2261 | setlocale(LC_CTYPE, ""); | 2275 | msetlocale(); |
2262 | 2276 | ||
2263 | __progname = ssh_get_progname(argv[0]); | 2277 | __progname = ssh_get_progname(argv[0]); |
2264 | memset(&args, '\0', sizeof(args)); | 2278 | memset(&args, '\0', sizeof(args)); |
diff --git a/ssh-agent.0 b/ssh-agent.0 index b6abf9b4e..bb3c8d605 100644 --- a/ssh-agent.0 +++ b/ssh-agent.0 | |||
@@ -5,7 +5,7 @@ NAME | |||
5 | 5 | ||
6 | SYNOPSIS | 6 | SYNOPSIS |
7 | ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash] | 7 | ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash] |
8 | [-t life] [command [arg ...]] | 8 | [-P pkcs11_whitelist] [-t life] [command [arg ...]] |
9 | ssh-agent [-c | -s] -k | 9 | ssh-agent [-c | -s] -k |
10 | 10 | ||
11 | DESCRIPTION | 11 | DESCRIPTION |
@@ -46,6 +46,14 @@ DESCRIPTION | |||
46 | -k Kill the current agent (given by the SSH_AGENT_PID environment | 46 | -k Kill the current agent (given by the SSH_AGENT_PID environment |
47 | variable). | 47 | variable). |
48 | 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 | |||
49 | -s Generate Bourne shell commands on stdout. This is the default if | 57 | -s Generate Bourne shell commands on stdout. This is the default if |
50 | SHELL does not look like it's a csh style of shell. | 58 | SHELL does not look like it's a csh style of shell. |
51 | 59 | ||
@@ -109,4 +117,4 @@ AUTHORS | |||
109 | created OpenSSH. Markus Friedl contributed the support for SSH protocol | 117 | created OpenSSH. Markus Friedl contributed the support for SSH protocol |
110 | versions 1.5 and 2.0. | 118 | versions 1.5 and 2.0. |
111 | 119 | ||
112 | OpenBSD 6.0 November 15, 2015 OpenBSD 6.0 | 120 | OpenBSD 6.0 November 30, 2016 OpenBSD 6.0 |
diff --git a/ssh-agent.1 b/ssh-agent.1 index c4b50bbdf..83b2b41c8 100644 --- a/ssh-agent.1 +++ b/ssh-agent.1 | |||
@@ -1,4 +1,4 @@ | |||
1 | .\" $OpenBSD: ssh-agent.1,v 1.62 2015/11/15 23:54:15 jmc Exp $ | 1 | .\" $OpenBSD: ssh-agent.1,v 1.64 2016/11/30 06:54:26 jmc Exp $ |
2 | .\" | 2 | .\" |
3 | .\" Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | .\" Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | .\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | .\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -34,7 +34,7 @@ | |||
34 | .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 34 | .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
35 | .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 35 | .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
36 | .\" | 36 | .\" |
37 | .Dd $Mdocdate: November 15 2015 $ | 37 | .Dd $Mdocdate: November 30 2016 $ |
38 | .Dt SSH-AGENT 1 | 38 | .Dt SSH-AGENT 1 |
39 | .Os | 39 | .Os |
40 | .Sh NAME | 40 | .Sh NAME |
@@ -46,6 +46,7 @@ | |||
46 | .Op Fl \&Dd | 46 | .Op Fl \&Dd |
47 | .Op Fl a Ar bind_address | 47 | .Op Fl a Ar bind_address |
48 | .Op Fl E Ar fingerprint_hash | 48 | .Op Fl E Ar fingerprint_hash |
49 | .Op Fl P Ar pkcs11_whitelist | ||
49 | .Op Fl t Ar life | 50 | .Op Fl t Ar life |
50 | .Op Ar command Op Ar arg ... | 51 | .Op Ar command Op Ar arg ... |
51 | .Nm ssh-agent | 52 | .Nm ssh-agent |
@@ -121,6 +122,18 @@ The default is | |||
121 | Kill the current agent (given by the | 122 | Kill the current agent (given by the |
122 | .Ev SSH_AGENT_PID | 123 | .Ev SSH_AGENT_PID |
123 | environment variable). | 124 | environment variable). |
125 | .It Fl P Ar pkcs11_whitelist | ||
126 | Specify a pattern-list of acceptable paths for PKCS#11 shared libraries | ||
127 | that may be added using the | ||
128 | .Fl s | ||
129 | option to | ||
130 | .Xr ssh-add 1 . | ||
131 | The default is to allow loading PKCS#11 libraries from | ||
132 | .Dq /usr/lib/*,/usr/local/lib/* . | ||
133 | PKCS#11 libraries that do not match the whitelist will be refused. | ||
134 | See PATTERNS in | ||
135 | .Xr ssh_config 5 | ||
136 | for a description of pattern-list syntax. | ||
124 | .It Fl s | 137 | .It Fl s |
125 | Generate Bourne shell commands on | 138 | Generate Bourne shell commands on |
126 | .Dv stdout . | 139 | .Dv stdout . |
@@ -195,7 +208,7 @@ The agent exits automatically when the command given on the command | |||
195 | line terminates. | 208 | line terminates. |
196 | .Sh FILES | 209 | .Sh FILES |
197 | .Bl -tag -width Ds | 210 | .Bl -tag -width Ds |
198 | .It Pa $TMPDIR/ssh-XXXXXXXXXX/agent.\*(Ltppid\*(Gt | 211 | .It Pa $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid> |
199 | .Ux Ns -domain | 212 | .Ux Ns -domain |
200 | sockets used to contain the connection to the authentication agent. | 213 | sockets used to contain the connection to the authentication agent. |
201 | These sockets should only be readable by the owner. | 214 | These sockets should only be readable by the owner. |
@@ -207,11 +220,12 @@ The sockets should get automatically removed when the agent exits. | |||
207 | .Xr ssh-keygen 1 , | 220 | .Xr ssh-keygen 1 , |
208 | .Xr sshd 8 | 221 | .Xr sshd 8 |
209 | .Sh AUTHORS | 222 | .Sh AUTHORS |
210 | OpenSSH is a derivative of the original and free | 223 | .An -nosplit |
211 | ssh 1.2.12 release by Tatu Ylonen. | 224 | OpenSSH is a derivative of the original and free ssh 1.2.12 release by |
212 | Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, | 225 | .An Tatu Ylonen . |
213 | Theo de Raadt and Dug Song | 226 | .An Aaron Campbell , Bob Beck , Markus Friedl , Niels Provos , Theo de Raadt |
214 | removed many bugs, re-added newer features and | 227 | and |
215 | created OpenSSH. | 228 | .An Dug Song |
216 | Markus Friedl contributed the support for SSH | 229 | removed many bugs, re-added newer features and created OpenSSH. |
217 | protocol versions 1.5 and 2.0. | 230 | .An Markus Friedl |
231 | contributed the support for SSH protocol versions 1.5 and 2.0. | ||
diff --git a/ssh-agent.c b/ssh-agent.c index 25d6ebc53..395213553 100644 --- a/ssh-agent.c +++ b/ssh-agent.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-agent.c,v 1.213 2016/05/02 08:49:03 djm Exp $ */ | 1 | /* $OpenBSD: ssh-agent.c,v 1.215 2016/11/30 03:07:37 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -36,7 +36,6 @@ | |||
36 | 36 | ||
37 | #include "includes.h" | 37 | #include "includes.h" |
38 | 38 | ||
39 | #include <sys/param.h> /* MIN MAX */ | ||
40 | #include <sys/types.h> | 39 | #include <sys/types.h> |
41 | #include <sys/param.h> | 40 | #include <sys/param.h> |
42 | #include <sys/resource.h> | 41 | #include <sys/resource.h> |
@@ -83,11 +82,16 @@ | |||
83 | #include "misc.h" | 82 | #include "misc.h" |
84 | #include "digest.h" | 83 | #include "digest.h" |
85 | #include "ssherr.h" | 84 | #include "ssherr.h" |
85 | #include "match.h" | ||
86 | 86 | ||
87 | #ifdef ENABLE_PKCS11 | 87 | #ifdef ENABLE_PKCS11 |
88 | #include "ssh-pkcs11.h" | 88 | #include "ssh-pkcs11.h" |
89 | #endif | 89 | #endif |
90 | 90 | ||
91 | #ifndef DEFAULT_PKCS11_WHITELIST | ||
92 | # define DEFAULT_PKCS11_WHITELIST "/usr/lib/*,/usr/local/lib/*" | ||
93 | #endif | ||
94 | |||
91 | typedef enum { | 95 | typedef enum { |
92 | AUTH_UNUSED, | 96 | AUTH_UNUSED, |
93 | AUTH_SOCKET, | 97 | AUTH_SOCKET, |
@@ -135,6 +139,9 @@ pid_t cleanup_pid = 0; | |||
135 | char socket_name[PATH_MAX]; | 139 | char socket_name[PATH_MAX]; |
136 | char socket_dir[PATH_MAX]; | 140 | char socket_dir[PATH_MAX]; |
137 | 141 | ||
142 | /* PKCS#11 path whitelist */ | ||
143 | static char *pkcs11_whitelist; | ||
144 | |||
138 | /* locking */ | 145 | /* locking */ |
139 | #define LOCK_SIZE 32 | 146 | #define LOCK_SIZE 32 |
140 | #define LOCK_SALT_SIZE 16 | 147 | #define LOCK_SALT_SIZE 16 |
@@ -539,7 +546,7 @@ reaper(void) | |||
539 | tab->nentries--; | 546 | tab->nentries--; |
540 | } else | 547 | } else |
541 | deadline = (deadline == 0) ? id->death : | 548 | deadline = (deadline == 0) ? id->death : |
542 | MIN(deadline, id->death); | 549 | MINIMUM(deadline, id->death); |
543 | } | 550 | } |
544 | } | 551 | } |
545 | if (deadline == 0 || deadline <= now) | 552 | if (deadline == 0 || deadline <= now) |
@@ -738,7 +745,7 @@ no_identities(SocketEntry *e, u_int type) | |||
738 | static void | 745 | static void |
739 | process_add_smartcard_key(SocketEntry *e) | 746 | process_add_smartcard_key(SocketEntry *e) |
740 | { | 747 | { |
741 | char *provider = NULL, *pin; | 748 | char *provider = NULL, *pin, canonical_provider[PATH_MAX]; |
742 | int r, i, version, count = 0, success = 0, confirm = 0; | 749 | int r, i, version, count = 0, success = 0, confirm = 0; |
743 | u_int seconds; | 750 | u_int seconds; |
744 | time_t death = 0; | 751 | time_t death = 0; |
@@ -770,10 +777,21 @@ process_add_smartcard_key(SocketEntry *e) | |||
770 | goto send; | 777 | goto send; |
771 | } | 778 | } |
772 | } | 779 | } |
780 | if (realpath(provider, canonical_provider) == NULL) { | ||
781 | verbose("failed PKCS#11 add of \"%.100s\": realpath: %s", | ||
782 | provider, strerror(errno)); | ||
783 | goto send; | ||
784 | } | ||
785 | if (match_pattern_list(canonical_provider, pkcs11_whitelist, 0) != 1) { | ||
786 | verbose("refusing PKCS#11 add of \"%.100s\": " | ||
787 | "provider not whitelisted", canonical_provider); | ||
788 | goto send; | ||
789 | } | ||
790 | debug("%s: add %.100s", __func__, canonical_provider); | ||
773 | if (lifetime && !death) | 791 | if (lifetime && !death) |
774 | death = monotime() + lifetime; | 792 | death = monotime() + lifetime; |
775 | 793 | ||
776 | count = pkcs11_add_provider(provider, pin, &keys); | 794 | count = pkcs11_add_provider(canonical_provider, pin, &keys); |
777 | for (i = 0; i < count; i++) { | 795 | for (i = 0; i < count; i++) { |
778 | k = keys[i]; | 796 | k = keys[i]; |
779 | version = k->type == KEY_RSA1 ? 1 : 2; | 797 | version = k->type == KEY_RSA1 ? 1 : 2; |
@@ -781,8 +799,8 @@ process_add_smartcard_key(SocketEntry *e) | |||
781 | if (lookup_identity(k, version) == NULL) { | 799 | if (lookup_identity(k, version) == NULL) { |
782 | id = xcalloc(1, sizeof(Identity)); | 800 | id = xcalloc(1, sizeof(Identity)); |
783 | id->key = k; | 801 | id->key = k; |
784 | id->provider = xstrdup(provider); | 802 | id->provider = xstrdup(canonical_provider); |
785 | id->comment = xstrdup(provider); /* XXX */ | 803 | id->comment = xstrdup(canonical_provider); /* XXX */ |
786 | id->death = death; | 804 | id->death = death; |
787 | id->confirm = confirm; | 805 | id->confirm = confirm; |
788 | TAILQ_INSERT_TAIL(&tab->idlist, id, next); | 806 | TAILQ_INSERT_TAIL(&tab->idlist, id, next); |
@@ -991,7 +1009,7 @@ prepare_select(fd_set **fdrp, fd_set **fdwp, int *fdl, u_int *nallocp, | |||
991 | switch (sockets[i].type) { | 1009 | switch (sockets[i].type) { |
992 | case AUTH_SOCKET: | 1010 | case AUTH_SOCKET: |
993 | case AUTH_CONNECTION: | 1011 | case AUTH_CONNECTION: |
994 | n = MAX(n, sockets[i].fd); | 1012 | n = MAXIMUM(n, sockets[i].fd); |
995 | break; | 1013 | break; |
996 | case AUTH_UNUSED: | 1014 | case AUTH_UNUSED: |
997 | break; | 1015 | break; |
@@ -1030,7 +1048,7 @@ prepare_select(fd_set **fdrp, fd_set **fdwp, int *fdl, u_int *nallocp, | |||
1030 | deadline = reaper(); | 1048 | deadline = reaper(); |
1031 | if (parent_alive_interval != 0) | 1049 | if (parent_alive_interval != 0) |
1032 | deadline = (deadline == 0) ? parent_alive_interval : | 1050 | deadline = (deadline == 0) ? parent_alive_interval : |
1033 | MIN(deadline, parent_alive_interval); | 1051 | MINIMUM(deadline, parent_alive_interval); |
1034 | if (deadline == 0) { | 1052 | if (deadline == 0) { |
1035 | *tvpp = NULL; | 1053 | *tvpp = NULL; |
1036 | } else { | 1054 | } else { |
@@ -1173,7 +1191,7 @@ usage(void) | |||
1173 | { | 1191 | { |
1174 | fprintf(stderr, | 1192 | fprintf(stderr, |
1175 | "usage: ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash]\n" | 1193 | "usage: ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash]\n" |
1176 | " [-t life] [command [arg ...]]\n" | 1194 | " [-P pkcs11_whitelist] [-t life] [command [arg ...]]\n" |
1177 | " ssh-agent [-c | -s] -k\n"); | 1195 | " ssh-agent [-c | -s] -k\n"); |
1178 | exit(1); | 1196 | exit(1); |
1179 | } | 1197 | } |
@@ -1214,7 +1232,7 @@ main(int ac, char **av) | |||
1214 | __progname = ssh_get_progname(av[0]); | 1232 | __progname = ssh_get_progname(av[0]); |
1215 | seed_rng(); | 1233 | seed_rng(); |
1216 | 1234 | ||
1217 | while ((ch = getopt(ac, av, "cDdksE:a:t:")) != -1) { | 1235 | while ((ch = getopt(ac, av, "cDdksE:a:P:t:")) != -1) { |
1218 | switch (ch) { | 1236 | switch (ch) { |
1219 | case 'E': | 1237 | case 'E': |
1220 | fingerprint_hash = ssh_digest_alg_by_name(optarg); | 1238 | fingerprint_hash = ssh_digest_alg_by_name(optarg); |
@@ -1229,6 +1247,11 @@ main(int ac, char **av) | |||
1229 | case 'k': | 1247 | case 'k': |
1230 | k_flag++; | 1248 | k_flag++; |
1231 | break; | 1249 | break; |
1250 | case 'P': | ||
1251 | if (pkcs11_whitelist != NULL) | ||
1252 | fatal("-P option already specified"); | ||
1253 | pkcs11_whitelist = xstrdup(optarg); | ||
1254 | break; | ||
1232 | case 's': | 1255 | case 's': |
1233 | if (c_flag) | 1256 | if (c_flag) |
1234 | usage(); | 1257 | usage(); |
@@ -1263,6 +1286,9 @@ main(int ac, char **av) | |||
1263 | if (ac > 0 && (c_flag || k_flag || s_flag || d_flag || D_flag)) | 1286 | if (ac > 0 && (c_flag || k_flag || s_flag || d_flag || D_flag)) |
1264 | usage(); | 1287 | usage(); |
1265 | 1288 | ||
1289 | if (pkcs11_whitelist == NULL) | ||
1290 | pkcs11_whitelist = xstrdup(DEFAULT_PKCS11_WHITELIST); | ||
1291 | |||
1266 | if (ac == 0 && !c_flag && !s_flag) { | 1292 | if (ac == 0 && !c_flag && !s_flag) { |
1267 | shell = getenv("SHELL"); | 1293 | shell = getenv("SHELL"); |
1268 | if (shell != NULL && (len = strlen(shell)) > 2 && | 1294 | if (shell != NULL && (len = strlen(shell)) > 2 && |
@@ -1410,7 +1436,7 @@ skip: | |||
1410 | signal(SIGTERM, cleanup_handler); | 1436 | signal(SIGTERM, cleanup_handler); |
1411 | nalloc = 0; | 1437 | nalloc = 0; |
1412 | 1438 | ||
1413 | if (pledge("stdio cpath unix id proc exec", NULL) == -1) | 1439 | if (pledge("stdio rpath cpath unix id proc exec", NULL) == -1) |
1414 | fatal("%s: pledge: %s", __progname, strerror(errno)); | 1440 | fatal("%s: pledge: %s", __progname, strerror(errno)); |
1415 | platform_pledge_agent(); | 1441 | platform_pledge_agent(); |
1416 | 1442 | ||
diff --git a/ssh-keygen.c b/ssh-keygen.c index 0bd5fc93a..2a7939bfc 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-keygen.c,v 1.290 2016/05/02 09:36:42 djm Exp $ */ | 1 | /* $OpenBSD: ssh-keygen.c,v 1.292 2016/09/12 03:29:16 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -2448,40 +2448,47 @@ main(int argc, char **argv) | |||
2448 | break; | 2448 | break; |
2449 | #ifdef WITH_OPENSSL | 2449 | #ifdef WITH_OPENSSL |
2450 | /* Moduli generation/screening */ | 2450 | /* Moduli generation/screening */ |
2451 | case 'W': | ||
2452 | generator_wanted = (u_int32_t)strtonum(optarg, 1, | ||
2453 | UINT_MAX, &errstr); | ||
2454 | if (errstr) | ||
2455 | fatal("Desired generator has bad value: %s (%s)", | ||
2456 | optarg, errstr); | ||
2457 | break; | ||
2458 | case 'M': | ||
2459 | memory = (u_int32_t)strtonum(optarg, 1, UINT_MAX, &errstr); | ||
2460 | if (errstr) | ||
2461 | fatal("Memory limit is %s: %s", errstr, optarg); | ||
2462 | break; | ||
2463 | case 'G': | 2451 | case 'G': |
2464 | do_gen_candidates = 1; | 2452 | do_gen_candidates = 1; |
2465 | if (strlcpy(out_file, optarg, sizeof(out_file)) >= | 2453 | if (strlcpy(out_file, optarg, sizeof(out_file)) >= |
2466 | sizeof(out_file)) | 2454 | sizeof(out_file)) |
2467 | fatal("Output filename too long"); | 2455 | fatal("Output filename too long"); |
2468 | break; | 2456 | break; |
2469 | case 'T': | 2457 | case 'J': |
2470 | do_screen_candidates = 1; | 2458 | lines_to_process = strtoul(optarg, NULL, 10); |
2471 | if (strlcpy(out_file, optarg, sizeof(out_file)) >= | 2459 | break; |
2472 | sizeof(out_file)) | 2460 | case 'j': |
2473 | fatal("Output filename too long"); | 2461 | start_lineno = strtoul(optarg, NULL, 10); |
2474 | break; | 2462 | break; |
2475 | case 'K': | 2463 | case 'K': |
2476 | if (strlen(optarg) >= PATH_MAX) | 2464 | if (strlen(optarg) >= PATH_MAX) |
2477 | fatal("Checkpoint filename too long"); | 2465 | fatal("Checkpoint filename too long"); |
2478 | checkpoint = xstrdup(optarg); | 2466 | checkpoint = xstrdup(optarg); |
2479 | break; | 2467 | break; |
2468 | case 'M': | ||
2469 | memory = (u_int32_t)strtonum(optarg, 1, UINT_MAX, | ||
2470 | &errstr); | ||
2471 | if (errstr) | ||
2472 | fatal("Memory limit is %s: %s", errstr, optarg); | ||
2473 | break; | ||
2480 | case 'S': | 2474 | case 'S': |
2481 | /* XXX - also compare length against bits */ | 2475 | /* XXX - also compare length against bits */ |
2482 | if (BN_hex2bn(&start, optarg) == 0) | 2476 | if (BN_hex2bn(&start, optarg) == 0) |
2483 | fatal("Invalid start point."); | 2477 | fatal("Invalid start point."); |
2484 | break; | 2478 | break; |
2479 | case 'T': | ||
2480 | do_screen_candidates = 1; | ||
2481 | if (strlcpy(out_file, optarg, sizeof(out_file)) >= | ||
2482 | sizeof(out_file)) | ||
2483 | fatal("Output filename too long"); | ||
2484 | break; | ||
2485 | case 'W': | ||
2486 | generator_wanted = (u_int32_t)strtonum(optarg, 1, | ||
2487 | UINT_MAX, &errstr); | ||
2488 | if (errstr != NULL) | ||
2489 | fatal("Desired generator invalid: %s (%s)", | ||
2490 | optarg, errstr); | ||
2491 | break; | ||
2485 | #endif /* WITH_OPENSSL */ | 2492 | #endif /* WITH_OPENSSL */ |
2486 | case '?': | 2493 | case '?': |
2487 | default: | 2494 | default: |
diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c index d1f750db0..aaf712d9a 100644 --- a/ssh-pkcs11.c +++ b/ssh-pkcs11.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-pkcs11.c,v 1.22 2016/02/12 00:20:30 djm Exp $ */ | 1 | /* $OpenBSD: ssh-pkcs11.c,v 1.23 2016/10/28 03:33:52 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2010 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2010 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -577,7 +577,8 @@ pkcs11_add_provider(char *provider_id, char *pin, struct sshkey ***keyp) | |||
577 | 577 | ||
578 | *keyp = NULL; | 578 | *keyp = NULL; |
579 | if (pkcs11_provider_lookup(provider_id) != NULL) { | 579 | if (pkcs11_provider_lookup(provider_id) != NULL) { |
580 | error("provider already registered: %s", provider_id); | 580 | debug("%s: provider already registered: %s", |
581 | __func__, provider_id); | ||
581 | goto fail; | 582 | goto fail; |
582 | } | 583 | } |
583 | /* open shared pkcs11-libarary */ | 584 | /* open shared pkcs11-libarary */ |
@@ -594,23 +595,27 @@ pkcs11_add_provider(char *provider_id, char *pin, struct sshkey ***keyp) | |||
594 | p->handle = handle; | 595 | p->handle = handle; |
595 | /* setup the pkcs11 callbacks */ | 596 | /* setup the pkcs11 callbacks */ |
596 | if ((rv = (*getfunctionlist)(&f)) != CKR_OK) { | 597 | if ((rv = (*getfunctionlist)(&f)) != CKR_OK) { |
597 | error("C_GetFunctionList failed: %lu", rv); | 598 | error("C_GetFunctionList for provider %s failed: %lu", |
599 | provider_id, rv); | ||
598 | goto fail; | 600 | goto fail; |
599 | } | 601 | } |
600 | p->function_list = f; | 602 | p->function_list = f; |
601 | if ((rv = f->C_Initialize(NULL)) != CKR_OK) { | 603 | if ((rv = f->C_Initialize(NULL)) != CKR_OK) { |
602 | error("C_Initialize failed: %lu", rv); | 604 | error("C_Initialize for provider %s failed: %lu", |
605 | provider_id, rv); | ||
603 | goto fail; | 606 | goto fail; |
604 | } | 607 | } |
605 | need_finalize = 1; | 608 | need_finalize = 1; |
606 | if ((rv = f->C_GetInfo(&p->info)) != CKR_OK) { | 609 | if ((rv = f->C_GetInfo(&p->info)) != CKR_OK) { |
607 | error("C_GetInfo failed: %lu", rv); | 610 | error("C_GetInfo for provider %s failed: %lu", |
611 | provider_id, rv); | ||
608 | goto fail; | 612 | goto fail; |
609 | } | 613 | } |
610 | rmspace(p->info.manufacturerID, sizeof(p->info.manufacturerID)); | 614 | rmspace(p->info.manufacturerID, sizeof(p->info.manufacturerID)); |
611 | rmspace(p->info.libraryDescription, sizeof(p->info.libraryDescription)); | 615 | rmspace(p->info.libraryDescription, sizeof(p->info.libraryDescription)); |
612 | debug("manufacturerID <%s> cryptokiVersion %d.%d" | 616 | debug("provider %s: manufacturerID <%s> cryptokiVersion %d.%d" |
613 | " libraryDescription <%s> libraryVersion %d.%d", | 617 | " libraryDescription <%s> libraryVersion %d.%d", |
618 | provider_id, | ||
614 | p->info.manufacturerID, | 619 | p->info.manufacturerID, |
615 | p->info.cryptokiVersion.major, | 620 | p->info.cryptokiVersion.major, |
616 | p->info.cryptokiVersion.minor, | 621 | p->info.cryptokiVersion.minor, |
@@ -622,13 +627,15 @@ pkcs11_add_provider(char *provider_id, char *pin, struct sshkey ***keyp) | |||
622 | goto fail; | 627 | goto fail; |
623 | } | 628 | } |
624 | if (p->nslots == 0) { | 629 | if (p->nslots == 0) { |
625 | error("no slots"); | 630 | debug("%s: provider %s returned no slots", __func__, |
631 | provider_id); | ||
626 | goto fail; | 632 | goto fail; |
627 | } | 633 | } |
628 | p->slotlist = xcalloc(p->nslots, sizeof(CK_SLOT_ID)); | 634 | p->slotlist = xcalloc(p->nslots, sizeof(CK_SLOT_ID)); |
629 | if ((rv = f->C_GetSlotList(CK_TRUE, p->slotlist, &p->nslots)) | 635 | if ((rv = f->C_GetSlotList(CK_TRUE, p->slotlist, &p->nslots)) |
630 | != CKR_OK) { | 636 | != CKR_OK) { |
631 | error("C_GetSlotList failed: %lu", rv); | 637 | error("C_GetSlotList for provider %s failed: %lu", |
638 | provider_id, rv); | ||
632 | goto fail; | 639 | goto fail; |
633 | } | 640 | } |
634 | p->slotinfo = xcalloc(p->nslots, sizeof(struct pkcs11_slotinfo)); | 641 | p->slotinfo = xcalloc(p->nslots, sizeof(struct pkcs11_slotinfo)); |
@@ -638,20 +645,23 @@ pkcs11_add_provider(char *provider_id, char *pin, struct sshkey ***keyp) | |||
638 | token = &p->slotinfo[i].token; | 645 | token = &p->slotinfo[i].token; |
639 | if ((rv = f->C_GetTokenInfo(p->slotlist[i], token)) | 646 | if ((rv = f->C_GetTokenInfo(p->slotlist[i], token)) |
640 | != CKR_OK) { | 647 | != CKR_OK) { |
641 | error("C_GetTokenInfo failed: %lu", rv); | 648 | error("C_GetTokenInfo for provider %s slot %lu " |
649 | "failed: %lu", provider_id, (unsigned long)i, rv); | ||
642 | continue; | 650 | continue; |
643 | } | 651 | } |
644 | if ((token->flags & CKF_TOKEN_INITIALIZED) == 0) { | 652 | if ((token->flags & CKF_TOKEN_INITIALIZED) == 0) { |
645 | debug2("%s: ignoring uninitialised token in slot %lu", | 653 | debug2("%s: ignoring uninitialised token in " |
646 | __func__, (unsigned long)i); | 654 | "provider %s slot %lu", __func__, |
655 | provider_id, (unsigned long)i); | ||
647 | continue; | 656 | continue; |
648 | } | 657 | } |
649 | rmspace(token->label, sizeof(token->label)); | 658 | rmspace(token->label, sizeof(token->label)); |
650 | rmspace(token->manufacturerID, sizeof(token->manufacturerID)); | 659 | rmspace(token->manufacturerID, sizeof(token->manufacturerID)); |
651 | rmspace(token->model, sizeof(token->model)); | 660 | rmspace(token->model, sizeof(token->model)); |
652 | rmspace(token->serialNumber, sizeof(token->serialNumber)); | 661 | rmspace(token->serialNumber, sizeof(token->serialNumber)); |
653 | debug("label <%s> manufacturerID <%s> model <%s> serial <%s>" | 662 | debug("provider %s slot %lu: label <%s> manufacturerID <%s> " |
654 | " flags 0x%lx", | 663 | "model <%s> serial <%s> flags 0x%lx", |
664 | provider_id, (unsigned long)i, | ||
655 | token->label, token->manufacturerID, token->model, | 665 | token->label, token->manufacturerID, token->model, |
656 | token->serialNumber, token->flags); | 666 | token->serialNumber, token->flags); |
657 | /* open session, login with pin and retrieve public keys */ | 667 | /* open session, login with pin and retrieve public keys */ |
@@ -663,11 +673,12 @@ pkcs11_add_provider(char *provider_id, char *pin, struct sshkey ***keyp) | |||
663 | p->refcount++; /* add to provider list */ | 673 | p->refcount++; /* add to provider list */ |
664 | return (nkeys); | 674 | return (nkeys); |
665 | } | 675 | } |
666 | error("no keys"); | 676 | debug("%s: provider %s returned no keys", __func__, provider_id); |
667 | /* don't add the provider, since it does not have any keys */ | 677 | /* don't add the provider, since it does not have any keys */ |
668 | fail: | 678 | fail: |
669 | if (need_finalize && (rv = f->C_Finalize(NULL)) != CKR_OK) | 679 | if (need_finalize && (rv = f->C_Finalize(NULL)) != CKR_OK) |
670 | error("C_Finalize failed: %lu", rv); | 680 | error("C_Finalize for provider %s failed: %lu", |
681 | provider_id, rv); | ||
671 | if (p) { | 682 | if (p) { |
672 | free(p->slotlist); | 683 | free(p->slotlist); |
673 | free(p->slotinfo); | 684 | free(p->slotinfo); |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-rsa.c,v 1.59 2016/04/21 06:08:02 djm Exp $ */ | 1 | /* $OpenBSD: ssh-rsa.c,v 1.60 2016/09/12 23:39:34 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000, 2003 Markus Friedl <markus@openbsd.org> | 3 | * Copyright (c) 2000, 2003 Markus Friedl <markus@openbsd.org> |
4 | * | 4 | * |
@@ -53,7 +53,8 @@ rsa_hash_alg_ident(int hash_alg) | |||
53 | static int | 53 | static int |
54 | rsa_hash_alg_from_ident(const char *ident) | 54 | rsa_hash_alg_from_ident(const char *ident) |
55 | { | 55 | { |
56 | if (strcmp(ident, "ssh-rsa") == 0) | 56 | if (strcmp(ident, "ssh-rsa") == 0 || |
57 | strcmp(ident, "ssh-rsa-cert-v01@openssh.com") == 0) | ||
57 | return SSH_DIGEST_SHA1; | 58 | return SSH_DIGEST_SHA1; |
58 | if (strcmp(ident, "rsa-sha2-256") == 0) | 59 | if (strcmp(ident, "rsa-sha2-256") == 0) |
59 | return SSH_DIGEST_SHA256; | 60 | return SSH_DIGEST_SHA256; |
@@ -93,8 +94,7 @@ ssh_rsa_sign(const struct sshkey *key, u_char **sigp, size_t *lenp, | |||
93 | if (sigp != NULL) | 94 | if (sigp != NULL) |
94 | *sigp = NULL; | 95 | *sigp = NULL; |
95 | 96 | ||
96 | if (alg_ident == NULL || strlen(alg_ident) == 0 || | 97 | if (alg_ident == NULL || strlen(alg_ident) == 0) |
97 | strncmp(alg_ident, "ssh-rsa-cert", strlen("ssh-rsa-cert")) == 0) | ||
98 | hash_alg = SSH_DIGEST_SHA1; | 98 | hash_alg = SSH_DIGEST_SHA1; |
99 | else | 99 | else |
100 | hash_alg = rsa_hash_alg_from_ident(alg_ident); | 100 | hash_alg = rsa_hash_alg_from_ident(alg_ident); |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh.c,v 1.445 2016/07/17 04:20:16 djm Exp $ */ | 1 | /* $OpenBSD: ssh.c,v 1.448 2016/12/06 07:48:01 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -109,6 +109,7 @@ | |||
109 | #include "version.h" | 109 | #include "version.h" |
110 | #include "ssherr.h" | 110 | #include "ssherr.h" |
111 | #include "myproposal.h" | 111 | #include "myproposal.h" |
112 | #include "utf8.h" | ||
112 | 113 | ||
113 | #ifdef ENABLE_PKCS11 | 114 | #ifdef ENABLE_PKCS11 |
114 | #include "ssh-pkcs11.h" | 115 | #include "ssh-pkcs11.h" |
@@ -213,10 +214,6 @@ static int ssh_session2(void); | |||
213 | static void load_public_identity_files(void); | 214 | static void load_public_identity_files(void); |
214 | static void main_sigchld_handler(int); | 215 | static void main_sigchld_handler(int); |
215 | 216 | ||
216 | /* from muxclient.c */ | ||
217 | void muxclient(const char *); | ||
218 | void muxserver_listen(void); | ||
219 | |||
220 | /* ~/ expand a list of paths. NB. assumes path[n] is heap-allocated. */ | 217 | /* ~/ expand a list of paths. NB. assumes path[n] is heap-allocated. */ |
221 | static void | 218 | static void |
222 | tilde_expand_paths(char **paths, u_int num_paths) | 219 | tilde_expand_paths(char **paths, u_int num_paths) |
@@ -593,7 +590,7 @@ main(int ac, char **av) | |||
593 | */ | 590 | */ |
594 | umask(022); | 591 | umask(022); |
595 | 592 | ||
596 | setlocale(LC_CTYPE, ""); | 593 | msetlocale(); |
597 | 594 | ||
598 | /* | 595 | /* |
599 | * Initialize option structure to indicate that no values have been | 596 | * Initialize option structure to indicate that no values have been |
@@ -668,6 +665,8 @@ main(int ac, char **av) | |||
668 | muxclient_command = SSHMUX_COMMAND_STOP; | 665 | muxclient_command = SSHMUX_COMMAND_STOP; |
669 | else if (strcmp(optarg, "cancel") == 0) | 666 | else if (strcmp(optarg, "cancel") == 0) |
670 | muxclient_command = SSHMUX_COMMAND_CANCEL_FWD; | 667 | muxclient_command = SSHMUX_COMMAND_CANCEL_FWD; |
668 | else if (strcmp(optarg, "proxy") == 0) | ||
669 | muxclient_command = SSHMUX_COMMAND_PROXY; | ||
671 | else | 670 | else |
672 | fatal("Invalid multiplex command."); | 671 | fatal("Invalid multiplex command."); |
673 | break; | 672 | break; |
@@ -685,11 +684,11 @@ main(int ac, char **av) | |||
685 | else if (strcmp(optarg, "kex") == 0) | 684 | else if (strcmp(optarg, "kex") == 0) |
686 | cp = kex_alg_list('\n'); | 685 | cp = kex_alg_list('\n'); |
687 | else if (strcmp(optarg, "key") == 0) | 686 | else if (strcmp(optarg, "key") == 0) |
688 | cp = key_alg_list(0, 0); | 687 | cp = sshkey_alg_list(0, 0, '\n'); |
689 | else if (strcmp(optarg, "key-cert") == 0) | 688 | else if (strcmp(optarg, "key-cert") == 0) |
690 | cp = key_alg_list(1, 0); | 689 | cp = sshkey_alg_list(1, 0, '\n'); |
691 | else if (strcmp(optarg, "key-plain") == 0) | 690 | else if (strcmp(optarg, "key-plain") == 0) |
692 | cp = key_alg_list(0, 1); | 691 | cp = sshkey_alg_list(0, 1, '\n'); |
693 | else if (strcmp(optarg, "protocol-version") == 0) { | 692 | else if (strcmp(optarg, "protocol-version") == 0) { |
694 | #ifdef WITH_SSH1 | 693 | #ifdef WITH_SSH1 |
695 | cp = xstrdup("1\n2"); | 694 | cp = xstrdup("1\n2"); |
@@ -1162,7 +1161,8 @@ main(int ac, char **av) | |||
1162 | tty_flag = options.request_tty != REQUEST_TTY_NO; | 1161 | tty_flag = options.request_tty != REQUEST_TTY_NO; |
1163 | 1162 | ||
1164 | /* Force no tty */ | 1163 | /* Force no tty */ |
1165 | if (options.request_tty == REQUEST_TTY_NO || muxclient_command != 0) | 1164 | if (options.request_tty == REQUEST_TTY_NO || |
1165 | (muxclient_command && muxclient_command != SSHMUX_COMMAND_PROXY)) | ||
1166 | tty_flag = 0; | 1166 | tty_flag = 0; |
1167 | /* Do not allocate a tty if stdin is not a tty. */ | 1167 | /* Do not allocate a tty if stdin is not a tty. */ |
1168 | if ((!isatty(fileno(stdin)) || stdin_null_flag) && | 1168 | if ((!isatty(fileno(stdin)) || stdin_null_flag) && |
@@ -1239,8 +1239,16 @@ main(int ac, char **av) | |||
1239 | 1239 | ||
1240 | if (muxclient_command != 0 && options.control_path == NULL) | 1240 | if (muxclient_command != 0 && options.control_path == NULL) |
1241 | fatal("No ControlPath specified for \"-O\" command"); | 1241 | fatal("No ControlPath specified for \"-O\" command"); |
1242 | if (options.control_path != NULL) | 1242 | if (options.control_path != NULL) { |
1243 | muxclient(options.control_path); | 1243 | int sock; |
1244 | if ((sock = muxclient(options.control_path)) >= 0) { | ||
1245 | packet_set_connection(sock, sock); | ||
1246 | ssh = active_state; /* XXX */ | ||
1247 | enable_compat20(); /* XXX */ | ||
1248 | packet_set_mux(); | ||
1249 | goto skip_connect; | ||
1250 | } | ||
1251 | } | ||
1244 | 1252 | ||
1245 | /* | 1253 | /* |
1246 | * If hostname canonicalisation was not enabled, then we may not | 1254 | * If hostname canonicalisation was not enabled, then we may not |
@@ -1443,6 +1451,7 @@ main(int ac, char **av) | |||
1443 | options.certificate_files[i] = NULL; | 1451 | options.certificate_files[i] = NULL; |
1444 | } | 1452 | } |
1445 | 1453 | ||
1454 | skip_connect: | ||
1446 | exit_status = compat20 ? ssh_session2() : ssh_session(); | 1455 | exit_status = compat20 ? ssh_session2() : ssh_session(); |
1447 | packet_close(); | 1456 | packet_close(); |
1448 | 1457 | ||
@@ -1953,7 +1962,8 @@ ssh_session2(void) | |||
1953 | ssh_init_forwarding(); | 1962 | ssh_init_forwarding(); |
1954 | 1963 | ||
1955 | /* Start listening for multiplex clients */ | 1964 | /* Start listening for multiplex clients */ |
1956 | muxserver_listen(); | 1965 | if (!packet_get_mux()) |
1966 | muxserver_listen(); | ||
1957 | 1967 | ||
1958 | /* | 1968 | /* |
1959 | * If we are in control persist mode and have a working mux listen | 1969 | * If we are in control persist mode and have a working mux listen |
@@ -2118,8 +2128,9 @@ load_public_identity_files(void) | |||
2118 | free(cp); | 2128 | free(cp); |
2119 | continue; | 2129 | continue; |
2120 | } | 2130 | } |
2131 | /* NB. leave filename pointing to private key */ | ||
2132 | identity_files[n_ids] = xstrdup(filename); | ||
2121 | identity_keys[n_ids] = public; | 2133 | identity_keys[n_ids] = public; |
2122 | identity_files[n_ids] = cp; | ||
2123 | n_ids++; | 2134 | n_ids++; |
2124 | } | 2135 | } |
2125 | 2136 | ||
diff --git a/ssh_config.0 b/ssh_config.0 index 8733281f5..4ca9a5ff8 100644 --- a/ssh_config.0 +++ b/ssh_config.0 | |||
@@ -16,25 +16,23 @@ DESCRIPTION | |||
16 | 3. system-wide configuration file (/etc/ssh/ssh_config) | 16 | 3. system-wide configuration file (/etc/ssh/ssh_config) |
17 | 17 | ||
18 | For each parameter, the first obtained value will be used. The | 18 | For each parameter, the first obtained value will be used. The |
19 | configuration files contain sections separated by M-bM-^@M-^\HostM-bM-^@M-^] specifications, | 19 | configuration files contain sections separated by Host specifications, |
20 | and that section is only applied for hosts that match one of the patterns | 20 | and that section is only applied for hosts that match one of the patterns |
21 | given in the specification. The matched host name is usually the one | 21 | given in the specification. The matched host name is usually the one |
22 | given on the command line (see the CanonicalizeHostname option for | 22 | given on the command line (see the CanonicalizeHostname option for |
23 | exceptions.) | 23 | exceptions). |
24 | 24 | ||
25 | Since the first obtained value for each parameter is used, more host- | 25 | Since the first obtained value for each parameter is used, more host- |
26 | specific declarations should be given near the beginning of the file, and | 26 | specific declarations should be given near the beginning of the file, and |
27 | general defaults at the end. | 27 | general defaults at the end. |
28 | 28 | ||
29 | The configuration file has the following format: | 29 | The file contains keyword-argument pairs, one per line. Lines starting |
30 | 30 | with M-bM-^@M-^X#M-bM-^@M-^Y and empty lines are interpreted as comments. Arguments may | |
31 | Empty lines and lines starting with M-bM-^@M-^X#M-bM-^@M-^Y are comments. Otherwise a line | 31 | optionally be enclosed in double quotes (") in order to represent |
32 | is of the format M-bM-^@M-^\keyword argumentsM-bM-^@M-^]. Configuration options may be | 32 | arguments containing spaces. Configuration options may be separated by |
33 | separated by whitespace or optional whitespace and exactly one M-bM-^@M-^X=M-bM-^@M-^Y; the | 33 | whitespace or optional whitespace and exactly one M-bM-^@M-^X=M-bM-^@M-^Y; the latter format |
34 | latter format is useful to avoid the need to quote whitespace when | 34 | is useful to avoid the need to quote whitespace when specifying |
35 | specifying configuration options using the ssh, scp, and sftp -o option. | 35 | configuration options using the ssh, scp, and sftp -o option. |
36 | Arguments may optionally be enclosed in double quotes (") in order to | ||
37 | represent arguments containing spaces. | ||
38 | 36 | ||
39 | The possible keywords and their meanings are as follows (note that | 37 | The possible keywords and their meanings are as follows (note that |
40 | keywords are case-insensitive and arguments are case-sensitive): | 38 | keywords are case-insensitive and arguments are case-sensitive): |
@@ -45,8 +43,8 @@ DESCRIPTION | |||
45 | provided, they should be separated by whitespace. A single M-bM-^@M-^X*M-bM-^@M-^Y | 43 | provided, they should be separated by whitespace. A single M-bM-^@M-^X*M-bM-^@M-^Y |
46 | as a pattern can be used to provide global defaults for all | 44 | as a pattern can be used to provide global defaults for all |
47 | hosts. The host is usually the hostname argument given on the | 45 | hosts. The host is usually the hostname argument given on the |
48 | command line (see the CanonicalizeHostname option for | 46 | command line (see the CanonicalizeHostname keyword for |
49 | exceptions.) | 47 | exceptions). |
50 | 48 | ||
51 | A pattern entry may be negated by prefixing it with an | 49 | A pattern entry may be negated by prefixing it with an |
52 | exclamation mark (M-bM-^@M-^X!M-bM-^@M-^Y). If a negated entry is matched, then the | 50 | exclamation mark (M-bM-^@M-^X!M-bM-^@M-^Y). If a negated entry is matched, then the |
@@ -74,14 +72,8 @@ DESCRIPTION | |||
74 | keyword executes the specified command under the user's shell. | 72 | keyword executes the specified command under the user's shell. |
75 | If the command returns a zero exit status then the condition is | 73 | If the command returns a zero exit status then the condition is |
76 | considered true. Commands containing whitespace characters must | 74 | considered true. Commands containing whitespace characters must |
77 | be quoted. The following character sequences in the command will | 75 | be quoted. Arguments to exec accept the tokens described in the |
78 | be expanded prior to execution: M-bM-^@M-^X%LM-bM-^@M-^Y will be substituted by the | 76 | TOKENS section. |
79 | first component of the local host name, M-bM-^@M-^X%lM-bM-^@M-^Y will be substituted | ||
80 | by the local host name (including any domain name), M-bM-^@M-^X%hM-bM-^@M-^Y will be | ||
81 | substituted by the target host name, M-bM-^@M-^X%nM-bM-^@M-^Y will be substituted by | ||
82 | the original target host name specified on the command-line, M-bM-^@M-^X%pM-bM-^@M-^Y | ||
83 | the destination port, M-bM-^@M-^X%rM-bM-^@M-^Y by the remote login username, and M-bM-^@M-^X%uM-bM-^@M-^Y | ||
84 | by the username of the user running ssh(1). | ||
85 | 77 | ||
86 | The other keywords' criteria must be single entries or comma- | 78 | The other keywords' criteria must be single entries or comma- |
87 | separated lists and may use the wildcard and negation operators | 79 | separated lists and may use the wildcard and negation operators |
@@ -96,33 +88,33 @@ DESCRIPTION | |||
96 | 88 | ||
97 | AddKeysToAgent | 89 | AddKeysToAgent |
98 | Specifies whether keys should be automatically added to a running | 90 | Specifies whether keys should be automatically added to a running |
99 | ssh-agent(1). If this option is set to M-bM-^@M-^\yesM-bM-^@M-^] and a key is loaded | 91 | ssh-agent(1). If this option is set to yes and a key is loaded |
100 | from a file, the key and its passphrase are added to the agent | 92 | from a file, the key and its passphrase are added to the agent |
101 | with the default lifetime, as if by ssh-add(1). If this option | 93 | with the default lifetime, as if by ssh-add(1). If this option |
102 | is set to M-bM-^@M-^\askM-bM-^@M-^], ssh will require confirmation using the | 94 | is set to ask, ssh(1) will require confirmation using the |
103 | SSH_ASKPASS program before adding a key (see ssh-add(1) for | 95 | SSH_ASKPASS program before adding a key (see ssh-add(1) for |
104 | details). If this option is set to M-bM-^@M-^\confirmM-bM-^@M-^], each use of the | 96 | details). If this option is set to confirm, each use of the key |
105 | key must be confirmed, as if the -c option was specified to | 97 | must be confirmed, as if the -c option was specified to |
106 | ssh-add(1). If this option is set to M-bM-^@M-^\noM-bM-^@M-^], no keys are added to | 98 | ssh-add(1). If this option is set to no, no keys are added to |
107 | the agent. The argument must be M-bM-^@M-^\yesM-bM-^@M-^], M-bM-^@M-^\confirmM-bM-^@M-^], M-bM-^@M-^\askM-bM-^@M-^], or | 99 | the agent. The argument must be yes, confirm, ask, or no (the |
108 | M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 100 | default). |
109 | 101 | ||
110 | AddressFamily | 102 | AddressFamily |
111 | Specifies which address family to use when connecting. Valid | 103 | Specifies which address family to use when connecting. Valid |
112 | arguments are M-bM-^@M-^\anyM-bM-^@M-^], M-bM-^@M-^\inetM-bM-^@M-^] (use IPv4 only), or M-bM-^@M-^\inet6M-bM-^@M-^] (use IPv6 | 104 | arguments are any (the default), inet (use IPv4 only), or inet6 |
113 | only). The default is M-bM-^@M-^\anyM-bM-^@M-^]. | 105 | (use IPv6 only). |
114 | 106 | ||
115 | BatchMode | 107 | BatchMode |
116 | If set to M-bM-^@M-^\yesM-bM-^@M-^], passphrase/password querying will be disabled. | 108 | If set to yes, passphrase/password querying will be disabled. |
117 | This option is useful in scripts and other batch jobs where no | 109 | This option is useful in scripts and other batch jobs where no |
118 | user is present to supply the password. The argument must be | 110 | user is present to supply the password. The argument must be yes |
119 | M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 111 | or no (the default). |
120 | 112 | ||
121 | BindAddress | 113 | BindAddress |
122 | Use the specified address on the local machine as the source | 114 | Use the specified address on the local machine as the source |
123 | address of the connection. Only useful on systems with more than | 115 | address of the connection. Only useful on systems with more than |
124 | one address. Note that this option does not work if | 116 | one address. Note that this option does not work if |
125 | UsePrivilegedPort is set to M-bM-^@M-^\yesM-bM-^@M-^]. | 117 | UsePrivilegedPort is set to yes. |
126 | 118 | ||
127 | CanonicalDomains | 119 | CanonicalDomains |
128 | When CanonicalizeHostname is enabled, this option specifies the | 120 | When CanonicalizeHostname is enabled, this option specifies the |
@@ -131,21 +123,21 @@ DESCRIPTION | |||
131 | 123 | ||
132 | CanonicalizeFallbackLocal | 124 | CanonicalizeFallbackLocal |
133 | Specifies whether to fail with an error when hostname | 125 | Specifies whether to fail with an error when hostname |
134 | canonicalization fails. The default, M-bM-^@M-^\yesM-bM-^@M-^], will attempt to look | 126 | canonicalization fails. The default, yes, will attempt to look |
135 | up the unqualified hostname using the system resolver's search | 127 | up the unqualified hostname using the system resolver's search |
136 | rules. A value of M-bM-^@M-^\noM-bM-^@M-^] will cause ssh(1) to fail instantly if | 128 | rules. A value of no will cause ssh(1) to fail instantly if |
137 | CanonicalizeHostname is enabled and the target hostname cannot be | 129 | CanonicalizeHostname is enabled and the target hostname cannot be |
138 | found in any of the domains specified by CanonicalDomains. | 130 | found in any of the domains specified by CanonicalDomains. |
139 | 131 | ||
140 | CanonicalizeHostname | 132 | CanonicalizeHostname |
141 | Controls whether explicit hostname canonicalization is performed. | 133 | Controls whether explicit hostname canonicalization is performed. |
142 | The default, M-bM-^@M-^\noM-bM-^@M-^], is not to perform any name rewriting and let | 134 | The default, no, is not to perform any name rewriting and let the |
143 | the system resolver handle all hostname lookups. If set to M-bM-^@M-^\yesM-bM-^@M-^] | 135 | system resolver handle all hostname lookups. If set to yes then, |
144 | then, for connections that do not use a ProxyCommand, ssh(1) will | 136 | for connections that do not use a ProxyCommand, ssh(1) will |
145 | attempt to canonicalize the hostname specified on the command | 137 | attempt to canonicalize the hostname specified on the command |
146 | line using the CanonicalDomains suffixes and | 138 | line using the CanonicalDomains suffixes and |
147 | CanonicalizePermittedCNAMEs rules. If CanonicalizeHostname is | 139 | CanonicalizePermittedCNAMEs rules. If CanonicalizeHostname is |
148 | set to M-bM-^@M-^\alwaysM-bM-^@M-^], then canonicalization is applied to proxied | 140 | set to always, then canonicalization is applied to proxied |
149 | connections too. | 141 | connections too. |
150 | 142 | ||
151 | If this option is enabled, then the configuration files are | 143 | If this option is enabled, then the configuration files are |
@@ -154,7 +146,7 @@ DESCRIPTION | |||
154 | 146 | ||
155 | CanonicalizeMaxDots | 147 | CanonicalizeMaxDots |
156 | Specifies the maximum number of dot characters in a hostname | 148 | Specifies the maximum number of dot characters in a hostname |
157 | before canonicalization is disabled. The default, M-bM-^@M-^\1M-bM-^@M-^], allows a | 149 | before canonicalization is disabled. The default, 1, allows a |
158 | single dot (i.e. hostname.subdomain). | 150 | single dot (i.e. hostname.subdomain). |
159 | 151 | ||
160 | CanonicalizePermittedCNAMEs | 152 | CanonicalizePermittedCNAMEs |
@@ -165,10 +157,10 @@ DESCRIPTION | |||
165 | CNAMEs in canonicalization, and target_domain_list is a pattern- | 157 | CNAMEs in canonicalization, and target_domain_list is a pattern- |
166 | list of domains that they may resolve to. | 158 | list of domains that they may resolve to. |
167 | 159 | ||
168 | For example, M-bM-^@M-^\*.a.example.com:*.b.example.com,*.c.example.comM-bM-^@M-^] | 160 | For example, "*.a.example.com:*.b.example.com,*.c.example.com" |
169 | will allow hostnames matching M-bM-^@M-^\*.a.example.comM-bM-^@M-^] to be | 161 | will allow hostnames matching "*.a.example.com" to be |
170 | canonicalized to names in the M-bM-^@M-^\*.b.example.comM-bM-^@M-^] or | 162 | canonicalized to names in the "*.b.example.com" or |
171 | M-bM-^@M-^\*.c.example.comM-bM-^@M-^] domains. | 163 | "*.c.example.com" domains. |
172 | 164 | ||
173 | CertificateFile | 165 | CertificateFile |
174 | Specifies a file from which the user's certificate is read. A | 166 | Specifies a file from which the user's certificate is read. A |
@@ -176,10 +168,9 @@ DESCRIPTION | |||
176 | use this certificate either from an IdentityFile directive or -i | 168 | use this certificate either from an IdentityFile directive or -i |
177 | flag to ssh(1), via ssh-agent(1), or via a PKCS11Provider. | 169 | flag to ssh(1), via ssh-agent(1), or via a PKCS11Provider. |
178 | 170 | ||
179 | The file name may use the tilde syntax to refer to a user's home | 171 | Arguments to CertificateFile may use the tilde syntax to refer to |
180 | directory or one of the following escape characters: M-bM-^@M-^X%dM-bM-^@M-^Y (local | 172 | a user's home directory or the tokens described in the TOKENS |
181 | user's home directory), M-bM-^@M-^X%uM-bM-^@M-^Y (local user name), M-bM-^@M-^X%lM-bM-^@M-^Y (local host | 173 | section. |
182 | name), M-bM-^@M-^X%hM-bM-^@M-^Y (remote host name) or M-bM-^@M-^X%rM-bM-^@M-^Y (remote user name). | ||
183 | 174 | ||
184 | It is possible to have multiple certificate files specified in | 175 | It is possible to have multiple certificate files specified in |
185 | configuration files; these certificates will be tried in | 176 | configuration files; these certificates will be tried in |
@@ -188,24 +179,22 @@ DESCRIPTION | |||
188 | 179 | ||
189 | ChallengeResponseAuthentication | 180 | ChallengeResponseAuthentication |
190 | Specifies whether to use challenge-response authentication. The | 181 | Specifies whether to use challenge-response authentication. The |
191 | argument to this keyword must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is | 182 | argument to this keyword must be yes (the default) or no. |
192 | M-bM-^@M-^\yesM-bM-^@M-^]. | ||
193 | 183 | ||
194 | CheckHostIP | 184 | CheckHostIP |
195 | If this flag is set to M-bM-^@M-^\yesM-bM-^@M-^], ssh(1) will additionally check the | 185 | If set to yes (the default), ssh(1) will additionally check the |
196 | host IP address in the known_hosts file. This allows ssh to | 186 | host IP address in the known_hosts file. This allows it to |
197 | detect if a host key changed due to DNS spoofing and will add | 187 | detect if a host key changed due to DNS spoofing and will add |
198 | addresses of destination hosts to ~/.ssh/known_hosts in the | 188 | addresses of destination hosts to ~/.ssh/known_hosts in the |
199 | process, regardless of the setting of StrictHostKeyChecking. If | 189 | process, regardless of the setting of StrictHostKeyChecking. If |
200 | the option is set to M-bM-^@M-^\noM-bM-^@M-^], the check will not be executed. The | 190 | the option is set to no, the check will not be executed. |
201 | default is M-bM-^@M-^\yesM-bM-^@M-^]. | ||
202 | 191 | ||
203 | Cipher Specifies the cipher to use for encrypting the session in | 192 | Cipher Specifies the cipher to use for encrypting the session in |
204 | protocol version 1. Currently, M-bM-^@M-^\blowfishM-bM-^@M-^], M-bM-^@M-^\3desM-bM-^@M-^], and M-bM-^@M-^\desM-bM-^@M-^] are | 193 | protocol version 1. Currently, blowfish, 3des (the default), and |
205 | supported. des is only supported in the ssh(1) client for | 194 | des are supported, though des is only supported in the ssh(1) |
206 | interoperability with legacy protocol 1 implementations that do | 195 | client for interoperability with legacy protocol 1 |
207 | not support the 3des cipher. Its use is strongly discouraged due | 196 | implementations; its use is strongly discouraged due to |
208 | to cryptographic weaknesses. The default is M-bM-^@M-^\3desM-bM-^@M-^]. | 197 | cryptographic weaknesses. |
209 | 198 | ||
210 | Ciphers | 199 | Ciphers |
211 | Specifies the ciphers allowed for protocol version 2 in order of | 200 | Specifies the ciphers allowed for protocol version 2 in order of |
@@ -237,10 +226,10 @@ DESCRIPTION | |||
237 | chacha20-poly1305@openssh.com, | 226 | chacha20-poly1305@openssh.com, |
238 | aes128-ctr,aes192-ctr,aes256-ctr, | 227 | aes128-ctr,aes192-ctr,aes256-ctr, |
239 | aes128-gcm@openssh.com,aes256-gcm@openssh.com, | 228 | aes128-gcm@openssh.com,aes256-gcm@openssh.com, |
240 | aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc | 229 | aes128-cbc,aes192-cbc,aes256-cbc |
241 | 230 | ||
242 | The list of available ciphers may also be obtained using the -Q | 231 | The list of available ciphers may also be obtained using "ssh -Q |
243 | option of ssh(1) with an argument of M-bM-^@M-^\cipherM-bM-^@M-^]. | 232 | cipher". |
244 | 233 | ||
245 | ClearAllForwardings | 234 | ClearAllForwardings |
246 | Specifies that all local, remote, and dynamic port forwardings | 235 | Specifies that all local, remote, and dynamic port forwardings |
@@ -248,12 +237,11 @@ DESCRIPTION | |||
248 | cleared. This option is primarily useful when used from the | 237 | cleared. This option is primarily useful when used from the |
249 | ssh(1) command line to clear port forwardings set in | 238 | ssh(1) command line to clear port forwardings set in |
250 | configuration files, and is automatically set by scp(1) and | 239 | configuration files, and is automatically set by scp(1) and |
251 | sftp(1). The argument must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is | 240 | sftp(1). The argument must be yes or no (the default). |
252 | M-bM-^@M-^\noM-bM-^@M-^]. | ||
253 | 241 | ||
254 | Compression | 242 | Compression |
255 | Specifies whether to use compression. The argument must be M-bM-^@M-^\yesM-bM-^@M-^] | 243 | Specifies whether to use compression. The argument must be yes |
256 | or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 244 | or no (the default). |
257 | 245 | ||
258 | CompressionLevel | 246 | CompressionLevel |
259 | Specifies the compression level to use if compression is enabled. | 247 | Specifies the compression level to use if compression is enabled. |
@@ -275,18 +263,18 @@ DESCRIPTION | |||
275 | 263 | ||
276 | ControlMaster | 264 | ControlMaster |
277 | Enables the sharing of multiple sessions over a single network | 265 | Enables the sharing of multiple sessions over a single network |
278 | connection. When set to M-bM-^@M-^\yesM-bM-^@M-^], ssh(1) will listen for | 266 | connection. When set to yes, ssh(1) will listen for connections |
279 | connections on a control socket specified using the ControlPath | 267 | on a control socket specified using the ControlPath argument. |
280 | argument. Additional sessions can connect to this socket using | 268 | Additional sessions can connect to this socket using the same |
281 | the same ControlPath with ControlMaster set to M-bM-^@M-^\noM-bM-^@M-^] (the | 269 | ControlPath with ControlMaster set to no (the default). These |
282 | default). These sessions will try to reuse the master instance's | 270 | sessions will try to reuse the master instance's network |
283 | network connection rather than initiating new ones, but will fall | 271 | connection rather than initiating new ones, but will fall back to |
284 | back to connecting normally if the control socket does not exist, | 272 | connecting normally if the control socket does not exist, or is |
285 | or is not listening. | 273 | not listening. |
286 | 274 | ||
287 | Setting this to M-bM-^@M-^\askM-bM-^@M-^] will cause ssh to listen for control | 275 | Setting this to ask will cause ssh(1) to listen for control |
288 | connections, but require confirmation using ssh-askpass(1). If | 276 | connections, but require confirmation using ssh-askpass(1). If |
289 | the ControlPath cannot be opened, ssh will continue without | 277 | the ControlPath cannot be opened, ssh(1) will continue without |
290 | connecting to a master instance. | 278 | connecting to a master instance. |
291 | 279 | ||
292 | X11 and ssh-agent(1) forwarding is supported over these | 280 | X11 and ssh-agent(1) forwarding is supported over these |
@@ -296,41 +284,35 @@ DESCRIPTION | |||
296 | 284 | ||
297 | Two additional options allow for opportunistic multiplexing: try | 285 | Two additional options allow for opportunistic multiplexing: try |
298 | to use a master connection but fall back to creating a new one if | 286 | to use a master connection but fall back to creating a new one if |
299 | one does not already exist. These options are: M-bM-^@M-^\autoM-bM-^@M-^] and | 287 | one does not already exist. These options are: auto and autoask. |
300 | M-bM-^@M-^\autoaskM-bM-^@M-^]. The latter requires confirmation like the M-bM-^@M-^\askM-bM-^@M-^] | 288 | The latter requires confirmation like the ask option. |
301 | option. | ||
302 | 289 | ||
303 | ControlPath | 290 | ControlPath |
304 | Specify the path to the control socket used for connection | 291 | Specify the path to the control socket used for connection |
305 | sharing as described in the ControlMaster section above or the | 292 | sharing as described in the ControlMaster section above or the |
306 | string M-bM-^@M-^\noneM-bM-^@M-^] to disable connection sharing. In the path, M-bM-^@M-^X%LM-bM-^@M-^Y | 293 | string none to disable connection sharing. Arguments to |
307 | will be substituted by the first component of the local host | 294 | ControlPath may use the tilde syntax to refer to a user's home |
308 | name, M-bM-^@M-^X%lM-bM-^@M-^Y will be substituted by the local host name (including | 295 | directory or the tokens described in the TOKENS section. It is |
309 | any domain name), M-bM-^@M-^X%hM-bM-^@M-^Y will be substituted by the target host | 296 | recommended that any ControlPath used for opportunistic |
310 | name, M-bM-^@M-^X%nM-bM-^@M-^Y will be substituted by the original target host name | 297 | connection sharing include at least %h, %p, and %r (or |
311 | specified on the command line, M-bM-^@M-^X%pM-bM-^@M-^Y the destination port, M-bM-^@M-^X%rM-bM-^@M-^Y by | 298 | alternatively %C) and be placed in a directory that is not |
312 | the remote login username, M-bM-^@M-^X%uM-bM-^@M-^Y by the username and M-bM-^@M-^X%iM-bM-^@M-^Y by the | 299 | writable by other users. This ensures that shared connections |
313 | numeric user ID (uid) of the user running ssh(1), and M-bM-^@M-^X%CM-bM-^@M-^Y by a | 300 | are uniquely identified. |
314 | hash of the concatenation: %l%h%p%r. It is recommended that any | ||
315 | ControlPath used for opportunistic connection sharing include at | ||
316 | least %h, %p, and %r (or alternatively %C) and be placed in a | ||
317 | directory that is not writable by other users. This ensures that | ||
318 | shared connections are uniquely identified. | ||
319 | 301 | ||
320 | ControlPersist | 302 | ControlPersist |
321 | When used in conjunction with ControlMaster, specifies that the | 303 | When used in conjunction with ControlMaster, specifies that the |
322 | master connection should remain open in the background (waiting | 304 | master connection should remain open in the background (waiting |
323 | for future client connections) after the initial client | 305 | for future client connections) after the initial client |
324 | connection has been closed. If set to M-bM-^@M-^\noM-bM-^@M-^], then the master | 306 | connection has been closed. If set to no, then the master |
325 | connection will not be placed into the background, and will close | 307 | connection will not be placed into the background, and will close |
326 | as soon as the initial client connection is closed. If set to | 308 | as soon as the initial client connection is closed. If set to |
327 | M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\0M-bM-^@M-^], then the master connection will remain in the | 309 | yes or 0, then the master connection will remain in the |
328 | background indefinitely (until killed or closed via a mechanism | 310 | background indefinitely (until killed or closed via a mechanism |
329 | such as the ssh(1) M-bM-^@M-^\-O exitM-bM-^@M-^] option). If set to a time in | 311 | such as the "ssh -O exit"). If set to a time in seconds, or a |
330 | seconds, or a time in any of the formats documented in | 312 | time in any of the formats documented in sshd_config(5), then the |
331 | sshd_config(5), then the backgrounded master connection will | 313 | backgrounded master connection will automatically terminate after |
332 | automatically terminate after it has remained idle (with no | 314 | it has remained idle (with no client connections) for the |
333 | client connections) for the specified time. | 315 | specified time. |
334 | 316 | ||
335 | DynamicForward | 317 | DynamicForward |
336 | Specifies that a TCP port on the local machine be forwarded over | 318 | Specifies that a TCP port on the local machine be forwarded over |
@@ -342,7 +324,7 @@ DESCRIPTION | |||
342 | the local port is bound in accordance with the GatewayPorts | 324 | the local port is bound in accordance with the GatewayPorts |
343 | setting. However, an explicit bind_address may be used to bind | 325 | setting. However, an explicit bind_address may be used to bind |
344 | the connection to a specific address. The bind_address of | 326 | the connection to a specific address. The bind_address of |
345 | M-bM-^@M-^\localhostM-bM-^@M-^] indicates that the listening port be bound for local | 327 | localhost indicates that the listening port be bound for local |
346 | use only, while an empty address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port | 328 | use only, while an empty address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port |
347 | should be available from all interfaces. | 329 | should be available from all interfaces. |
348 | 330 | ||
@@ -352,17 +334,17 @@ DESCRIPTION | |||
352 | line. Only the superuser can forward privileged ports. | 334 | line. Only the superuser can forward privileged ports. |
353 | 335 | ||
354 | EnableSSHKeysign | 336 | EnableSSHKeysign |
355 | Setting this option to M-bM-^@M-^\yesM-bM-^@M-^] in the global client configuration | 337 | Setting this option to yes in the global client configuration |
356 | file /etc/ssh/ssh_config enables the use of the helper program | 338 | file /etc/ssh/ssh_config enables the use of the helper program |
357 | ssh-keysign(8) during HostbasedAuthentication. The argument must | 339 | ssh-keysign(8) during HostbasedAuthentication. The argument must |
358 | be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\noM-bM-^@M-^]. This option should be | 340 | be yes or no (the default). This option should be placed in the |
359 | placed in the non-hostspecific section. See ssh-keysign(8) for | 341 | non-hostspecific section. See ssh-keysign(8) for more |
360 | more information. | 342 | information. |
361 | 343 | ||
362 | EscapeChar | 344 | EscapeChar |
363 | Sets the escape character (default: M-bM-^@M-^X~M-bM-^@M-^Y). The escape character | 345 | Sets the escape character (default: M-bM-^@M-^X~M-bM-^@M-^Y). The escape character |
364 | can also be set on the command line. The argument should be a | 346 | can also be set on the command line. The argument should be a |
365 | single character, M-bM-^@M-^X^M-bM-^@M-^Y followed by a letter, or M-bM-^@M-^\noneM-bM-^@M-^] to disable | 347 | single character, M-bM-^@M-^X^M-bM-^@M-^Y followed by a letter, or none to disable |
366 | the escape character entirely (making the connection transparent | 348 | the escape character entirely (making the connection transparent |
367 | for binary data). | 349 | for binary data). |
368 | 350 | ||
@@ -373,18 +355,17 @@ DESCRIPTION | |||
373 | listen on a specified port). Note that ExitOnForwardFailure does | 355 | listen on a specified port). Note that ExitOnForwardFailure does |
374 | not apply to connections made over port forwardings and will not, | 356 | not apply to connections made over port forwardings and will not, |
375 | for example, cause ssh(1) to exit if TCP connections to the | 357 | for example, cause ssh(1) to exit if TCP connections to the |
376 | ultimate forwarding destination fail. The argument must be M-bM-^@M-^\yesM-bM-^@M-^] | 358 | ultimate forwarding destination fail. The argument must be yes |
377 | or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 359 | or no (the default). |
378 | 360 | ||
379 | FingerprintHash | 361 | FingerprintHash |
380 | Specifies the hash algorithm used when displaying key | 362 | Specifies the hash algorithm used when displaying key |
381 | fingerprints. Valid options are: M-bM-^@M-^\md5M-bM-^@M-^] and M-bM-^@M-^\sha256M-bM-^@M-^]. The | 363 | fingerprints. Valid options are: md5 and sha256 (the default). |
382 | default is M-bM-^@M-^\sha256M-bM-^@M-^]. | ||
383 | 364 | ||
384 | ForwardAgent | 365 | ForwardAgent |
385 | Specifies whether the connection to the authentication agent (if | 366 | Specifies whether the connection to the authentication agent (if |
386 | any) will be forwarded to the remote machine. The argument must | 367 | any) will be forwarded to the remote machine. The argument must |
387 | be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 368 | be yes or no (the default). |
388 | 369 | ||
389 | Agent forwarding should be enabled with caution. Users with the | 370 | Agent forwarding should be enabled with caution. Users with the |
390 | ability to bypass file permissions on the remote host (for the | 371 | ability to bypass file permissions on the remote host (for the |
@@ -397,7 +378,7 @@ DESCRIPTION | |||
397 | ForwardX11 | 378 | ForwardX11 |
398 | Specifies whether X11 connections will be automatically | 379 | Specifies whether X11 connections will be automatically |
399 | redirected over the secure channel and DISPLAY set. The argument | 380 | redirected over the secure channel and DISPLAY set. The argument |
400 | must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 381 | must be yes or no (the default). |
401 | 382 | ||
402 | X11 forwarding should be enabled with caution. Users with the | 383 | X11 forwarding should be enabled with caution. Users with the |
403 | ability to bypass file permissions on the remote host (for the | 384 | ability to bypass file permissions on the remote host (for the |
@@ -414,17 +395,15 @@ DESCRIPTION | |||
414 | minutes has elapsed. | 395 | minutes has elapsed. |
415 | 396 | ||
416 | ForwardX11Trusted | 397 | ForwardX11Trusted |
417 | If this option is set to M-bM-^@M-^\yesM-bM-^@M-^], remote X11 clients will have full | 398 | If this option is set to yes, remote X11 clients will have full |
418 | access to the original X11 display. | 399 | access to the original X11 display. |
419 | 400 | ||
420 | If this option is set to M-bM-^@M-^\noM-bM-^@M-^], remote X11 clients will be | 401 | If this option is set to no (the default), remote X11 clients |
421 | considered untrusted and prevented from stealing or tampering | 402 | will be considered untrusted and prevented from stealing or |
422 | with data belonging to trusted X11 clients. Furthermore, the | 403 | tampering with data belonging to trusted X11 clients. |
423 | xauth(1) token used for the session will be set to expire after | 404 | Furthermore, the xauth(1) token used for the session will be set |
424 | 20 minutes. Remote clients will be refused access after this | 405 | to expire after 20 minutes. Remote clients will be refused |
425 | time. | 406 | access after this time. |
426 | |||
427 | The default is M-bM-^@M-^\noM-bM-^@M-^]. | ||
428 | 407 | ||
429 | See the X11 SECURITY extension specification for full details on | 408 | See the X11 SECURITY extension specification for full details on |
430 | the restrictions imposed on untrusted clients. | 409 | the restrictions imposed on untrusted clients. |
@@ -436,8 +415,7 @@ DESCRIPTION | |||
436 | connecting to forwarded ports. GatewayPorts can be used to | 415 | connecting to forwarded ports. GatewayPorts can be used to |
437 | specify that ssh should bind local port forwardings to the | 416 | specify that ssh should bind local port forwardings to the |
438 | wildcard address, thus allowing remote hosts to connect to | 417 | wildcard address, thus allowing remote hosts to connect to |
439 | forwarded ports. The argument must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The | 418 | forwarded ports. The argument must be yes or no (the default). |
440 | default is M-bM-^@M-^\noM-bM-^@M-^]. | ||
441 | 419 | ||
442 | GlobalKnownHostsFile | 420 | GlobalKnownHostsFile |
443 | Specifies one or more files to use for the global host key | 421 | Specifies one or more files to use for the global host key |
@@ -446,25 +424,24 @@ DESCRIPTION | |||
446 | 424 | ||
447 | GSSAPIAuthentication | 425 | GSSAPIAuthentication |
448 | Specifies whether user authentication based on GSSAPI is allowed. | 426 | Specifies whether user authentication based on GSSAPI is allowed. |
449 | The default is M-bM-^@M-^\noM-bM-^@M-^]. | 427 | The default is no. |
450 | 428 | ||
451 | GSSAPIDelegateCredentials | 429 | GSSAPIDelegateCredentials |
452 | Forward (delegate) credentials to the server. The default is | 430 | Forward (delegate) credentials to the server. The default is no. |
453 | M-bM-^@M-^\noM-bM-^@M-^]. | ||
454 | 431 | ||
455 | HashKnownHosts | 432 | HashKnownHosts |
456 | Indicates that ssh(1) should hash host names and addresses when | 433 | Indicates that ssh(1) should hash host names and addresses when |
457 | they are added to ~/.ssh/known_hosts. These hashed names may be | 434 | they are added to ~/.ssh/known_hosts. These hashed names may be |
458 | used normally by ssh(1) and sshd(8), but they do not reveal | 435 | used normally by ssh(1) and sshd(8), but they do not reveal |
459 | identifying information should the file's contents be disclosed. | 436 | identifying information should the file's contents be disclosed. |
460 | The default is M-bM-^@M-^\noM-bM-^@M-^]. Note that existing names and addresses in | 437 | The default is no. Note that existing names and addresses in |
461 | known hosts files will not be converted automatically, but may be | 438 | known hosts files will not be converted automatically, but may be |
462 | manually hashed using ssh-keygen(1). | 439 | manually hashed using ssh-keygen(1). |
463 | 440 | ||
464 | HostbasedAuthentication | 441 | HostbasedAuthentication |
465 | Specifies whether to try rhosts based authentication with public | 442 | Specifies whether to try rhosts based authentication with public |
466 | key authentication. The argument must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The | 443 | key authentication. The argument must be yes or no (the |
467 | default is M-bM-^@M-^\noM-bM-^@M-^]. | 444 | default). |
468 | 445 | ||
469 | HostbasedKeyTypes | 446 | HostbasedKeyTypes |
470 | Specifies the key types that will be used for hostbased | 447 | Specifies the key types that will be used for hostbased |
@@ -501,8 +478,8 @@ DESCRIPTION | |||
501 | If hostkeys are known for the destination host then this default | 478 | If hostkeys are known for the destination host then this default |
502 | is modified to prefer their algorithms. | 479 | is modified to prefer their algorithms. |
503 | 480 | ||
504 | The list of available key types may also be obtained using the -Q | 481 | The list of available key types may also be obtained using "ssh |
505 | option of ssh(1) with an argument of M-bM-^@M-^\keyM-bM-^@M-^]. | 482 | -Q key". |
506 | 483 | ||
507 | HostKeyAlias | 484 | HostKeyAlias |
508 | Specifies an alias that should be used instead of the real host | 485 | Specifies an alias that should be used instead of the real host |
@@ -512,41 +489,33 @@ DESCRIPTION | |||
512 | 489 | ||
513 | HostName | 490 | HostName |
514 | Specifies the real host name to log into. This can be used to | 491 | Specifies the real host name to log into. This can be used to |
515 | specify nicknames or abbreviations for hosts. If the hostname | 492 | specify nicknames or abbreviations for hosts. Arguments to |
516 | contains the character sequence M-bM-^@M-^X%hM-bM-^@M-^Y, then this will be replaced | 493 | HostName accept the tokens described in the TOKENS section. |
517 | with the host name specified on the command line (this is useful | 494 | Numeric IP addresses are also permitted (both on the command line |
518 | for manipulating unqualified names). The character sequence M-bM-^@M-^X%%M-bM-^@M-^Y | 495 | and in HostName specifications). The default is the name given |
519 | will be replaced by a single M-bM-^@M-^X%M-bM-^@M-^Y character, which may be used | 496 | on the command line. |
520 | when specifying IPv6 link-local addresses. | ||
521 | |||
522 | The default is the name given on the command line. Numeric IP | ||
523 | addresses are also permitted (both on the command line and in | ||
524 | HostName specifications). | ||
525 | 497 | ||
526 | IdentitiesOnly | 498 | IdentitiesOnly |
527 | Specifies that ssh(1) should only use the authentication identity | 499 | Specifies that ssh(1) should only use the authentication identity |
528 | and certificate files explicitly configured in the ssh_config | 500 | and certificate files explicitly configured in the ssh_config |
529 | files or passed on the ssh(1) command-line, even if ssh-agent(1) | 501 | files or passed on the ssh(1) command-line, even if ssh-agent(1) |
530 | or a PKCS11Provider offers more identities. The argument to this | 502 | or a PKCS11Provider offers more identities. The argument to this |
531 | keyword must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. This option is intended for | 503 | keyword must be yes or no (the default). This option is intended |
532 | situations where ssh-agent offers many different identities. The | 504 | for situations where ssh-agent offers many different identities. |
533 | default is M-bM-^@M-^\noM-bM-^@M-^]. | ||
534 | 505 | ||
535 | IdentityAgent | 506 | IdentityAgent |
536 | Specifies the UNIX-domain socket used to communicate with the | 507 | Specifies the UNIX-domain socket used to communicate with the |
537 | authentication agent. | 508 | authentication agent. |
538 | 509 | ||
539 | This option overrides the M-bM-^@M-^\SSH_AUTH_SOCKM-bM-^@M-^] environment variable | 510 | This option overrides the SSH_AUTH_SOCK environment variable and |
540 | and can be used to select a specific agent. Setting the socket | 511 | can be used to select a specific agent. Setting the socket name |
541 | name to M-bM-^@M-^\noneM-bM-^@M-^] disables the use of an authentication agent. If | 512 | to none disables the use of an authentication agent. If the |
542 | the string M-bM-^@M-^\SSH_AUTH_SOCKM-bM-^@M-^] is specified, the location of the | 513 | string "SSH_AUTH_SOCK" is specified, the location of the socket |
543 | socket will be read from the SSH_AUTH_SOCK environment variable. | 514 | will be read from the SSH_AUTH_SOCK environment variable. |
544 | 515 | ||
545 | The socket name may use the tilde syntax to refer to a user's | 516 | Arguments to IdentityAgent may use the tilde syntax to refer to a |
546 | home directory or one of the following escape characters: M-bM-^@M-^X%dM-bM-^@M-^Y | 517 | user's home directory or the tokens described in the TOKENS |
547 | (local user's home directory), M-bM-^@M-^X%uM-bM-^@M-^Y (local user name), M-bM-^@M-^X%lM-bM-^@M-^Y | 518 | section. |
548 | (local host name), M-bM-^@M-^X%hM-bM-^@M-^Y (remote host name) or M-bM-^@M-^X%rM-bM-^@M-^Y (remote user | ||
549 | name). | ||
550 | 519 | ||
551 | IdentityFile | 520 | IdentityFile |
552 | Specifies a file from which the user's DSA, ECDSA, Ed25519 or RSA | 521 | Specifies a file from which the user's DSA, ECDSA, Ed25519 or RSA |
@@ -560,10 +529,9 @@ DESCRIPTION | |||
560 | from the filename obtained by appending -cert.pub to the path of | 529 | from the filename obtained by appending -cert.pub to the path of |
561 | a specified IdentityFile. | 530 | a specified IdentityFile. |
562 | 531 | ||
563 | The file name may use the tilde syntax to refer to a user's home | 532 | Arguments to IdentityFile may use the tilde syntax to refer to a |
564 | directory or one of the following escape characters: M-bM-^@M-^X%dM-bM-^@M-^Y (local | 533 | user's home directory or the tokens described in the TOKENS |
565 | user's home directory), M-bM-^@M-^X%uM-bM-^@M-^Y (local user name), M-bM-^@M-^X%lM-bM-^@M-^Y (local host | 534 | section. |
566 | name), M-bM-^@M-^X%hM-bM-^@M-^Y (remote host name) or M-bM-^@M-^X%rM-bM-^@M-^Y (remote user name). | ||
567 | 535 | ||
568 | It is possible to have multiple identity files specified in | 536 | It is possible to have multiple identity files specified in |
569 | configuration files; all these identities will be tried in | 537 | configuration files; all these identities will be tried in |
@@ -588,7 +556,7 @@ DESCRIPTION | |||
588 | Include | 556 | Include |
589 | Include the specified configuration file(s). Multiple pathnames | 557 | Include the specified configuration file(s). Multiple pathnames |
590 | may be specified and each pathname may contain glob(3) wildcards | 558 | may be specified and each pathname may contain glob(3) wildcards |
591 | and, for user configurations, shell-like M-bM-^@M-^\~M-bM-^@M-^] references to user | 559 | and, for user configurations, shell-like M-bM-^@M-^X~M-bM-^@M-^Y references to user |
592 | home directories. Files without absolute paths are assumed to be | 560 | home directories. Files without absolute paths are assumed to be |
593 | in ~/.ssh if included in a user configuration file or /etc/ssh if | 561 | in ~/.ssh if included in a user configuration file or /etc/ssh if |
594 | included from the system configuration file. Include directive | 562 | included from the system configuration file. Include directive |
@@ -596,30 +564,27 @@ DESCRIPTION | |||
596 | inclusion. | 564 | inclusion. |
597 | 565 | ||
598 | IPQoS Specifies the IPv4 type-of-service or DSCP class for connections. | 566 | IPQoS Specifies the IPv4 type-of-service or DSCP class for connections. |
599 | Accepted values are M-bM-^@M-^\af11M-bM-^@M-^], M-bM-^@M-^\af12M-bM-^@M-^], M-bM-^@M-^\af13M-bM-^@M-^], M-bM-^@M-^\af21M-bM-^@M-^], M-bM-^@M-^\af22M-bM-^@M-^], | 567 | Accepted values are af11, af12, af13, af21, af22, af23, af31, |
600 | M-bM-^@M-^\af23M-bM-^@M-^], M-bM-^@M-^\af31M-bM-^@M-^], M-bM-^@M-^\af32M-bM-^@M-^], M-bM-^@M-^\af33M-bM-^@M-^], M-bM-^@M-^\af41M-bM-^@M-^], M-bM-^@M-^\af42M-bM-^@M-^], M-bM-^@M-^\af43M-bM-^@M-^], M-bM-^@M-^\cs0M-bM-^@M-^], | 568 | af32, af33, af41, af42, af43, cs0, cs1, cs2, cs3, cs4, cs5, cs6, |
601 | M-bM-^@M-^\cs1M-bM-^@M-^], M-bM-^@M-^\cs2M-bM-^@M-^], M-bM-^@M-^\cs3M-bM-^@M-^], M-bM-^@M-^\cs4M-bM-^@M-^], M-bM-^@M-^\cs5M-bM-^@M-^], M-bM-^@M-^\cs6M-bM-^@M-^], M-bM-^@M-^\cs7M-bM-^@M-^], M-bM-^@M-^\efM-bM-^@M-^], | 569 | cs7, ef, lowdelay, throughput, reliability, or a numeric value. |
602 | M-bM-^@M-^\lowdelayM-bM-^@M-^], M-bM-^@M-^\throughputM-bM-^@M-^], M-bM-^@M-^\reliabilityM-bM-^@M-^], or a numeric value. | ||
603 | This option may take one or two arguments, separated by | 570 | This option may take one or two arguments, separated by |
604 | whitespace. If one argument is specified, it is used as the | 571 | whitespace. If one argument is specified, it is used as the |
605 | packet class unconditionally. If two values are specified, the | 572 | packet class unconditionally. If two values are specified, the |
606 | first is automatically selected for interactive sessions and the | 573 | first is automatically selected for interactive sessions and the |
607 | second for non-interactive sessions. The default is M-bM-^@M-^\lowdelayM-bM-^@M-^] | 574 | second for non-interactive sessions. The default is lowdelay for |
608 | for interactive sessions and M-bM-^@M-^\throughputM-bM-^@M-^] for non-interactive | 575 | interactive sessions and throughput for non-interactive sessions. |
609 | sessions. | ||
610 | 576 | ||
611 | KbdInteractiveAuthentication | 577 | KbdInteractiveAuthentication |
612 | Specifies whether to use keyboard-interactive authentication. | 578 | Specifies whether to use keyboard-interactive authentication. |
613 | The argument to this keyword must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default | 579 | The argument to this keyword must be yes (the default) or no. |
614 | is M-bM-^@M-^\yesM-bM-^@M-^]. | ||
615 | 580 | ||
616 | KbdInteractiveDevices | 581 | KbdInteractiveDevices |
617 | Specifies the list of methods to use in keyboard-interactive | 582 | Specifies the list of methods to use in keyboard-interactive |
618 | authentication. Multiple method names must be comma-separated. | 583 | authentication. Multiple method names must be comma-separated. |
619 | The default is to use the server specified list. The methods | 584 | The default is to use the server specified list. The methods |
620 | available vary depending on what the server supports. For an | 585 | available vary depending on what the server supports. For an |
621 | OpenSSH server, it may be zero or more of: M-bM-^@M-^\bsdauthM-bM-^@M-^], M-bM-^@M-^\pamM-bM-^@M-^], and | 586 | OpenSSH server, it may be zero or more of: bsdauth, pam, and |
622 | M-bM-^@M-^\skeyM-bM-^@M-^]. | 587 | skey. |
623 | 588 | ||
624 | KexAlgorithms | 589 | KexAlgorithms |
625 | Specifies the available KEX (Key Exchange) algorithms. Multiple | 590 | Specifies the available KEX (Key Exchange) algorithms. Multiple |
@@ -628,25 +593,21 @@ DESCRIPTION | |||
628 | will be appended to the default set instead of replacing them. | 593 | will be appended to the default set instead of replacing them. |
629 | The default is: | 594 | The default is: |
630 | 595 | ||
631 | curve25519-sha256@libssh.org, | 596 | curve25519-sha256,curve25519-sha256@libssh.org, |
632 | ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, | 597 | ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, |
633 | diffie-hellman-group-exchange-sha256, | 598 | diffie-hellman-group-exchange-sha256, |
634 | diffie-hellman-group-exchange-sha1, | 599 | diffie-hellman-group-exchange-sha1, |
635 | diffie-hellman-group14-sha1 | 600 | diffie-hellman-group14-sha1 |
636 | 601 | ||
637 | The list of available key exchange algorithms may also be | 602 | The list of available key exchange algorithms may also be |
638 | obtained using the -Q option of ssh(1) with an argument of M-bM-^@M-^\kexM-bM-^@M-^]. | 603 | obtained using "ssh -Q kex". |
639 | 604 | ||
640 | LocalCommand | 605 | LocalCommand |
641 | Specifies a command to execute on the local machine after | 606 | Specifies a command to execute on the local machine after |
642 | successfully connecting to the server. The command string | 607 | successfully connecting to the server. The command string |
643 | extends to the end of the line, and is executed with the user's | 608 | extends to the end of the line, and is executed with the user's |
644 | shell. The following escape character substitutions will be | 609 | shell. Arguments to LocalCommand accept the tokens described in |
645 | performed: M-bM-^@M-^X%dM-bM-^@M-^Y (local user's home directory), M-bM-^@M-^X%hM-bM-^@M-^Y (remote host | 610 | the TOKENS section. |
646 | name), M-bM-^@M-^X%lM-bM-^@M-^Y (local host name), M-bM-^@M-^X%nM-bM-^@M-^Y (host name as provided on the | ||
647 | command line), M-bM-^@M-^X%pM-bM-^@M-^Y (remote port), M-bM-^@M-^X%rM-bM-^@M-^Y (remote user name) or | ||
648 | M-bM-^@M-^X%uM-bM-^@M-^Y (local user name) or M-bM-^@M-^X%CM-bM-^@M-^Y by a hash of the concatenation: | ||
649 | %l%h%p%r. | ||
650 | 611 | ||
651 | The command is run synchronously and does not have access to the | 612 | The command is run synchronously and does not have access to the |
652 | session of the ssh(1) that spawned it. It should not be used for | 613 | session of the ssh(1) that spawned it. It should not be used for |
@@ -666,7 +627,7 @@ DESCRIPTION | |||
666 | privileged ports. By default, the local port is bound in | 627 | privileged ports. By default, the local port is bound in |
667 | accordance with the GatewayPorts setting. However, an explicit | 628 | accordance with the GatewayPorts setting. However, an explicit |
668 | bind_address may be used to bind the connection to a specific | 629 | bind_address may be used to bind the connection to a specific |
669 | address. The bind_address of M-bM-^@M-^\localhostM-bM-^@M-^] indicates that the | 630 | address. The bind_address of localhost indicates that the |
670 | listening port be bound for local use only, while an empty | 631 | listening port be bound for local use only, while an empty |
671 | address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port should be available from | 632 | address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port should be available from |
672 | all interfaces. | 633 | all interfaces. |
@@ -685,7 +646,7 @@ DESCRIPTION | |||
685 | then the specified algorithms will be appended to the default set | 646 | then the specified algorithms will be appended to the default set |
686 | instead of replacing them. | 647 | instead of replacing them. |
687 | 648 | ||
688 | The algorithms that contain M-bM-^@M-^\-etmM-bM-^@M-^] calculate the MAC after | 649 | The algorithms that contain "-etm" calculate the MAC after |
689 | encryption (encrypt-then-mac). These are considered safer and | 650 | encryption (encrypt-then-mac). These are considered safer and |
690 | their use recommended. | 651 | their use recommended. |
691 | 652 | ||
@@ -698,7 +659,7 @@ DESCRIPTION | |||
698 | hmac-sha2-256,hmac-sha2-512,hmac-sha1 | 659 | hmac-sha2-256,hmac-sha2-512,hmac-sha1 |
699 | 660 | ||
700 | The list of available MAC algorithms may also be obtained using | 661 | The list of available MAC algorithms may also be obtained using |
701 | the -Q option of ssh(1) with an argument of M-bM-^@M-^\macM-bM-^@M-^]. | 662 | "ssh -Q mac". |
702 | 663 | ||
703 | NoHostAuthenticationForLocalhost | 664 | NoHostAuthenticationForLocalhost |
704 | This option can be used if the home directory is shared across | 665 | This option can be used if the home directory is shared across |
@@ -706,8 +667,7 @@ DESCRIPTION | |||
706 | machine on each of the machines and the user will get many | 667 | machine on each of the machines and the user will get many |
707 | warnings about changed host keys. However, this option disables | 668 | warnings about changed host keys. However, this option disables |
708 | host authentication for localhost. The argument to this keyword | 669 | host authentication for localhost. The argument to this keyword |
709 | must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is to check the host key for | 670 | must be yes or no. (the default). |
710 | localhost. | ||
711 | 671 | ||
712 | NumberOfPasswordPrompts | 672 | NumberOfPasswordPrompts |
713 | Specifies the number of password prompts before giving up. The | 673 | Specifies the number of password prompts before giving up. The |
@@ -715,12 +675,12 @@ DESCRIPTION | |||
715 | 675 | ||
716 | PasswordAuthentication | 676 | PasswordAuthentication |
717 | Specifies whether to use password authentication. The argument | 677 | Specifies whether to use password authentication. The argument |
718 | to this keyword must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\yesM-bM-^@M-^]. | 678 | to this keyword must be yes (the default) or no. |
719 | 679 | ||
720 | PermitLocalCommand | 680 | PermitLocalCommand |
721 | Allow local command execution via the LocalCommand option or | 681 | Allow local command execution via the LocalCommand option or |
722 | using the !command escape sequence in ssh(1). The argument must | 682 | using the !command escape sequence in ssh(1). The argument must |
723 | be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 683 | be yes or no (the default). |
724 | 684 | ||
725 | PKCS11Provider | 685 | PKCS11Provider |
726 | Specifies which PKCS#11 provider to use. The argument to this | 686 | Specifies which PKCS#11 provider to use. The argument to this |
@@ -742,12 +702,12 @@ DESCRIPTION | |||
742 | 702 | ||
743 | Protocol | 703 | Protocol |
744 | Specifies the protocol versions ssh(1) should support in order of | 704 | Specifies the protocol versions ssh(1) should support in order of |
745 | preference. The possible values are M-bM-^@M-^X1M-bM-^@M-^Y and M-bM-^@M-^X2M-bM-^@M-^Y. Multiple | 705 | preference. The possible values are 1 and 2. Multiple versions |
746 | versions must be comma-separated. When this option is set to | 706 | must be comma-separated. When this option is set to 2,1 ssh will |
747 | M-bM-^@M-^\2,1M-bM-^@M-^] ssh will try version 2 and fall back to version 1 if | 707 | try version 2 and fall back to version 1 if version 2 is not |
748 | version 2 is not available. The default is M-bM-^@M-^X2M-bM-^@M-^Y. Protocol 1 | 708 | available. The default is version 2. Protocol 1 suffers from a |
749 | suffers from a number of cryptographic weaknesses and should not | 709 | number of cryptographic weaknesses and should not be used. It is |
750 | be used. It is only offered to support legacy devices. | 710 | only offered to support legacy devices. |
751 | 711 | ||
752 | ProxyCommand | 712 | ProxyCommand |
753 | Specifies the command to use to connect to the server. The | 713 | Specifies the command to use to connect to the server. The |
@@ -755,15 +715,14 @@ DESCRIPTION | |||
755 | using the user's shell M-bM-^@M-^XexecM-bM-^@M-^Y directive to avoid a lingering | 715 | using the user's shell M-bM-^@M-^XexecM-bM-^@M-^Y directive to avoid a lingering |
756 | shell process. | 716 | shell process. |
757 | 717 | ||
758 | In the command string, any occurrence of M-bM-^@M-^X%hM-bM-^@M-^Y will be substituted | 718 | Arguments to ProxyCommand accept the tokens described in the |
759 | by the host name to connect, M-bM-^@M-^X%pM-bM-^@M-^Y by the port, and M-bM-^@M-^X%rM-bM-^@M-^Y by the | 719 | TOKENS section. The command can be basically anything, and |
760 | remote user name. The command can be basically anything, and | ||
761 | should read from its standard input and write to its standard | 720 | should read from its standard input and write to its standard |
762 | output. It should eventually connect an sshd(8) server running | 721 | output. It should eventually connect an sshd(8) server running |
763 | on some machine, or execute sshd -i somewhere. Host key | 722 | on some machine, or execute sshd -i somewhere. Host key |
764 | management will be done using the HostName of the host being | 723 | management will be done using the HostName of the host being |
765 | connected (defaulting to the name typed by the user). Setting | 724 | connected (defaulting to the name typed by the user). Setting |
766 | the command to M-bM-^@M-^\noneM-bM-^@M-^] disables this option entirely. Note that | 725 | the command to none disables this option entirely. Note that |
767 | CheckHostIP is not available for connects with a proxy command. | 726 | CheckHostIP is not available for connects with a proxy command. |
768 | 727 | ||
769 | This directive is useful in conjunction with nc(1) and its proxy | 728 | This directive is useful in conjunction with nc(1) and its proxy |
@@ -787,7 +746,7 @@ DESCRIPTION | |||
787 | ProxyUseFdpass | 746 | ProxyUseFdpass |
788 | Specifies that ProxyCommand will pass a connected file descriptor | 747 | Specifies that ProxyCommand will pass a connected file descriptor |
789 | back to ssh(1) instead of continuing to execute and pass data. | 748 | back to ssh(1) instead of continuing to execute and pass data. |
790 | The default is M-bM-^@M-^\noM-bM-^@M-^]. | 749 | The default is no. |
791 | 750 | ||
792 | PubkeyAcceptedKeyTypes | 751 | PubkeyAcceptedKeyTypes |
793 | Specifies the key types that will be used for public key | 752 | Specifies the key types that will be used for public key |
@@ -804,11 +763,12 @@ DESCRIPTION | |||
804 | ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, | 763 | ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, |
805 | ssh-ed25519,ssh-rsa | 764 | ssh-ed25519,ssh-rsa |
806 | 765 | ||
807 | The -Q option of ssh(1) may be used to list supported key types. | 766 | The list of available key types may also be obtained using "ssh |
767 | -Q key". | ||
808 | 768 | ||
809 | PubkeyAuthentication | 769 | PubkeyAuthentication |
810 | Specifies whether to try public key authentication. The argument | 770 | Specifies whether to try public key authentication. The argument |
811 | to this keyword must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\yesM-bM-^@M-^]. | 771 | to this keyword must be yes (the default) or no. |
812 | 772 | ||
813 | RekeyLimit | 773 | RekeyLimit |
814 | Specifies the maximum amount of data that may be transmitted | 774 | Specifies the maximum amount of data that may be transmitted |
@@ -820,7 +780,7 @@ DESCRIPTION | |||
820 | M-bM-^@M-^X1GM-bM-^@M-^Y and M-bM-^@M-^X4GM-bM-^@M-^Y, depending on the cipher. The optional second | 780 | M-bM-^@M-^X1GM-bM-^@M-^Y and M-bM-^@M-^X4GM-bM-^@M-^Y, depending on the cipher. The optional second |
821 | value is specified in seconds and may use any of the units | 781 | value is specified in seconds and may use any of the units |
822 | documented in the TIME FORMATS section of sshd_config(5). The | 782 | documented in the TIME FORMATS section of sshd_config(5). The |
823 | default value for RekeyLimit is M-bM-^@M-^\default noneM-bM-^@M-^], which means that | 783 | default value for RekeyLimit is default none, which means that |
824 | rekeying is performed after the cipher's default amount of data | 784 | rekeying is performed after the cipher's default amount of data |
825 | has been sent or received and no time based rekeying is done. | 785 | has been sent or received and no time based rekeying is done. |
826 | 786 | ||
@@ -834,7 +794,7 @@ DESCRIPTION | |||
834 | given on the command line. Privileged ports can be forwarded | 794 | given on the command line. Privileged ports can be forwarded |
835 | only when logging in as root on the remote machine. | 795 | only when logging in as root on the remote machine. |
836 | 796 | ||
837 | If the port argument is M-bM-^@M-^X0M-bM-^@M-^Y, the listen port will be dynamically | 797 | If the port argument is 0, the listen port will be dynamically |
838 | allocated on the server and reported to the client at run time. | 798 | allocated on the server and reported to the client at run time. |
839 | 799 | ||
840 | If the bind_address is not specified, the default is to only bind | 800 | If the bind_address is not specified, the default is to only bind |
@@ -846,9 +806,9 @@ DESCRIPTION | |||
846 | 806 | ||
847 | RequestTTY | 807 | RequestTTY |
848 | Specifies whether to request a pseudo-tty for the session. The | 808 | Specifies whether to request a pseudo-tty for the session. The |
849 | argument may be one of: M-bM-^@M-^\noM-bM-^@M-^] (never request a TTY), M-bM-^@M-^\yesM-bM-^@M-^] (always | 809 | argument may be one of: no (never request a TTY), yes (always |
850 | request a TTY when standard input is a TTY), M-bM-^@M-^\forceM-bM-^@M-^] (always | 810 | request a TTY when standard input is a TTY), force (always |
851 | request a TTY) or M-bM-^@M-^\autoM-bM-^@M-^] (request a TTY when opening a login | 811 | request a TTY) or auto (request a TTY when opening a login |
852 | session). This option mirrors the -t and -T flags for ssh(1). | 812 | session). This option mirrors the -t and -T flags for ssh(1). |
853 | 813 | ||
854 | RevokedHostKeys | 814 | RevokedHostKeys |
@@ -862,16 +822,16 @@ DESCRIPTION | |||
862 | 822 | ||
863 | RhostsRSAAuthentication | 823 | RhostsRSAAuthentication |
864 | Specifies whether to try rhosts based authentication with RSA | 824 | Specifies whether to try rhosts based authentication with RSA |
865 | host authentication. The argument must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The | 825 | host authentication. The argument must be yes or no (the |
866 | default is M-bM-^@M-^\noM-bM-^@M-^]. This option applies to protocol version 1 only | 826 | default). This option applies to protocol version 1 only and |
867 | and requires ssh(1) to be setuid root. | 827 | requires ssh(1) to be setuid root. |
868 | 828 | ||
869 | RSAAuthentication | 829 | RSAAuthentication |
870 | Specifies whether to try RSA authentication. The argument to | 830 | Specifies whether to try RSA authentication. The argument to |
871 | this keyword must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. RSA authentication will only | 831 | this keyword must be yes (the default) or no. RSA authentication |
872 | be attempted if the identity file exists, or an authentication | 832 | will only be attempted if the identity file exists, or an |
873 | agent is running. The default is M-bM-^@M-^\yesM-bM-^@M-^]. Note that this option | 833 | authentication agent is running. Note that this option applies |
874 | applies to protocol version 1 only. | 834 | to protocol version 1 only. |
875 | 835 | ||
876 | SendEnv | 836 | SendEnv |
877 | Specifies what variables from the local environ(7) should be sent | 837 | Specifies what variables from the local environ(7) should be sent |
@@ -932,24 +892,23 @@ DESCRIPTION | |||
932 | domain socket file. This option is only used for port forwarding | 892 | domain socket file. This option is only used for port forwarding |
933 | to a Unix-domain socket file. | 893 | to a Unix-domain socket file. |
934 | 894 | ||
935 | The argument must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 895 | The argument must be yes or no (the default). |
936 | 896 | ||
937 | StrictHostKeyChecking | 897 | StrictHostKeyChecking |
938 | If this flag is set to M-bM-^@M-^\yesM-bM-^@M-^], ssh(1) will never automatically add | 898 | If this flag is set to yes, ssh(1) will never automatically add |
939 | host keys to the ~/.ssh/known_hosts file, and refuses to connect | 899 | host keys to the ~/.ssh/known_hosts file, and refuses to connect |
940 | to hosts whose host key has changed. This provides maximum | 900 | to hosts whose host key has changed. This provides maximum |
941 | protection against trojan horse attacks, though it can be | 901 | protection against trojan horse attacks, though it can be |
942 | annoying when the /etc/ssh/ssh_known_hosts file is poorly | 902 | annoying when the /etc/ssh/ssh_known_hosts file is poorly |
943 | maintained or when connections to new hosts are frequently made. | 903 | maintained or when connections to new hosts are frequently made. |
944 | This option forces the user to manually add all new hosts. If | 904 | This option forces the user to manually add all new hosts. If |
945 | this flag is set to M-bM-^@M-^\noM-bM-^@M-^], ssh will automatically add new host | 905 | this flag is set to no, ssh will automatically add new host keys |
946 | keys to the user known hosts files. If this flag is set to | 906 | to the user known hosts files. If this flag is set to ask (the |
947 | M-bM-^@M-^\askM-bM-^@M-^], new host keys will be added to the user known host files | 907 | default), new host keys will be added to the user known host |
948 | only after the user has confirmed that is what they really want | 908 | files only after the user has confirmed that is what they really |
949 | to do, and ssh will refuse to connect to hosts whose host key has | 909 | want to do, and ssh will refuse to connect to hosts whose host |
950 | changed. The host keys of known hosts will be verified | 910 | key has changed. The host keys of known hosts will be verified |
951 | automatically in all cases. The argument must be M-bM-^@M-^\yesM-bM-^@M-^], M-bM-^@M-^\noM-bM-^@M-^], or | 911 | automatically in all cases. |
952 | M-bM-^@M-^\askM-bM-^@M-^]. The default is M-bM-^@M-^\askM-bM-^@M-^]. | ||
953 | 912 | ||
954 | TCPKeepAlive | 913 | TCPKeepAlive |
955 | Specifies whether the system should send TCP keepalive messages | 914 | Specifies whether the system should send TCP keepalive messages |
@@ -958,53 +917,50 @@ DESCRIPTION | |||
958 | this means that connections will die if the route is down | 917 | this means that connections will die if the route is down |
959 | temporarily, and some people find it annoying. | 918 | temporarily, and some people find it annoying. |
960 | 919 | ||
961 | The default is M-bM-^@M-^\yesM-bM-^@M-^] (to send TCP keepalive messages), and the | 920 | The default is yes (to send TCP keepalive messages), and the |
962 | client will notice if the network goes down or the remote host | 921 | client will notice if the network goes down or the remote host |
963 | dies. This is important in scripts, and many users want it too. | 922 | dies. This is important in scripts, and many users want it too. |
964 | 923 | ||
965 | To disable TCP keepalive messages, the value should be set to | 924 | To disable TCP keepalive messages, the value should be set to no. |
966 | M-bM-^@M-^\noM-bM-^@M-^]. | ||
967 | 925 | ||
968 | Tunnel Request tun(4) device forwarding between the client and the | 926 | Tunnel Request tun(4) device forwarding between the client and the |
969 | server. The argument must be M-bM-^@M-^\yesM-bM-^@M-^], M-bM-^@M-^\point-to-pointM-bM-^@M-^] (layer 3), | 927 | server. The argument must be yes, point-to-point (layer 3), |
970 | M-bM-^@M-^\ethernetM-bM-^@M-^] (layer 2), or M-bM-^@M-^\noM-bM-^@M-^]. Specifying M-bM-^@M-^\yesM-bM-^@M-^] requests the | 928 | ethernet (layer 2), or no (the default). Specifying yes requests |
971 | default tunnel mode, which is M-bM-^@M-^\point-to-pointM-bM-^@M-^]. The default is | 929 | the default tunnel mode, which is point-to-point. |
972 | M-bM-^@M-^\noM-bM-^@M-^]. | ||
973 | 930 | ||
974 | TunnelDevice | 931 | TunnelDevice |
975 | Specifies the tun(4) devices to open on the client (local_tun) | 932 | Specifies the tun(4) devices to open on the client (local_tun) |
976 | and the server (remote_tun). | 933 | and the server (remote_tun). |
977 | 934 | ||
978 | The argument must be local_tun[:remote_tun]. The devices may be | 935 | The argument must be local_tun[:remote_tun]. The devices may be |
979 | specified by numerical ID or the keyword M-bM-^@M-^\anyM-bM-^@M-^], which uses the | 936 | specified by numerical ID or the keyword any, which uses the next |
980 | next available tunnel device. If remote_tun is not specified, it | 937 | available tunnel device. If remote_tun is not specified, it |
981 | defaults to M-bM-^@M-^\anyM-bM-^@M-^]. The default is M-bM-^@M-^\any:anyM-bM-^@M-^]. | 938 | defaults to any. The default is any:any. |
982 | 939 | ||
983 | UpdateHostKeys | 940 | UpdateHostKeys |
984 | Specifies whether ssh(1) should accept notifications of | 941 | Specifies whether ssh(1) should accept notifications of |
985 | additional hostkeys from the server sent after authentication has | 942 | additional hostkeys from the server sent after authentication has |
986 | completed and add them to UserKnownHostsFile. The argument must | 943 | completed and add them to UserKnownHostsFile. The argument must |
987 | be M-bM-^@M-^\yesM-bM-^@M-^], M-bM-^@M-^\noM-bM-^@M-^] (the default) or M-bM-^@M-^\askM-bM-^@M-^]. Enabling this option | 944 | be yes, no (the default) or ask. Enabling this option allows |
988 | allows learning alternate hostkeys for a server and supports | 945 | learning alternate hostkeys for a server and supports graceful |
989 | graceful key rotation by allowing a server to send replacement | 946 | key rotation by allowing a server to send replacement public keys |
990 | public keys before old ones are removed. Additional hostkeys are | 947 | before old ones are removed. Additional hostkeys are only |
991 | only accepted if the key used to authenticate the host was | 948 | accepted if the key used to authenticate the host was already |
992 | already trusted or explicitly accepted by the user. If | 949 | trusted or explicitly accepted by the user. If UpdateHostKeys is |
993 | UpdateHostKeys is set to M-bM-^@M-^\askM-bM-^@M-^], then the user is asked to confirm | 950 | set to ask, then the user is asked to confirm the modifications |
994 | the modifications to the known_hosts file. Confirmation is | 951 | to the known_hosts file. Confirmation is currently incompatible |
995 | currently incompatible with ControlPersist, and will be disabled | 952 | with ControlPersist, and will be disabled if it is enabled. |
996 | if it is enabled. | ||
997 | 953 | ||
998 | Presently, only sshd(8) from OpenSSH 6.8 and greater support the | 954 | Presently, only sshd(8) from OpenSSH 6.8 and greater support the |
999 | M-bM-^@M-^\hostkeys@openssh.comM-bM-^@M-^] protocol extension used to inform the | 955 | "hostkeys@openssh.com" protocol extension used to inform the |
1000 | client of all the server's hostkeys. | 956 | client of all the server's hostkeys. |
1001 | 957 | ||
1002 | UsePrivilegedPort | 958 | UsePrivilegedPort |
1003 | Specifies whether to use a privileged port for outgoing | 959 | Specifies whether to use a privileged port for outgoing |
1004 | connections. The argument must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is | 960 | connections. The argument must be yes or no (the default). If |
1005 | M-bM-^@M-^\noM-bM-^@M-^]. If set to M-bM-^@M-^\yesM-bM-^@M-^], ssh(1) must be setuid root. Note that | 961 | set to yes, ssh(1) must be setuid root. Note that this option |
1006 | this option must be set to M-bM-^@M-^\yesM-bM-^@M-^] for RhostsRSAAuthentication with | 962 | must be set to yes for RhostsRSAAuthentication with older |
1007 | older servers. | 963 | servers. |
1008 | 964 | ||
1009 | User Specifies the user to log in as. This can be useful when a | 965 | User Specifies the user to log in as. This can be useful when a |
1010 | different user name is used on different machines. This saves | 966 | different user name is used on different machines. This saves |
@@ -1018,24 +974,23 @@ DESCRIPTION | |||
1018 | 974 | ||
1019 | VerifyHostKeyDNS | 975 | VerifyHostKeyDNS |
1020 | Specifies whether to verify the remote key using DNS and SSHFP | 976 | Specifies whether to verify the remote key using DNS and SSHFP |
1021 | resource records. If this option is set to M-bM-^@M-^\yesM-bM-^@M-^], the client | 977 | resource records. If this option is set to yes, the client will |
1022 | will implicitly trust keys that match a secure fingerprint from | 978 | implicitly trust keys that match a secure fingerprint from DNS. |
1023 | DNS. Insecure fingerprints will be handled as if this option was | 979 | Insecure fingerprints will be handled as if this option was set |
1024 | set to M-bM-^@M-^\askM-bM-^@M-^]. If this option is set to M-bM-^@M-^\askM-bM-^@M-^], information on | 980 | to ask. If this option is set to ask, information on fingerprint |
1025 | fingerprint match will be displayed, but the user will still need | 981 | match will be displayed, but the user will still need to confirm |
1026 | to confirm new host keys according to the StrictHostKeyChecking | 982 | new host keys according to the StrictHostKeyChecking option. The |
1027 | option. The argument must be M-bM-^@M-^\yesM-bM-^@M-^], M-bM-^@M-^\noM-bM-^@M-^], or M-bM-^@M-^\askM-bM-^@M-^]. The default | 983 | default is no. |
1028 | is M-bM-^@M-^\noM-bM-^@M-^]. | ||
1029 | 984 | ||
1030 | See also VERIFYING HOST KEYS in ssh(1). | 985 | See also VERIFYING HOST KEYS in ssh(1). |
1031 | 986 | ||
1032 | VisualHostKey | 987 | VisualHostKey |
1033 | If this flag is set to M-bM-^@M-^\yesM-bM-^@M-^], an ASCII art representation of the | 988 | If this flag is set to yes, an ASCII art representation of the |
1034 | remote host key fingerprint is printed in addition to the | 989 | remote host key fingerprint is printed in addition to the |
1035 | fingerprint string at login and for unknown host keys. If this | 990 | fingerprint string at login and for unknown host keys. If this |
1036 | flag is set to M-bM-^@M-^\noM-bM-^@M-^], no fingerprint strings are printed at login | 991 | flag is set to no (the default), no fingerprint strings are |
1037 | and only the fingerprint string will be printed for unknown host | 992 | printed at login and only the fingerprint string will be printed |
1038 | keys. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 993 | for unknown host keys. |
1039 | 994 | ||
1040 | XAuthLocation | 995 | XAuthLocation |
1041 | Specifies the full pathname of the xauth(1) program. The default | 996 | Specifies the full pathname of the xauth(1) program. The default |
@@ -1045,7 +1000,7 @@ PATTERNS | |||
1045 | A pattern consists of zero or more non-whitespace characters, M-bM-^@M-^X*M-bM-^@M-^Y (a | 1000 | A pattern consists of zero or more non-whitespace characters, M-bM-^@M-^X*M-bM-^@M-^Y (a |
1046 | wildcard that matches zero or more characters), or M-bM-^@M-^X?M-bM-^@M-^Y (a wildcard that | 1001 | wildcard that matches zero or more characters), or M-bM-^@M-^X?M-bM-^@M-^Y (a wildcard that |
1047 | matches exactly one character). For example, to specify a set of | 1002 | matches exactly one character). For example, to specify a set of |
1048 | declarations for any host in the M-bM-^@M-^\.co.ukM-bM-^@M-^] set of domains, the following | 1003 | declarations for any host in the ".co.uk" set of domains, the following |
1049 | pattern could be used: | 1004 | pattern could be used: |
1050 | 1005 | ||
1051 | Host *.co.uk | 1006 | Host *.co.uk |
@@ -1058,11 +1013,43 @@ PATTERNS | |||
1058 | A pattern-list is a comma-separated list of patterns. Patterns within | 1013 | A pattern-list is a comma-separated list of patterns. Patterns within |
1059 | pattern-lists may be negated by preceding them with an exclamation mark | 1014 | pattern-lists may be negated by preceding them with an exclamation mark |
1060 | (M-bM-^@M-^X!M-bM-^@M-^Y). For example, to allow a key to be used from anywhere within an | 1015 | (M-bM-^@M-^X!M-bM-^@M-^Y). For example, to allow a key to be used from anywhere within an |
1061 | organization except from the M-bM-^@M-^\dialupM-bM-^@M-^] pool, the following entry (in | 1016 | organization except from the "dialup" pool, the following entry (in |
1062 | authorized_keys) could be used: | 1017 | authorized_keys) could be used: |
1063 | 1018 | ||
1064 | from="!*.dialup.example.com,*.example.com" | 1019 | from="!*.dialup.example.com,*.example.com" |
1065 | 1020 | ||
1021 | TOKENS | ||
1022 | Arguments to some keywords can make use of tokens, which are expanded at | ||
1023 | runtime: | ||
1024 | |||
1025 | %% A literal M-bM-^@M-^X%M-bM-^@M-^Y. | ||
1026 | %C Shorthand for %l%h%p%r. | ||
1027 | %d Local user's home directory. | ||
1028 | %h The remote hostname. | ||
1029 | %i The local user ID. | ||
1030 | %L The local hostname. | ||
1031 | %l The local hostname, including the domain name. | ||
1032 | %n The original remote hostname, as given on the command line. | ||
1033 | %p The remote port. | ||
1034 | %r The remote username. | ||
1035 | %u The local username. | ||
1036 | |||
1037 | Match exec accepts the tokens %%, %h, %L, %l, %n, %p, %r, and %u. | ||
1038 | |||
1039 | CertificateFile accepts the tokens %%, %d, %h, %l, %r, and %u. | ||
1040 | |||
1041 | ControlPath accepts the tokens %%, %C, %h, %i, %L, %l, %n, %p, %r, and | ||
1042 | %u. | ||
1043 | |||
1044 | HostName accepts the tokens %% and %h. | ||
1045 | |||
1046 | IdentityAgent and IdentityFile accept the tokens %%, %d, %h, %l, %r, and | ||
1047 | %u. | ||
1048 | |||
1049 | LocalCommand accepts the tokens %%, %C, %d, %h, %l, %n, %p, %r, and %u. | ||
1050 | |||
1051 | ProxyCommand accepts the tokens %%, %h, %p, and %r. | ||
1052 | |||
1066 | FILES | 1053 | FILES |
1067 | ~/.ssh/config | 1054 | ~/.ssh/config |
1068 | This is the per-user configuration file. The format of this file | 1055 | This is the per-user configuration file. The format of this file |
@@ -1087,4 +1074,4 @@ AUTHORS | |||
1087 | created OpenSSH. Markus Friedl contributed the support for SSH protocol | 1074 | created OpenSSH. Markus Friedl contributed the support for SSH protocol |
1088 | versions 1.5 and 2.0. | 1075 | versions 1.5 and 2.0. |
1089 | 1076 | ||
1090 | OpenBSD 6.0 July 22, 2016 OpenBSD 6.0 | 1077 | OpenBSD 6.0 October 15, 2016 OpenBSD 6.0 |
diff --git a/ssh_config.5 b/ssh_config.5 index 7630e7bcb..591365f34 100644 --- a/ssh_config.5 +++ b/ssh_config.5 | |||
@@ -33,8 +33,8 @@ | |||
33 | .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 33 | .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
34 | .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 34 | .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
35 | .\" | 35 | .\" |
36 | .\" $OpenBSD: ssh_config.5,v 1.236 2016/07/22 07:00:46 djm Exp $ | 36 | .\" $OpenBSD: ssh_config.5,v 1.240 2016/10/15 19:56:25 jmc Exp $ |
37 | .Dd $Mdocdate: July 22 2016 $ | 37 | .Dd $Mdocdate: October 15 2016 $ |
38 | .Dt SSH_CONFIG 5 | 38 | .Dt SSH_CONFIG 5 |
39 | .Os | 39 | .Os |
40 | .Sh NAME | 40 | .Sh NAME |
@@ -62,25 +62,25 @@ system-wide configuration file | |||
62 | For each parameter, the first obtained value | 62 | For each parameter, the first obtained value |
63 | will be used. | 63 | will be used. |
64 | The configuration files contain sections separated by | 64 | The configuration files contain sections separated by |
65 | .Dq Host | 65 | .Cm Host |
66 | specifications, and that section is only applied for hosts that | 66 | specifications, and that section is only applied for hosts that |
67 | match one of the patterns given in the specification. | 67 | match one of the patterns given in the specification. |
68 | The matched host name is usually the one given on the command line | 68 | The matched host name is usually the one given on the command line |
69 | (see the | 69 | (see the |
70 | .Cm CanonicalizeHostname | 70 | .Cm CanonicalizeHostname |
71 | option for exceptions.) | 71 | option for exceptions). |
72 | .Pp | 72 | .Pp |
73 | Since the first obtained value for each parameter is used, more | 73 | Since the first obtained value for each parameter is used, more |
74 | host-specific declarations should be given near the beginning of the | 74 | host-specific declarations should be given near the beginning of the |
75 | file, and general defaults at the end. | 75 | file, and general defaults at the end. |
76 | .Pp | 76 | .Pp |
77 | The configuration file has the following format: | 77 | The file contains keyword-argument pairs, one per line. |
78 | .Pp | 78 | Lines starting with |
79 | Empty lines and lines starting with | ||
80 | .Ql # | 79 | .Ql # |
81 | are comments. | 80 | and empty lines are interpreted as comments. |
82 | Otherwise a line is of the format | 81 | Arguments may optionally be enclosed in double quotes |
83 | .Dq keyword arguments . | 82 | .Pq \&" |
83 | in order to represent arguments containing spaces. | ||
84 | Configuration options may be separated by whitespace or | 84 | Configuration options may be separated by whitespace or |
85 | optional whitespace and exactly one | 85 | optional whitespace and exactly one |
86 | .Ql = ; | 86 | .Ql = ; |
@@ -92,9 +92,6 @@ and | |||
92 | .Nm sftp | 92 | .Nm sftp |
93 | .Fl o | 93 | .Fl o |
94 | option. | 94 | option. |
95 | Arguments may optionally be enclosed in double quotes | ||
96 | .Pq \&" | ||
97 | in order to represent arguments containing spaces. | ||
98 | .Pp | 95 | .Pp |
99 | The possible | 96 | The possible |
100 | keywords and their meanings are as follows (note that | 97 | keywords and their meanings are as follows (note that |
@@ -117,7 +114,7 @@ The host is usually the | |||
117 | argument given on the command line | 114 | argument given on the command line |
118 | (see the | 115 | (see the |
119 | .Cm CanonicalizeHostname | 116 | .Cm CanonicalizeHostname |
120 | option for exceptions.) | 117 | keyword for exceptions). |
121 | .Pp | 118 | .Pp |
122 | A pattern entry may be negated by prefixing it with an exclamation mark | 119 | A pattern entry may be negated by prefixing it with an exclamation mark |
123 | .Pq Sq !\& . | 120 | .Pq Sq !\& . |
@@ -177,24 +174,11 @@ The | |||
177 | keyword executes the specified command under the user's shell. | 174 | keyword executes the specified command under the user's shell. |
178 | If the command returns a zero exit status then the condition is considered true. | 175 | If the command returns a zero exit status then the condition is considered true. |
179 | Commands containing whitespace characters must be quoted. | 176 | Commands containing whitespace characters must be quoted. |
180 | The following character sequences in the command will be expanded prior to | 177 | Arguments to |
181 | execution: | 178 | .Cm exec |
182 | .Ql %L | 179 | accept the tokens described in the |
183 | will be substituted by the first component of the local host name, | 180 | .Sx TOKENS |
184 | .Ql %l | 181 | section. |
185 | will be substituted by the local host name (including any domain name), | ||
186 | .Ql %h | ||
187 | will be substituted by the target host name, | ||
188 | .Ql %n | ||
189 | will be substituted by the original target host name | ||
190 | specified on the command-line, | ||
191 | .Ql %p | ||
192 | the destination port, | ||
193 | .Ql %r | ||
194 | by the remote login username, and | ||
195 | .Ql %u | ||
196 | by the username of the user running | ||
197 | .Xr ssh 1 . | ||
198 | .Pp | 182 | .Pp |
199 | The other keywords' criteria must be single entries or comma-separated | 183 | The other keywords' criteria must be single entries or comma-separated |
200 | lists and may use the wildcard and negation operators described in the | 184 | lists and may use the wildcard and negation operators described in the |
@@ -225,57 +209,54 @@ files). | |||
225 | Specifies whether keys should be automatically added to a running | 209 | Specifies whether keys should be automatically added to a running |
226 | .Xr ssh-agent 1 . | 210 | .Xr ssh-agent 1 . |
227 | If this option is set to | 211 | If this option is set to |
228 | .Dq yes | 212 | .Cm yes |
229 | and a key is loaded from a file, the key and its passphrase are added to | 213 | and a key is loaded from a file, the key and its passphrase are added to |
230 | the agent with the default lifetime, as if by | 214 | the agent with the default lifetime, as if by |
231 | .Xr ssh-add 1 . | 215 | .Xr ssh-add 1 . |
232 | If this option is set to | 216 | If this option is set to |
233 | .Dq ask , | 217 | .Cm ask , |
234 | .Nm ssh | 218 | .Xr ssh 1 |
235 | will require confirmation using the | 219 | will require confirmation using the |
236 | .Ev SSH_ASKPASS | 220 | .Ev SSH_ASKPASS |
237 | program before adding a key (see | 221 | program before adding a key (see |
238 | .Xr ssh-add 1 | 222 | .Xr ssh-add 1 |
239 | for details). | 223 | for details). |
240 | If this option is set to | 224 | If this option is set to |
241 | .Dq confirm , | 225 | .Cm confirm , |
242 | each use of the key must be confirmed, as if the | 226 | each use of the key must be confirmed, as if the |
243 | .Fl c | 227 | .Fl c |
244 | option was specified to | 228 | option was specified to |
245 | .Xr ssh-add 1 . | 229 | .Xr ssh-add 1 . |
246 | If this option is set to | 230 | If this option is set to |
247 | .Dq no , | 231 | .Cm no , |
248 | no keys are added to the agent. | 232 | no keys are added to the agent. |
249 | The argument must be | 233 | The argument must be |
250 | .Dq yes , | 234 | .Cm yes , |
251 | .Dq confirm , | 235 | .Cm confirm , |
252 | .Dq ask , | 236 | .Cm ask , |
253 | or | 237 | or |
254 | .Dq no . | 238 | .Cm no |
255 | The default is | 239 | (the default). |
256 | .Dq no . | ||
257 | .It Cm AddressFamily | 240 | .It Cm AddressFamily |
258 | Specifies which address family to use when connecting. | 241 | Specifies which address family to use when connecting. |
259 | Valid arguments are | 242 | Valid arguments are |
260 | .Dq any , | 243 | .Cm any |
261 | .Dq inet | 244 | (the default), |
245 | .Cm inet | ||
262 | (use IPv4 only), or | 246 | (use IPv4 only), or |
263 | .Dq inet6 | 247 | .Cm inet6 |
264 | (use IPv6 only). | 248 | (use IPv6 only). |
265 | The default is | ||
266 | .Dq any . | ||
267 | .It Cm BatchMode | 249 | .It Cm BatchMode |
268 | If set to | 250 | If set to |
269 | .Dq yes , | 251 | .Cm yes , |
270 | passphrase/password querying will be disabled. | 252 | passphrase/password querying will be disabled. |
271 | This option is useful in scripts and other batch jobs where no user | 253 | This option is useful in scripts and other batch jobs where no user |
272 | is present to supply the password. | 254 | is present to supply the password. |
273 | The argument must be | 255 | The argument must be |
274 | .Dq yes | 256 | .Cm yes |
275 | or | 257 | or |
276 | .Dq no . | 258 | .Cm no |
277 | The default is | 259 | (the default). |
278 | .Dq no . | ||
279 | .It Cm BindAddress | 260 | .It Cm BindAddress |
280 | Use the specified address on the local machine as the source address of | 261 | Use the specified address on the local machine as the source address of |
281 | the connection. | 262 | the connection. |
@@ -283,7 +264,7 @@ Only useful on systems with more than one address. | |||
283 | Note that this option does not work if | 264 | Note that this option does not work if |
284 | .Cm UsePrivilegedPort | 265 | .Cm UsePrivilegedPort |
285 | is set to | 266 | is set to |
286 | .Dq yes . | 267 | .Cm yes . |
287 | .It Cm CanonicalDomains | 268 | .It Cm CanonicalDomains |
288 | When | 269 | When |
289 | .Cm CanonicalizeHostname | 270 | .Cm CanonicalizeHostname |
@@ -292,11 +273,11 @@ search for the specified destination host. | |||
292 | .It Cm CanonicalizeFallbackLocal | 273 | .It Cm CanonicalizeFallbackLocal |
293 | Specifies whether to fail with an error when hostname canonicalization fails. | 274 | Specifies whether to fail with an error when hostname canonicalization fails. |
294 | The default, | 275 | The default, |
295 | .Dq yes , | 276 | .Cm yes , |
296 | will attempt to look up the unqualified hostname using the system resolver's | 277 | will attempt to look up the unqualified hostname using the system resolver's |
297 | search rules. | 278 | search rules. |
298 | A value of | 279 | A value of |
299 | .Dq no | 280 | .Cm no |
300 | will cause | 281 | will cause |
301 | .Xr ssh 1 | 282 | .Xr ssh 1 |
302 | to fail instantly if | 283 | to fail instantly if |
@@ -307,11 +288,11 @@ specified by | |||
307 | .It Cm CanonicalizeHostname | 288 | .It Cm CanonicalizeHostname |
308 | Controls whether explicit hostname canonicalization is performed. | 289 | Controls whether explicit hostname canonicalization is performed. |
309 | The default, | 290 | The default, |
310 | .Dq no , | 291 | .Cm no , |
311 | is not to perform any name rewriting and let the system resolver handle all | 292 | is not to perform any name rewriting and let the system resolver handle all |
312 | hostname lookups. | 293 | hostname lookups. |
313 | If set to | 294 | If set to |
314 | .Dq yes | 295 | .Cm yes |
315 | then, for connections that do not use a | 296 | then, for connections that do not use a |
316 | .Cm ProxyCommand , | 297 | .Cm ProxyCommand , |
317 | .Xr ssh 1 | 298 | .Xr ssh 1 |
@@ -324,7 +305,7 @@ rules. | |||
324 | If | 305 | If |
325 | .Cm CanonicalizeHostname | 306 | .Cm CanonicalizeHostname |
326 | is set to | 307 | is set to |
327 | .Dq always , | 308 | .Cm always , |
328 | then canonicalization is applied to proxied connections too. | 309 | then canonicalization is applied to proxied connections too. |
329 | .Pp | 310 | .Pp |
330 | If this option is enabled, then the configuration files are processed | 311 | If this option is enabled, then the configuration files are processed |
@@ -336,8 +317,7 @@ stanzas. | |||
336 | .It Cm CanonicalizeMaxDots | 317 | .It Cm CanonicalizeMaxDots |
337 | Specifies the maximum number of dot characters in a hostname before | 318 | Specifies the maximum number of dot characters in a hostname before |
338 | canonicalization is disabled. | 319 | canonicalization is disabled. |
339 | The default, | 320 | The default, 1, |
340 | .Dq 1 , | ||
341 | allows a single dot (i.e. hostname.subdomain). | 321 | allows a single dot (i.e. hostname.subdomain). |
342 | .It Cm CanonicalizePermittedCNAMEs | 322 | .It Cm CanonicalizePermittedCNAMEs |
343 | Specifies rules to determine whether CNAMEs should be followed when | 323 | Specifies rules to determine whether CNAMEs should be followed when |
@@ -352,13 +332,13 @@ and | |||
352 | is a pattern-list of domains that they may resolve to. | 332 | is a pattern-list of domains that they may resolve to. |
353 | .Pp | 333 | .Pp |
354 | For example, | 334 | For example, |
355 | .Dq *.a.example.com:*.b.example.com,*.c.example.com | 335 | .Qq *.a.example.com:*.b.example.com,*.c.example.com |
356 | will allow hostnames matching | 336 | will allow hostnames matching |
357 | .Dq *.a.example.com | 337 | .Qq *.a.example.com |
358 | to be canonicalized to names in the | 338 | to be canonicalized to names in the |
359 | .Dq *.b.example.com | 339 | .Qq *.b.example.com |
360 | or | 340 | or |
361 | .Dq *.c.example.com | 341 | .Qq *.c.example.com |
362 | domains. | 342 | domains. |
363 | .It Cm CertificateFile | 343 | .It Cm CertificateFile |
364 | Specifies a file from which the user's certificate is read. | 344 | Specifies a file from which the user's certificate is read. |
@@ -375,19 +355,12 @@ via | |||
375 | or via a | 355 | or via a |
376 | .Cm PKCS11Provider . | 356 | .Cm PKCS11Provider . |
377 | .Pp | 357 | .Pp |
378 | The file name may use the tilde | 358 | Arguments to |
379 | syntax to refer to a user's home directory or one of the following | 359 | .Cm CertificateFile |
380 | escape characters: | 360 | may use the tilde syntax to refer to a user's home directory |
381 | .Ql %d | 361 | or the tokens described in the |
382 | (local user's home directory), | 362 | .Sx TOKENS |
383 | .Ql %u | 363 | section. |
384 | (local user name), | ||
385 | .Ql %l | ||
386 | (local host name), | ||
387 | .Ql %h | ||
388 | (remote host name) or | ||
389 | .Ql %r | ||
390 | (remote user name). | ||
391 | .Pp | 364 | .Pp |
392 | It is possible to have multiple certificate files specified in | 365 | It is possible to have multiple certificate files specified in |
393 | configuration files; these certificates will be tried in sequence. | 366 | configuration files; these certificates will be tried in sequence. |
@@ -398,47 +371,42 @@ authentication. | |||
398 | .It Cm ChallengeResponseAuthentication | 371 | .It Cm ChallengeResponseAuthentication |
399 | Specifies whether to use challenge-response authentication. | 372 | Specifies whether to use challenge-response authentication. |
400 | The argument to this keyword must be | 373 | The argument to this keyword must be |
401 | .Dq yes | 374 | .Cm yes |
375 | (the default) | ||
402 | or | 376 | or |
403 | .Dq no . | 377 | .Cm no . |
404 | The default is | ||
405 | .Dq yes . | ||
406 | .It Cm CheckHostIP | 378 | .It Cm CheckHostIP |
407 | If this flag is set to | 379 | If set to |
408 | .Dq yes , | 380 | .Cm yes |
381 | (the default), | ||
409 | .Xr ssh 1 | 382 | .Xr ssh 1 |
410 | will additionally check the host IP address in the | 383 | will additionally check the host IP address in the |
411 | .Pa known_hosts | 384 | .Pa known_hosts |
412 | file. | 385 | file. |
413 | This allows ssh to detect if a host key changed due to DNS spoofing | 386 | This allows it to detect if a host key changed due to DNS spoofing |
414 | and will add addresses of destination hosts to | 387 | and will add addresses of destination hosts to |
415 | .Pa ~/.ssh/known_hosts | 388 | .Pa ~/.ssh/known_hosts |
416 | in the process, regardless of the setting of | 389 | in the process, regardless of the setting of |
417 | .Cm StrictHostKeyChecking . | 390 | .Cm StrictHostKeyChecking . |
418 | If the option is set to | 391 | If the option is set to |
419 | .Dq no , | 392 | .Cm no , |
420 | the check will not be executed. | 393 | the check will not be executed. |
421 | The default is | ||
422 | .Dq yes . | ||
423 | .It Cm Cipher | 394 | .It Cm Cipher |
424 | Specifies the cipher to use for encrypting the session | 395 | Specifies the cipher to use for encrypting the session |
425 | in protocol version 1. | 396 | in protocol version 1. |
426 | Currently, | 397 | Currently, |
427 | .Dq blowfish , | 398 | .Cm blowfish , |
428 | .Dq 3des , | 399 | .Cm 3des |
400 | (the default), | ||
429 | and | 401 | and |
430 | .Dq des | 402 | .Cm des |
431 | are supported. | 403 | are supported, |
432 | .Ar des | 404 | though |
405 | .Cm des | ||
433 | is only supported in the | 406 | is only supported in the |
434 | .Xr ssh 1 | 407 | .Xr ssh 1 |
435 | client for interoperability with legacy protocol 1 implementations | 408 | client for interoperability with legacy protocol 1 implementations; |
436 | that do not support the | 409 | its use is strongly discouraged due to cryptographic weaknesses. |
437 | .Ar 3des | ||
438 | cipher. | ||
439 | Its use is strongly discouraged due to cryptographic weaknesses. | ||
440 | The default is | ||
441 | .Dq 3des . | ||
442 | .It Cm Ciphers | 410 | .It Cm Ciphers |
443 | Specifies the ciphers allowed for protocol version 2 | 411 | Specifies the ciphers allowed for protocol version 2 |
444 | in order of preference. | 412 | in order of preference. |
@@ -449,54 +417,34 @@ character, then the specified ciphers will be appended to the default set | |||
449 | instead of replacing them. | 417 | instead of replacing them. |
450 | .Pp | 418 | .Pp |
451 | The supported ciphers are: | 419 | The supported ciphers are: |
452 | .Pp | 420 | .Bd -literal -offset indent |
453 | .Bl -item -compact -offset indent | ||
454 | .It | ||
455 | 3des-cbc | 421 | 3des-cbc |
456 | .It | ||
457 | aes128-cbc | 422 | aes128-cbc |
458 | .It | ||
459 | aes192-cbc | 423 | aes192-cbc |
460 | .It | ||
461 | aes256-cbc | 424 | aes256-cbc |
462 | .It | ||
463 | aes128-ctr | 425 | aes128-ctr |
464 | .It | ||
465 | aes192-ctr | 426 | aes192-ctr |
466 | .It | ||
467 | aes256-ctr | 427 | aes256-ctr |
468 | .It | ||
469 | aes128-gcm@openssh.com | 428 | aes128-gcm@openssh.com |
470 | .It | ||
471 | aes256-gcm@openssh.com | 429 | aes256-gcm@openssh.com |
472 | .It | ||
473 | arcfour | 430 | arcfour |
474 | .It | ||
475 | arcfour128 | 431 | arcfour128 |
476 | .It | ||
477 | arcfour256 | 432 | arcfour256 |
478 | .It | ||
479 | blowfish-cbc | 433 | blowfish-cbc |
480 | .It | ||
481 | cast128-cbc | 434 | cast128-cbc |
482 | .It | ||
483 | chacha20-poly1305@openssh.com | 435 | chacha20-poly1305@openssh.com |
484 | .El | 436 | .Ed |
485 | .Pp | 437 | .Pp |
486 | The default is: | 438 | The default is: |
487 | .Bd -literal -offset indent | 439 | .Bd -literal -offset indent |
488 | chacha20-poly1305@openssh.com, | 440 | chacha20-poly1305@openssh.com, |
489 | aes128-ctr,aes192-ctr,aes256-ctr, | 441 | aes128-ctr,aes192-ctr,aes256-ctr, |
490 | aes128-gcm@openssh.com,aes256-gcm@openssh.com, | 442 | aes128-gcm@openssh.com,aes256-gcm@openssh.com, |
491 | aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc | 443 | aes128-cbc,aes192-cbc,aes256-cbc |
492 | .Ed | 444 | .Ed |
493 | .Pp | 445 | .Pp |
494 | The list of available ciphers may also be obtained using the | 446 | The list of available ciphers may also be obtained using |
495 | .Fl Q | 447 | .Qq ssh -Q cipher . |
496 | option of | ||
497 | .Xr ssh 1 | ||
498 | with an argument of | ||
499 | .Dq cipher . | ||
500 | .It Cm ClearAllForwardings | 448 | .It Cm ClearAllForwardings |
501 | Specifies that all local, remote, and dynamic port forwardings | 449 | Specifies that all local, remote, and dynamic port forwardings |
502 | specified in the configuration files or on the command line be | 450 | specified in the configuration files or on the command line be |
@@ -509,19 +457,17 @@ configuration files, and is automatically set by | |||
509 | and | 457 | and |
510 | .Xr sftp 1 . | 458 | .Xr sftp 1 . |
511 | The argument must be | 459 | The argument must be |
512 | .Dq yes | 460 | .Cm yes |
513 | or | 461 | or |
514 | .Dq no . | 462 | .Cm no |
515 | The default is | 463 | (the default). |
516 | .Dq no . | ||
517 | .It Cm Compression | 464 | .It Cm Compression |
518 | Specifies whether to use compression. | 465 | Specifies whether to use compression. |
519 | The argument must be | 466 | The argument must be |
520 | .Dq yes | 467 | .Cm yes |
521 | or | 468 | or |
522 | .Dq no . | 469 | .Cm no |
523 | The default is | 470 | (the default). |
524 | .Dq no . | ||
525 | .It Cm CompressionLevel | 471 | .It Cm CompressionLevel |
526 | Specifies the compression level to use if compression is enabled. | 472 | Specifies the compression level to use if compression is enabled. |
527 | The argument must be an integer from 1 (fast) to 9 (slow, best). | 473 | The argument must be an integer from 1 (fast) to 9 (slow, best). |
@@ -542,7 +488,7 @@ not when it refuses the connection. | |||
542 | .It Cm ControlMaster | 488 | .It Cm ControlMaster |
543 | Enables the sharing of multiple sessions over a single network connection. | 489 | Enables the sharing of multiple sessions over a single network connection. |
544 | When set to | 490 | When set to |
545 | .Dq yes , | 491 | .Cm yes , |
546 | .Xr ssh 1 | 492 | .Xr ssh 1 |
547 | will listen for connections on a control socket specified using the | 493 | will listen for connections on a control socket specified using the |
548 | .Cm ControlPath | 494 | .Cm ControlPath |
@@ -552,21 +498,23 @@ Additional sessions can connect to this socket using the same | |||
552 | with | 498 | with |
553 | .Cm ControlMaster | 499 | .Cm ControlMaster |
554 | set to | 500 | set to |
555 | .Dq no | 501 | .Cm no |
556 | (the default). | 502 | (the default). |
557 | These sessions will try to reuse the master instance's network connection | 503 | These sessions will try to reuse the master instance's network connection |
558 | rather than initiating new ones, but will fall back to connecting normally | 504 | rather than initiating new ones, but will fall back to connecting normally |
559 | if the control socket does not exist, or is not listening. | 505 | if the control socket does not exist, or is not listening. |
560 | .Pp | 506 | .Pp |
561 | Setting this to | 507 | Setting this to |
562 | .Dq ask | 508 | .Cm ask |
563 | will cause ssh | 509 | will cause |
510 | .Xr ssh 1 | ||
564 | to listen for control connections, but require confirmation using | 511 | to listen for control connections, but require confirmation using |
565 | .Xr ssh-askpass 1 . | 512 | .Xr ssh-askpass 1 . |
566 | If the | 513 | If the |
567 | .Cm ControlPath | 514 | .Cm ControlPath |
568 | cannot be opened, | 515 | cannot be opened, |
569 | ssh will continue without connecting to a master instance. | 516 | .Xr ssh 1 |
517 | will continue without connecting to a master instance. | ||
570 | .Pp | 518 | .Pp |
571 | X11 and | 519 | X11 and |
572 | .Xr ssh-agent 1 | 520 | .Xr ssh-agent 1 |
@@ -578,41 +526,25 @@ Two additional options allow for opportunistic multiplexing: try to use a | |||
578 | master connection but fall back to creating a new one if one does not already | 526 | master connection but fall back to creating a new one if one does not already |
579 | exist. | 527 | exist. |
580 | These options are: | 528 | These options are: |
581 | .Dq auto | 529 | .Cm auto |
582 | and | 530 | and |
583 | .Dq autoask . | 531 | .Cm autoask . |
584 | The latter requires confirmation like the | 532 | The latter requires confirmation like the |
585 | .Dq ask | 533 | .Cm ask |
586 | option. | 534 | option. |
587 | .It Cm ControlPath | 535 | .It Cm ControlPath |
588 | Specify the path to the control socket used for connection sharing as described | 536 | Specify the path to the control socket used for connection sharing as described |
589 | in the | 537 | in the |
590 | .Cm ControlMaster | 538 | .Cm ControlMaster |
591 | section above or the string | 539 | section above or the string |
592 | .Dq none | 540 | .Cm none |
593 | to disable connection sharing. | 541 | to disable connection sharing. |
594 | In the path, | 542 | Arguments to |
595 | .Ql %L | 543 | .Cm ControlPath |
596 | will be substituted by the first component of the local host name, | 544 | may use the tilde syntax to refer to a user's home directory |
597 | .Ql %l | 545 | or the tokens described in the |
598 | will be substituted by the local host name (including any domain name), | 546 | .Sx TOKENS |
599 | .Ql %h | 547 | section. |
600 | will be substituted by the target host name, | ||
601 | .Ql %n | ||
602 | will be substituted by the original target host name | ||
603 | specified on the command line, | ||
604 | .Ql %p | ||
605 | the destination port, | ||
606 | .Ql %r | ||
607 | by the remote login username, | ||
608 | .Ql %u | ||
609 | by the username and | ||
610 | .Ql %i | ||
611 | by the numeric user ID (uid) of the user running | ||
612 | .Xr ssh 1 , | ||
613 | and | ||
614 | .Ql \&%C | ||
615 | by a hash of the concatenation: %l%h%p%r. | ||
616 | It is recommended that any | 548 | It is recommended that any |
617 | .Cm ControlPath | 549 | .Cm ControlPath |
618 | used for opportunistic connection sharing include | 550 | used for opportunistic connection sharing include |
@@ -626,18 +558,15 @@ specifies that the master connection should remain open | |||
626 | in the background (waiting for future client connections) | 558 | in the background (waiting for future client connections) |
627 | after the initial client connection has been closed. | 559 | after the initial client connection has been closed. |
628 | If set to | 560 | If set to |
629 | .Dq no , | 561 | .Cm no , |
630 | then the master connection will not be placed into the background, | 562 | then the master connection will not be placed into the background, |
631 | and will close as soon as the initial client connection is closed. | 563 | and will close as soon as the initial client connection is closed. |
632 | If set to | 564 | If set to |
633 | .Dq yes | 565 | .Cm yes |
634 | or | 566 | or 0, |
635 | .Dq 0 , | ||
636 | then the master connection will remain in the background indefinitely | 567 | then the master connection will remain in the background indefinitely |
637 | (until killed or closed via a mechanism such as the | 568 | (until killed or closed via a mechanism such as the |
638 | .Xr ssh 1 | 569 | .Qq ssh -O exit ) . |
639 | .Dq Fl O No exit | ||
640 | option). | ||
641 | If set to a time in seconds, or a time in any of the formats documented in | 570 | If set to a time in seconds, or a time in any of the formats documented in |
642 | .Xr sshd_config 5 , | 571 | .Xr sshd_config 5 , |
643 | then the backgrounded master connection will automatically terminate | 572 | then the backgrounded master connection will automatically terminate |
@@ -663,7 +592,7 @@ may be used to bind the connection to a specific address. | |||
663 | The | 592 | The |
664 | .Ar bind_address | 593 | .Ar bind_address |
665 | of | 594 | of |
666 | .Dq localhost | 595 | .Cm localhost |
667 | indicates that the listening port be bound for local use only, while an | 596 | indicates that the listening port be bound for local use only, while an |
668 | empty address or | 597 | empty address or |
669 | .Sq * | 598 | .Sq * |
@@ -677,7 +606,7 @@ additional forwardings can be given on the command line. | |||
677 | Only the superuser can forward privileged ports. | 606 | Only the superuser can forward privileged ports. |
678 | .It Cm EnableSSHKeysign | 607 | .It Cm EnableSSHKeysign |
679 | Setting this option to | 608 | Setting this option to |
680 | .Dq yes | 609 | .Cm yes |
681 | in the global client configuration file | 610 | in the global client configuration file |
682 | .Pa /etc/ssh/ssh_config | 611 | .Pa /etc/ssh/ssh_config |
683 | enables the use of the helper program | 612 | enables the use of the helper program |
@@ -685,11 +614,10 @@ enables the use of the helper program | |||
685 | during | 614 | during |
686 | .Cm HostbasedAuthentication . | 615 | .Cm HostbasedAuthentication . |
687 | The argument must be | 616 | The argument must be |
688 | .Dq yes | 617 | .Cm yes |
689 | or | 618 | or |
690 | .Dq no . | 619 | .Cm no |
691 | The default is | 620 | (the default). |
692 | .Dq no . | ||
693 | This option should be placed in the non-hostspecific section. | 621 | This option should be placed in the non-hostspecific section. |
694 | See | 622 | See |
695 | .Xr ssh-keysign 8 | 623 | .Xr ssh-keysign 8 |
@@ -702,7 +630,7 @@ be set on the command line. | |||
702 | The argument should be a single character, | 630 | The argument should be a single character, |
703 | .Ql ^ | 631 | .Ql ^ |
704 | followed by a letter, or | 632 | followed by a letter, or |
705 | .Dq none | 633 | .Cm none |
706 | to disable the escape | 634 | to disable the escape |
707 | character entirely (making the connection transparent for binary | 635 | character entirely (making the connection transparent for binary |
708 | data). | 636 | data). |
@@ -719,28 +647,25 @@ for example, cause | |||
719 | .Xr ssh 1 | 647 | .Xr ssh 1 |
720 | to exit if TCP connections to the ultimate forwarding destination fail. | 648 | to exit if TCP connections to the ultimate forwarding destination fail. |
721 | The argument must be | 649 | The argument must be |
722 | .Dq yes | 650 | .Cm yes |
723 | or | 651 | or |
724 | .Dq no . | 652 | .Cm no |
725 | The default is | 653 | (the default). |
726 | .Dq no . | ||
727 | .It Cm FingerprintHash | 654 | .It Cm FingerprintHash |
728 | Specifies the hash algorithm used when displaying key fingerprints. | 655 | Specifies the hash algorithm used when displaying key fingerprints. |
729 | Valid options are: | 656 | Valid options are: |
730 | .Dq md5 | 657 | .Cm md5 |
731 | and | 658 | and |
732 | .Dq sha256 . | 659 | .Cm sha256 |
733 | The default is | 660 | (the default). |
734 | .Dq sha256 . | ||
735 | .It Cm ForwardAgent | 661 | .It Cm ForwardAgent |
736 | Specifies whether the connection to the authentication agent (if any) | 662 | Specifies whether the connection to the authentication agent (if any) |
737 | will be forwarded to the remote machine. | 663 | will be forwarded to the remote machine. |
738 | The argument must be | 664 | The argument must be |
739 | .Dq yes | 665 | .Cm yes |
740 | or | 666 | or |
741 | .Dq no . | 667 | .Cm no |
742 | The default is | 668 | (the default). |
743 | .Dq no . | ||
744 | .Pp | 669 | .Pp |
745 | Agent forwarding should be enabled with caution. | 670 | Agent forwarding should be enabled with caution. |
746 | Users with the ability to bypass file permissions on the remote host | 671 | Users with the ability to bypass file permissions on the remote host |
@@ -755,11 +680,10 @@ over the secure channel and | |||
755 | .Ev DISPLAY | 680 | .Ev DISPLAY |
756 | set. | 681 | set. |
757 | The argument must be | 682 | The argument must be |
758 | .Dq yes | 683 | .Cm yes |
759 | or | 684 | or |
760 | .Dq no . | 685 | .Cm no |
761 | The default is | 686 | (the default). |
762 | .Dq no . | ||
763 | .Pp | 687 | .Pp |
764 | X11 forwarding should be enabled with caution. | 688 | X11 forwarding should be enabled with caution. |
765 | Users with the ability to bypass file permissions on the remote host | 689 | Users with the ability to bypass file permissions on the remote host |
@@ -772,7 +696,8 @@ option is also enabled. | |||
772 | .It Cm ForwardX11Timeout | 696 | .It Cm ForwardX11Timeout |
773 | Specify a timeout for untrusted X11 forwarding | 697 | Specify a timeout for untrusted X11 forwarding |
774 | using the format described in the | 698 | using the format described in the |
775 | TIME FORMATS section of | 699 | .Sx TIME FORMATS |
700 | section of | ||
776 | .Xr sshd_config 5 . | 701 | .Xr sshd_config 5 . |
777 | X11 connections received by | 702 | X11 connections received by |
778 | .Xr ssh 1 | 703 | .Xr ssh 1 |
@@ -781,11 +706,12 @@ The default is to disable untrusted X11 forwarding after twenty minutes has | |||
781 | elapsed. | 706 | elapsed. |
782 | .It Cm ForwardX11Trusted | 707 | .It Cm ForwardX11Trusted |
783 | If this option is set to | 708 | If this option is set to |
784 | .Dq yes , | 709 | .Cm yes , |
785 | remote X11 clients will have full access to the original X11 display. | 710 | remote X11 clients will have full access to the original X11 display. |
786 | .Pp | 711 | .Pp |
787 | If this option is set to | 712 | If this option is set to |
788 | .Dq no , | 713 | .Cm no |
714 | (the default), | ||
789 | remote X11 clients will be considered untrusted and prevented | 715 | remote X11 clients will be considered untrusted and prevented |
790 | from stealing or tampering with data belonging to trusted X11 | 716 | from stealing or tampering with data belonging to trusted X11 |
791 | clients. | 717 | clients. |
@@ -794,9 +720,6 @@ Furthermore, the | |||
794 | token used for the session will be set to expire after 20 minutes. | 720 | token used for the session will be set to expire after 20 minutes. |
795 | Remote clients will be refused access after this time. | 721 | Remote clients will be refused access after this time. |
796 | .Pp | 722 | .Pp |
797 | The default is | ||
798 | .Dq no . | ||
799 | .Pp | ||
800 | See the X11 SECURITY extension specification for full details on | 723 | See the X11 SECURITY extension specification for full details on |
801 | the restrictions imposed on untrusted clients. | 724 | the restrictions imposed on untrusted clients. |
802 | .It Cm GatewayPorts | 725 | .It Cm GatewayPorts |
@@ -811,11 +734,10 @@ can be used to specify that ssh | |||
811 | should bind local port forwardings to the wildcard address, | 734 | should bind local port forwardings to the wildcard address, |
812 | thus allowing remote hosts to connect to forwarded ports. | 735 | thus allowing remote hosts to connect to forwarded ports. |
813 | The argument must be | 736 | The argument must be |
814 | .Dq yes | 737 | .Cm yes |
815 | or | 738 | or |
816 | .Dq no . | 739 | .Cm no |
817 | The default is | 740 | (the default). |
818 | .Dq no . | ||
819 | .It Cm GlobalKnownHostsFile | 741 | .It Cm GlobalKnownHostsFile |
820 | Specifies one or more files to use for the global | 742 | Specifies one or more files to use for the global |
821 | host key database, separated by whitespace. | 743 | host key database, separated by whitespace. |
@@ -825,11 +747,11 @@ The default is | |||
825 | .It Cm GSSAPIAuthentication | 747 | .It Cm GSSAPIAuthentication |
826 | Specifies whether user authentication based on GSSAPI is allowed. | 748 | Specifies whether user authentication based on GSSAPI is allowed. |
827 | The default is | 749 | The default is |
828 | .Dq no . | 750 | .Cm no . |
829 | .It Cm GSSAPIDelegateCredentials | 751 | .It Cm GSSAPIDelegateCredentials |
830 | Forward (delegate) credentials to the server. | 752 | Forward (delegate) credentials to the server. |
831 | The default is | 753 | The default is |
832 | .Dq no . | 754 | .Cm no . |
833 | .It Cm HashKnownHosts | 755 | .It Cm HashKnownHosts |
834 | Indicates that | 756 | Indicates that |
835 | .Xr ssh 1 | 757 | .Xr ssh 1 |
@@ -842,7 +764,7 @@ and | |||
842 | but they do not reveal identifying information should the file's contents | 764 | but they do not reveal identifying information should the file's contents |
843 | be disclosed. | 765 | be disclosed. |
844 | The default is | 766 | The default is |
845 | .Dq no . | 767 | .Cm no . |
846 | Note that existing names and addresses in known hosts files | 768 | Note that existing names and addresses in known hosts files |
847 | will not be converted automatically, | 769 | will not be converted automatically, |
848 | but may be manually hashed using | 770 | but may be manually hashed using |
@@ -851,11 +773,10 @@ but may be manually hashed using | |||
851 | Specifies whether to try rhosts based authentication with public key | 773 | Specifies whether to try rhosts based authentication with public key |
852 | authentication. | 774 | authentication. |
853 | The argument must be | 775 | The argument must be |
854 | .Dq yes | 776 | .Cm yes |
855 | or | 777 | or |
856 | .Dq no . | 778 | .Cm no |
857 | The default is | 779 | (the default). |
858 | .Dq no . | ||
859 | .It Cm HostbasedKeyTypes | 780 | .It Cm HostbasedKeyTypes |
860 | Specifies the key types that will be used for hostbased authentication | 781 | Specifies the key types that will be used for hostbased authentication |
861 | as a comma-separated pattern list. | 782 | as a comma-separated pattern list. |
@@ -900,12 +821,8 @@ ssh-ed25519,ssh-rsa | |||
900 | If hostkeys are known for the destination host then this default is modified | 821 | If hostkeys are known for the destination host then this default is modified |
901 | to prefer their algorithms. | 822 | to prefer their algorithms. |
902 | .Pp | 823 | .Pp |
903 | The list of available key types may also be obtained using the | 824 | The list of available key types may also be obtained using |
904 | .Fl Q | 825 | .Qq ssh -Q key . |
905 | option of | ||
906 | .Xr ssh 1 | ||
907 | with an argument of | ||
908 | .Dq key . | ||
909 | .It Cm HostKeyAlias | 826 | .It Cm HostKeyAlias |
910 | Specifies an alias that should be used instead of the | 827 | Specifies an alias that should be used instead of the |
911 | real host name when looking up or saving the host key | 828 | real host name when looking up or saving the host key |
@@ -915,20 +832,15 @@ or for multiple servers running on a single host. | |||
915 | .It Cm HostName | 832 | .It Cm HostName |
916 | Specifies the real host name to log into. | 833 | Specifies the real host name to log into. |
917 | This can be used to specify nicknames or abbreviations for hosts. | 834 | This can be used to specify nicknames or abbreviations for hosts. |
918 | If the hostname contains the character sequence | 835 | Arguments to |
919 | .Ql %h , | 836 | .Cm HostName |
920 | then this will be replaced with the host name specified on the command line | 837 | accept the tokens described in the |
921 | (this is useful for manipulating unqualified names). | 838 | .Sx TOKENS |
922 | The character sequence | 839 | section. |
923 | .Ql %% | ||
924 | will be replaced by a single | ||
925 | .Ql % | ||
926 | character, which may be used when specifying IPv6 link-local addresses. | ||
927 | .Pp | ||
928 | The default is the name given on the command line. | ||
929 | Numeric IP addresses are also permitted (both on the command line and in | 840 | Numeric IP addresses are also permitted (both on the command line and in |
930 | .Cm HostName | 841 | .Cm HostName |
931 | specifications). | 842 | specifications). |
843 | The default is the name given on the command line. | ||
932 | .It Cm IdentitiesOnly | 844 | .It Cm IdentitiesOnly |
933 | Specifies that | 845 | Specifies that |
934 | .Xr ssh 1 | 846 | .Xr ssh 1 |
@@ -945,43 +857,35 @@ or a | |||
945 | .Cm PKCS11Provider | 857 | .Cm PKCS11Provider |
946 | offers more identities. | 858 | offers more identities. |
947 | The argument to this keyword must be | 859 | The argument to this keyword must be |
948 | .Dq yes | 860 | .Cm yes |
949 | or | 861 | or |
950 | .Dq no . | 862 | .Cm no |
863 | (the default). | ||
951 | This option is intended for situations where ssh-agent | 864 | This option is intended for situations where ssh-agent |
952 | offers many different identities. | 865 | offers many different identities. |
953 | The default is | ||
954 | .Dq no . | ||
955 | .It Cm IdentityAgent | 866 | .It Cm IdentityAgent |
956 | Specifies the | 867 | Specifies the |
957 | .Ux Ns -domain | 868 | .Ux Ns -domain |
958 | socket used to communicate with the authentication agent. | 869 | socket used to communicate with the authentication agent. |
959 | .Pp | 870 | .Pp |
960 | This option overrides the | 871 | This option overrides the |
961 | .Dq SSH_AUTH_SOCK | 872 | .Ev SSH_AUTH_SOCK |
962 | environment variable and can be used to select a specific agent. | 873 | environment variable and can be used to select a specific agent. |
963 | Setting the socket name to | 874 | Setting the socket name to |
964 | .Dq none | 875 | .Cm none |
965 | disables the use of an authentication agent. | 876 | disables the use of an authentication agent. |
966 | If the string | 877 | If the string |
967 | .Dq SSH_AUTH_SOCK | 878 | .Qq SSH_AUTH_SOCK |
968 | is specified, the location of the socket will be read from the | 879 | is specified, the location of the socket will be read from the |
969 | .Ev SSH_AUTH_SOCK | 880 | .Ev SSH_AUTH_SOCK |
970 | environment variable. | 881 | environment variable. |
971 | .Pp | 882 | .Pp |
972 | The socket name may use the tilde | 883 | Arguments to |
973 | syntax to refer to a user's home directory or one of the following | 884 | .Cm IdentityAgent |
974 | escape characters: | 885 | may use the tilde syntax to refer to a user's home directory |
975 | .Ql %d | 886 | or the tokens described in the |
976 | (local user's home directory), | 887 | .Sx TOKENS |
977 | .Ql %u | 888 | section. |
978 | (local user name), | ||
979 | .Ql %l | ||
980 | (local host name), | ||
981 | .Ql %h | ||
982 | (remote host name) or | ||
983 | .Ql %r | ||
984 | (remote user name). | ||
985 | .It Cm IdentityFile | 889 | .It Cm IdentityFile |
986 | Specifies a file from which the user's DSA, ECDSA, Ed25519 or RSA authentication | 890 | Specifies a file from which the user's DSA, ECDSA, Ed25519 or RSA authentication |
987 | identity is read. | 891 | identity is read. |
@@ -1007,19 +911,12 @@ appending | |||
1007 | to the path of a specified | 911 | to the path of a specified |
1008 | .Cm IdentityFile . | 912 | .Cm IdentityFile . |
1009 | .Pp | 913 | .Pp |
1010 | The file name may use the tilde | 914 | Arguments to |
1011 | syntax to refer to a user's home directory or one of the following | 915 | .Cm IdentityFile |
1012 | escape characters: | 916 | may use the tilde syntax to refer to a user's home directory |
1013 | .Ql %d | 917 | or the tokens described in the |
1014 | (local user's home directory), | 918 | .Sx TOKENS |
1015 | .Ql %u | 919 | section. |
1016 | (local user name), | ||
1017 | .Ql %l | ||
1018 | (local host name), | ||
1019 | .Ql %h | ||
1020 | (remote host name) or | ||
1021 | .Ql %r | ||
1022 | (remote user name). | ||
1023 | .Pp | 920 | .Pp |
1024 | It is possible to have | 921 | It is possible to have |
1025 | multiple identity files specified in configuration files; all these | 922 | multiple identity files specified in configuration files; all these |
@@ -1054,7 +951,7 @@ Include the specified configuration file(s). | |||
1054 | Multiple pathnames may be specified and each pathname may contain | 951 | Multiple pathnames may be specified and each pathname may contain |
1055 | .Xr glob 3 | 952 | .Xr glob 3 |
1056 | wildcards and, for user configurations, shell-like | 953 | wildcards and, for user configurations, shell-like |
1057 | .Dq ~ | 954 | .Sq ~ |
1058 | references to user home directories. | 955 | references to user home directories. |
1059 | Files without absolute paths are assumed to be in | 956 | Files without absolute paths are assumed to be in |
1060 | .Pa ~/.ssh | 957 | .Pa ~/.ssh |
@@ -1071,48 +968,47 @@ to perform conditional inclusion. | |||
1071 | .It Cm IPQoS | 968 | .It Cm IPQoS |
1072 | Specifies the IPv4 type-of-service or DSCP class for connections. | 969 | Specifies the IPv4 type-of-service or DSCP class for connections. |
1073 | Accepted values are | 970 | Accepted values are |
1074 | .Dq af11 , | 971 | .Cm af11 , |
1075 | .Dq af12 , | 972 | .Cm af12 , |
1076 | .Dq af13 , | 973 | .Cm af13 , |
1077 | .Dq af21 , | 974 | .Cm af21 , |
1078 | .Dq af22 , | 975 | .Cm af22 , |
1079 | .Dq af23 , | 976 | .Cm af23 , |
1080 | .Dq af31 , | 977 | .Cm af31 , |
1081 | .Dq af32 , | 978 | .Cm af32 , |
1082 | .Dq af33 , | 979 | .Cm af33 , |
1083 | .Dq af41 , | 980 | .Cm af41 , |
1084 | .Dq af42 , | 981 | .Cm af42 , |
1085 | .Dq af43 , | 982 | .Cm af43 , |
1086 | .Dq cs0 , | 983 | .Cm cs0 , |
1087 | .Dq cs1 , | 984 | .Cm cs1 , |
1088 | .Dq cs2 , | 985 | .Cm cs2 , |
1089 | .Dq cs3 , | 986 | .Cm cs3 , |
1090 | .Dq cs4 , | 987 | .Cm cs4 , |
1091 | .Dq cs5 , | 988 | .Cm cs5 , |
1092 | .Dq cs6 , | 989 | .Cm cs6 , |
1093 | .Dq cs7 , | 990 | .Cm cs7 , |
1094 | .Dq ef , | 991 | .Cm ef , |
1095 | .Dq lowdelay , | 992 | .Cm lowdelay , |
1096 | .Dq throughput , | 993 | .Cm throughput , |
1097 | .Dq reliability , | 994 | .Cm reliability , |
1098 | or a numeric value. | 995 | or a numeric value. |
1099 | This option may take one or two arguments, separated by whitespace. | 996 | This option may take one or two arguments, separated by whitespace. |
1100 | If one argument is specified, it is used as the packet class unconditionally. | 997 | If one argument is specified, it is used as the packet class unconditionally. |
1101 | If two values are specified, the first is automatically selected for | 998 | If two values are specified, the first is automatically selected for |
1102 | interactive sessions and the second for non-interactive sessions. | 999 | interactive sessions and the second for non-interactive sessions. |
1103 | The default is | 1000 | The default is |
1104 | .Dq lowdelay | 1001 | .Cm lowdelay |
1105 | for interactive sessions and | 1002 | for interactive sessions and |
1106 | .Dq throughput | 1003 | .Cm throughput |
1107 | for non-interactive sessions. | 1004 | for non-interactive sessions. |
1108 | .It Cm KbdInteractiveAuthentication | 1005 | .It Cm KbdInteractiveAuthentication |
1109 | Specifies whether to use keyboard-interactive authentication. | 1006 | Specifies whether to use keyboard-interactive authentication. |
1110 | The argument to this keyword must be | 1007 | The argument to this keyword must be |
1111 | .Dq yes | 1008 | .Cm yes |
1009 | (the default) | ||
1112 | or | 1010 | or |
1113 | .Dq no . | 1011 | .Cm no . |
1114 | The default is | ||
1115 | .Dq yes . | ||
1116 | .It Cm KbdInteractiveDevices | 1012 | .It Cm KbdInteractiveDevices |
1117 | Specifies the list of methods to use in keyboard-interactive authentication. | 1013 | Specifies the list of methods to use in keyboard-interactive authentication. |
1118 | Multiple method names must be comma-separated. | 1014 | Multiple method names must be comma-separated. |
@@ -1120,10 +1016,10 @@ The default is to use the server specified list. | |||
1120 | The methods available vary depending on what the server supports. | 1016 | The methods available vary depending on what the server supports. |
1121 | For an OpenSSH server, | 1017 | For an OpenSSH server, |
1122 | it may be zero or more of: | 1018 | it may be zero or more of: |
1123 | .Dq bsdauth , | 1019 | .Cm bsdauth , |
1124 | .Dq pam , | 1020 | .Cm pam , |
1125 | and | 1021 | and |
1126 | .Dq skey . | 1022 | .Cm skey . |
1127 | .It Cm KexAlgorithms | 1023 | .It Cm KexAlgorithms |
1128 | Specifies the available KEX (Key Exchange) algorithms. | 1024 | Specifies the available KEX (Key Exchange) algorithms. |
1129 | Multiple algorithms must be comma-separated. | 1025 | Multiple algorithms must be comma-separated. |
@@ -1133,41 +1029,25 @@ character, then the specified methods will be appended to the default set | |||
1133 | instead of replacing them. | 1029 | instead of replacing them. |
1134 | The default is: | 1030 | The default is: |
1135 | .Bd -literal -offset indent | 1031 | .Bd -literal -offset indent |
1136 | curve25519-sha256@libssh.org, | 1032 | curve25519-sha256,curve25519-sha256@libssh.org, |
1137 | ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, | 1033 | ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, |
1138 | diffie-hellman-group-exchange-sha256, | 1034 | diffie-hellman-group-exchange-sha256, |
1139 | diffie-hellman-group-exchange-sha1, | 1035 | diffie-hellman-group-exchange-sha1, |
1140 | diffie-hellman-group14-sha1 | 1036 | diffie-hellman-group14-sha1 |
1141 | .Ed | 1037 | .Ed |
1142 | .Pp | 1038 | .Pp |
1143 | The list of available key exchange algorithms may also be obtained using the | 1039 | The list of available key exchange algorithms may also be obtained using |
1144 | .Fl Q | 1040 | .Qq ssh -Q kex . |
1145 | option of | ||
1146 | .Xr ssh 1 | ||
1147 | with an argument of | ||
1148 | .Dq kex . | ||
1149 | .It Cm LocalCommand | 1041 | .It Cm LocalCommand |
1150 | Specifies a command to execute on the local machine after successfully | 1042 | Specifies a command to execute on the local machine after successfully |
1151 | connecting to the server. | 1043 | connecting to the server. |
1152 | The command string extends to the end of the line, and is executed with | 1044 | The command string extends to the end of the line, and is executed with |
1153 | the user's shell. | 1045 | the user's shell. |
1154 | The following escape character substitutions will be performed: | 1046 | Arguments to |
1155 | .Ql %d | 1047 | .Cm LocalCommand |
1156 | (local user's home directory), | 1048 | accept the tokens described in the |
1157 | .Ql %h | 1049 | .Sx TOKENS |
1158 | (remote host name), | 1050 | section. |
1159 | .Ql %l | ||
1160 | (local host name), | ||
1161 | .Ql %n | ||
1162 | (host name as provided on the command line), | ||
1163 | .Ql %p | ||
1164 | (remote port), | ||
1165 | .Ql %r | ||
1166 | (remote user name) or | ||
1167 | .Ql %u | ||
1168 | (local user name) or | ||
1169 | .Ql \&%C | ||
1170 | by a hash of the concatenation: %l%h%p%r. | ||
1171 | .Pp | 1051 | .Pp |
1172 | The command is run synchronously and does not have access to the | 1052 | The command is run synchronously and does not have access to the |
1173 | session of the | 1053 | session of the |
@@ -1200,7 +1080,7 @@ may be used to bind the connection to a specific address. | |||
1200 | The | 1080 | The |
1201 | .Ar bind_address | 1081 | .Ar bind_address |
1202 | of | 1082 | of |
1203 | .Dq localhost | 1083 | .Cm localhost |
1204 | indicates that the listening port be bound for local use only, while an | 1084 | indicates that the listening port be bound for local use only, while an |
1205 | empty address or | 1085 | empty address or |
1206 | .Sq * | 1086 | .Sq * |
@@ -1224,7 +1104,7 @@ character, then the specified algorithms will be appended to the default set | |||
1224 | instead of replacing them. | 1104 | instead of replacing them. |
1225 | .Pp | 1105 | .Pp |
1226 | The algorithms that contain | 1106 | The algorithms that contain |
1227 | .Dq -etm | 1107 | .Qq -etm |
1228 | calculate the MAC after encryption (encrypt-then-mac). | 1108 | calculate the MAC after encryption (encrypt-then-mac). |
1229 | These are considered safer and their use recommended. | 1109 | These are considered safer and their use recommended. |
1230 | .Pp | 1110 | .Pp |
@@ -1237,22 +1117,18 @@ umac-64@openssh.com,umac-128@openssh.com, | |||
1237 | hmac-sha2-256,hmac-sha2-512,hmac-sha1 | 1117 | hmac-sha2-256,hmac-sha2-512,hmac-sha1 |
1238 | .Ed | 1118 | .Ed |
1239 | .Pp | 1119 | .Pp |
1240 | The list of available MAC algorithms may also be obtained using the | 1120 | The list of available MAC algorithms may also be obtained using |
1241 | .Fl Q | 1121 | .Qq ssh -Q mac . |
1242 | option of | ||
1243 | .Xr ssh 1 | ||
1244 | with an argument of | ||
1245 | .Dq mac . | ||
1246 | .It Cm NoHostAuthenticationForLocalhost | 1122 | .It Cm NoHostAuthenticationForLocalhost |
1247 | This option can be used if the home directory is shared across machines. | 1123 | This option can be used if the home directory is shared across machines. |
1248 | In this case localhost will refer to a different machine on each of | 1124 | In this case localhost will refer to a different machine on each of |
1249 | the machines and the user will get many warnings about changed host keys. | 1125 | the machines and the user will get many warnings about changed host keys. |
1250 | However, this option disables host authentication for localhost. | 1126 | However, this option disables host authentication for localhost. |
1251 | The argument to this keyword must be | 1127 | The argument to this keyword must be |
1252 | .Dq yes | 1128 | .Cm yes |
1253 | or | 1129 | or |
1254 | .Dq no . | 1130 | .Cm no . |
1255 | The default is to check the host key for localhost. | 1131 | (the default). |
1256 | .It Cm NumberOfPasswordPrompts | 1132 | .It Cm NumberOfPasswordPrompts |
1257 | Specifies the number of password prompts before giving up. | 1133 | Specifies the number of password prompts before giving up. |
1258 | The argument to this keyword must be an integer. | 1134 | The argument to this keyword must be an integer. |
@@ -1260,11 +1136,10 @@ The default is 3. | |||
1260 | .It Cm PasswordAuthentication | 1136 | .It Cm PasswordAuthentication |
1261 | Specifies whether to use password authentication. | 1137 | Specifies whether to use password authentication. |
1262 | The argument to this keyword must be | 1138 | The argument to this keyword must be |
1263 | .Dq yes | 1139 | .Cm yes |
1140 | (the default) | ||
1264 | or | 1141 | or |
1265 | .Dq no . | 1142 | .Cm no . |
1266 | The default is | ||
1267 | .Dq yes . | ||
1268 | .It Cm PermitLocalCommand | 1143 | .It Cm PermitLocalCommand |
1269 | Allow local command execution via the | 1144 | Allow local command execution via the |
1270 | .Ic LocalCommand | 1145 | .Ic LocalCommand |
@@ -1273,11 +1148,10 @@ option or using the | |||
1273 | escape sequence in | 1148 | escape sequence in |
1274 | .Xr ssh 1 . | 1149 | .Xr ssh 1 . |
1275 | The argument must be | 1150 | The argument must be |
1276 | .Dq yes | 1151 | .Cm yes |
1277 | or | 1152 | or |
1278 | .Dq no . | 1153 | .Cm no |
1279 | The default is | 1154 | (the default). |
1280 | .Dq no . | ||
1281 | .It Cm PKCS11Provider | 1155 | .It Cm PKCS11Provider |
1282 | Specifies which PKCS#11 provider to use. | 1156 | Specifies which PKCS#11 provider to use. |
1283 | The argument to this keyword is the PKCS#11 shared library | 1157 | The argument to this keyword is the PKCS#11 shared library |
@@ -1302,18 +1176,14 @@ keyboard-interactive,password | |||
1302 | Specifies the protocol versions | 1176 | Specifies the protocol versions |
1303 | .Xr ssh 1 | 1177 | .Xr ssh 1 |
1304 | should support in order of preference. | 1178 | should support in order of preference. |
1305 | The possible values are | 1179 | The possible values are 1 and 2. |
1306 | .Sq 1 | ||
1307 | and | ||
1308 | .Sq 2 . | ||
1309 | Multiple versions must be comma-separated. | 1180 | Multiple versions must be comma-separated. |
1310 | When this option is set to | 1181 | When this option is set to |
1311 | .Dq 2,1 | 1182 | .Cm 2,1 |
1312 | .Nm ssh | 1183 | .Nm ssh |
1313 | will try version 2 and fall back to version 1 | 1184 | will try version 2 and fall back to version 1 |
1314 | if version 2 is not available. | 1185 | if version 2 is not available. |
1315 | The default is | 1186 | The default is version 2. |
1316 | .Sq 2 . | ||
1317 | Protocol 1 suffers from a number of cryptographic weaknesses and should | 1187 | Protocol 1 suffers from a number of cryptographic weaknesses and should |
1318 | not be used. | 1188 | not be used. |
1319 | It is only offered to support legacy devices. | 1189 | It is only offered to support legacy devices. |
@@ -1325,14 +1195,11 @@ using the user's shell | |||
1325 | .Ql exec | 1195 | .Ql exec |
1326 | directive to avoid a lingering shell process. | 1196 | directive to avoid a lingering shell process. |
1327 | .Pp | 1197 | .Pp |
1328 | In the command string, any occurrence of | 1198 | Arguments to |
1329 | .Ql %h | 1199 | .Cm ProxyCommand |
1330 | will be substituted by the host name to | 1200 | accept the tokens described in the |
1331 | connect, | 1201 | .Sx TOKENS |
1332 | .Ql %p | 1202 | section. |
1333 | by the port, and | ||
1334 | .Ql %r | ||
1335 | by the remote user name. | ||
1336 | The command can be basically anything, | 1203 | The command can be basically anything, |
1337 | and should read from its standard input and write to its standard output. | 1204 | and should read from its standard input and write to its standard output. |
1338 | It should eventually connect an | 1205 | It should eventually connect an |
@@ -1344,7 +1211,7 @@ Host key management will be done using the | |||
1344 | HostName of the host being connected (defaulting to the name typed by | 1211 | HostName of the host being connected (defaulting to the name typed by |
1345 | the user). | 1212 | the user). |
1346 | Setting the command to | 1213 | Setting the command to |
1347 | .Dq none | 1214 | .Cm none |
1348 | disables this option entirely. | 1215 | disables this option entirely. |
1349 | Note that | 1216 | Note that |
1350 | .Cm CheckHostIP | 1217 | .Cm CheckHostIP |
@@ -1389,7 +1256,7 @@ will pass a connected file descriptor back to | |||
1389 | .Xr ssh 1 | 1256 | .Xr ssh 1 |
1390 | instead of continuing to execute and pass data. | 1257 | instead of continuing to execute and pass data. |
1391 | The default is | 1258 | The default is |
1392 | .Dq no . | 1259 | .Cm no . |
1393 | .It Cm PubkeyAcceptedKeyTypes | 1260 | .It Cm PubkeyAcceptedKeyTypes |
1394 | Specifies the key types that will be used for public key authentication | 1261 | Specifies the key types that will be used for public key authentication |
1395 | as a comma-separated pattern list. | 1262 | as a comma-separated pattern list. |
@@ -1408,19 +1275,15 @@ ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, | |||
1408 | ssh-ed25519,ssh-rsa | 1275 | ssh-ed25519,ssh-rsa |
1409 | .Ed | 1276 | .Ed |
1410 | .Pp | 1277 | .Pp |
1411 | The | 1278 | The list of available key types may also be obtained using |
1412 | .Fl Q | 1279 | .Qq ssh -Q key . |
1413 | option of | ||
1414 | .Xr ssh 1 | ||
1415 | may be used to list supported key types. | ||
1416 | .It Cm PubkeyAuthentication | 1280 | .It Cm PubkeyAuthentication |
1417 | Specifies whether to try public key authentication. | 1281 | Specifies whether to try public key authentication. |
1418 | The argument to this keyword must be | 1282 | The argument to this keyword must be |
1419 | .Dq yes | 1283 | .Cm yes |
1284 | (the default) | ||
1420 | or | 1285 | or |
1421 | .Dq no . | 1286 | .Cm no . |
1422 | The default is | ||
1423 | .Dq yes . | ||
1424 | .It Cm RekeyLimit | 1287 | .It Cm RekeyLimit |
1425 | Specifies the maximum amount of data that may be transmitted before the | 1288 | Specifies the maximum amount of data that may be transmitted before the |
1426 | session key is renegotiated, optionally followed a maximum amount of | 1289 | session key is renegotiated, optionally followed a maximum amount of |
@@ -1438,12 +1301,13 @@ and | |||
1438 | depending on the cipher. | 1301 | depending on the cipher. |
1439 | The optional second value is specified in seconds and may use any of the | 1302 | The optional second value is specified in seconds and may use any of the |
1440 | units documented in the | 1303 | units documented in the |
1441 | TIME FORMATS section of | 1304 | .Sx TIME FORMATS |
1305 | section of | ||
1442 | .Xr sshd_config 5 . | 1306 | .Xr sshd_config 5 . |
1443 | The default value for | 1307 | The default value for |
1444 | .Cm RekeyLimit | 1308 | .Cm RekeyLimit |
1445 | is | 1309 | is |
1446 | .Dq default none , | 1310 | .Cm default none , |
1447 | which means that rekeying is performed after the cipher's default amount | 1311 | which means that rekeying is performed after the cipher's default amount |
1448 | of data has been sent or received and no time based rekeying is done. | 1312 | of data has been sent or received and no time based rekeying is done. |
1449 | .It Cm RemoteForward | 1313 | .It Cm RemoteForward |
@@ -1463,8 +1327,7 @@ logging in as root on the remote machine. | |||
1463 | .Pp | 1327 | .Pp |
1464 | If the | 1328 | If the |
1465 | .Ar port | 1329 | .Ar port |
1466 | argument is | 1330 | argument is 0, |
1467 | .Ql 0 , | ||
1468 | the listen port will be dynamically allocated on the server and reported | 1331 | the listen port will be dynamically allocated on the server and reported |
1469 | to the client at run time. | 1332 | to the client at run time. |
1470 | .Pp | 1333 | .Pp |
@@ -1486,13 +1349,13 @@ option is enabled (see | |||
1486 | .It Cm RequestTTY | 1349 | .It Cm RequestTTY |
1487 | Specifies whether to request a pseudo-tty for the session. | 1350 | Specifies whether to request a pseudo-tty for the session. |
1488 | The argument may be one of: | 1351 | The argument may be one of: |
1489 | .Dq no | 1352 | .Cm no |
1490 | (never request a TTY), | 1353 | (never request a TTY), |
1491 | .Dq yes | 1354 | .Cm yes |
1492 | (always request a TTY when standard input is a TTY), | 1355 | (always request a TTY when standard input is a TTY), |
1493 | .Dq force | 1356 | .Cm force |
1494 | (always request a TTY) or | 1357 | (always request a TTY) or |
1495 | .Dq auto | 1358 | .Cm auto |
1496 | (request a TTY when opening a login session). | 1359 | (request a TTY when opening a login session). |
1497 | This option mirrors the | 1360 | This option mirrors the |
1498 | .Fl t | 1361 | .Fl t |
@@ -1514,25 +1377,23 @@ For more information on KRLs, see the KEY REVOCATION LISTS section in | |||
1514 | Specifies whether to try rhosts based authentication with RSA host | 1377 | Specifies whether to try rhosts based authentication with RSA host |
1515 | authentication. | 1378 | authentication. |
1516 | The argument must be | 1379 | The argument must be |
1517 | .Dq yes | 1380 | .Cm yes |
1518 | or | 1381 | or |
1519 | .Dq no . | 1382 | .Cm no |
1520 | The default is | 1383 | (the default). |
1521 | .Dq no . | ||
1522 | This option applies to protocol version 1 only and requires | 1384 | This option applies to protocol version 1 only and requires |
1523 | .Xr ssh 1 | 1385 | .Xr ssh 1 |
1524 | to be setuid root. | 1386 | to be setuid root. |
1525 | .It Cm RSAAuthentication | 1387 | .It Cm RSAAuthentication |
1526 | Specifies whether to try RSA authentication. | 1388 | Specifies whether to try RSA authentication. |
1527 | The argument to this keyword must be | 1389 | The argument to this keyword must be |
1528 | .Dq yes | 1390 | .Cm yes |
1391 | (the default) | ||
1529 | or | 1392 | or |
1530 | .Dq no . | 1393 | .Cm no . |
1531 | RSA authentication will only be | 1394 | RSA authentication will only be |
1532 | attempted if the identity file exists, or an authentication agent is | 1395 | attempted if the identity file exists, or an authentication agent is |
1533 | running. | 1396 | running. |
1534 | The default is | ||
1535 | .Dq yes . | ||
1536 | Note that this option applies to protocol version 1 only. | 1397 | Note that this option applies to protocol version 1 only. |
1537 | .It Cm SendEnv | 1398 | .It Cm SendEnv |
1538 | Specifies what variables from the local | 1399 | Specifies what variables from the local |
@@ -1615,14 +1476,13 @@ will be unable to forward the port to the Unix-domain socket file. | |||
1615 | This option is only used for port forwarding to a Unix-domain socket file. | 1476 | This option is only used for port forwarding to a Unix-domain socket file. |
1616 | .Pp | 1477 | .Pp |
1617 | The argument must be | 1478 | The argument must be |
1618 | .Dq yes | 1479 | .Cm yes |
1619 | or | 1480 | or |
1620 | .Dq no . | 1481 | .Cm no |
1621 | The default is | 1482 | (the default). |
1622 | .Dq no . | ||
1623 | .It Cm StrictHostKeyChecking | 1483 | .It Cm StrictHostKeyChecking |
1624 | If this flag is set to | 1484 | If this flag is set to |
1625 | .Dq yes , | 1485 | .Cm yes , |
1626 | .Xr ssh 1 | 1486 | .Xr ssh 1 |
1627 | will never automatically add host keys to the | 1487 | will never automatically add host keys to the |
1628 | .Pa ~/.ssh/known_hosts | 1488 | .Pa ~/.ssh/known_hosts |
@@ -1635,24 +1495,18 @@ frequently made. | |||
1635 | This option forces the user to manually | 1495 | This option forces the user to manually |
1636 | add all new hosts. | 1496 | add all new hosts. |
1637 | If this flag is set to | 1497 | If this flag is set to |
1638 | .Dq no , | 1498 | .Cm no , |
1639 | ssh will automatically add new host keys to the | 1499 | ssh will automatically add new host keys to the |
1640 | user known hosts files. | 1500 | user known hosts files. |
1641 | If this flag is set to | 1501 | If this flag is set to |
1642 | .Dq ask , | 1502 | .Cm ask |
1503 | (the default), | ||
1643 | new host keys | 1504 | new host keys |
1644 | will be added to the user known host files only after the user | 1505 | will be added to the user known host files only after the user |
1645 | has confirmed that is what they really want to do, and | 1506 | has confirmed that is what they really want to do, and |
1646 | ssh will refuse to connect to hosts whose host key has changed. | 1507 | ssh will refuse to connect to hosts whose host key has changed. |
1647 | The host keys of | 1508 | The host keys of |
1648 | known hosts will be verified automatically in all cases. | 1509 | known hosts will be verified automatically in all cases. |
1649 | The argument must be | ||
1650 | .Dq yes , | ||
1651 | .Dq no , | ||
1652 | or | ||
1653 | .Dq ask . | ||
1654 | The default is | ||
1655 | .Dq ask . | ||
1656 | .It Cm TCPKeepAlive | 1510 | .It Cm TCPKeepAlive |
1657 | Specifies whether the system should send TCP keepalive messages to the | 1511 | Specifies whether the system should send TCP keepalive messages to the |
1658 | other side. | 1512 | other side. |
@@ -1663,31 +1517,30 @@ connections will die if the route is down temporarily, and some people | |||
1663 | find it annoying. | 1517 | find it annoying. |
1664 | .Pp | 1518 | .Pp |
1665 | The default is | 1519 | The default is |
1666 | .Dq yes | 1520 | .Cm yes |
1667 | (to send TCP keepalive messages), and the client will notice | 1521 | (to send TCP keepalive messages), and the client will notice |
1668 | if the network goes down or the remote host dies. | 1522 | if the network goes down or the remote host dies. |
1669 | This is important in scripts, and many users want it too. | 1523 | This is important in scripts, and many users want it too. |
1670 | .Pp | 1524 | .Pp |
1671 | To disable TCP keepalive messages, the value should be set to | 1525 | To disable TCP keepalive messages, the value should be set to |
1672 | .Dq no . | 1526 | .Cm no . |
1673 | .It Cm Tunnel | 1527 | .It Cm Tunnel |
1674 | Request | 1528 | Request |
1675 | .Xr tun 4 | 1529 | .Xr tun 4 |
1676 | device forwarding between the client and the server. | 1530 | device forwarding between the client and the server. |
1677 | The argument must be | 1531 | The argument must be |
1678 | .Dq yes , | 1532 | .Cm yes , |
1679 | .Dq point-to-point | 1533 | .Cm point-to-point |
1680 | (layer 3), | 1534 | (layer 3), |
1681 | .Dq ethernet | 1535 | .Cm ethernet |
1682 | (layer 2), | 1536 | (layer 2), |
1683 | or | 1537 | or |
1684 | .Dq no . | 1538 | .Cm no |
1539 | (the default). | ||
1685 | Specifying | 1540 | Specifying |
1686 | .Dq yes | 1541 | .Cm yes |
1687 | requests the default tunnel mode, which is | 1542 | requests the default tunnel mode, which is |
1688 | .Dq point-to-point . | 1543 | .Cm point-to-point . |
1689 | The default is | ||
1690 | .Dq no . | ||
1691 | .It Cm TunnelDevice | 1544 | .It Cm TunnelDevice |
1692 | Specifies the | 1545 | Specifies the |
1693 | .Xr tun 4 | 1546 | .Xr tun 4 |
@@ -1701,14 +1554,14 @@ The argument must be | |||
1701 | .Ar local_tun Op : Ar remote_tun . | 1554 | .Ar local_tun Op : Ar remote_tun . |
1702 | .Sm on | 1555 | .Sm on |
1703 | The devices may be specified by numerical ID or the keyword | 1556 | The devices may be specified by numerical ID or the keyword |
1704 | .Dq any , | 1557 | .Cm any , |
1705 | which uses the next available tunnel device. | 1558 | which uses the next available tunnel device. |
1706 | If | 1559 | If |
1707 | .Ar remote_tun | 1560 | .Ar remote_tun |
1708 | is not specified, it defaults to | 1561 | is not specified, it defaults to |
1709 | .Dq any . | 1562 | .Cm any . |
1710 | The default is | 1563 | The default is |
1711 | .Dq any:any . | 1564 | .Cm any:any . |
1712 | .It Cm UpdateHostKeys | 1565 | .It Cm UpdateHostKeys |
1713 | Specifies whether | 1566 | Specifies whether |
1714 | .Xr ssh 1 | 1567 | .Xr ssh 1 |
@@ -1716,10 +1569,10 @@ should accept notifications of additional hostkeys from the server sent | |||
1716 | after authentication has completed and add them to | 1569 | after authentication has completed and add them to |
1717 | .Cm UserKnownHostsFile . | 1570 | .Cm UserKnownHostsFile . |
1718 | The argument must be | 1571 | The argument must be |
1719 | .Dq yes , | 1572 | .Cm yes , |
1720 | .Dq no | 1573 | .Cm no |
1721 | (the default) or | 1574 | (the default) or |
1722 | .Dq ask . | 1575 | .Cm ask . |
1723 | Enabling this option allows learning alternate hostkeys for a server | 1576 | Enabling this option allows learning alternate hostkeys for a server |
1724 | and supports graceful key rotation by allowing a server to send replacement | 1577 | and supports graceful key rotation by allowing a server to send replacement |
1725 | public keys before old ones are removed. | 1578 | public keys before old ones are removed. |
@@ -1728,7 +1581,7 @@ host was already trusted or explicitly accepted by the user. | |||
1728 | If | 1581 | If |
1729 | .Cm UpdateHostKeys | 1582 | .Cm UpdateHostKeys |
1730 | is set to | 1583 | is set to |
1731 | .Dq ask , | 1584 | .Cm ask , |
1732 | then the user is asked to confirm the modifications to the known_hosts file. | 1585 | then the user is asked to confirm the modifications to the known_hosts file. |
1733 | Confirmation is currently incompatible with | 1586 | Confirmation is currently incompatible with |
1734 | .Cm ControlPersist , | 1587 | .Cm ControlPersist , |
@@ -1737,22 +1590,21 @@ and will be disabled if it is enabled. | |||
1737 | Presently, only | 1590 | Presently, only |
1738 | .Xr sshd 8 | 1591 | .Xr sshd 8 |
1739 | from OpenSSH 6.8 and greater support the | 1592 | from OpenSSH 6.8 and greater support the |
1740 | .Dq hostkeys@openssh.com | 1593 | .Qq hostkeys@openssh.com |
1741 | protocol extension used to inform the client of all the server's hostkeys. | 1594 | protocol extension used to inform the client of all the server's hostkeys. |
1742 | .It Cm UsePrivilegedPort | 1595 | .It Cm UsePrivilegedPort |
1743 | Specifies whether to use a privileged port for outgoing connections. | 1596 | Specifies whether to use a privileged port for outgoing connections. |
1744 | The argument must be | 1597 | The argument must be |
1745 | .Dq yes | 1598 | .Cm yes |
1746 | or | 1599 | or |
1747 | .Dq no . | 1600 | .Cm no |
1748 | The default is | 1601 | (the default). |
1749 | .Dq no . | ||
1750 | If set to | 1602 | If set to |
1751 | .Dq yes , | 1603 | .Cm yes , |
1752 | .Xr ssh 1 | 1604 | .Xr ssh 1 |
1753 | must be setuid root. | 1605 | must be setuid root. |
1754 | Note that this option must be set to | 1606 | Note that this option must be set to |
1755 | .Dq yes | 1607 | .Cm yes |
1756 | for | 1608 | for |
1757 | .Cm RhostsRSAAuthentication | 1609 | .Cm RhostsRSAAuthentication |
1758 | with older servers. | 1610 | with older servers. |
@@ -1771,39 +1623,35 @@ The default is | |||
1771 | Specifies whether to verify the remote key using DNS and SSHFP resource | 1623 | Specifies whether to verify the remote key using DNS and SSHFP resource |
1772 | records. | 1624 | records. |
1773 | If this option is set to | 1625 | If this option is set to |
1774 | .Dq yes , | 1626 | .Cm yes , |
1775 | the client will implicitly trust keys that match a secure fingerprint | 1627 | the client will implicitly trust keys that match a secure fingerprint |
1776 | from DNS. | 1628 | from DNS. |
1777 | Insecure fingerprints will be handled as if this option was set to | 1629 | Insecure fingerprints will be handled as if this option was set to |
1778 | .Dq ask . | 1630 | .Cm ask . |
1779 | If this option is set to | 1631 | If this option is set to |
1780 | .Dq ask , | 1632 | .Cm ask , |
1781 | information on fingerprint match will be displayed, but the user will still | 1633 | information on fingerprint match will be displayed, but the user will still |
1782 | need to confirm new host keys according to the | 1634 | need to confirm new host keys according to the |
1783 | .Cm StrictHostKeyChecking | 1635 | .Cm StrictHostKeyChecking |
1784 | option. | 1636 | option. |
1785 | The argument must be | ||
1786 | .Dq yes , | ||
1787 | .Dq no , | ||
1788 | or | ||
1789 | .Dq ask . | ||
1790 | The default is | 1637 | The default is |
1791 | .Dq no . | 1638 | .Cm no . |
1792 | .Pp | 1639 | .Pp |
1793 | See also VERIFYING HOST KEYS in | 1640 | See also |
1641 | .Sx VERIFYING HOST KEYS | ||
1642 | in | ||
1794 | .Xr ssh 1 . | 1643 | .Xr ssh 1 . |
1795 | .It Cm VisualHostKey | 1644 | .It Cm VisualHostKey |
1796 | If this flag is set to | 1645 | If this flag is set to |
1797 | .Dq yes , | 1646 | .Cm yes , |
1798 | an ASCII art representation of the remote host key fingerprint is | 1647 | an ASCII art representation of the remote host key fingerprint is |
1799 | printed in addition to the fingerprint string at login and | 1648 | printed in addition to the fingerprint string at login and |
1800 | for unknown host keys. | 1649 | for unknown host keys. |
1801 | If this flag is set to | 1650 | If this flag is set to |
1802 | .Dq no , | 1651 | .Cm no |
1652 | (the default), | ||
1803 | no fingerprint strings are printed at login and | 1653 | no fingerprint strings are printed at login and |
1804 | only the fingerprint string will be printed for unknown host keys. | 1654 | only the fingerprint string will be printed for unknown host keys. |
1805 | The default is | ||
1806 | .Dq no . | ||
1807 | .It Cm XAuthLocation | 1655 | .It Cm XAuthLocation |
1808 | Specifies the full pathname of the | 1656 | Specifies the full pathname of the |
1809 | .Xr xauth 1 | 1657 | .Xr xauth 1 |
@@ -1821,7 +1669,7 @@ or | |||
1821 | .Sq ?\& | 1669 | .Sq ?\& |
1822 | (a wildcard that matches exactly one character). | 1670 | (a wildcard that matches exactly one character). |
1823 | For example, to specify a set of declarations for any host in the | 1671 | For example, to specify a set of declarations for any host in the |
1824 | .Dq .co.uk | 1672 | .Qq .co.uk |
1825 | set of domains, | 1673 | set of domains, |
1826 | the following pattern could be used: | 1674 | the following pattern could be used: |
1827 | .Pp | 1675 | .Pp |
@@ -1841,11 +1689,63 @@ by preceding them with an exclamation mark | |||
1841 | For example, | 1689 | For example, |
1842 | to allow a key to be used from anywhere within an organization | 1690 | to allow a key to be used from anywhere within an organization |
1843 | except from the | 1691 | except from the |
1844 | .Dq dialup | 1692 | .Qq dialup |
1845 | pool, | 1693 | pool, |
1846 | the following entry (in authorized_keys) could be used: | 1694 | the following entry (in authorized_keys) could be used: |
1847 | .Pp | 1695 | .Pp |
1848 | .Dl from=\&"!*.dialup.example.com,*.example.com\&" | 1696 | .Dl from=\&"!*.dialup.example.com,*.example.com\&" |
1697 | .Sh TOKENS | ||
1698 | Arguments to some keywords can make use of tokens, | ||
1699 | which are expanded at runtime: | ||
1700 | .Pp | ||
1701 | .Bl -tag -width XXXX -offset indent -compact | ||
1702 | .It %% | ||
1703 | A literal | ||
1704 | .Sq % . | ||
1705 | .It \&%C | ||
1706 | Shorthand for %l%h%p%r. | ||
1707 | .It %d | ||
1708 | Local user's home directory. | ||
1709 | .It %h | ||
1710 | The remote hostname. | ||
1711 | .It %i | ||
1712 | The local user ID. | ||
1713 | .It %L | ||
1714 | The local hostname. | ||
1715 | .It %l | ||
1716 | The local hostname, including the domain name. | ||
1717 | .It %n | ||
1718 | The original remote hostname, as given on the command line. | ||
1719 | .It %p | ||
1720 | The remote port. | ||
1721 | .It %r | ||
1722 | The remote username. | ||
1723 | .It %u | ||
1724 | The local username. | ||
1725 | .El | ||
1726 | .Pp | ||
1727 | .Cm Match exec | ||
1728 | accepts the tokens %%, %h, %L, %l, %n, %p, %r, and %u. | ||
1729 | .Pp | ||
1730 | .Cm CertificateFile | ||
1731 | accepts the tokens %%, %d, %h, %l, %r, and %u. | ||
1732 | .Pp | ||
1733 | .Cm ControlPath | ||
1734 | accepts the tokens %%, %C, %h, %i, %L, %l, %n, %p, %r, and %u. | ||
1735 | .Pp | ||
1736 | .Cm HostName | ||
1737 | accepts the tokens %% and %h. | ||
1738 | .Pp | ||
1739 | .Cm IdentityAgent | ||
1740 | and | ||
1741 | .Cm IdentityFile | ||
1742 | accept the tokens %%, %d, %h, %l, %r, and %u. | ||
1743 | .Pp | ||
1744 | .Cm LocalCommand | ||
1745 | accepts the tokens %%, %C, %d, %h, %l, %n, %p, %r, and %u. | ||
1746 | .Pp | ||
1747 | .Cm ProxyCommand | ||
1748 | accepts the tokens %%, %h, %p, and %r. | ||
1849 | .Sh FILES | 1749 | .Sh FILES |
1850 | .Bl -tag -width Ds | 1750 | .Bl -tag -width Ds |
1851 | .It Pa ~/.ssh/config | 1751 | .It Pa ~/.ssh/config |
@@ -1864,11 +1764,15 @@ This file must be world-readable. | |||
1864 | .Sh SEE ALSO | 1764 | .Sh SEE ALSO |
1865 | .Xr ssh 1 | 1765 | .Xr ssh 1 |
1866 | .Sh AUTHORS | 1766 | .Sh AUTHORS |
1767 | .An -nosplit | ||
1867 | OpenSSH is a derivative of the original and free | 1768 | OpenSSH is a derivative of the original and free |
1868 | ssh 1.2.12 release by Tatu Ylonen. | 1769 | ssh 1.2.12 release by |
1869 | Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, | 1770 | .An Tatu Ylonen . |
1870 | Theo de Raadt and Dug Song | 1771 | .An Aaron Campbell , Bob Beck , Markus Friedl , |
1772 | .An Niels Provos , Theo de Raadt | ||
1773 | and | ||
1774 | .An Dug Song | ||
1871 | removed many bugs, re-added newer features and | 1775 | removed many bugs, re-added newer features and |
1872 | created OpenSSH. | 1776 | created OpenSSH. |
1873 | Markus Friedl contributed the support for SSH | 1777 | .An Markus Friedl |
1874 | protocol versions 1.5 and 2.0. | 1778 | contributed the support for SSH protocol versions 1.5 and 2.0. |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshbuf.c,v 1.6 2016/01/12 23:42:54 djm Exp $ */ | 1 | /* $OpenBSD: sshbuf.c,v 1.8 2016/11/25 23:22:04 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2011 Damien Miller | 3 | * Copyright (c) 2011 Damien Miller |
4 | * | 4 | * |
@@ -18,7 +18,6 @@ | |||
18 | #define SSHBUF_INTERNAL | 18 | #define SSHBUF_INTERNAL |
19 | #include "includes.h" | 19 | #include "includes.h" |
20 | 20 | ||
21 | #include <sys/param.h> /* roundup */ | ||
22 | #include <sys/types.h> | 21 | #include <sys/types.h> |
23 | #include <signal.h> | 22 | #include <signal.h> |
24 | #include <stdlib.h> | 23 | #include <stdlib.h> |
@@ -27,6 +26,7 @@ | |||
27 | 26 | ||
28 | #include "ssherr.h" | 27 | #include "ssherr.h" |
29 | #include "sshbuf.h" | 28 | #include "sshbuf.h" |
29 | #include "misc.h" | ||
30 | 30 | ||
31 | static inline int | 31 | static inline int |
32 | sshbuf_check_sanity(const struct sshbuf *buf) | 32 | sshbuf_check_sanity(const struct sshbuf *buf) |
@@ -250,7 +250,7 @@ sshbuf_set_max_size(struct sshbuf *buf, size_t max_size) | |||
250 | if (buf->size < SSHBUF_SIZE_INIT) | 250 | if (buf->size < SSHBUF_SIZE_INIT) |
251 | rlen = SSHBUF_SIZE_INIT; | 251 | rlen = SSHBUF_SIZE_INIT; |
252 | else | 252 | else |
253 | rlen = roundup(buf->size, SSHBUF_SIZE_INC); | 253 | rlen = ROUNDUP(buf->size, SSHBUF_SIZE_INC); |
254 | if (rlen > max_size) | 254 | if (rlen > max_size) |
255 | rlen = max_size; | 255 | rlen = max_size; |
256 | explicit_bzero(buf->d + buf->size, buf->alloc - buf->size); | 256 | explicit_bzero(buf->d + buf->size, buf->alloc - buf->size); |
@@ -316,16 +316,13 @@ sshbuf_check_reserve(const struct sshbuf *buf, size_t len) | |||
316 | } | 316 | } |
317 | 317 | ||
318 | int | 318 | int |
319 | sshbuf_reserve(struct sshbuf *buf, size_t len, u_char **dpp) | 319 | sshbuf_allocate(struct sshbuf *buf, size_t len) |
320 | { | 320 | { |
321 | size_t rlen, need; | 321 | size_t rlen, need; |
322 | u_char *dp; | 322 | u_char *dp; |
323 | int r; | 323 | int r; |
324 | 324 | ||
325 | if (dpp != NULL) | 325 | SSHBUF_DBG(("allocate buf = %p len = %zu", buf, len)); |
326 | *dpp = NULL; | ||
327 | |||
328 | SSHBUF_DBG(("reserve buf = %p len = %zu", buf, len)); | ||
329 | if ((r = sshbuf_check_reserve(buf, len)) != 0) | 326 | if ((r = sshbuf_check_reserve(buf, len)) != 0) |
330 | return r; | 327 | return r; |
331 | /* | 328 | /* |
@@ -333,36 +330,49 @@ sshbuf_reserve(struct sshbuf *buf, size_t len, u_char **dpp) | |||
333 | * then pack the buffer, zeroing buf->off. | 330 | * then pack the buffer, zeroing buf->off. |
334 | */ | 331 | */ |
335 | sshbuf_maybe_pack(buf, buf->size + len > buf->max_size); | 332 | sshbuf_maybe_pack(buf, buf->size + len > buf->max_size); |
336 | SSHBUF_TELL("reserve"); | 333 | SSHBUF_TELL("allocate"); |
337 | if (len + buf->size > buf->alloc) { | 334 | if (len + buf->size <= buf->alloc) |
338 | /* | 335 | return 0; /* already have it. */ |
339 | * Prefer to alloc in SSHBUF_SIZE_INC units, but | 336 | |
340 | * allocate less if doing so would overflow max_size. | 337 | /* |
341 | */ | 338 | * Prefer to alloc in SSHBUF_SIZE_INC units, but |
342 | need = len + buf->size - buf->alloc; | 339 | * allocate less if doing so would overflow max_size. |
343 | rlen = roundup(buf->alloc + need, SSHBUF_SIZE_INC); | 340 | */ |
344 | SSHBUF_DBG(("need %zu initial rlen %zu", need, rlen)); | 341 | need = len + buf->size - buf->alloc; |
345 | if (rlen > buf->max_size) | 342 | rlen = ROUNDUP(buf->alloc + need, SSHBUF_SIZE_INC); |
346 | rlen = buf->alloc + need; | 343 | SSHBUF_DBG(("need %zu initial rlen %zu", need, rlen)); |
347 | SSHBUF_DBG(("adjusted rlen %zu", rlen)); | 344 | if (rlen > buf->max_size) |
348 | if ((dp = realloc(buf->d, rlen)) == NULL) { | 345 | rlen = buf->alloc + need; |
349 | SSHBUF_DBG(("realloc fail")); | 346 | SSHBUF_DBG(("adjusted rlen %zu", rlen)); |
350 | if (dpp != NULL) | 347 | if ((dp = realloc(buf->d, rlen)) == NULL) { |
351 | *dpp = NULL; | 348 | SSHBUF_DBG(("realloc fail")); |
352 | return SSH_ERR_ALLOC_FAIL; | 349 | return SSH_ERR_ALLOC_FAIL; |
353 | } | 350 | } |
354 | buf->alloc = rlen; | 351 | buf->alloc = rlen; |
355 | buf->cd = buf->d = dp; | 352 | buf->cd = buf->d = dp; |
356 | if ((r = sshbuf_check_reserve(buf, len)) < 0) { | 353 | if ((r = sshbuf_check_reserve(buf, len)) < 0) { |
357 | /* shouldn't fail */ | 354 | /* shouldn't fail */ |
358 | if (dpp != NULL) | 355 | return r; |
359 | *dpp = NULL; | ||
360 | return r; | ||
361 | } | ||
362 | } | 356 | } |
357 | SSHBUF_TELL("done"); | ||
358 | return 0; | ||
359 | } | ||
360 | |||
361 | int | ||
362 | sshbuf_reserve(struct sshbuf *buf, size_t len, u_char **dpp) | ||
363 | { | ||
364 | u_char *dp; | ||
365 | int r; | ||
366 | |||
367 | if (dpp != NULL) | ||
368 | *dpp = NULL; | ||
369 | |||
370 | SSHBUF_DBG(("reserve buf = %p len = %zu", buf, len)); | ||
371 | if ((r = sshbuf_allocate(buf, len)) != 0) | ||
372 | return r; | ||
373 | |||
363 | dp = buf->d + buf->size; | 374 | dp = buf->d + buf->size; |
364 | buf->size += len; | 375 | buf->size += len; |
365 | SSHBUF_TELL("done"); | ||
366 | if (dpp != NULL) | 376 | if (dpp != NULL) |
367 | *dpp = dp; | 377 | *dpp = dp; |
368 | return 0; | 378 | return 0; |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshbuf.h,v 1.7 2016/05/02 08:49:03 djm Exp $ */ | 1 | /* $OpenBSD: sshbuf.h,v 1.8 2016/11/25 23:22:04 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2011 Damien Miller | 3 | * Copyright (c) 2011 Damien Miller |
4 | * | 4 | * |
@@ -139,6 +139,14 @@ u_char *sshbuf_mutable_ptr(const struct sshbuf *buf); | |||
139 | int sshbuf_check_reserve(const struct sshbuf *buf, size_t len); | 139 | int sshbuf_check_reserve(const struct sshbuf *buf, size_t len); |
140 | 140 | ||
141 | /* | 141 | /* |
142 | * Preallocates len additional bytes in buf. | ||
143 | * Useful for cases where the caller knows how many bytes will ultimately be | ||
144 | * required to avoid realloc in the buffer code. | ||
145 | * Returns 0 on success, or a negative SSH_ERR_* error code on failure. | ||
146 | */ | ||
147 | int sshbuf_allocate(struct sshbuf *buf, size_t len); | ||
148 | |||
149 | /* | ||
142 | * Reserve len bytes in buf. | 150 | * Reserve len bytes in buf. |
143 | * Returns 0 on success and a pointer to the first reserved byte via the | 151 | * Returns 0 on success and a pointer to the first reserved byte via the |
144 | * optional dpp parameter or a negative * SSH_ERR_* error code on failure. | 152 | * optional dpp parameter or a negative * SSH_ERR_* error code on failure. |
diff --git a/sshconnect.c b/sshconnect.c index 356ec79f0..96b91ce1a 100644 --- a/sshconnect.c +++ b/sshconnect.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshconnect.c,v 1.271 2016/01/14 22:56:56 markus Exp $ */ | 1 | /* $OpenBSD: sshconnect.c,v 1.272 2016/09/12 01:22:38 deraadt Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -15,7 +15,6 @@ | |||
15 | 15 | ||
16 | #include "includes.h" | 16 | #include "includes.h" |
17 | 17 | ||
18 | #include <sys/param.h> /* roundup */ | ||
19 | #include <sys/types.h> | 18 | #include <sys/types.h> |
20 | #include <sys/wait.h> | 19 | #include <sys/wait.h> |
21 | #include <sys/stat.h> | 20 | #include <sys/stat.h> |
@@ -1403,7 +1402,7 @@ ssh_put_password(char *password) | |||
1403 | packet_put_cstring(password); | 1402 | packet_put_cstring(password); |
1404 | return; | 1403 | return; |
1405 | } | 1404 | } |
1406 | size = roundup(strlen(password) + 1, 32); | 1405 | size = ROUNDUP(strlen(password) + 1, 32); |
1407 | padded = xcalloc(1, size); | 1406 | padded = xcalloc(1, size); |
1408 | strlcpy(padded, password, size); | 1407 | strlcpy(padded, password, size); |
1409 | packet_put_string(padded, size); | 1408 | packet_put_string(padded, size); |
diff --git a/sshconnect1.c b/sshconnect1.c index bfc523bde..a04536184 100644 --- a/sshconnect1.c +++ b/sshconnect1.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshconnect1.c,v 1.78 2015/11/15 22:26:49 jcs Exp $ */ | 1 | /* $OpenBSD: sshconnect1.c,v 1.79 2016/09/19 07:52:42 natano Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -509,7 +509,6 @@ ssh_kex(char *host, struct sockaddr *hostaddr) | |||
509 | u_char cookie[8]; | 509 | u_char cookie[8]; |
510 | u_int supported_ciphers; | 510 | u_int supported_ciphers; |
511 | u_int server_flags, client_flags; | 511 | u_int server_flags, client_flags; |
512 | u_int32_t rnd = 0; | ||
513 | 512 | ||
514 | debug("Waiting for server public key."); | 513 | debug("Waiting for server public key."); |
515 | 514 | ||
@@ -568,12 +567,7 @@ ssh_kex(char *host, struct sockaddr *hostaddr) | |||
568 | * random number, interpreted as a 32-byte key, with the least | 567 | * random number, interpreted as a 32-byte key, with the least |
569 | * significant 8 bits being the first byte of the key. | 568 | * significant 8 bits being the first byte of the key. |
570 | */ | 569 | */ |
571 | for (i = 0; i < 32; i++) { | 570 | arc4random_buf(session_key, sizeof(session_key)); |
572 | if (i % 4 == 0) | ||
573 | rnd = arc4random(); | ||
574 | session_key[i] = rnd & 0xff; | ||
575 | rnd >>= 8; | ||
576 | } | ||
577 | 571 | ||
578 | /* | 572 | /* |
579 | * According to the protocol spec, the first byte of the session key | 573 | * According to the protocol spec, the first byte of the session key |
diff --git a/sshconnect2.c b/sshconnect2.c index fae8b0f2c..103a2b36a 100644 --- a/sshconnect2.c +++ b/sshconnect2.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshconnect2.c,v 1.247 2016/07/22 05:46:11 dtucker Exp $ */ | 1 | /* $OpenBSD: sshconnect2.c,v 1.251 2016/12/04 23:54:02 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
4 | * Copyright (c) 2008 Damien Miller. All rights reserved. | 4 | * Copyright (c) 2008 Damien Miller. All rights reserved. |
@@ -318,6 +318,7 @@ void userauth(Authctxt *, char *); | |||
318 | static int sign_and_send_pubkey(Authctxt *, Identity *); | 318 | static int sign_and_send_pubkey(Authctxt *, Identity *); |
319 | static void pubkey_prepare(Authctxt *); | 319 | static void pubkey_prepare(Authctxt *); |
320 | static void pubkey_cleanup(Authctxt *); | 320 | static void pubkey_cleanup(Authctxt *); |
321 | static void pubkey_reset(Authctxt *); | ||
321 | static Key *load_identity_file(Identity *); | 322 | static Key *load_identity_file(Identity *); |
322 | 323 | ||
323 | static Authmethod *authmethod_get(char *authlist); | 324 | static Authmethod *authmethod_get(char *authlist); |
@@ -404,6 +405,8 @@ ssh_userauth2(const char *local_user, const char *server_user, char *host, | |||
404 | pubkey_cleanup(&authctxt); | 405 | pubkey_cleanup(&authctxt); |
405 | ssh_dispatch_range(ssh, SSH2_MSG_USERAUTH_MIN, SSH2_MSG_USERAUTH_MAX, NULL); | 406 | ssh_dispatch_range(ssh, SSH2_MSG_USERAUTH_MIN, SSH2_MSG_USERAUTH_MAX, NULL); |
406 | 407 | ||
408 | if (!authctxt.success) | ||
409 | fatal("Authentication failed."); | ||
407 | debug("Authentication succeeded (%s).", authctxt.method->name); | 410 | debug("Authentication succeeded (%s).", authctxt.method->name); |
408 | } | 411 | } |
409 | 412 | ||
@@ -558,8 +561,7 @@ input_userauth_failure(int type, u_int32_t seq, void *ctxt) | |||
558 | if (partial != 0) { | 561 | if (partial != 0) { |
559 | verbose("Authenticated with partial success."); | 562 | verbose("Authenticated with partial success."); |
560 | /* reset state */ | 563 | /* reset state */ |
561 | pubkey_cleanup(authctxt); | 564 | pubkey_reset(authctxt); |
562 | pubkey_prepare(authctxt); | ||
563 | } | 565 | } |
564 | debug("Authentications that can continue: %s", authlist); | 566 | debug("Authentications that can continue: %s", authlist); |
565 | 567 | ||
@@ -1412,6 +1414,15 @@ pubkey_cleanup(Authctxt *authctxt) | |||
1412 | } | 1414 | } |
1413 | } | 1415 | } |
1414 | 1416 | ||
1417 | static void | ||
1418 | pubkey_reset(Authctxt *authctxt) | ||
1419 | { | ||
1420 | Identity *id; | ||
1421 | |||
1422 | TAILQ_FOREACH(id, &authctxt->keys, next) | ||
1423 | id->tried = 0; | ||
1424 | } | ||
1425 | |||
1415 | static int | 1426 | static int |
1416 | try_identity(Identity *id) | 1427 | try_identity(Identity *id) |
1417 | { | 1428 | { |
@@ -1460,6 +1471,7 @@ userauth_pubkey(Authctxt *authctxt) | |||
1460 | } | 1471 | } |
1461 | key_free(id->key); | 1472 | key_free(id->key); |
1462 | id->key = NULL; | 1473 | id->key = NULL; |
1474 | id->isprivate = 0; | ||
1463 | } | 1475 | } |
1464 | } | 1476 | } |
1465 | if (sent) | 1477 | if (sent) |
@@ -4,10 +4,9 @@ NAME | |||
4 | sshd M-bM-^@M-^S OpenSSH SSH daemon | 4 | sshd M-bM-^@M-^S OpenSSH SSH daemon |
5 | 5 | ||
6 | SYNOPSIS | 6 | SYNOPSIS |
7 | sshd [-46DdeiqTt] [-b bits] [-C connection_spec] | 7 | sshd [-46DdeiqTt] [-C connection_spec] [-c host_certificate_file] |
8 | [-c host_certificate_file] [-E log_file] [-f config_file] | 8 | [-E log_file] [-f config_file] [-g login_grace_time] |
9 | [-g login_grace_time] [-h host_key_file] [-k key_gen_time] | 9 | [-h host_key_file] [-o option] [-p port] [-u len] |
10 | [-o option] [-p port] [-u len] | ||
11 | 10 | ||
12 | DESCRIPTION | 11 | DESCRIPTION |
13 | sshd (OpenSSH Daemon) is the daemon program for ssh(1). Together these | 12 | sshd (OpenSSH Daemon) is the daemon program for ssh(1). Together these |
@@ -31,10 +30,6 @@ DESCRIPTION | |||
31 | 30 | ||
32 | -6 Forces sshd to use IPv6 addresses only. | 31 | -6 Forces sshd to use IPv6 addresses only. |
33 | 32 | ||
34 | -b bits | ||
35 | Specifies the number of bits in the ephemeral protocol version 1 | ||
36 | server key (default 1024). | ||
37 | |||
38 | -C connection_spec | 33 | -C connection_spec |
39 | Specify the connection parameters to use for the -T extended test | 34 | Specify the connection parameters to use for the -T extended test |
40 | mode. If provided, any Match directives in the configuration | 35 | mode. If provided, any Match directives in the configuration |
@@ -80,28 +75,12 @@ DESCRIPTION | |||
80 | Specifies a file from which a host key is read. This option must | 75 | Specifies a file from which a host key is read. This option must |
81 | be given if sshd is not run as root (as the normal host key files | 76 | be given if sshd is not run as root (as the normal host key files |
82 | are normally not readable by anyone but root). The default is | 77 | are normally not readable by anyone but root). The default is |
83 | /etc/ssh/ssh_host_key for protocol version 1, and | 78 | /etc/ssh/ssh_host_dsa_key, /etc/ssh/ssh_host_ecdsa_key, |
84 | /etc/ssh/ssh_host_dsa_key, /etc/ssh/ssh_host_ecdsa_key. | 79 | /etc/ssh/ssh_host_ed25519_key and /etc/ssh/ssh_host_rsa_key. It |
85 | /etc/ssh/ssh_host_ed25519_key and /etc/ssh/ssh_host_rsa_key for | 80 | is possible to have multiple host key files for the different |
86 | protocol version 2. It is possible to have multiple host key | 81 | host key algorithms. |
87 | files for the different protocol versions and host key | 82 | |
88 | algorithms. | 83 | -i Specifies that sshd is being run from inetd(8). |
89 | |||
90 | -i Specifies that sshd is being run from inetd(8). If SSH protocol | ||
91 | 1 is enabled, sshd should not normally be run from inetd because | ||
92 | it needs to generate the server key before it can respond to the | ||
93 | client, and this may take some time. Clients may have to wait | ||
94 | too long if the key was regenerated every time. | ||
95 | |||
96 | -k key_gen_time | ||
97 | Specifies how often the ephemeral protocol version 1 server key | ||
98 | is regenerated (default 3600 seconds, or one hour). The | ||
99 | motivation for regenerating the key fairly often is that the key | ||
100 | is not stored anywhere, and after about an hour it becomes | ||
101 | impossible to recover the key for decrypting intercepted | ||
102 | communications even if the machine is cracked into or physically | ||
103 | seized. A value of zero indicates that the key will never be | ||
104 | regenerated. | ||
105 | 84 | ||
106 | -o option | 85 | -o option |
107 | Can be used to give options in the format used in the | 86 | Can be used to give options in the format used in the |
@@ -138,33 +117,17 @@ DESCRIPTION | |||
138 | into the utmp file. -u0 may also be used to prevent sshd from | 117 | into the utmp file. -u0 may also be used to prevent sshd from |
139 | making DNS requests unless the authentication mechanism or | 118 | making DNS requests unless the authentication mechanism or |
140 | configuration requires it. Authentication mechanisms that may | 119 | configuration requires it. Authentication mechanisms that may |
141 | require DNS include RhostsRSAAuthentication, | 120 | require DNS include HostbasedAuthentication and using a |
142 | HostbasedAuthentication, and using a from="pattern-list" option | 121 | from="pattern-list" option in a key file. Configuration options |
143 | in a key file. Configuration options that require DNS include | 122 | that require DNS include using a USER@HOST pattern in AllowUsers |
144 | using a USER@HOST pattern in AllowUsers or DenyUsers. | 123 | or DenyUsers. |
145 | 124 | ||
146 | AUTHENTICATION | 125 | AUTHENTICATION |
147 | The OpenSSH SSH daemon supports SSH protocols 1 and 2. The default is to | 126 | The OpenSSH SSH daemon supports SSH protocol 2 only. Each host has a |
148 | use protocol 2 only, though this can be changed via the Protocol option | 127 | host-specific key, used to identify the host. Whenever a client |
149 | in sshd_config(5). Protocol 1 should not be used and is only offered to | 128 | connects, the daemon responds with its public host key. The client |
150 | support legacy devices. | 129 | compares the host key against its own database to verify that it has not |
151 | 130 | changed. Forward security is provided through a Diffie-Hellman key | |
152 | Each host has a host-specific key, used to identify the host. Partial | ||
153 | forward security for protocol 1 is provided through an additional server | ||
154 | key, normally 1024 bits, generated when the server starts. This key is | ||
155 | normally regenerated every hour if it has been used, and is never stored | ||
156 | on disk. Whenever a client connects, the daemon responds with its public | ||
157 | host and server keys. The client compares the RSA host key against its | ||
158 | own database to verify that it has not changed. The client then | ||
159 | generates a 256-bit random number. It encrypts this random number using | ||
160 | both the host key and the server key, and sends the encrypted number to | ||
161 | the server. Both sides then use this random number as a session key | ||
162 | which is used to encrypt all further communications in the session. The | ||
163 | rest of the session is encrypted using a conventional cipher, currently | ||
164 | Blowfish or 3DES, with 3DES being used by default. The client selects | ||
165 | the encryption algorithm to use from those offered by the server. | ||
166 | |||
167 | For protocol 2, forward security is provided through a Diffie-Hellman key | ||
168 | agreement. This key agreement results in a shared session key. The rest | 131 | agreement. This key agreement results in a shared session key. The rest |
169 | of the session is encrypted using a symmetric cipher, currently 128-bit | 132 | of the session is encrypted using a symmetric cipher, currently 128-bit |
170 | AES, Blowfish, 3DES, CAST128, Arcfour, 192-bit AES, or 256-bit AES. The | 133 | AES, Blowfish, 3DES, CAST128, Arcfour, 192-bit AES, or 256-bit AES. The |
@@ -271,27 +234,20 @@ AUTHORIZED_KEYS FILE FORMAT | |||
271 | key authentication; if this option is not specified, the default is | 234 | key authentication; if this option is not specified, the default is |
272 | ~/.ssh/authorized_keys and ~/.ssh/authorized_keys2. Each line of the | 235 | ~/.ssh/authorized_keys and ~/.ssh/authorized_keys2. Each line of the |
273 | file contains one key (empty lines and lines starting with a M-bM-^@M-^X#M-bM-^@M-^Y are | 236 | file contains one key (empty lines and lines starting with a M-bM-^@M-^X#M-bM-^@M-^Y are |
274 | ignored as comments). Protocol 1 public keys consist of the following | 237 | ignored as comments). Public keys consist of the following space- |
275 | space-separated fields: options, bits, exponent, modulus, comment. | 238 | separated fields: options, keytype, base64-encoded key, comment. The |
276 | Protocol 2 public key consist of: options, keytype, base64-encoded key, | 239 | options field is optional. The keytype is M-bM-^@M-^\ecdsa-sha2-nistp256M-bM-^@M-^], |
277 | comment. The options field is optional; its presence is determined by | ||
278 | whether the line starts with a number or not (the options field never | ||
279 | starts with a number). The bits, exponent, modulus, and comment fields | ||
280 | give the RSA key for protocol version 1; the comment field is not used | ||
281 | for anything (but may be convenient for the user to identify the key). | ||
282 | For protocol version 2 the keytype is M-bM-^@M-^\ecdsa-sha2-nistp256M-bM-^@M-^], | ||
283 | 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 | 240 | 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 |
284 | M-bM-^@M-^\ssh-rsaM-bM-^@M-^]. | 241 | M-bM-^@M-^\ssh-rsaM-bM-^@M-^]; the comment field is not used for anything (but may be |
242 | convenient for the user to identify the key). | ||
285 | 243 | ||
286 | Note that lines in this file are usually several hundred bytes long | 244 | Note that lines in this file can be several hundred bytes long (because |
287 | (because of the size of the public key encoding) up to a limit of 8 | 245 | of the size of the public key encoding) up to a limit of 8 kilobytes, |
288 | kilobytes, which permits DSA keys up to 8 kilobits and RSA keys up to 16 | 246 | which permits DSA keys up to 8 kilobits and RSA keys up to 16 kilobits. |
289 | kilobits. You don't want to type them in; instead, copy the | 247 | You don't want to type them in; instead, copy the id_dsa.pub, |
290 | identity.pub, id_dsa.pub, id_ecdsa.pub, id_ed25519.pub, or the id_rsa.pub | 248 | id_ecdsa.pub, id_ed25519.pub, or the id_rsa.pub file and edit it. |
291 | file and edit it. | ||
292 | 249 | ||
293 | sshd enforces a minimum RSA key modulus size for protocol 1 and protocol | 250 | sshd enforces a minimum RSA key modulus size of 768 bits. |
294 | 2 keys of 768 bits. | ||
295 | 251 | ||
296 | The options (if present) consist of comma-separated option | 252 | The options (if present) consist of comma-separated option |
297 | specifications. No spaces are permitted, except within double quotes. | 253 | specifications. No spaces are permitted, except within double quotes. |
@@ -318,16 +274,23 @@ AUTHORIZED_KEYS FILE FORMAT | |||
318 | pty; otherwise it is run without a tty. If an 8-bit clean | 274 | pty; otherwise it is run without a tty. If an 8-bit clean |
319 | channel is required, one must not request a pty or should specify | 275 | channel is required, one must not request a pty or should specify |
320 | no-pty. A quote may be included in the command by quoting it | 276 | no-pty. A quote may be included in the command by quoting it |
321 | with a backslash. This option might be useful to restrict | 277 | with a backslash. |
322 | certain public keys to perform just a specific operation. An | 278 | |
323 | example might be a key that permits remote backups but nothing | 279 | This option might be useful to restrict certain public keys to |
324 | else. Note that the client may specify TCP and/or X11 forwarding | 280 | perform just a specific operation. An example might be a key |
325 | unless they are explicitly prohibited. The command originally | 281 | that permits remote backups but nothing else. Note that the |
326 | supplied by the client is available in the SSH_ORIGINAL_COMMAND | 282 | client may specify TCP and/or X11 forwarding unless they are |
327 | environment variable. Note that this option applies to shell, | 283 | explicitly prohibited, e.g. using the restrict key option. |
328 | command or subsystem execution. Also note that this command may | 284 | |
329 | be superseded by either a sshd_config(5) ForceCommand directive | 285 | The command originally supplied by the client is available in the |
330 | or a command embedded in a certificate. | 286 | SSH_ORIGINAL_COMMAND environment variable. Note that this option |
287 | applies to shell, command or subsystem execution. Also note that | ||
288 | this command may be superseded by a sshd_config(5) ForceCommand | ||
289 | directive. | ||
290 | |||
291 | If a command is specified and a forced-command is embedded in a | ||
292 | certificate used for authentication, then the certificate will be | ||
293 | accepted only if the two commands are identical. | ||
331 | 294 | ||
332 | environment="NAME=value" | 295 | environment="NAME=value" |
333 | Specifies that the string is to be added to the environment when | 296 | Specifies that the string is to be added to the environment when |
@@ -335,7 +298,6 @@ AUTHORIZED_KEYS FILE FORMAT | |||
335 | override other default environment values. Multiple options of | 298 | override other default environment values. Multiple options of |
336 | this type are permitted. Environment processing is disabled by | 299 | this type are permitted. Environment processing is disabled by |
337 | default and is controlled via the PermitUserEnvironment option. | 300 | default and is controlled via the PermitUserEnvironment option. |
338 | This option is automatically disabled if UseLogin is enabled. | ||
339 | 301 | ||
340 | from="pattern-list" | 302 | from="pattern-list" |
341 | Specifies that in addition to public key authentication, either | 303 | Specifies that in addition to public key authentication, either |
@@ -440,8 +402,8 @@ SSH_KNOWN_HOSTS FILE FORMAT | |||
440 | is added to the per-user file. | 402 | is added to the per-user file. |
441 | 403 | ||
442 | Each line in these files contains the following fields: markers | 404 | Each line in these files contains the following fields: markers |
443 | (optional), hostnames, bits, exponent, modulus, comment. The fields are | 405 | (optional), hostnames, keytype, base64-encoded key, comment. The fields |
444 | separated by spaces. | 406 | are separated by spaces. |
445 | 407 | ||
446 | The marker is optional, but if it is present then it must be one of | 408 | The marker is optional, but if it is present then it must be one of |
447 | M-bM-^@M-^\@cert-authorityM-bM-^@M-^], to indicate that the line contains a certification | 409 | M-bM-^@M-^\@cert-authorityM-bM-^@M-^], to indicate that the line contains a certification |
@@ -464,9 +426,10 @@ SSH_KNOWN_HOSTS FILE FORMAT | |||
464 | appear on a single line and none of the above negation or wildcard | 426 | appear on a single line and none of the above negation or wildcard |
465 | operators may be applied. | 427 | operators may be applied. |
466 | 428 | ||
467 | Bits, exponent, and modulus are taken directly from the RSA host key; | 429 | The keytype and base64-encoded key are taken directly from the host key; |
468 | they can be obtained, for example, from /etc/ssh/ssh_host_key.pub. The | 430 | they can be obtained, for example, from /etc/ssh/ssh_host_rsa_key.pub. |
469 | optional comment field continues to the end of the line, and is not used. | 431 | The optional comment field continues to the end of the line, and is not |
432 | used. | ||
470 | 433 | ||
471 | Lines starting with M-bM-^@M-^X#M-bM-^@M-^Y and empty lines are ignored as comments. | 434 | Lines starting with M-bM-^@M-^X#M-bM-^@M-^Y and empty lines are ignored as comments. |
472 | 435 | ||
@@ -493,9 +456,9 @@ SSH_KNOWN_HOSTS FILE FORMAT | |||
493 | 456 | ||
494 | Note that the lines in these files are typically hundreds of characters | 457 | Note that the lines in these files are typically hundreds of characters |
495 | long, and you definitely don't want to type in the host keys by hand. | 458 | long, and you definitely don't want to type in the host keys by hand. |
496 | Rather, generate them by a script, ssh-keyscan(1) or by taking | 459 | Rather, generate them by a script, ssh-keyscan(1) or by taking, for |
497 | /etc/ssh/ssh_host_key.pub and adding the host names at the front. | 460 | example, /etc/ssh/ssh_host_rsa_key.pub and adding the host names at the |
498 | ssh-keygen(1) also offers some basic automated editing for | 461 | front. ssh-keygen(1) also offers some basic automated editing for |
499 | ~/.ssh/known_hosts including removing hosts matching a host name and | 462 | ~/.ssh/known_hosts including removing hosts matching a host name and |
500 | converting all host names to their hashed representations. | 463 | converting all host names to their hashed representations. |
501 | 464 | ||
@@ -598,7 +561,6 @@ FILES | |||
598 | allows host-based authentication without permitting login with | 561 | allows host-based authentication without permitting login with |
599 | rlogin/rsh. | 562 | rlogin/rsh. |
600 | 563 | ||
601 | /etc/ssh/ssh_host_key | ||
602 | /etc/ssh/ssh_host_dsa_key | 564 | /etc/ssh/ssh_host_dsa_key |
603 | /etc/ssh/ssh_host_ecdsa_key | 565 | /etc/ssh/ssh_host_ecdsa_key |
604 | /etc/ssh/ssh_host_ed25519_key | 566 | /etc/ssh/ssh_host_ed25519_key |
@@ -608,7 +570,6 @@ FILES | |||
608 | not accessible to others. Note that sshd does not start if these | 570 | not accessible to others. Note that sshd does not start if these |
609 | files are group/world-accessible. | 571 | files are group/world-accessible. |
610 | 572 | ||
611 | /etc/ssh/ssh_host_key.pub | ||
612 | /etc/ssh/ssh_host_dsa_key.pub | 573 | /etc/ssh/ssh_host_dsa_key.pub |
613 | /etc/ssh/ssh_host_ecdsa_key.pub | 574 | /etc/ssh/ssh_host_ecdsa_key.pub |
614 | /etc/ssh/ssh_host_ed25519_key.pub | 575 | /etc/ssh/ssh_host_ed25519_key.pub |
@@ -662,4 +623,4 @@ AUTHORS | |||
662 | versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support | 623 | versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support |
663 | for privilege separation. | 624 | for privilege separation. |
664 | 625 | ||
665 | OpenBSD 6.0 February 17, 2016 OpenBSD 6.0 | 626 | OpenBSD 6.0 November 30, 2016 OpenBSD 6.0 |
@@ -33,8 +33,8 @@ | |||
33 | .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 33 | .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
34 | .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 34 | .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
35 | .\" | 35 | .\" |
36 | .\" $OpenBSD: sshd.8,v 1.284 2016/02/17 07:38:19 jmc Exp $ | 36 | .\" $OpenBSD: sshd.8,v 1.287 2016/11/30 02:57:40 djm Exp $ |
37 | .Dd $Mdocdate: February 17 2016 $ | 37 | .Dd $Mdocdate: November 30 2016 $ |
38 | .Dt SSHD 8 | 38 | .Dt SSHD 8 |
39 | .Os | 39 | .Os |
40 | .Sh NAME | 40 | .Sh NAME |
@@ -44,14 +44,12 @@ | |||
44 | .Nm sshd | 44 | .Nm sshd |
45 | .Bk -words | 45 | .Bk -words |
46 | .Op Fl 46DdeiqTt | 46 | .Op Fl 46DdeiqTt |
47 | .Op Fl b Ar bits | ||
48 | .Op Fl C Ar connection_spec | 47 | .Op Fl C Ar connection_spec |
49 | .Op Fl c Ar host_certificate_file | 48 | .Op Fl c Ar host_certificate_file |
50 | .Op Fl E Ar log_file | 49 | .Op Fl E Ar log_file |
51 | .Op Fl f Ar config_file | 50 | .Op Fl f Ar config_file |
52 | .Op Fl g Ar login_grace_time | 51 | .Op Fl g Ar login_grace_time |
53 | .Op Fl h Ar host_key_file | 52 | .Op Fl h Ar host_key_file |
54 | .Op Fl k Ar key_gen_time | ||
55 | .Op Fl o Ar option | 53 | .Op Fl o Ar option |
56 | .Op Fl p Ar port | 54 | .Op Fl p Ar port |
57 | .Op Fl u Ar len | 55 | .Op Fl u Ar len |
@@ -96,9 +94,6 @@ to use IPv4 addresses only. | |||
96 | Forces | 94 | Forces |
97 | .Nm | 95 | .Nm |
98 | to use IPv6 addresses only. | 96 | to use IPv6 addresses only. |
99 | .It Fl b Ar bits | ||
100 | Specifies the number of bits in the ephemeral protocol version 1 | ||
101 | server key (default 1024). | ||
102 | .It Fl C Ar connection_spec | 97 | .It Fl C Ar connection_spec |
103 | Specify the connection parameters to use for the | 98 | Specify the connection parameters to use for the |
104 | .Fl T | 99 | .Fl T |
@@ -169,36 +164,18 @@ This option must be given if | |||
169 | is not run as root (as the normal | 164 | is not run as root (as the normal |
170 | host key files are normally not readable by anyone but root). | 165 | host key files are normally not readable by anyone but root). |
171 | The default is | 166 | The default is |
172 | .Pa /etc/ssh/ssh_host_key | ||
173 | for protocol version 1, and | ||
174 | .Pa /etc/ssh/ssh_host_dsa_key , | 167 | .Pa /etc/ssh/ssh_host_dsa_key , |
175 | .Pa /etc/ssh/ssh_host_ecdsa_key . | 168 | .Pa /etc/ssh/ssh_host_ecdsa_key , |
176 | .Pa /etc/ssh/ssh_host_ed25519_key | 169 | .Pa /etc/ssh/ssh_host_ed25519_key |
177 | and | 170 | and |
178 | .Pa /etc/ssh/ssh_host_rsa_key | 171 | .Pa /etc/ssh/ssh_host_rsa_key . |
179 | for protocol version 2. | ||
180 | It is possible to have multiple host key files for | 172 | It is possible to have multiple host key files for |
181 | the different protocol versions and host key algorithms. | 173 | the different host key algorithms. |
182 | .It Fl i | 174 | .It Fl i |
183 | Specifies that | 175 | Specifies that |
184 | .Nm | 176 | .Nm |
185 | is being run from | 177 | is being run from |
186 | .Xr inetd 8 . | 178 | .Xr inetd 8 . |
187 | If SSH protocol 1 is enabled, | ||
188 | .Nm | ||
189 | should not normally be run | ||
190 | from inetd because it needs to generate the server key before it can | ||
191 | respond to the client, and this may take some time. | ||
192 | Clients may have to wait too long if the key was regenerated every time. | ||
193 | .It Fl k Ar key_gen_time | ||
194 | Specifies how often the ephemeral protocol version 1 server key is | ||
195 | regenerated (default 3600 seconds, or one hour). | ||
196 | The motivation for regenerating the key fairly | ||
197 | often is that the key is not stored anywhere, and after about an hour | ||
198 | it becomes impossible to recover the key for decrypting intercepted | ||
199 | communications even if the machine is cracked into or physically | ||
200 | seized. | ||
201 | A value of zero indicates that the key will never be regenerated. | ||
202 | .It Fl o Ar option | 179 | .It Fl o Ar option |
203 | Can be used to give options in the format used in the configuration file. | 180 | Can be used to give options in the format used in the configuration file. |
204 | This is useful for specifying options for which there is no separate | 181 | This is useful for specifying options for which there is no separate |
@@ -257,8 +234,7 @@ may also be used to prevent | |||
257 | from making DNS requests unless the authentication | 234 | from making DNS requests unless the authentication |
258 | mechanism or configuration requires it. | 235 | mechanism or configuration requires it. |
259 | Authentication mechanisms that may require DNS include | 236 | Authentication mechanisms that may require DNS include |
260 | .Cm RhostsRSAAuthentication , | 237 | .Cm HostbasedAuthentication |
261 | .Cm HostbasedAuthentication , | ||
262 | and using a | 238 | and using a |
263 | .Cm from="pattern-list" | 239 | .Cm from="pattern-list" |
264 | option in a key file. | 240 | option in a key file. |
@@ -269,42 +245,14 @@ or | |||
269 | .Cm DenyUsers . | 245 | .Cm DenyUsers . |
270 | .El | 246 | .El |
271 | .Sh AUTHENTICATION | 247 | .Sh AUTHENTICATION |
272 | The OpenSSH SSH daemon supports SSH protocols 1 and 2. | 248 | The OpenSSH SSH daemon supports SSH protocol 2 only. |
273 | The default is to use protocol 2 only, | ||
274 | though this can be changed via the | ||
275 | .Cm Protocol | ||
276 | option in | ||
277 | .Xr sshd_config 5 . | ||
278 | Protocol 1 should not be used | ||
279 | and is only offered to support legacy devices. | ||
280 | .Pp | ||
281 | Each host has a host-specific key, | 249 | Each host has a host-specific key, |
282 | used to identify the host. | 250 | used to identify the host. |
283 | Partial forward security for protocol 1 is provided through | ||
284 | an additional server key, | ||
285 | normally 1024 bits, | ||
286 | generated when the server starts. | ||
287 | This key is normally regenerated every hour if it has been used, and | ||
288 | is never stored on disk. | ||
289 | Whenever a client connects, the daemon responds with its public | 251 | Whenever a client connects, the daemon responds with its public |
290 | host and server keys. | 252 | host key. |
291 | The client compares the | 253 | The client compares the |
292 | RSA host key against its own database to verify that it has not changed. | 254 | host key against its own database to verify that it has not changed. |
293 | The client then generates a 256-bit random number. | 255 | Forward security is provided through a Diffie-Hellman key agreement. |
294 | It encrypts this | ||
295 | random number using both the host key and the server key, and sends | ||
296 | the encrypted number to the server. | ||
297 | Both sides then use this | ||
298 | random number as a session key which is used to encrypt all further | ||
299 | communications in the session. | ||
300 | The rest of the session is encrypted | ||
301 | using a conventional cipher, currently Blowfish or 3DES, with 3DES | ||
302 | being used by default. | ||
303 | The client selects the encryption algorithm | ||
304 | to use from those offered by the server. | ||
305 | .Pp | ||
306 | For protocol 2, | ||
307 | forward security is provided through a Diffie-Hellman key agreement. | ||
308 | This key agreement results in a shared session key. | 256 | This key agreement results in a shared session key. |
309 | The rest of the session is encrypted using a symmetric cipher, currently | 257 | The rest of the session is encrypted using a symmetric cipher, currently |
310 | 128-bit AES, Blowfish, 3DES, CAST128, Arcfour, 192-bit AES, or 256-bit AES. | 258 | 128-bit AES, Blowfish, 3DES, CAST128, Arcfour, 192-bit AES, or 256-bit AES. |
@@ -477,32 +425,25 @@ key (empty lines and lines starting with a | |||
477 | .Ql # | 425 | .Ql # |
478 | are ignored as | 426 | are ignored as |
479 | comments). | 427 | comments). |
480 | Protocol 1 public keys consist of the following space-separated fields: | 428 | Public keys consist of the following space-separated fields: |
481 | options, bits, exponent, modulus, comment. | ||
482 | Protocol 2 public key consist of: | ||
483 | options, keytype, base64-encoded key, comment. | 429 | options, keytype, base64-encoded key, comment. |
484 | The options field is optional; | 430 | The options field is optional. |
485 | its presence is determined by whether the line starts | 431 | The keytype is |
486 | with a number or not (the options field never starts with a number). | ||
487 | The bits, exponent, modulus, and comment fields give the RSA key for | ||
488 | protocol version 1; the | ||
489 | comment field is not used for anything (but may be convenient for the | ||
490 | user to identify the key). | ||
491 | For protocol version 2 the keytype is | ||
492 | .Dq ecdsa-sha2-nistp256 , | 432 | .Dq ecdsa-sha2-nistp256 , |
493 | .Dq ecdsa-sha2-nistp384 , | 433 | .Dq ecdsa-sha2-nistp384 , |
494 | .Dq ecdsa-sha2-nistp521 , | 434 | .Dq ecdsa-sha2-nistp521 , |
495 | .Dq ssh-ed25519 , | 435 | .Dq ssh-ed25519 , |
496 | .Dq ssh-dss | 436 | .Dq ssh-dss |
497 | or | 437 | or |
498 | .Dq ssh-rsa . | 438 | .Dq ssh-rsa ; |
439 | the comment field is not used for anything (but may be convenient for the | ||
440 | user to identify the key). | ||
499 | .Pp | 441 | .Pp |
500 | Note that lines in this file are usually several hundred bytes long | 442 | Note that lines in this file can be several hundred bytes long |
501 | (because of the size of the public key encoding) up to a limit of | 443 | (because of the size of the public key encoding) up to a limit of |
502 | 8 kilobytes, which permits DSA keys up to 8 kilobits and RSA | 444 | 8 kilobytes, which permits DSA keys up to 8 kilobits and RSA |
503 | keys up to 16 kilobits. | 445 | keys up to 16 kilobits. |
504 | You don't want to type them in; instead, copy the | 446 | You don't want to type them in; instead, copy the |
505 | .Pa identity.pub , | ||
506 | .Pa id_dsa.pub , | 447 | .Pa id_dsa.pub , |
507 | .Pa id_ecdsa.pub , | 448 | .Pa id_ecdsa.pub , |
508 | .Pa id_ed25519.pub , | 449 | .Pa id_ed25519.pub , |
@@ -511,8 +452,7 @@ or the | |||
511 | file and edit it. | 452 | file and edit it. |
512 | .Pp | 453 | .Pp |
513 | .Nm | 454 | .Nm |
514 | enforces a minimum RSA key modulus size for protocol 1 | 455 | enforces a minimum RSA key modulus size of 768 bits. |
515 | and protocol 2 keys of 768 bits. | ||
516 | .Pp | 456 | .Pp |
517 | The options (if present) consist of comma-separated option | 457 | The options (if present) consist of comma-separated option |
518 | specifications. | 458 | specifications. |
@@ -541,19 +481,27 @@ If an 8-bit clean channel is required, | |||
541 | one must not request a pty or should specify | 481 | one must not request a pty or should specify |
542 | .Cm no-pty . | 482 | .Cm no-pty . |
543 | A quote may be included in the command by quoting it with a backslash. | 483 | A quote may be included in the command by quoting it with a backslash. |
484 | .Pp | ||
544 | This option might be useful | 485 | This option might be useful |
545 | to restrict certain public keys to perform just a specific operation. | 486 | to restrict certain public keys to perform just a specific operation. |
546 | An example might be a key that permits remote backups but nothing else. | 487 | An example might be a key that permits remote backups but nothing else. |
547 | Note that the client may specify TCP and/or X11 | 488 | Note that the client may specify TCP and/or X11 |
548 | forwarding unless they are explicitly prohibited. | 489 | forwarding unless they are explicitly prohibited, e.g. using the |
490 | .Cm restrict | ||
491 | key option. | ||
492 | .Pp | ||
549 | The command originally supplied by the client is available in the | 493 | The command originally supplied by the client is available in the |
550 | .Ev SSH_ORIGINAL_COMMAND | 494 | .Ev SSH_ORIGINAL_COMMAND |
551 | environment variable. | 495 | environment variable. |
552 | Note that this option applies to shell, command or subsystem execution. | 496 | Note that this option applies to shell, command or subsystem execution. |
553 | Also note that this command may be superseded by either a | 497 | Also note that this command may be superseded by a |
554 | .Xr sshd_config 5 | 498 | .Xr sshd_config 5 |
555 | .Cm ForceCommand | 499 | .Cm ForceCommand |
556 | directive or a command embedded in a certificate. | 500 | directive. |
501 | .Pp | ||
502 | If a command is specified and a forced-command is embedded in a certificate | ||
503 | used for authentication, then the certificate will be accepted only if the | ||
504 | two commands are identical. | ||
557 | .It Cm environment="NAME=value" | 505 | .It Cm environment="NAME=value" |
558 | Specifies that the string is to be added to the environment when | 506 | Specifies that the string is to be added to the environment when |
559 | logging in using this key. | 507 | logging in using this key. |
@@ -564,9 +512,6 @@ Environment processing is disabled by default and is | |||
564 | controlled via the | 512 | controlled via the |
565 | .Cm PermitUserEnvironment | 513 | .Cm PermitUserEnvironment |
566 | option. | 514 | option. |
567 | This option is automatically disabled if | ||
568 | .Cm UseLogin | ||
569 | is enabled. | ||
570 | .It Cm from="pattern-list" | 515 | .It Cm from="pattern-list" |
571 | Specifies that in addition to public key authentication, either the canonical | 516 | Specifies that in addition to public key authentication, either the canonical |
572 | name of the remote host or its IP address must be present in the | 517 | name of the remote host or its IP address must be present in the |
@@ -690,7 +635,7 @@ maintained automatically: whenever the user connects from an unknown host, | |||
690 | its key is added to the per-user file. | 635 | its key is added to the per-user file. |
691 | .Pp | 636 | .Pp |
692 | Each line in these files contains the following fields: markers (optional), | 637 | Each line in these files contains the following fields: markers (optional), |
693 | hostnames, bits, exponent, modulus, comment. | 638 | hostnames, keytype, base64-encoded key, comment. |
694 | The fields are separated by spaces. | 639 | The fields are separated by spaces. |
695 | .Pp | 640 | .Pp |
696 | The marker is optional, but if it is present then it must be one of | 641 | The marker is optional, but if it is present then it must be one of |
@@ -731,9 +676,9 @@ character. | |||
731 | Only one hashed hostname may appear on a single line and none of the above | 676 | Only one hashed hostname may appear on a single line and none of the above |
732 | negation or wildcard operators may be applied. | 677 | negation or wildcard operators may be applied. |
733 | .Pp | 678 | .Pp |
734 | Bits, exponent, and modulus are taken directly from the RSA host key; they | 679 | The keytype and base64-encoded key are taken directly from the host key; they |
735 | can be obtained, for example, from | 680 | can be obtained, for example, from |
736 | .Pa /etc/ssh/ssh_host_key.pub . | 681 | .Pa /etc/ssh/ssh_host_rsa_key.pub . |
737 | The optional comment field continues to the end of the line, and is not used. | 682 | The optional comment field continues to the end of the line, and is not used. |
738 | .Pp | 683 | .Pp |
739 | Lines starting with | 684 | Lines starting with |
@@ -772,8 +717,8 @@ Note that the lines in these files are typically hundreds of characters | |||
772 | long, and you definitely don't want to type in the host keys by hand. | 717 | long, and you definitely don't want to type in the host keys by hand. |
773 | Rather, generate them by a script, | 718 | Rather, generate them by a script, |
774 | .Xr ssh-keyscan 1 | 719 | .Xr ssh-keyscan 1 |
775 | or by taking | 720 | or by taking, for example, |
776 | .Pa /etc/ssh/ssh_host_key.pub | 721 | .Pa /etc/ssh/ssh_host_rsa_key.pub |
777 | and adding the host names at the front. | 722 | and adding the host names at the front. |
778 | .Xr ssh-keygen 1 | 723 | .Xr ssh-keygen 1 |
779 | also offers some basic automated editing for | 724 | also offers some basic automated editing for |
@@ -912,7 +857,6 @@ This file is used in exactly the same way as | |||
912 | but allows host-based authentication without permitting login with | 857 | but allows host-based authentication without permitting login with |
913 | rlogin/rsh. | 858 | rlogin/rsh. |
914 | .Pp | 859 | .Pp |
915 | .It Pa /etc/ssh/ssh_host_key | ||
916 | .It Pa /etc/ssh/ssh_host_dsa_key | 860 | .It Pa /etc/ssh/ssh_host_dsa_key |
917 | .It Pa /etc/ssh/ssh_host_ecdsa_key | 861 | .It Pa /etc/ssh/ssh_host_ecdsa_key |
918 | .It Pa /etc/ssh/ssh_host_ed25519_key | 862 | .It Pa /etc/ssh/ssh_host_ed25519_key |
@@ -924,7 +868,6 @@ Note that | |||
924 | .Nm | 868 | .Nm |
925 | does not start if these files are group/world-accessible. | 869 | does not start if these files are group/world-accessible. |
926 | .Pp | 870 | .Pp |
927 | .It Pa /etc/ssh/ssh_host_key.pub | ||
928 | .It Pa /etc/ssh/ssh_host_dsa_key.pub | 871 | .It Pa /etc/ssh/ssh_host_dsa_key.pub |
929 | .It Pa /etc/ssh/ssh_host_ecdsa_key.pub | 872 | .It Pa /etc/ssh/ssh_host_ecdsa_key.pub |
930 | .It Pa /etc/ssh/ssh_host_ed25519_key.pub | 873 | .It Pa /etc/ssh/ssh_host_ed25519_key.pub |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshd.c,v 1.470 2016/05/24 04:43:45 dtucker Exp $ */ | 1 | /* $OpenBSD: sshd.c,v 1.480 2016/12/09 03:04:29 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -87,7 +87,6 @@ | |||
87 | 87 | ||
88 | #include "xmalloc.h" | 88 | #include "xmalloc.h" |
89 | #include "ssh.h" | 89 | #include "ssh.h" |
90 | #include "ssh1.h" | ||
91 | #include "ssh2.h" | 90 | #include "ssh2.h" |
92 | #include "rsa.h" | 91 | #include "rsa.h" |
93 | #include "sshpty.h" | 92 | #include "sshpty.h" |
@@ -115,7 +114,6 @@ | |||
115 | #include "dispatch.h" | 114 | #include "dispatch.h" |
116 | #include "channels.h" | 115 | #include "channels.h" |
117 | #include "session.h" | 116 | #include "session.h" |
118 | #include "monitor_mm.h" | ||
119 | #include "monitor.h" | 117 | #include "monitor.h" |
120 | #ifdef GSSAPI | 118 | #ifdef GSSAPI |
121 | #include "ssh-gss.h" | 119 | #include "ssh-gss.h" |
@@ -125,10 +123,6 @@ | |||
125 | #include "version.h" | 123 | #include "version.h" |
126 | #include "ssherr.h" | 124 | #include "ssherr.h" |
127 | 125 | ||
128 | #ifndef O_NOCTTY | ||
129 | #define O_NOCTTY 0 | ||
130 | #endif | ||
131 | |||
132 | /* Re-exec fds */ | 126 | /* Re-exec fds */ |
133 | #define REEXEC_DEVCRYPTO_RESERVED_FD (STDERR_FILENO + 1) | 127 | #define REEXEC_DEVCRYPTO_RESERVED_FD (STDERR_FILENO + 1) |
134 | #define REEXEC_STARTUP_PIPE_FD (STDERR_FILENO + 2) | 128 | #define REEXEC_STARTUP_PIPE_FD (STDERR_FILENO + 2) |
@@ -201,22 +195,12 @@ int have_agent = 0; | |||
201 | * not very useful. Currently, memory locking is not implemented. | 195 | * not very useful. Currently, memory locking is not implemented. |
202 | */ | 196 | */ |
203 | struct { | 197 | struct { |
204 | Key *server_key; /* ephemeral server key */ | ||
205 | Key *ssh1_host_key; /* ssh1 host key */ | ||
206 | Key **host_keys; /* all private host keys */ | 198 | Key **host_keys; /* all private host keys */ |
207 | Key **host_pubkeys; /* all public host keys */ | 199 | Key **host_pubkeys; /* all public host keys */ |
208 | Key **host_certificates; /* all public host certificates */ | 200 | Key **host_certificates; /* all public host certificates */ |
209 | int have_ssh1_key; | ||
210 | int have_ssh2_key; | 201 | int have_ssh2_key; |
211 | u_char ssh1_cookie[SSH_SESSION_KEY_LENGTH]; | ||
212 | } sensitive_data; | 202 | } sensitive_data; |
213 | 203 | ||
214 | /* | ||
215 | * Flag indicating whether the RSA server key needs to be regenerated. | ||
216 | * Is set in the SIGALRM handler and cleared when the key is regenerated. | ||
217 | */ | ||
218 | static volatile sig_atomic_t key_do_regen = 0; | ||
219 | |||
220 | /* This is set to true when a signal is received. */ | 204 | /* This is set to true when a signal is received. */ |
221 | static volatile sig_atomic_t received_sighup = 0; | 205 | static volatile sig_atomic_t received_sighup = 0; |
222 | static volatile sig_atomic_t received_sigterm = 0; | 206 | static volatile sig_atomic_t received_sigterm = 0; |
@@ -255,10 +239,6 @@ struct passwd *privsep_pw = NULL; | |||
255 | /* Prototypes for various functions defined later in this file. */ | 239 | /* Prototypes for various functions defined later in this file. */ |
256 | void destroy_sensitive_data(void); | 240 | void destroy_sensitive_data(void); |
257 | void demote_sensitive_data(void); | 241 | void demote_sensitive_data(void); |
258 | |||
259 | #ifdef WITH_SSH1 | ||
260 | static void do_ssh1_kex(void); | ||
261 | #endif | ||
262 | static void do_ssh2_kex(void); | 242 | static void do_ssh2_kex(void); |
263 | 243 | ||
264 | /* | 244 | /* |
@@ -310,6 +290,8 @@ static void | |||
310 | sighup_restart(void) | 290 | sighup_restart(void) |
311 | { | 291 | { |
312 | logit("Received SIGHUP; restarting."); | 292 | logit("Received SIGHUP; restarting."); |
293 | if (options.pid_file != NULL) | ||
294 | unlink(options.pid_file); | ||
313 | platform_pre_restart(); | 295 | platform_pre_restart(); |
314 | close_listen_socks(); | 296 | close_listen_socks(); |
315 | close_startup_pipes(); | 297 | close_startup_pipes(); |
@@ -375,64 +357,17 @@ grace_alarm_handler(int sig) | |||
375 | ssh_remote_ipaddr(active_state), ssh_remote_port(active_state)); | 357 | ssh_remote_ipaddr(active_state), ssh_remote_port(active_state)); |
376 | } | 358 | } |
377 | 359 | ||
378 | /* | ||
379 | * Signal handler for the key regeneration alarm. Note that this | ||
380 | * alarm only occurs in the daemon waiting for connections, and it does not | ||
381 | * do anything with the private key or random state before forking. | ||
382 | * Thus there should be no concurrency control/asynchronous execution | ||
383 | * problems. | ||
384 | */ | ||
385 | static void | ||
386 | generate_ephemeral_server_key(void) | ||
387 | { | ||
388 | verbose("Generating %s%d bit RSA key.", | ||
389 | sensitive_data.server_key ? "new " : "", options.server_key_bits); | ||
390 | if (sensitive_data.server_key != NULL) | ||
391 | key_free(sensitive_data.server_key); | ||
392 | sensitive_data.server_key = key_generate(KEY_RSA1, | ||
393 | options.server_key_bits); | ||
394 | verbose("RSA key generation complete."); | ||
395 | |||
396 | arc4random_buf(sensitive_data.ssh1_cookie, SSH_SESSION_KEY_LENGTH); | ||
397 | } | ||
398 | |||
399 | /*ARGSUSED*/ | ||
400 | static void | ||
401 | key_regeneration_alarm(int sig) | ||
402 | { | ||
403 | int save_errno = errno; | ||
404 | |||
405 | signal(SIGALRM, SIG_DFL); | ||
406 | errno = save_errno; | ||
407 | key_do_regen = 1; | ||
408 | } | ||
409 | |||
410 | static void | 360 | static void |
411 | sshd_exchange_identification(struct ssh *ssh, int sock_in, int sock_out) | 361 | sshd_exchange_identification(struct ssh *ssh, int sock_in, int sock_out) |
412 | { | 362 | { |
413 | u_int i; | 363 | u_int i; |
414 | int mismatch; | ||
415 | int remote_major, remote_minor; | 364 | int remote_major, remote_minor; |
416 | int major, minor; | ||
417 | char *s, *newline = "\n"; | 365 | char *s, *newline = "\n"; |
418 | char buf[256]; /* Must not be larger than remote_version. */ | 366 | char buf[256]; /* Must not be larger than remote_version. */ |
419 | char remote_version[256]; /* Must be at least as big as buf. */ | 367 | char remote_version[256]; /* Must be at least as big as buf. */ |
420 | 368 | ||
421 | if ((options.protocol & SSH_PROTO_1) && | ||
422 | (options.protocol & SSH_PROTO_2)) { | ||
423 | major = PROTOCOL_MAJOR_1; | ||
424 | minor = 99; | ||
425 | } else if (options.protocol & SSH_PROTO_2) { | ||
426 | major = PROTOCOL_MAJOR_2; | ||
427 | minor = PROTOCOL_MINOR_2; | ||
428 | newline = "\r\n"; | ||
429 | } else { | ||
430 | major = PROTOCOL_MAJOR_1; | ||
431 | minor = PROTOCOL_MINOR_1; | ||
432 | } | ||
433 | |||
434 | xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s%s", | 369 | xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s%s", |
435 | major, minor, SSH_VERSION, | 370 | PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION, |
436 | *options.version_addendum == '\0' ? "" : " ", | 371 | *options.version_addendum == '\0' ? "" : " ", |
437 | options.version_addendum, newline); | 372 | options.version_addendum, newline); |
438 | 373 | ||
@@ -511,42 +446,13 @@ sshd_exchange_identification(struct ssh *ssh, int sock_in, int sock_out) | |||
511 | "refusing connection", remote_version); | 446 | "refusing connection", remote_version); |
512 | } | 447 | } |
513 | 448 | ||
514 | mismatch = 0; | ||
515 | switch (remote_major) { | ||
516 | case 1: | ||
517 | if (remote_minor == 99) { | ||
518 | if (options.protocol & SSH_PROTO_2) | ||
519 | enable_compat20(); | ||
520 | else | ||
521 | mismatch = 1; | ||
522 | break; | ||
523 | } | ||
524 | if (!(options.protocol & SSH_PROTO_1)) { | ||
525 | mismatch = 1; | ||
526 | break; | ||
527 | } | ||
528 | if (remote_minor < 3) { | ||
529 | packet_disconnect("Your ssh version is too old and " | ||
530 | "is no longer supported. Please install a newer version."); | ||
531 | } else if (remote_minor == 3) { | ||
532 | /* note that this disables agent-forwarding */ | ||
533 | enable_compat13(); | ||
534 | } | ||
535 | break; | ||
536 | case 2: | ||
537 | if (options.protocol & SSH_PROTO_2) { | ||
538 | enable_compat20(); | ||
539 | break; | ||
540 | } | ||
541 | /* FALLTHROUGH */ | ||
542 | default: | ||
543 | mismatch = 1; | ||
544 | break; | ||
545 | } | ||
546 | chop(server_version_string); | 449 | chop(server_version_string); |
547 | debug("Local version string %.200s", server_version_string); | 450 | debug("Local version string %.200s", server_version_string); |
548 | 451 | ||
549 | if (mismatch) { | 452 | if (remote_major == 2 || |
453 | (remote_major == 1 && remote_minor == 99)) { | ||
454 | enable_compat20(); | ||
455 | } else { | ||
550 | s = "Protocol major versions differ.\n"; | 456 | s = "Protocol major versions differ.\n"; |
551 | (void) atomicio(vwrite, sock_out, s, strlen(s)); | 457 | (void) atomicio(vwrite, sock_out, s, strlen(s)); |
552 | close(sock_in); | 458 | close(sock_in); |
@@ -565,10 +471,6 @@ destroy_sensitive_data(void) | |||
565 | { | 471 | { |
566 | int i; | 472 | int i; |
567 | 473 | ||
568 | if (sensitive_data.server_key) { | ||
569 | key_free(sensitive_data.server_key); | ||
570 | sensitive_data.server_key = NULL; | ||
571 | } | ||
572 | for (i = 0; i < options.num_host_key_files; i++) { | 474 | for (i = 0; i < options.num_host_key_files; i++) { |
573 | if (sensitive_data.host_keys[i]) { | 475 | if (sensitive_data.host_keys[i]) { |
574 | key_free(sensitive_data.host_keys[i]); | 476 | key_free(sensitive_data.host_keys[i]); |
@@ -579,8 +481,6 @@ destroy_sensitive_data(void) | |||
579 | sensitive_data.host_certificates[i] = NULL; | 481 | sensitive_data.host_certificates[i] = NULL; |
580 | } | 482 | } |
581 | } | 483 | } |
582 | sensitive_data.ssh1_host_key = NULL; | ||
583 | explicit_bzero(sensitive_data.ssh1_cookie, SSH_SESSION_KEY_LENGTH); | ||
584 | } | 484 | } |
585 | 485 | ||
586 | /* Demote private to public keys for network child */ | 486 | /* Demote private to public keys for network child */ |
@@ -590,30 +490,40 @@ demote_sensitive_data(void) | |||
590 | Key *tmp; | 490 | Key *tmp; |
591 | int i; | 491 | int i; |
592 | 492 | ||
593 | if (sensitive_data.server_key) { | ||
594 | tmp = key_demote(sensitive_data.server_key); | ||
595 | key_free(sensitive_data.server_key); | ||
596 | sensitive_data.server_key = tmp; | ||
597 | } | ||
598 | |||
599 | for (i = 0; i < options.num_host_key_files; i++) { | 493 | for (i = 0; i < options.num_host_key_files; i++) { |
600 | if (sensitive_data.host_keys[i]) { | 494 | if (sensitive_data.host_keys[i]) { |
601 | tmp = key_demote(sensitive_data.host_keys[i]); | 495 | tmp = key_demote(sensitive_data.host_keys[i]); |
602 | key_free(sensitive_data.host_keys[i]); | 496 | key_free(sensitive_data.host_keys[i]); |
603 | sensitive_data.host_keys[i] = tmp; | 497 | sensitive_data.host_keys[i] = tmp; |
604 | if (tmp->type == KEY_RSA1) | ||
605 | sensitive_data.ssh1_host_key = tmp; | ||
606 | } | 498 | } |
607 | /* Certs do not need demotion */ | 499 | /* Certs do not need demotion */ |
608 | } | 500 | } |
501 | } | ||
502 | |||
503 | static void | ||
504 | reseed_prngs(void) | ||
505 | { | ||
506 | u_int32_t rnd[256]; | ||
609 | 507 | ||
610 | /* We do not clear ssh1_host key and cookie. XXX - Okay Niels? */ | 508 | #ifdef WITH_OPENSSL |
509 | RAND_poll(); | ||
510 | #endif | ||
511 | arc4random_stir(); /* noop on recent arc4random() implementations */ | ||
512 | arc4random_buf(rnd, sizeof(rnd)); /* let arc4random notice PID change */ | ||
513 | |||
514 | #ifdef WITH_OPENSSL | ||
515 | RAND_seed(rnd, sizeof(rnd)); | ||
516 | /* give libcrypto a chance to notice the PID change */ | ||
517 | if ((RAND_bytes((u_char *)rnd, 1)) != 1) | ||
518 | fatal("%s: RAND_bytes failed", __func__); | ||
519 | #endif | ||
520 | |||
521 | explicit_bzero(rnd, sizeof(rnd)); | ||
611 | } | 522 | } |
612 | 523 | ||
613 | static void | 524 | static void |
614 | privsep_preauth_child(void) | 525 | privsep_preauth_child(void) |
615 | { | 526 | { |
616 | u_int32_t rnd[256]; | ||
617 | gid_t gidset[1]; | 527 | gid_t gidset[1]; |
618 | 528 | ||
619 | /* Enable challenge-response authentication for privilege separation */ | 529 | /* Enable challenge-response authentication for privilege separation */ |
@@ -625,14 +535,7 @@ privsep_preauth_child(void) | |||
625 | ssh_gssapi_prepare_supported_oids(); | 535 | ssh_gssapi_prepare_supported_oids(); |
626 | #endif | 536 | #endif |
627 | 537 | ||
628 | arc4random_stir(); | 538 | reseed_prngs(); |
629 | arc4random_buf(rnd, sizeof(rnd)); | ||
630 | #ifdef WITH_OPENSSL | ||
631 | RAND_seed(rnd, sizeof(rnd)); | ||
632 | if ((RAND_bytes((u_char *)rnd, 1)) != 1) | ||
633 | fatal("%s: RAND_bytes failed", __func__); | ||
634 | #endif | ||
635 | explicit_bzero(rnd, sizeof(rnd)); | ||
636 | 539 | ||
637 | /* Demote the private keys to public keys. */ | 540 | /* Demote the private keys to public keys. */ |
638 | demote_sensitive_data(); | 541 | demote_sensitive_data(); |
@@ -689,9 +592,6 @@ privsep_preauth(Authctxt *authctxt) | |||
689 | ssh_sandbox_parent_preauth(box, pid); | 592 | ssh_sandbox_parent_preauth(box, pid); |
690 | monitor_child_preauth(authctxt, pmonitor); | 593 | monitor_child_preauth(authctxt, pmonitor); |
691 | 594 | ||
692 | /* Sync memory */ | ||
693 | monitor_sync(pmonitor); | ||
694 | |||
695 | /* Wait for the child's exit status */ | 595 | /* Wait for the child's exit status */ |
696 | while (waitpid(pid, &status, 0) < 0) { | 596 | while (waitpid(pid, &status, 0) < 0) { |
697 | if (errno == EINTR) | 597 | if (errno == EINTR) |
@@ -731,12 +631,10 @@ privsep_preauth(Authctxt *authctxt) | |||
731 | static void | 631 | static void |
732 | privsep_postauth(Authctxt *authctxt) | 632 | privsep_postauth(Authctxt *authctxt) |
733 | { | 633 | { |
734 | u_int32_t rnd[256]; | ||
735 | |||
736 | #ifdef DISABLE_FD_PASSING | 634 | #ifdef DISABLE_FD_PASSING |
737 | if (1) { | 635 | if (1) { |
738 | #else | 636 | #else |
739 | if (authctxt->pw->pw_uid == 0 || options.use_login) { | 637 | if (authctxt->pw->pw_uid == 0) { |
740 | #endif | 638 | #endif |
741 | /* File descriptor passing is broken or root login */ | 639 | /* File descriptor passing is broken or root login */ |
742 | use_privsep = 0; | 640 | use_privsep = 0; |
@@ -766,14 +664,7 @@ privsep_postauth(Authctxt *authctxt) | |||
766 | /* Demote the private keys to public keys. */ | 664 | /* Demote the private keys to public keys. */ |
767 | demote_sensitive_data(); | 665 | demote_sensitive_data(); |
768 | 666 | ||
769 | arc4random_stir(); | 667 | reseed_prngs(); |
770 | arc4random_buf(rnd, sizeof(rnd)); | ||
771 | #ifdef WITH_OPENSSL | ||
772 | RAND_seed(rnd, sizeof(rnd)); | ||
773 | if ((RAND_bytes((u_char *)rnd, 1)) != 1) | ||
774 | fatal("%s: RAND_bytes failed", __func__); | ||
775 | #endif | ||
776 | explicit_bzero(rnd, sizeof(rnd)); | ||
777 | 668 | ||
778 | /* Drop privileges */ | 669 | /* Drop privileges */ |
779 | do_setusercontext(authctxt->pw); | 670 | do_setusercontext(authctxt->pw); |
@@ -803,7 +694,7 @@ list_hostkey_types(void) | |||
803 | key = sensitive_data.host_keys[i]; | 694 | key = sensitive_data.host_keys[i]; |
804 | if (key == NULL) | 695 | if (key == NULL) |
805 | key = sensitive_data.host_pubkeys[i]; | 696 | key = sensitive_data.host_pubkeys[i]; |
806 | if (key == NULL || key->type == KEY_RSA1) | 697 | if (key == NULL) |
807 | continue; | 698 | continue; |
808 | /* Check that the key is accepted in HostkeyAlgorithms */ | 699 | /* Check that the key is accepted in HostkeyAlgorithms */ |
809 | if (match_pattern_list(sshkey_ssh_name(key), | 700 | if (match_pattern_list(sshkey_ssh_name(key), |
@@ -952,7 +843,7 @@ notify_hostkeys(struct ssh *ssh) | |||
952 | for (i = nkeys = 0; i < options.num_host_key_files; i++) { | 843 | for (i = nkeys = 0; i < options.num_host_key_files; i++) { |
953 | key = get_hostkey_public_by_index(i, ssh); | 844 | key = get_hostkey_public_by_index(i, ssh); |
954 | if (key == NULL || key->type == KEY_UNSPEC || | 845 | if (key == NULL || key->type == KEY_UNSPEC || |
955 | key->type == KEY_RSA1 || sshkey_is_cert(key)) | 846 | sshkey_is_cert(key)) |
956 | continue; | 847 | continue; |
957 | fp = sshkey_fingerprint(key, options.fingerprint_hash, | 848 | fp = sshkey_fingerprint(key, options.fingerprint_hash, |
958 | SSH_FP_DEFAULT); | 849 | SSH_FP_DEFAULT); |
@@ -1018,10 +909,9 @@ usage(void) | |||
1018 | #endif | 909 | #endif |
1019 | ); | 910 | ); |
1020 | fprintf(stderr, | 911 | fprintf(stderr, |
1021 | "usage: sshd [-46DdeiqTt] [-b bits] [-C connection_spec] [-c host_cert_file]\n" | 912 | "usage: sshd [-46DdeiqTt] [-C connection_spec] [-c host_cert_file]\n" |
1022 | " [-E log_file] [-f config_file] [-g login_grace_time]\n" | 913 | " [-E log_file] [-f config_file] [-g login_grace_time]\n" |
1023 | " [-h host_key_file] [-k key_gen_time] [-o option] [-p port]\n" | 914 | " [-h host_key_file] [-o option] [-p port] [-u len]\n" |
1024 | " [-u len]\n" | ||
1025 | ); | 915 | ); |
1026 | exit(1); | 916 | exit(1); |
1027 | } | 917 | } |
@@ -1038,13 +928,6 @@ send_rexec_state(int fd, struct sshbuf *conf) | |||
1038 | /* | 928 | /* |
1039 | * Protocol from reexec master to child: | 929 | * Protocol from reexec master to child: |
1040 | * string configuration | 930 | * string configuration |
1041 | * u_int ephemeral_key_follows | ||
1042 | * bignum e (only if ephemeral_key_follows == 1) | ||
1043 | * bignum n " | ||
1044 | * bignum d " | ||
1045 | * bignum iqmp " | ||
1046 | * bignum p " | ||
1047 | * bignum q " | ||
1048 | * string rngseed (only if OpenSSL is not self-seeded) | 931 | * string rngseed (only if OpenSSL is not self-seeded) |
1049 | */ | 932 | */ |
1050 | if ((m = sshbuf_new()) == NULL) | 933 | if ((m = sshbuf_new()) == NULL) |
@@ -1052,28 +935,6 @@ send_rexec_state(int fd, struct sshbuf *conf) | |||
1052 | if ((r = sshbuf_put_stringb(m, conf)) != 0) | 935 | if ((r = sshbuf_put_stringb(m, conf)) != 0) |
1053 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 936 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); |
1054 | 937 | ||
1055 | #ifdef WITH_SSH1 | ||
1056 | if (sensitive_data.server_key != NULL && | ||
1057 | sensitive_data.server_key->type == KEY_RSA1) { | ||
1058 | if ((r = sshbuf_put_u32(m, 1)) != 0 || | ||
1059 | (r = sshbuf_put_bignum1(m, | ||
1060 | sensitive_data.server_key->rsa->e)) != 0 || | ||
1061 | (r = sshbuf_put_bignum1(m, | ||
1062 | sensitive_data.server_key->rsa->n)) != 0 || | ||
1063 | (r = sshbuf_put_bignum1(m, | ||
1064 | sensitive_data.server_key->rsa->d)) != 0 || | ||
1065 | (r = sshbuf_put_bignum1(m, | ||
1066 | sensitive_data.server_key->rsa->iqmp)) != 0 || | ||
1067 | (r = sshbuf_put_bignum1(m, | ||
1068 | sensitive_data.server_key->rsa->p)) != 0 || | ||
1069 | (r = sshbuf_put_bignum1(m, | ||
1070 | sensitive_data.server_key->rsa->q)) != 0) | ||
1071 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); | ||
1072 | } else | ||
1073 | #endif | ||
1074 | if ((r = sshbuf_put_u32(m, 1)) != 0) | ||
1075 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); | ||
1076 | |||
1077 | #if defined(WITH_OPENSSL) && !defined(OPENSSL_PRNG_ONLY) | 938 | #if defined(WITH_OPENSSL) && !defined(OPENSSL_PRNG_ONLY) |
1078 | rexec_send_rng_seed(m); | 939 | rexec_send_rng_seed(m); |
1079 | #endif | 940 | #endif |
@@ -1107,24 +968,6 @@ recv_rexec_state(int fd, Buffer *conf) | |||
1107 | buffer_append(conf, cp, len); | 968 | buffer_append(conf, cp, len); |
1108 | free(cp); | 969 | free(cp); |
1109 | 970 | ||
1110 | if (buffer_get_int(&m)) { | ||
1111 | #ifdef WITH_SSH1 | ||
1112 | if (sensitive_data.server_key != NULL) | ||
1113 | key_free(sensitive_data.server_key); | ||
1114 | sensitive_data.server_key = key_new_private(KEY_RSA1); | ||
1115 | buffer_get_bignum(&m, sensitive_data.server_key->rsa->e); | ||
1116 | buffer_get_bignum(&m, sensitive_data.server_key->rsa->n); | ||
1117 | buffer_get_bignum(&m, sensitive_data.server_key->rsa->d); | ||
1118 | buffer_get_bignum(&m, sensitive_data.server_key->rsa->iqmp); | ||
1119 | buffer_get_bignum(&m, sensitive_data.server_key->rsa->p); | ||
1120 | buffer_get_bignum(&m, sensitive_data.server_key->rsa->q); | ||
1121 | if (rsa_generate_additional_parameters( | ||
1122 | sensitive_data.server_key->rsa) != 0) | ||
1123 | fatal("%s: rsa_generate_additional_parameters " | ||
1124 | "error", __func__); | ||
1125 | #endif | ||
1126 | } | ||
1127 | |||
1128 | #if defined(WITH_OPENSSL) && !defined(OPENSSL_PRNG_ONLY) | 971 | #if defined(WITH_OPENSSL) && !defined(OPENSSL_PRNG_ONLY) |
1129 | rexec_recv_rng_seed(&m); | 972 | rexec_recv_rng_seed(&m); |
1130 | #endif | 973 | #endif |
@@ -1248,7 +1091,7 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s) | |||
1248 | { | 1091 | { |
1249 | fd_set *fdset; | 1092 | fd_set *fdset; |
1250 | int i, j, ret, maxfd; | 1093 | int i, j, ret, maxfd; |
1251 | int key_used = 0, startups = 0; | 1094 | int startups = 0; |
1252 | int startup_p[2] = { -1 , -1 }; | 1095 | int startup_p[2] = { -1 , -1 }; |
1253 | struct sockaddr_storage from; | 1096 | struct sockaddr_storage from; |
1254 | socklen_t fromlen; | 1097 | socklen_t fromlen; |
@@ -1295,11 +1138,6 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s) | |||
1295 | unlink(options.pid_file); | 1138 | unlink(options.pid_file); |
1296 | exit(received_sigterm == SIGTERM ? 0 : 255); | 1139 | exit(received_sigterm == SIGTERM ? 0 : 255); |
1297 | } | 1140 | } |
1298 | if (key_used && key_do_regen) { | ||
1299 | generate_ephemeral_server_key(); | ||
1300 | key_used = 0; | ||
1301 | key_do_regen = 0; | ||
1302 | } | ||
1303 | if (ret < 0) | 1141 | if (ret < 0) |
1304 | continue; | 1142 | continue; |
1305 | 1143 | ||
@@ -1336,7 +1174,15 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s) | |||
1336 | continue; | 1174 | continue; |
1337 | } | 1175 | } |
1338 | if (drop_connection(startups) == 1) { | 1176 | if (drop_connection(startups) == 1) { |
1339 | debug("drop connection #%d", startups); | 1177 | char *laddr = get_local_ipaddr(*newsock); |
1178 | char *raddr = get_peer_ipaddr(*newsock); | ||
1179 | |||
1180 | verbose("drop connection #%d from [%s]:%d " | ||
1181 | "on [%s]:%d past MaxStartups", startups, | ||
1182 | raddr, get_peer_port(*newsock), | ||
1183 | laddr, get_local_port(*newsock)); | ||
1184 | free(laddr); | ||
1185 | free(raddr); | ||
1340 | close(*newsock); | 1186 | close(*newsock); |
1341 | continue; | 1187 | continue; |
1342 | } | 1188 | } |
@@ -1434,19 +1280,6 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s) | |||
1434 | close(config_s[0]); | 1280 | close(config_s[0]); |
1435 | close(config_s[1]); | 1281 | close(config_s[1]); |
1436 | } | 1282 | } |
1437 | |||
1438 | /* | ||
1439 | * Mark that the key has been used (it | ||
1440 | * was "given" to the child). | ||
1441 | */ | ||
1442 | if ((options.protocol & SSH_PROTO_1) && | ||
1443 | key_used == 0) { | ||
1444 | /* Schedule server key regeneration alarm. */ | ||
1445 | signal(SIGALRM, key_regeneration_alarm); | ||
1446 | alarm(options.key_regeneration_time); | ||
1447 | key_used = 1; | ||
1448 | } | ||
1449 | |||
1450 | close(*newsock); | 1283 | close(*newsock); |
1451 | 1284 | ||
1452 | /* | 1285 | /* |
@@ -1486,8 +1319,8 @@ check_ip_options(struct ssh *ssh) | |||
1486 | #ifdef IP_OPTIONS | 1319 | #ifdef IP_OPTIONS |
1487 | int sock_in = ssh_packet_get_connection_in(ssh); | 1320 | int sock_in = ssh_packet_get_connection_in(ssh); |
1488 | struct sockaddr_storage from; | 1321 | struct sockaddr_storage from; |
1489 | socklen_t option_size, i, fromlen = sizeof(from); | ||
1490 | u_char opts[200]; | 1322 | u_char opts[200]; |
1323 | socklen_t i, option_size = sizeof(opts), fromlen = sizeof(from); | ||
1491 | char text[sizeof(opts) * 3 + 1]; | 1324 | char text[sizeof(opts) * 3 + 1]; |
1492 | 1325 | ||
1493 | memset(&from, 0, sizeof(from)); | 1326 | memset(&from, 0, sizeof(from)); |
@@ -1520,7 +1353,7 @@ main(int ac, char **av) | |||
1520 | struct ssh *ssh = NULL; | 1353 | struct ssh *ssh = NULL; |
1521 | extern char *optarg; | 1354 | extern char *optarg; |
1522 | extern int optind; | 1355 | extern int optind; |
1523 | int r, opt, i, j, on = 1; | 1356 | int r, opt, i, j, on = 1, already_daemon; |
1524 | int sock_in = -1, sock_out = -1, newsock = -1; | 1357 | int sock_in = -1, sock_out = -1, newsock = -1; |
1525 | const char *remote_ip; | 1358 | const char *remote_ip; |
1526 | int remote_port; | 1359 | int remote_port; |
@@ -1619,8 +1452,7 @@ main(int ac, char **av) | |||
1619 | options.log_level = SYSLOG_LEVEL_QUIET; | 1452 | options.log_level = SYSLOG_LEVEL_QUIET; |
1620 | break; | 1453 | break; |
1621 | case 'b': | 1454 | case 'b': |
1622 | options.server_key_bits = (int)strtonum(optarg, 256, | 1455 | /* protocol 1, ignored */ |
1623 | 32768, NULL); | ||
1624 | break; | 1456 | break; |
1625 | case 'p': | 1457 | case 'p': |
1626 | options.ports_from_cmdline = 1; | 1458 | options.ports_from_cmdline = 1; |
@@ -1641,10 +1473,7 @@ main(int ac, char **av) | |||
1641 | } | 1473 | } |
1642 | break; | 1474 | break; |
1643 | case 'k': | 1475 | case 'k': |
1644 | if ((options.key_regeneration_time = convtime(optarg)) == -1) { | 1476 | /* protocol 1, ignored */ |
1645 | fprintf(stderr, "Invalid key regeneration interval.\n"); | ||
1646 | exit(1); | ||
1647 | } | ||
1648 | break; | 1477 | break; |
1649 | case 'h': | 1478 | case 'h': |
1650 | if (options.num_host_key_files >= MAX_HOSTKEYS) { | 1479 | if (options.num_host_key_files >= MAX_HOSTKEYS) { |
@@ -1726,9 +1555,6 @@ main(int ac, char **av) | |||
1726 | drop_cray_privs(); | 1555 | drop_cray_privs(); |
1727 | #endif | 1556 | #endif |
1728 | 1557 | ||
1729 | sensitive_data.server_key = NULL; | ||
1730 | sensitive_data.ssh1_host_key = NULL; | ||
1731 | sensitive_data.have_ssh1_key = 0; | ||
1732 | sensitive_data.have_ssh2_key = 0; | 1558 | sensitive_data.have_ssh2_key = 0; |
1733 | 1559 | ||
1734 | /* | 1560 | /* |
@@ -1781,9 +1607,6 @@ main(int ac, char **av) | |||
1781 | * and warns for trivial misconfigurations that could break login. | 1607 | * and warns for trivial misconfigurations that could break login. |
1782 | */ | 1608 | */ |
1783 | if (options.num_auth_methods != 0) { | 1609 | if (options.num_auth_methods != 0) { |
1784 | if ((options.protocol & SSH_PROTO_1)) | ||
1785 | fatal("AuthenticationMethods is not supported with " | ||
1786 | "SSH protocol 1"); | ||
1787 | for (n = 0; n < options.num_auth_methods; n++) { | 1610 | for (n = 0; n < options.num_auth_methods; n++) { |
1788 | if (auth2_methods_valid(options.auth_methods[n], | 1611 | if (auth2_methods_valid(options.auth_methods[n], |
1789 | 1) == 0) | 1612 | 1) == 0) |
@@ -1852,8 +1675,7 @@ main(int ac, char **av) | |||
1852 | sensitive_data.host_keys[i] = key; | 1675 | sensitive_data.host_keys[i] = key; |
1853 | sensitive_data.host_pubkeys[i] = pubkey; | 1676 | sensitive_data.host_pubkeys[i] = pubkey; |
1854 | 1677 | ||
1855 | if (key == NULL && pubkey != NULL && pubkey->type != KEY_RSA1 && | 1678 | if (key == NULL && pubkey != NULL && have_agent) { |
1856 | have_agent) { | ||
1857 | debug("will rely on agent for hostkey %s", | 1679 | debug("will rely on agent for hostkey %s", |
1858 | options.host_key_files[i]); | 1680 | options.host_key_files[i]); |
1859 | keytype = pubkey->type; | 1681 | keytype = pubkey->type; |
@@ -1868,10 +1690,6 @@ main(int ac, char **av) | |||
1868 | } | 1690 | } |
1869 | 1691 | ||
1870 | switch (keytype) { | 1692 | switch (keytype) { |
1871 | case KEY_RSA1: | ||
1872 | sensitive_data.ssh1_host_key = key; | ||
1873 | sensitive_data.have_ssh1_key = 1; | ||
1874 | break; | ||
1875 | case KEY_RSA: | 1693 | case KEY_RSA: |
1876 | case KEY_DSA: | 1694 | case KEY_DSA: |
1877 | case KEY_ECDSA: | 1695 | case KEY_ECDSA: |
@@ -1884,19 +1702,10 @@ main(int ac, char **av) | |||
1884 | SSH_FP_DEFAULT)) == NULL) | 1702 | SSH_FP_DEFAULT)) == NULL) |
1885 | fatal("sshkey_fingerprint failed"); | 1703 | fatal("sshkey_fingerprint failed"); |
1886 | debug("%s host key #%d: %s %s", | 1704 | debug("%s host key #%d: %s %s", |
1887 | key ? "private" : "agent", i, keytype == KEY_RSA1 ? | 1705 | key ? "private" : "agent", i, sshkey_ssh_name(pubkey), fp); |
1888 | sshkey_type(pubkey) : sshkey_ssh_name(pubkey), fp); | ||
1889 | free(fp); | 1706 | free(fp); |
1890 | } | 1707 | } |
1891 | if ((options.protocol & SSH_PROTO_1) && !sensitive_data.have_ssh1_key) { | 1708 | if (!sensitive_data.have_ssh2_key) { |
1892 | logit("Disabling protocol version 1. Could not load host key"); | ||
1893 | options.protocol &= ~SSH_PROTO_1; | ||
1894 | } | ||
1895 | if ((options.protocol & SSH_PROTO_2) && !sensitive_data.have_ssh2_key) { | ||
1896 | logit("Disabling protocol version 2. Could not load host key"); | ||
1897 | options.protocol &= ~SSH_PROTO_2; | ||
1898 | } | ||
1899 | if (!(options.protocol & (SSH_PROTO_1|SSH_PROTO_2))) { | ||
1900 | logit("sshd: no hostkeys available -- exiting."); | 1709 | logit("sshd: no hostkeys available -- exiting."); |
1901 | exit(1); | 1710 | exit(1); |
1902 | } | 1711 | } |
@@ -1944,33 +1753,6 @@ main(int ac, char **av) | |||
1944 | key_type(key)); | 1753 | key_type(key)); |
1945 | } | 1754 | } |
1946 | 1755 | ||
1947 | #ifdef WITH_SSH1 | ||
1948 | /* Check certain values for sanity. */ | ||
1949 | if (options.protocol & SSH_PROTO_1) { | ||
1950 | if (options.server_key_bits < SSH_RSA_MINIMUM_MODULUS_SIZE || | ||
1951 | options.server_key_bits > OPENSSL_RSA_MAX_MODULUS_BITS) { | ||
1952 | fprintf(stderr, "Bad server key size.\n"); | ||
1953 | exit(1); | ||
1954 | } | ||
1955 | /* | ||
1956 | * Check that server and host key lengths differ sufficiently. This | ||
1957 | * is necessary to make double encryption work with rsaref. Oh, I | ||
1958 | * hate software patents. I dont know if this can go? Niels | ||
1959 | */ | ||
1960 | if (options.server_key_bits > | ||
1961 | BN_num_bits(sensitive_data.ssh1_host_key->rsa->n) - | ||
1962 | SSH_KEY_BITS_RESERVED && options.server_key_bits < | ||
1963 | BN_num_bits(sensitive_data.ssh1_host_key->rsa->n) + | ||
1964 | SSH_KEY_BITS_RESERVED) { | ||
1965 | options.server_key_bits = | ||
1966 | BN_num_bits(sensitive_data.ssh1_host_key->rsa->n) + | ||
1967 | SSH_KEY_BITS_RESERVED; | ||
1968 | debug("Forcing server key to %d bits to make it differ from host key.", | ||
1969 | options.server_key_bits); | ||
1970 | } | ||
1971 | } | ||
1972 | #endif | ||
1973 | |||
1974 | if (use_privsep) { | 1756 | if (use_privsep) { |
1975 | struct stat st; | 1757 | struct stat st; |
1976 | 1758 | ||
@@ -2030,25 +1812,17 @@ main(int ac, char **av) | |||
2030 | log_init(__progname, options.log_level, options.log_facility, log_stderr); | 1812 | log_init(__progname, options.log_level, options.log_facility, log_stderr); |
2031 | 1813 | ||
2032 | /* | 1814 | /* |
2033 | * If not in debugging mode, and not started from inetd, disconnect | 1815 | * If not in debugging mode, not started from inetd and not already |
2034 | * from the controlling terminal, and fork. The original process | 1816 | * daemonized (eg re-exec via SIGHUP), disconnect from the controlling |
2035 | * exits. | 1817 | * terminal, and fork. The original process exits. |
2036 | */ | 1818 | */ |
2037 | if (!(debug_flag || inetd_flag || no_daemon_flag)) { | 1819 | already_daemon = daemonized(); |
2038 | #ifdef TIOCNOTTY | 1820 | if (!(debug_flag || inetd_flag || no_daemon_flag || already_daemon)) { |
2039 | int fd; | 1821 | |
2040 | #endif /* TIOCNOTTY */ | ||
2041 | if (daemon(0, 0) < 0) | 1822 | if (daemon(0, 0) < 0) |
2042 | fatal("daemon() failed: %.200s", strerror(errno)); | 1823 | fatal("daemon() failed: %.200s", strerror(errno)); |
2043 | 1824 | ||
2044 | /* Disconnect from the controlling tty. */ | 1825 | disconnect_controlling_tty(); |
2045 | #ifdef TIOCNOTTY | ||
2046 | fd = open(_PATH_TTY, O_RDWR | O_NOCTTY); | ||
2047 | if (fd >= 0) { | ||
2048 | (void) ioctl(fd, TIOCNOTTY, NULL); | ||
2049 | close(fd); | ||
2050 | } | ||
2051 | #endif /* TIOCNOTTY */ | ||
2052 | } | 1826 | } |
2053 | /* Reinitialize the log (because of the fork above). */ | 1827 | /* Reinitialize the log (because of the fork above). */ |
2054 | log_init(__progname, options.log_level, options.log_facility, log_stderr); | 1828 | log_init(__progname, options.log_level, options.log_facility, log_stderr); |
@@ -2068,9 +1842,6 @@ main(int ac, char **av) | |||
2068 | platform_pre_listen(); | 1842 | platform_pre_listen(); |
2069 | server_listen(); | 1843 | server_listen(); |
2070 | 1844 | ||
2071 | if (options.protocol & SSH_PROTO_1) | ||
2072 | generate_ephemeral_server_key(); | ||
2073 | |||
2074 | signal(SIGHUP, sighup_handler); | 1845 | signal(SIGHUP, sighup_handler); |
2075 | signal(SIGCHLD, main_sigchld_handler); | 1846 | signal(SIGCHLD, main_sigchld_handler); |
2076 | signal(SIGTERM, sigterm_handler); | 1847 | signal(SIGTERM, sigterm_handler); |
@@ -2220,11 +1991,6 @@ main(int ac, char **av) | |||
2220 | alarm(options.login_grace_time); | 1991 | alarm(options.login_grace_time); |
2221 | 1992 | ||
2222 | sshd_exchange_identification(ssh, sock_in, sock_out); | 1993 | sshd_exchange_identification(ssh, sock_in, sock_out); |
2223 | |||
2224 | /* In inetd mode, generate ephemeral key only for proto 1 connections */ | ||
2225 | if (!compat20 && inetd_flag && sensitive_data.server_key == NULL) | ||
2226 | generate_ephemeral_server_key(); | ||
2227 | |||
2228 | packet_set_nonblocking(); | 1994 | packet_set_nonblocking(); |
2229 | 1995 | ||
2230 | /* allocate authentication context */ | 1996 | /* allocate authentication context */ |
@@ -2242,7 +2008,7 @@ main(int ac, char **av) | |||
2242 | if (use_privsep) { | 2008 | if (use_privsep) { |
2243 | if (privsep_preauth(authctxt) == 1) | 2009 | if (privsep_preauth(authctxt) == 1) |
2244 | goto authenticated; | 2010 | goto authenticated; |
2245 | } else if (compat20 && have_agent) { | 2011 | } else if (have_agent) { |
2246 | if ((r = ssh_get_authentication_socket(&auth_sock)) != 0) { | 2012 | if ((r = ssh_get_authentication_socket(&auth_sock)) != 0) { |
2247 | error("Unable to get agent socket: %s", ssh_err(r)); | 2013 | error("Unable to get agent socket: %s", ssh_err(r)); |
2248 | have_agent = 0; | 2014 | have_agent = 0; |
@@ -2251,17 +2017,9 @@ main(int ac, char **av) | |||
2251 | 2017 | ||
2252 | /* perform the key exchange */ | 2018 | /* perform the key exchange */ |
2253 | /* authenticate user and start session */ | 2019 | /* authenticate user and start session */ |
2254 | if (compat20) { | 2020 | do_ssh2_kex(); |
2255 | do_ssh2_kex(); | 2021 | do_authentication2(authctxt); |
2256 | do_authentication2(authctxt); | 2022 | |
2257 | } else { | ||
2258 | #ifdef WITH_SSH1 | ||
2259 | do_ssh1_kex(); | ||
2260 | do_authentication(authctxt); | ||
2261 | #else | ||
2262 | fatal("ssh1 not supported"); | ||
2263 | #endif | ||
2264 | } | ||
2265 | /* | 2023 | /* |
2266 | * If we use privilege separation, the unprivileged child transfers | 2024 | * If we use privilege separation, the unprivileged child transfers |
2267 | * the current keystate and exits | 2025 | * the current keystate and exits |
@@ -2309,16 +2067,13 @@ main(int ac, char **av) | |||
2309 | if (use_privsep) { | 2067 | if (use_privsep) { |
2310 | privsep_postauth(authctxt); | 2068 | privsep_postauth(authctxt); |
2311 | /* the monitor process [priv] will not return */ | 2069 | /* the monitor process [priv] will not return */ |
2312 | if (!compat20) | ||
2313 | destroy_sensitive_data(); | ||
2314 | } | 2070 | } |
2315 | 2071 | ||
2316 | packet_set_timeout(options.client_alive_interval, | 2072 | packet_set_timeout(options.client_alive_interval, |
2317 | options.client_alive_count_max); | 2073 | options.client_alive_count_max); |
2318 | 2074 | ||
2319 | /* Try to send all our hostkeys to the client */ | 2075 | /* Try to send all our hostkeys to the client */ |
2320 | if (compat20) | 2076 | notify_hostkeys(active_state); |
2321 | notify_hostkeys(active_state); | ||
2322 | 2077 | ||
2323 | /* Start session. */ | 2078 | /* Start session. */ |
2324 | do_authenticated(authctxt); | 2079 | do_authenticated(authctxt); |
@@ -2347,229 +2102,6 @@ main(int ac, char **av) | |||
2347 | exit(0); | 2102 | exit(0); |
2348 | } | 2103 | } |
2349 | 2104 | ||
2350 | #ifdef WITH_SSH1 | ||
2351 | /* | ||
2352 | * Decrypt session_key_int using our private server key and private host key | ||
2353 | * (key with larger modulus first). | ||
2354 | */ | ||
2355 | int | ||
2356 | ssh1_session_key(BIGNUM *session_key_int) | ||
2357 | { | ||
2358 | struct ssh *ssh = active_state; /* XXX */ | ||
2359 | int rsafail = 0; | ||
2360 | |||
2361 | if (BN_cmp(sensitive_data.server_key->rsa->n, | ||
2362 | sensitive_data.ssh1_host_key->rsa->n) > 0) { | ||
2363 | /* Server key has bigger modulus. */ | ||
2364 | if (BN_num_bits(sensitive_data.server_key->rsa->n) < | ||
2365 | BN_num_bits(sensitive_data.ssh1_host_key->rsa->n) + | ||
2366 | SSH_KEY_BITS_RESERVED) { | ||
2367 | fatal("do_connection: %s port %d: " | ||
2368 | "server_key %d < host_key %d + SSH_KEY_BITS_RESERVED %d", | ||
2369 | ssh_remote_ipaddr(ssh), ssh_remote_port(ssh), | ||
2370 | BN_num_bits(sensitive_data.server_key->rsa->n), | ||
2371 | BN_num_bits(sensitive_data.ssh1_host_key->rsa->n), | ||
2372 | SSH_KEY_BITS_RESERVED); | ||
2373 | } | ||
2374 | if (rsa_private_decrypt(session_key_int, session_key_int, | ||
2375 | sensitive_data.server_key->rsa) != 0) | ||
2376 | rsafail++; | ||
2377 | if (rsa_private_decrypt(session_key_int, session_key_int, | ||
2378 | sensitive_data.ssh1_host_key->rsa) != 0) | ||
2379 | rsafail++; | ||
2380 | } else { | ||
2381 | /* Host key has bigger modulus (or they are equal). */ | ||
2382 | if (BN_num_bits(sensitive_data.ssh1_host_key->rsa->n) < | ||
2383 | BN_num_bits(sensitive_data.server_key->rsa->n) + | ||
2384 | SSH_KEY_BITS_RESERVED) { | ||
2385 | fatal("do_connection: %s port %d: " | ||
2386 | "host_key %d < server_key %d + SSH_KEY_BITS_RESERVED %d", | ||
2387 | ssh_remote_ipaddr(ssh), ssh_remote_port(ssh), | ||
2388 | BN_num_bits(sensitive_data.ssh1_host_key->rsa->n), | ||
2389 | BN_num_bits(sensitive_data.server_key->rsa->n), | ||
2390 | SSH_KEY_BITS_RESERVED); | ||
2391 | } | ||
2392 | if (rsa_private_decrypt(session_key_int, session_key_int, | ||
2393 | sensitive_data.ssh1_host_key->rsa) != 0) | ||
2394 | rsafail++; | ||
2395 | if (rsa_private_decrypt(session_key_int, session_key_int, | ||
2396 | sensitive_data.server_key->rsa) != 0) | ||
2397 | rsafail++; | ||
2398 | } | ||
2399 | return (rsafail); | ||
2400 | } | ||
2401 | |||
2402 | /* | ||
2403 | * SSH1 key exchange | ||
2404 | */ | ||
2405 | static void | ||
2406 | do_ssh1_kex(void) | ||
2407 | { | ||
2408 | struct ssh *ssh = active_state; /* XXX */ | ||
2409 | int i, len; | ||
2410 | int rsafail = 0; | ||
2411 | BIGNUM *session_key_int, *fake_key_int, *real_key_int; | ||
2412 | u_char session_key[SSH_SESSION_KEY_LENGTH]; | ||
2413 | u_char fake_key_bytes[4096 / 8]; | ||
2414 | size_t fake_key_len; | ||
2415 | u_char cookie[8]; | ||
2416 | u_int cipher_type, auth_mask, protocol_flags; | ||
2417 | |||
2418 | /* | ||
2419 | * Generate check bytes that the client must send back in the user | ||
2420 | * packet in order for it to be accepted; this is used to defy ip | ||
2421 | * spoofing attacks. Note that this only works against somebody | ||
2422 | * doing IP spoofing from a remote machine; any machine on the local | ||
2423 | * network can still see outgoing packets and catch the random | ||
2424 | * cookie. This only affects rhosts authentication, and this is one | ||
2425 | * of the reasons why it is inherently insecure. | ||
2426 | */ | ||
2427 | arc4random_buf(cookie, sizeof(cookie)); | ||
2428 | |||
2429 | /* | ||
2430 | * Send our public key. We include in the packet 64 bits of random | ||
2431 | * data that must be matched in the reply in order to prevent IP | ||
2432 | * spoofing. | ||
2433 | */ | ||
2434 | packet_start(SSH_SMSG_PUBLIC_KEY); | ||
2435 | for (i = 0; i < 8; i++) | ||
2436 | packet_put_char(cookie[i]); | ||
2437 | |||
2438 | /* Store our public server RSA key. */ | ||
2439 | packet_put_int(BN_num_bits(sensitive_data.server_key->rsa->n)); | ||
2440 | packet_put_bignum(sensitive_data.server_key->rsa->e); | ||
2441 | packet_put_bignum(sensitive_data.server_key->rsa->n); | ||
2442 | |||
2443 | /* Store our public host RSA key. */ | ||
2444 | packet_put_int(BN_num_bits(sensitive_data.ssh1_host_key->rsa->n)); | ||
2445 | packet_put_bignum(sensitive_data.ssh1_host_key->rsa->e); | ||
2446 | packet_put_bignum(sensitive_data.ssh1_host_key->rsa->n); | ||
2447 | |||
2448 | /* Put protocol flags. */ | ||
2449 | packet_put_int(SSH_PROTOFLAG_HOST_IN_FWD_OPEN); | ||
2450 | |||
2451 | /* Declare which ciphers we support. */ | ||
2452 | packet_put_int(cipher_mask_ssh1(0)); | ||
2453 | |||
2454 | /* Declare supported authentication types. */ | ||
2455 | auth_mask = 0; | ||
2456 | if (options.rhosts_rsa_authentication) | ||
2457 | auth_mask |= 1 << SSH_AUTH_RHOSTS_RSA; | ||
2458 | if (options.rsa_authentication) | ||
2459 | auth_mask |= 1 << SSH_AUTH_RSA; | ||
2460 | if (options.challenge_response_authentication == 1) | ||
2461 | auth_mask |= 1 << SSH_AUTH_TIS; | ||
2462 | if (options.password_authentication) | ||
2463 | auth_mask |= 1 << SSH_AUTH_PASSWORD; | ||
2464 | packet_put_int(auth_mask); | ||
2465 | |||
2466 | /* Send the packet and wait for it to be sent. */ | ||
2467 | packet_send(); | ||
2468 | packet_write_wait(); | ||
2469 | |||
2470 | debug("Sent %d bit server key and %d bit host key.", | ||
2471 | BN_num_bits(sensitive_data.server_key->rsa->n), | ||
2472 | BN_num_bits(sensitive_data.ssh1_host_key->rsa->n)); | ||
2473 | |||
2474 | /* Read clients reply (cipher type and session key). */ | ||
2475 | packet_read_expect(SSH_CMSG_SESSION_KEY); | ||
2476 | |||
2477 | /* Get cipher type and check whether we accept this. */ | ||
2478 | cipher_type = packet_get_char(); | ||
2479 | |||
2480 | if (!(cipher_mask_ssh1(0) & (1 << cipher_type))) | ||
2481 | packet_disconnect("Warning: client selects unsupported cipher."); | ||
2482 | |||
2483 | /* Get check bytes from the packet. These must match those we | ||
2484 | sent earlier with the public key packet. */ | ||
2485 | for (i = 0; i < 8; i++) | ||
2486 | if (cookie[i] != packet_get_char()) | ||
2487 | packet_disconnect("IP Spoofing check bytes do not match."); | ||
2488 | |||
2489 | debug("Encryption type: %.200s", cipher_name(cipher_type)); | ||
2490 | |||
2491 | /* Get the encrypted integer. */ | ||
2492 | if ((real_key_int = BN_new()) == NULL) | ||
2493 | fatal("do_ssh1_kex: BN_new failed"); | ||
2494 | packet_get_bignum(real_key_int); | ||
2495 | |||
2496 | protocol_flags = packet_get_int(); | ||
2497 | packet_set_protocol_flags(protocol_flags); | ||
2498 | packet_check_eom(); | ||
2499 | |||
2500 | /* Setup a fake key in case RSA decryption fails */ | ||
2501 | if ((fake_key_int = BN_new()) == NULL) | ||
2502 | fatal("do_ssh1_kex: BN_new failed"); | ||
2503 | fake_key_len = BN_num_bytes(real_key_int); | ||
2504 | if (fake_key_len > sizeof(fake_key_bytes)) | ||
2505 | fake_key_len = sizeof(fake_key_bytes); | ||
2506 | arc4random_buf(fake_key_bytes, fake_key_len); | ||
2507 | if (BN_bin2bn(fake_key_bytes, fake_key_len, fake_key_int) == NULL) | ||
2508 | fatal("do_ssh1_kex: BN_bin2bn failed"); | ||
2509 | |||
2510 | /* Decrypt real_key_int using host/server keys */ | ||
2511 | rsafail = PRIVSEP(ssh1_session_key(real_key_int)); | ||
2512 | /* If decryption failed, use the fake key. Else, the real key. */ | ||
2513 | if (rsafail) | ||
2514 | session_key_int = fake_key_int; | ||
2515 | else | ||
2516 | session_key_int = real_key_int; | ||
2517 | |||
2518 | /* | ||
2519 | * Extract session key from the decrypted integer. The key is in the | ||
2520 | * least significant 256 bits of the integer; the first byte of the | ||
2521 | * key is in the highest bits. | ||
2522 | */ | ||
2523 | (void) BN_mask_bits(session_key_int, sizeof(session_key) * 8); | ||
2524 | len = BN_num_bytes(session_key_int); | ||
2525 | if (len < 0 || (u_int)len > sizeof(session_key)) { | ||
2526 | error("%s: bad session key len from %s port %d: " | ||
2527 | "session_key_int %d > sizeof(session_key) %lu", __func__, | ||
2528 | ssh_remote_ipaddr(ssh), ssh_remote_port(ssh), | ||
2529 | len, (u_long)sizeof(session_key)); | ||
2530 | rsafail++; | ||
2531 | } else { | ||
2532 | explicit_bzero(session_key, sizeof(session_key)); | ||
2533 | BN_bn2bin(session_key_int, | ||
2534 | session_key + sizeof(session_key) - len); | ||
2535 | |||
2536 | derive_ssh1_session_id( | ||
2537 | sensitive_data.ssh1_host_key->rsa->n, | ||
2538 | sensitive_data.server_key->rsa->n, | ||
2539 | cookie, session_id); | ||
2540 | /* | ||
2541 | * Xor the first 16 bytes of the session key with the | ||
2542 | * session id. | ||
2543 | */ | ||
2544 | for (i = 0; i < 16; i++) | ||
2545 | session_key[i] ^= session_id[i]; | ||
2546 | } | ||
2547 | |||
2548 | /* Destroy the private and public keys. No longer. */ | ||
2549 | destroy_sensitive_data(); | ||
2550 | |||
2551 | if (use_privsep) | ||
2552 | mm_ssh1_session_id(session_id); | ||
2553 | |||
2554 | /* Destroy the decrypted integer. It is no longer needed. */ | ||
2555 | BN_clear_free(real_key_int); | ||
2556 | BN_clear_free(fake_key_int); | ||
2557 | |||
2558 | /* Set the session key. From this on all communications will be encrypted. */ | ||
2559 | packet_set_encryption_key(session_key, SSH_SESSION_KEY_LENGTH, cipher_type); | ||
2560 | |||
2561 | /* Destroy our copy of the session key. It is no longer needed. */ | ||
2562 | explicit_bzero(session_key, sizeof(session_key)); | ||
2563 | |||
2564 | debug("Received session key; encryption turned on."); | ||
2565 | |||
2566 | /* Send an acknowledgment packet. Note that this packet is sent encrypted. */ | ||
2567 | packet_start(SSH_SMSG_SUCCESS); | ||
2568 | packet_send(); | ||
2569 | packet_write_wait(); | ||
2570 | } | ||
2571 | #endif | ||
2572 | |||
2573 | int | 2105 | int |
2574 | sshd_hostkey_sign(Key *privkey, Key *pubkey, u_char **signature, size_t *slen, | 2106 | sshd_hostkey_sign(Key *privkey, Key *pubkey, u_char **signature, size_t *slen, |
2575 | const u_char *data, size_t dlen, const char *alg, u_int flag) | 2107 | const u_char *data, size_t dlen, const char *alg, u_int flag) |
@@ -2618,10 +2150,6 @@ do_ssh2_kex(void) | |||
2618 | if (options.compression == COMP_NONE) { | 2150 | if (options.compression == COMP_NONE) { |
2619 | myproposal[PROPOSAL_COMP_ALGS_CTOS] = | 2151 | myproposal[PROPOSAL_COMP_ALGS_CTOS] = |
2620 | myproposal[PROPOSAL_COMP_ALGS_STOC] = "none"; | 2152 | myproposal[PROPOSAL_COMP_ALGS_STOC] = "none"; |
2621 | } else if (options.compression == COMP_DELAYED) { | ||
2622 | myproposal[PROPOSAL_COMP_ALGS_CTOS] = | ||
2623 | myproposal[PROPOSAL_COMP_ALGS_STOC] = | ||
2624 | "none,zlib@openssh.com"; | ||
2625 | } | 2153 | } |
2626 | 2154 | ||
2627 | if (options.rekey_limit || options.rekey_interval) | 2155 | if (options.rekey_limit || options.rekey_interval) |
diff --git a/sshd_config b/sshd_config index 75ae8e739..9f09e4a6e 100644 --- a/sshd_config +++ b/sshd_config | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: sshd_config,v 1.99 2016/07/11 03:19:44 tedu Exp $ | 1 | # $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $ |
2 | 2 | ||
3 | # This is the sshd server system-wide configuration file. See | 3 | # This is the sshd server system-wide configuration file. See |
4 | # sshd_config(5) for more information. | 4 | # sshd_config(5) for more information. |
@@ -15,21 +15,11 @@ | |||
15 | #ListenAddress 0.0.0.0 | 15 | #ListenAddress 0.0.0.0 |
16 | #ListenAddress :: | 16 | #ListenAddress :: |
17 | 17 | ||
18 | # The default requires explicit activation of protocol 1 | ||
19 | #Protocol 2 | ||
20 | |||
21 | # HostKey for protocol version 1 | ||
22 | #HostKey /etc/ssh/ssh_host_key | ||
23 | # HostKeys for protocol version 2 | ||
24 | #HostKey /etc/ssh/ssh_host_rsa_key | 18 | #HostKey /etc/ssh/ssh_host_rsa_key |
25 | #HostKey /etc/ssh/ssh_host_dsa_key | 19 | #HostKey /etc/ssh/ssh_host_dsa_key |
26 | #HostKey /etc/ssh/ssh_host_ecdsa_key | 20 | #HostKey /etc/ssh/ssh_host_ecdsa_key |
27 | #HostKey /etc/ssh/ssh_host_ed25519_key | 21 | #HostKey /etc/ssh/ssh_host_ed25519_key |
28 | 22 | ||
29 | # Lifetime and size of ephemeral version 1 server key | ||
30 | #KeyRegenerationInterval 1h | ||
31 | #ServerKeyBits 1024 | ||
32 | |||
33 | # Ciphers and keying | 23 | # Ciphers and keying |
34 | #RekeyLimit default none | 24 | #RekeyLimit default none |
35 | 25 | ||
@@ -45,7 +35,6 @@ | |||
45 | #MaxAuthTries 6 | 35 | #MaxAuthTries 6 |
46 | #MaxSessions 10 | 36 | #MaxSessions 10 |
47 | 37 | ||
48 | #RSAAuthentication yes | ||
49 | #PubkeyAuthentication yes | 38 | #PubkeyAuthentication yes |
50 | 39 | ||
51 | # The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2 | 40 | # The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2 |
@@ -58,11 +47,9 @@ AuthorizedKeysFile .ssh/authorized_keys | |||
58 | #AuthorizedKeysCommandUser nobody | 47 | #AuthorizedKeysCommandUser nobody |
59 | 48 | ||
60 | # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts | 49 | # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts |
61 | #RhostsRSAAuthentication no | ||
62 | # similar for protocol version 2 | ||
63 | #HostbasedAuthentication no | 50 | #HostbasedAuthentication no |
64 | # Change to yes if you don't trust ~/.ssh/known_hosts for | 51 | # Change to yes if you don't trust ~/.ssh/known_hosts for |
65 | # RhostsRSAAuthentication and HostbasedAuthentication | 52 | # HostbasedAuthentication |
66 | #IgnoreUserKnownHosts no | 53 | #IgnoreUserKnownHosts no |
67 | # Don't read the user's ~/.rhosts and ~/.shosts files | 54 | # Don't read the user's ~/.rhosts and ~/.shosts files |
68 | #IgnoreRhosts yes | 55 | #IgnoreRhosts yes |
diff --git a/sshd_config.0 b/sshd_config.0 index 85379dca5..022c05226 100644 --- a/sshd_config.0 +++ b/sshd_config.0 | |||
@@ -32,12 +32,12 @@ DESCRIPTION | |||
32 | 32 | ||
33 | AddressFamily | 33 | AddressFamily |
34 | Specifies which address family should be used by sshd(8). Valid | 34 | Specifies which address family should be used by sshd(8). Valid |
35 | arguments are M-bM-^@M-^\anyM-bM-^@M-^], M-bM-^@M-^\inetM-bM-^@M-^] (use IPv4 only), or M-bM-^@M-^\inet6M-bM-^@M-^] (use IPv6 | 35 | arguments are any (the default), inet (use IPv4 only), or inet6 |
36 | only). The default is M-bM-^@M-^\anyM-bM-^@M-^]. | 36 | (use IPv6 only). |
37 | 37 | ||
38 | AllowAgentForwarding | 38 | AllowAgentForwarding |
39 | Specifies whether ssh-agent(1) forwarding is permitted. The | 39 | Specifies whether ssh-agent(1) forwarding is permitted. The |
40 | default is M-bM-^@M-^\yesM-bM-^@M-^]. Note that disabling agent forwarding does not | 40 | default is yes. Note that disabling agent forwarding does not |
41 | improve security unless users are also denied shell access, as | 41 | improve security unless users are also denied shell access, as |
42 | they can always install their own forwarders. | 42 | they can always install their own forwarders. |
43 | 43 | ||
@@ -53,25 +53,24 @@ DESCRIPTION | |||
53 | 53 | ||
54 | See PATTERNS in ssh_config(5) for more information on patterns. | 54 | See PATTERNS in ssh_config(5) for more information on patterns. |
55 | 55 | ||
56 | AllowTcpForwarding | ||
57 | Specifies whether TCP forwarding is permitted. The available | ||
58 | options are M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\allM-bM-^@M-^] to allow TCP forwarding, M-bM-^@M-^\noM-bM-^@M-^] to | ||
59 | prevent all TCP forwarding, M-bM-^@M-^\localM-bM-^@M-^] to allow local (from the | ||
60 | perspective of ssh(1)) forwarding only or M-bM-^@M-^\remoteM-bM-^@M-^] to allow | ||
61 | remote forwarding only. The default is M-bM-^@M-^\yesM-bM-^@M-^]. Note that | ||
62 | disabling TCP forwarding does not improve security unless users | ||
63 | are also denied shell access, as they can always install their | ||
64 | own forwarders. | ||
65 | |||
66 | AllowStreamLocalForwarding | 56 | AllowStreamLocalForwarding |
67 | Specifies whether StreamLocal (Unix-domain socket) forwarding is | 57 | Specifies whether StreamLocal (Unix-domain socket) forwarding is |
68 | permitted. The available options are M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\allM-bM-^@M-^] to allow | 58 | permitted. The available options are yes (the default) or all to |
69 | StreamLocal forwarding, M-bM-^@M-^\noM-bM-^@M-^] to prevent all StreamLocal | 59 | allow StreamLocal forwarding, no to prevent all StreamLocal |
70 | forwarding, M-bM-^@M-^\localM-bM-^@M-^] to allow local (from the perspective of | 60 | forwarding, local to allow local (from the perspective of ssh(1)) |
71 | ssh(1)) forwarding only or M-bM-^@M-^\remoteM-bM-^@M-^] to allow remote forwarding | 61 | forwarding only or remote to allow remote forwarding only. Note |
72 | only. The default is M-bM-^@M-^\yesM-bM-^@M-^]. Note that disabling StreamLocal | 62 | that disabling StreamLocal forwarding does not improve security |
73 | forwarding does not improve security unless users are also denied | 63 | unless users are also denied shell access, as they can always |
74 | shell access, as they can always install their own forwarders. | 64 | install their own forwarders. |
65 | |||
66 | AllowTcpForwarding | ||
67 | Specifies whether TCP forwarding is permitted. The available | ||
68 | options are yes (the default) or all to allow TCP forwarding, no | ||
69 | to prevent all TCP forwarding, local to allow local (from the | ||
70 | perspective of ssh(1)) forwarding only or remote to allow remote | ||
71 | forwarding only. Note that disabling TCP forwarding does not | ||
72 | improve security unless users are also denied shell access, as | ||
73 | they can always install their own forwarders. | ||
75 | 74 | ||
76 | AllowUsers | 75 | AllowUsers |
77 | This keyword can be followed by a list of user name patterns, | 76 | This keyword can be followed by a list of user name patterns, |
@@ -92,53 +91,42 @@ DESCRIPTION | |||
92 | Specifies the authentication methods that must be successfully | 91 | Specifies the authentication methods that must be successfully |
93 | completed for a user to be granted access. This option must be | 92 | completed for a user to be granted access. This option must be |
94 | followed by one or more comma-separated lists of authentication | 93 | followed by one or more comma-separated lists of authentication |
95 | method names, or by the single string M-bM-^@M-^\anyM-bM-^@M-^] to indicate the | 94 | method names, or by the single string any to indicate the default |
96 | default behaviour of accepting any single authentication method. | 95 | behaviour of accepting any single authentication method. If the |
97 | if the default is overridden, then successful authentication | 96 | default is overridden, then successful authentication requires |
98 | requires completion of every method in at least one of these | 97 | completion of every method in at least one of these lists. |
99 | lists. | 98 | |
100 | 99 | For example, "publickey,password publickey,keyboard-interactive" | |
101 | For example, an argument of M-bM-^@M-^\publickey,password | 100 | would require the user to complete public key authentication, |
102 | publickey,keyboard-interactiveM-bM-^@M-^] would require the user to | 101 | followed by either password or keyboard interactive |
103 | complete public key authentication, followed by either password | 102 | authentication. Only methods that are next in one or more lists |
104 | or keyboard interactive authentication. Only methods that are | 103 | are offered at each stage, so for this example it would not be |
105 | next in one or more lists are offered at each stage, so for this | 104 | possible to attempt password or keyboard-interactive |
106 | example, it would not be possible to attempt password or | 105 | authentication before public key. |
107 | keyboard-interactive authentication before public key. | ||
108 | 106 | ||
109 | For keyboard interactive authentication it is also possible to | 107 | For keyboard interactive authentication it is also possible to |
110 | restrict authentication to a specific device by appending a colon | 108 | restrict authentication to a specific device by appending a colon |
111 | followed by the device identifier M-bM-^@M-^\bsdauthM-bM-^@M-^], M-bM-^@M-^\pamM-bM-^@M-^], or M-bM-^@M-^\skeyM-bM-^@M-^], | 109 | followed by the device identifier bsdauth, pam, or skey, |
112 | depending on the server configuration. For example, | 110 | depending on the server configuration. For example, |
113 | M-bM-^@M-^\keyboard-interactive:bsdauthM-bM-^@M-^] would restrict keyboard | 111 | "keyboard-interactive:bsdauth" would restrict keyboard |
114 | interactive authentication to the M-bM-^@M-^\bsdauthM-bM-^@M-^] device. | 112 | interactive authentication to the bsdauth device. |
115 | 113 | ||
116 | If the M-bM-^@M-^\publickeyM-bM-^@M-^] method is listed more than once, sshd(8) | 114 | If the publickey method is listed more than once, sshd(8) |
117 | verifies that keys that have been used successfully are not | 115 | verifies that keys that have been used successfully are not |
118 | reused for subsequent authentications. For example, an | 116 | reused for subsequent authentications. For example, |
119 | AuthenticationMethods of M-bM-^@M-^\publickey,publickeyM-bM-^@M-^] will require | 117 | "publickey,publickey" requires successful authentication using |
120 | successful authentication using two different public keys. | 118 | two different public keys. |
121 | 119 | ||
122 | This option will yield a fatal error if enabled if protocol 1 is | 120 | Note that each authentication method listed should also be |
123 | also enabled. Note that each authentication method listed should | 121 | explicitly enabled in the configuration. |
124 | also be explicitly enabled in the configuration. The default | ||
125 | M-bM-^@M-^\anyM-bM-^@M-^] is not to require multiple authentication; successful | ||
126 | completion of a single authentication method is sufficient. | ||
127 | 122 | ||
128 | AuthorizedKeysCommand | 123 | AuthorizedKeysCommand |
129 | Specifies a program to be used to look up the user's public keys. | 124 | Specifies a program to be used to look up the user's public keys. |
130 | The program must be owned by root, not writable by group or | 125 | The program must be owned by root, not writable by group or |
131 | others and specified by an absolute path. | 126 | others and specified by an absolute path. Arguments to |
132 | 127 | AuthorizedKeysCommand accept the tokens described in the TOKENS | |
133 | Arguments to AuthorizedKeysCommand may be provided using the | 128 | section. If no arguments are specified then the username of the |
134 | following tokens, which will be expanded at runtime: %% is | 129 | target user is used. |
135 | replaced by a literal '%', %u is replaced by the username being | ||
136 | authenticated, %h is replaced by the home directory of the user | ||
137 | being authenticated, %t is replaced with the key type offered for | ||
138 | authentication, %f is replaced with the fingerprint of the key, | ||
139 | and %k is replaced with the key being offered for authentication. | ||
140 | If no arguments are specified then the username of the target | ||
141 | user will be supplied. | ||
142 | 130 | ||
143 | The program should produce on standard output zero or more lines | 131 | The program should produce on standard output zero or more lines |
144 | of authorized_keys output (see AUTHORIZED_KEYS in sshd(8)). If a | 132 | of authorized_keys output (see AUTHORIZED_KEYS in sshd(8)). If a |
@@ -155,31 +143,24 @@ DESCRIPTION | |||
155 | is not, then sshd(8) will refuse to start. | 143 | is not, then sshd(8) will refuse to start. |
156 | 144 | ||
157 | AuthorizedKeysFile | 145 | AuthorizedKeysFile |
158 | Specifies the file that contains the public keys that can be used | 146 | Specifies the file that contains the public keys used for user |
159 | for user authentication. The format is described in the | 147 | authentication. The format is described in the AUTHORIZED_KEYS |
160 | AUTHORIZED_KEYS FILE FORMAT section of sshd(8). | 148 | FILE FORMAT section of sshd(8). Arguments to AuthorizedKeysFile |
161 | AuthorizedKeysFile may contain tokens of the form %T which are | 149 | accept the tokens described in the TOKENS section. After |
162 | substituted during connection setup. The following tokens are | 150 | expansion, AuthorizedKeysFile is taken to be an absolute path or |
163 | defined: %% is replaced by a literal '%', %h is replaced by the | 151 | one relative to the user's home directory. Multiple files may be |
164 | home directory of the user being authenticated, and %u is | ||
165 | replaced by the username of that user. After expansion, | ||
166 | AuthorizedKeysFile is taken to be an absolute path or one | ||
167 | relative to the user's home directory. Multiple files may be | ||
168 | listed, separated by whitespace. Alternately this option may be | 152 | listed, separated by whitespace. Alternately this option may be |
169 | set to M-bM-^@M-^\noneM-bM-^@M-^] to skip checking for user keys in files. The | 153 | set to none to skip checking for user keys in files. The default |
170 | default is M-bM-^@M-^\.ssh/authorized_keys .ssh/authorized_keys2M-bM-^@M-^]. | 154 | is ".ssh/authorized_keys .ssh/authorized_keys2". |
171 | 155 | ||
172 | AuthorizedPrincipalsCommand | 156 | AuthorizedPrincipalsCommand |
173 | Specifies a program to be used to generate the list of allowed | 157 | Specifies a program to be used to generate the list of allowed |
174 | certificate principals as per AuthorizedPrincipalsFile. The | 158 | certificate principals as per AuthorizedPrincipalsFile. The |
175 | program must be owned by root, not writable by group or others | 159 | program must be owned by root, not writable by group or others |
176 | and specified by an absolute path. | 160 | and specified by an absolute path. Arguments to |
177 | 161 | AuthorizedPrincipalsCommand accept the tokens described in the | |
178 | Arguments to AuthorizedPrincipalsCommand may be provided using | 162 | TOKENS section. If no arguments are specified then the username |
179 | the following tokens, which will be expanded at runtime: %% is | 163 | of the target user is used. |
180 | replaced by a literal '%', %u is replaced by the username being | ||
181 | authenticated and %h is replaced by the home directory of the | ||
182 | user being authenticated. | ||
183 | 164 | ||
184 | The program should produce on standard output zero or more lines | 165 | The program should produce on standard output zero or more lines |
185 | of AuthorizedPrincipalsFile output. If either | 166 | of AuthorizedPrincipalsFile output. If either |
@@ -205,31 +186,27 @@ DESCRIPTION | |||
205 | options (as described in AUTHORIZED_KEYS FILE FORMAT in sshd(8)). | 186 | options (as described in AUTHORIZED_KEYS FILE FORMAT in sshd(8)). |
206 | Empty lines and comments starting with M-bM-^@M-^X#M-bM-^@M-^Y are ignored. | 187 | Empty lines and comments starting with M-bM-^@M-^X#M-bM-^@M-^Y are ignored. |
207 | 188 | ||
208 | AuthorizedPrincipalsFile may contain tokens of the form %T which | 189 | Arguments to AuthorizedPrincipalsFile accept the tokens described |
209 | are substituted during connection setup. The following tokens | 190 | in the TOKENS section. After expansion, AuthorizedPrincipalsFile |
210 | are defined: %% is replaced by a literal '%', %h is replaced by | 191 | is taken to be an absolute path or one relative to the user's |
211 | the home directory of the user being authenticated, and %u is | 192 | home directory. The default is none, i.e. not to use a |
212 | replaced by the username of that user. After expansion, | 193 | principals file M-bM-^@M-^S in this case, the username of the user must |
213 | AuthorizedPrincipalsFile is taken to be an absolute path or one | 194 | appear in a certificate's principals list for it to be accepted. |
214 | relative to the user's home directory. | 195 | |
215 | 196 | Note that AuthorizedPrincipalsFile is only used when | |
216 | The default is M-bM-^@M-^\noneM-bM-^@M-^], i.e. not to use a principals file M-bM-^@M-^S in | 197 | authentication proceeds using a CA listed in TrustedUserCAKeys |
217 | this case, the username of the user must appear in a | 198 | and is not consulted for certification authorities trusted via |
218 | certificate's principals list for it to be accepted. Note that | ||
219 | AuthorizedPrincipalsFile is only used when authentication | ||
220 | proceeds using a CA listed in TrustedUserCAKeys and is not | ||
221 | consulted for certification authorities trusted via | ||
222 | ~/.ssh/authorized_keys, though the principals= key option offers | 199 | ~/.ssh/authorized_keys, though the principals= key option offers |
223 | a similar facility (see sshd(8) for details). | 200 | a similar facility (see sshd(8) for details). |
224 | 201 | ||
225 | Banner The contents of the specified file are sent to the remote user | 202 | Banner The contents of the specified file are sent to the remote user |
226 | before authentication is allowed. If the argument is M-bM-^@M-^\noneM-bM-^@M-^] then | 203 | before authentication is allowed. If the argument is none then |
227 | no banner is displayed. By default, no banner is displayed. | 204 | no banner is displayed. By default, no banner is displayed. |
228 | 205 | ||
229 | ChallengeResponseAuthentication | 206 | ChallengeResponseAuthentication |
230 | Specifies whether challenge-response authentication is allowed | 207 | Specifies whether challenge-response authentication is allowed |
231 | (e.g. via PAM or through authentication styles supported in | 208 | (e.g. via PAM or through authentication styles supported in |
232 | login.conf(5)) The default is M-bM-^@M-^\yesM-bM-^@M-^]. | 209 | login.conf(5)) The default is yes. |
233 | 210 | ||
234 | ChrootDirectory | 211 | ChrootDirectory |
235 | Specifies the pathname of a directory to chroot(2) to after | 212 | Specifies the pathname of a directory to chroot(2) to after |
@@ -237,31 +214,25 @@ DESCRIPTION | |||
237 | components of the pathname are root-owned directories which are | 214 | components of the pathname are root-owned directories which are |
238 | not writable by any other user or group. After the chroot, | 215 | not writable by any other user or group. After the chroot, |
239 | sshd(8) changes the working directory to the user's home | 216 | sshd(8) changes the working directory to the user's home |
240 | directory. | 217 | directory. Arguments to ChrootDirectory accept the tokens |
241 | 218 | described in the TOKENS section. | |
242 | The pathname may contain the following tokens that are expanded | ||
243 | at runtime once the connecting user has been authenticated: %% is | ||
244 | replaced by a literal '%', %h is replaced by the home directory | ||
245 | of the user being authenticated, and %u is replaced by the | ||
246 | username of that user. | ||
247 | 219 | ||
248 | The ChrootDirectory must contain the necessary files and | 220 | The ChrootDirectory must contain the necessary files and |
249 | directories to support the user's session. For an interactive | 221 | directories to support the user's session. For an interactive |
250 | session this requires at least a shell, typically sh(1), and | 222 | session this requires at least a shell, typically sh(1), and |
251 | basic /dev nodes such as null(4), zero(4), stdin(4), stdout(4), | 223 | basic /dev nodes such as null(4), zero(4), stdin(4), stdout(4), |
252 | stderr(4), and tty(4) devices. For file transfer sessions using | 224 | stderr(4), and tty(4) devices. For file transfer sessions using |
253 | M-bM-^@M-^\sftpM-bM-^@M-^], no additional configuration of the environment is | 225 | SFTP no additional configuration of the environment is necessary |
254 | necessary if the in-process sftp server is used, though sessions | 226 | if the in-process sftp-server is used, though sessions which use |
255 | which use logging may require /dev/log inside the chroot | 227 | logging may require /dev/log inside the chroot directory on some |
256 | directory on some operating systems (see sftp-server(8) for | 228 | operating systems (see sftp-server(8) for details). |
257 | details). | ||
258 | 229 | ||
259 | For safety, it is very important that the directory hierarchy be | 230 | For safety, it is very important that the directory hierarchy be |
260 | prevented from modification by other processes on the system | 231 | prevented from modification by other processes on the system |
261 | (especially those outside the jail). Misconfiguration can lead | 232 | (especially those outside the jail). Misconfiguration can lead |
262 | to unsafe environments which sshd(8) cannot detect. | 233 | to unsafe environments which sshd(8) cannot detect. |
263 | 234 | ||
264 | The default is M-bM-^@M-^\noneM-bM-^@M-^], indicating not to chroot(2). | 235 | The default is none, indicating not to chroot(2). |
265 | 236 | ||
266 | Ciphers | 237 | Ciphers |
267 | Specifies the ciphers allowed. Multiple ciphers must be comma- | 238 | Specifies the ciphers allowed. Multiple ciphers must be comma- |
@@ -293,26 +264,25 @@ DESCRIPTION | |||
293 | aes128-ctr,aes192-ctr,aes256-ctr, | 264 | aes128-ctr,aes192-ctr,aes256-ctr, |
294 | aes128-gcm@openssh.com,aes256-gcm@openssh.com | 265 | aes128-gcm@openssh.com,aes256-gcm@openssh.com |
295 | 266 | ||
296 | The list of available ciphers may also be obtained using the -Q | 267 | The list of available ciphers may also be obtained using "ssh -Q |
297 | option of ssh(1) with an argument of M-bM-^@M-^\cipherM-bM-^@M-^]. | 268 | cipher". |
298 | 269 | ||
299 | ClientAliveCountMax | 270 | ClientAliveCountMax |
300 | Sets the number of client alive messages (see below) which may be | 271 | Sets the number of client alive messages which may be sent |
301 | sent without sshd(8) receiving any messages back from the client. | 272 | without sshd(8) receiving any messages back from the client. If |
302 | If this threshold is reached while client alive messages are | 273 | this threshold is reached while client alive messages are being |
303 | being sent, sshd will disconnect the client, terminating the | 274 | sent, sshd will disconnect the client, terminating the session. |
304 | session. It is important to note that the use of client alive | 275 | It is important to note that the use of client alive messages is |
305 | messages is very different from TCPKeepAlive (below). The client | 276 | very different from TCPKeepAlive. The client alive messages are |
306 | alive messages are sent through the encrypted channel and | 277 | sent through the encrypted channel and therefore will not be |
307 | therefore will not be spoofable. The TCP keepalive option | 278 | spoofable. The TCP keepalive option enabled by TCPKeepAlive is |
308 | enabled by TCPKeepAlive is spoofable. The client alive mechanism | 279 | spoofable. The client alive mechanism is valuable when the |
309 | is valuable when the client or server depend on knowing when a | 280 | client or server depend on knowing when a connection has become |
310 | connection has become inactive. | 281 | inactive. |
311 | 282 | ||
312 | The default value is 3. If ClientAliveInterval (see below) is | 283 | The default value is 3. If ClientAliveInterval is set to 15, and |
313 | set to 15, and ClientAliveCountMax is left at the default, | 284 | ClientAliveCountMax is left at the default, unresponsive SSH |
314 | unresponsive SSH clients will be disconnected after approximately | 285 | clients will be disconnected after approximately 45 seconds. |
315 | 45 seconds. | ||
316 | 286 | ||
317 | ClientAliveInterval | 287 | ClientAliveInterval |
318 | Sets a timeout interval in seconds after which if no data has | 288 | Sets a timeout interval in seconds after which if no data has |
@@ -322,9 +292,9 @@ DESCRIPTION | |||
322 | not be sent to the client. | 292 | not be sent to the client. |
323 | 293 | ||
324 | Compression | 294 | Compression |
325 | Specifies whether compression is allowed, or delayed until the | 295 | Specifies whether compression is enabled after the user has |
326 | user has authenticated successfully. The argument must be M-bM-^@M-^\yesM-bM-^@M-^], | 296 | authenticated successfully. The argument must be yes, delayed (a |
327 | M-bM-^@M-^\delayedM-bM-^@M-^], or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\delayedM-bM-^@M-^]. | 297 | legacy synonym for yes) or no. The default is yes. |
328 | 298 | ||
329 | DenyGroups | 299 | DenyGroups |
330 | This keyword can be followed by a list of group name patterns, | 300 | This keyword can be followed by a list of group name patterns, |
@@ -352,9 +322,14 @@ DESCRIPTION | |||
352 | 322 | ||
353 | See PATTERNS in ssh_config(5) for more information on patterns. | 323 | See PATTERNS in ssh_config(5) for more information on patterns. |
354 | 324 | ||
325 | DisableForwarding | ||
326 | Disables all forwarding features, including X11, ssh-agent(1), | ||
327 | TCP and StreamLocal. This option overrides all other forwarding- | ||
328 | related options and may simplify restricted configurations. | ||
329 | |||
355 | FingerprintHash | 330 | FingerprintHash |
356 | Specifies the hash algorithm used when logging key fingerprints. | 331 | Specifies the hash algorithm used when logging key fingerprints. |
357 | Valid options are: M-bM-^@M-^\md5M-bM-^@M-^] and M-bM-^@M-^\sha256M-bM-^@M-^]. The default is M-bM-^@M-^\sha256M-bM-^@M-^]. | 332 | Valid options are: md5 and sha256. The default is sha256. |
358 | 333 | ||
359 | ForceCommand | 334 | ForceCommand |
360 | Forces the execution of the command specified by ForceCommand, | 335 | Forces the execution of the command specified by ForceCommand, |
@@ -364,9 +339,9 @@ DESCRIPTION | |||
364 | execution. It is most useful inside a Match block. The command | 339 | execution. It is most useful inside a Match block. The command |
365 | originally supplied by the client is available in the | 340 | originally supplied by the client is available in the |
366 | SSH_ORIGINAL_COMMAND environment variable. Specifying a command | 341 | SSH_ORIGINAL_COMMAND environment variable. Specifying a command |
367 | of M-bM-^@M-^\internal-sftpM-bM-^@M-^] will force the use of an in-process sftp | 342 | of internal-sftp will force the use of an in-process SFTP server |
368 | server that requires no support files when used with | 343 | that requires no support files when used with ChrootDirectory. |
369 | ChrootDirectory. The default is M-bM-^@M-^\noneM-bM-^@M-^]. | 344 | The default is none. |
370 | 345 | ||
371 | GatewayPorts | 346 | GatewayPorts |
372 | Specifies whether remote hosts are allowed to connect to ports | 347 | Specifies whether remote hosts are allowed to connect to ports |
@@ -375,28 +350,28 @@ DESCRIPTION | |||
375 | hosts from connecting to forwarded ports. GatewayPorts can be | 350 | hosts from connecting to forwarded ports. GatewayPorts can be |
376 | used to specify that sshd should allow remote port forwardings to | 351 | used to specify that sshd should allow remote port forwardings to |
377 | bind to non-loopback addresses, thus allowing other hosts to | 352 | bind to non-loopback addresses, thus allowing other hosts to |
378 | connect. The argument may be M-bM-^@M-^\noM-bM-^@M-^] to force remote port | 353 | connect. The argument may be no to force remote port forwardings |
379 | forwardings to be available to the local host only, M-bM-^@M-^\yesM-bM-^@M-^] to | 354 | to be available to the local host only, yes to force remote port |
380 | force remote port forwardings to bind to the wildcard address, or | 355 | forwardings to bind to the wildcard address, or clientspecified |
381 | M-bM-^@M-^\clientspecifiedM-bM-^@M-^] to allow the client to select the address to | 356 | to allow the client to select the address to which the forwarding |
382 | which the forwarding is bound. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 357 | is bound. The default is no. |
383 | 358 | ||
384 | GSSAPIAuthentication | 359 | GSSAPIAuthentication |
385 | Specifies whether user authentication based on GSSAPI is allowed. | 360 | Specifies whether user authentication based on GSSAPI is allowed. |
386 | The default is M-bM-^@M-^\noM-bM-^@M-^]. | 361 | The default is no. |
387 | 362 | ||
388 | GSSAPICleanupCredentials | 363 | GSSAPICleanupCredentials |
389 | Specifies whether to automatically destroy the user's credentials | 364 | Specifies whether to automatically destroy the user's credentials |
390 | cache on logout. The default is M-bM-^@M-^\yesM-bM-^@M-^]. | 365 | cache on logout. The default is yes. |
391 | 366 | ||
392 | GSSAPIStrictAcceptorCheck | 367 | GSSAPIStrictAcceptorCheck |
393 | Determines whether to be strict about the identity of the GSSAPI | 368 | Determines whether to be strict about the identity of the GSSAPI |
394 | acceptor a client authenticates against. If set to M-bM-^@M-^\yesM-bM-^@M-^] then | 369 | acceptor a client authenticates against. If set to yes then the |
395 | the client must authenticate against the host service on the | 370 | client must authenticate against the host service on the current |
396 | current hostname. If set to M-bM-^@M-^\noM-bM-^@M-^] then the client may | 371 | hostname. If set to no then the client may authenticate against |
397 | authenticate against any service key stored in the machine's | 372 | any service key stored in the machine's default store. This |
398 | default store. This facility is provided to assist with | 373 | facility is provided to assist with operation on multi homed |
399 | operation on multi homed machines. The default is M-bM-^@M-^\yesM-bM-^@M-^]. | 374 | machines. The default is yes. |
400 | 375 | ||
401 | HostbasedAcceptedKeyTypes | 376 | HostbasedAcceptedKeyTypes |
402 | Specifies the key types that will be accepted for hostbased | 377 | Specifies the key types that will be accepted for hostbased |
@@ -413,21 +388,22 @@ DESCRIPTION | |||
413 | ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, | 388 | ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, |
414 | ssh-ed25519,ssh-rsa | 389 | ssh-ed25519,ssh-rsa |
415 | 390 | ||
416 | The -Q option of ssh(1) may be used to list supported key types. | 391 | The list of available key types may also be obtained using "ssh |
392 | -Q key". | ||
417 | 393 | ||
418 | HostbasedAuthentication | 394 | HostbasedAuthentication |
419 | Specifies whether rhosts or /etc/hosts.equiv authentication | 395 | Specifies whether rhosts or /etc/hosts.equiv authentication |
420 | together with successful public key client host authentication is | 396 | together with successful public key client host authentication is |
421 | allowed (host-based authentication). The default is M-bM-^@M-^\noM-bM-^@M-^]. | 397 | allowed (host-based authentication). The default is no. |
422 | 398 | ||
423 | HostbasedUsesNameFromPacketOnly | 399 | HostbasedUsesNameFromPacketOnly |
424 | Specifies whether or not the server will attempt to perform a | 400 | Specifies whether or not the server will attempt to perform a |
425 | reverse name lookup when matching the name in the ~/.shosts, | 401 | reverse name lookup when matching the name in the ~/.shosts, |
426 | ~/.rhosts, and /etc/hosts.equiv files during | 402 | ~/.rhosts, and /etc/hosts.equiv files during |
427 | HostbasedAuthentication. A setting of M-bM-^@M-^\yesM-bM-^@M-^] means that sshd(8) | 403 | HostbasedAuthentication. A setting of yes means that sshd(8) |
428 | uses the name supplied by the client rather than attempting to | 404 | uses the name supplied by the client rather than attempting to |
429 | resolve the name from the TCP connection itself. The default is | 405 | resolve the name from the TCP connection itself. The default is |
430 | M-bM-^@M-^\noM-bM-^@M-^]. | 406 | no. |
431 | 407 | ||
432 | HostCertificate | 408 | HostCertificate |
433 | Specifies a file containing a public host certificate. The | 409 | Specifies a file containing a public host certificate. The |
@@ -437,25 +413,23 @@ DESCRIPTION | |||
437 | 413 | ||
438 | HostKey | 414 | HostKey |
439 | Specifies a file containing a private host key used by SSH. The | 415 | Specifies a file containing a private host key used by SSH. The |
440 | default is /etc/ssh/ssh_host_key for protocol version 1, and | 416 | defaults are /etc/ssh/ssh_host_dsa_key, |
441 | /etc/ssh/ssh_host_dsa_key, /etc/ssh/ssh_host_ecdsa_key, | 417 | /etc/ssh/ssh_host_ecdsa_key, /etc/ssh/ssh_host_ed25519_key and |
442 | /etc/ssh/ssh_host_ed25519_key and /etc/ssh/ssh_host_rsa_key for | 418 | /etc/ssh/ssh_host_rsa_key. |
443 | protocol version 2. | ||
444 | 419 | ||
445 | Note that sshd(8) will refuse to use a file if it is group/world- | 420 | Note that sshd(8) will refuse to use a file if it is group/world- |
446 | accessible and that the HostKeyAlgorithms option restricts which | 421 | accessible and that the HostKeyAlgorithms option restricts which |
447 | of the keys are actually used by sshd(8). | 422 | of the keys are actually used by sshd(8). |
448 | 423 | ||
449 | It is possible to have multiple host key files. M-bM-^@M-^\rsa1M-bM-^@M-^] keys are | 424 | It is possible to have multiple host key files. It is also |
450 | used for version 1 and 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-^] are | 425 | possible to specify public host key files instead. In this case |
451 | used for version 2 of the SSH protocol. It is also possible to | 426 | operations on the private key will be delegated to an |
452 | specify public host key files instead. In this case operations | 427 | ssh-agent(1). |
453 | on the private key will be delegated to an ssh-agent(1). | ||
454 | 428 | ||
455 | HostKeyAgent | 429 | HostKeyAgent |
456 | Identifies the UNIX-domain socket used to communicate with an | 430 | Identifies the UNIX-domain socket used to communicate with an |
457 | agent that has access to the private host keys. If the string | 431 | agent that has access to the private host keys. If the string |
458 | M-bM-^@M-^\SSH_AUTH_SOCKM-bM-^@M-^] is specified, the location of the socket will be | 432 | "SSH_AUTH_SOCK" is specified, the location of the socket will be |
459 | read from the SSH_AUTH_SOCK environment variable. | 433 | read from the SSH_AUTH_SOCK environment variable. |
460 | 434 | ||
461 | HostKeyAlgorithms | 435 | HostKeyAlgorithms |
@@ -470,60 +444,59 @@ DESCRIPTION | |||
470 | ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, | 444 | ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, |
471 | ssh-ed25519,ssh-rsa | 445 | ssh-ed25519,ssh-rsa |
472 | 446 | ||
473 | The list of available key types may also be obtained using the -Q | 447 | The list of available key types may also be obtained using "ssh |
474 | option of ssh(1) with an argument of M-bM-^@M-^\keyM-bM-^@M-^]. | 448 | -Q key". |
475 | 449 | ||
476 | IgnoreRhosts | 450 | IgnoreRhosts |
477 | Specifies that .rhosts and .shosts files will not be used in | 451 | Specifies that .rhosts and .shosts files will not be used in |
478 | RhostsRSAAuthentication or HostbasedAuthentication. | 452 | HostbasedAuthentication. |
479 | 453 | ||
480 | /etc/hosts.equiv and /etc/shosts.equiv are still used. The | 454 | /etc/hosts.equiv and /etc/shosts.equiv are still used. The |
481 | default is M-bM-^@M-^\yesM-bM-^@M-^]. | 455 | default is yes. |
482 | 456 | ||
483 | IgnoreUserKnownHosts | 457 | IgnoreUserKnownHosts |
484 | Specifies whether sshd(8) should ignore the user's | 458 | Specifies whether sshd(8) should ignore the user's |
485 | ~/.ssh/known_hosts during RhostsRSAAuthentication or | 459 | ~/.ssh/known_hosts during HostbasedAuthentication. The default |
486 | HostbasedAuthentication. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 460 | is no. |
487 | 461 | ||
488 | IPQoS Specifies the IPv4 type-of-service or DSCP class for the | 462 | IPQoS Specifies the IPv4 type-of-service or DSCP class for the |
489 | connection. Accepted values are M-bM-^@M-^\af11M-bM-^@M-^], M-bM-^@M-^\af12M-bM-^@M-^], M-bM-^@M-^\af13M-bM-^@M-^], M-bM-^@M-^\af21M-bM-^@M-^], | 463 | connection. Accepted values are af11, af12, af13, af21, af22, |
490 | M-bM-^@M-^\af22M-bM-^@M-^], M-bM-^@M-^\af23M-bM-^@M-^], M-bM-^@M-^\af31M-bM-^@M-^], M-bM-^@M-^\af32M-bM-^@M-^], M-bM-^@M-^\af33M-bM-^@M-^], M-bM-^@M-^\af41M-bM-^@M-^], M-bM-^@M-^\af42M-bM-^@M-^], M-bM-^@M-^\af43M-bM-^@M-^], | 464 | af23, af31, af32, af33, af41, af42, af43, cs0, cs1, cs2, cs3, |
491 | M-bM-^@M-^\cs0M-bM-^@M-^], M-bM-^@M-^\cs1M-bM-^@M-^], M-bM-^@M-^\cs2M-bM-^@M-^], M-bM-^@M-^\cs3M-bM-^@M-^], M-bM-^@M-^\cs4M-bM-^@M-^], M-bM-^@M-^\cs5M-bM-^@M-^], M-bM-^@M-^\cs6M-bM-^@M-^], M-bM-^@M-^\cs7M-bM-^@M-^], M-bM-^@M-^\efM-bM-^@M-^], | 465 | cs4, cs5, cs6, cs7, ef, lowdelay, throughput, reliability, or a |
492 | M-bM-^@M-^\lowdelayM-bM-^@M-^], M-bM-^@M-^\throughputM-bM-^@M-^], M-bM-^@M-^\reliabilityM-bM-^@M-^], or a numeric value. | 466 | numeric value. This option may take one or two arguments, |
493 | This option may take one or two arguments, separated by | 467 | separated by whitespace. If one argument is specified, it is |
494 | whitespace. If one argument is specified, it is used as the | 468 | used as the packet class unconditionally. If two values are |
495 | packet class unconditionally. If two values are specified, the | 469 | specified, the first is automatically selected for interactive |
496 | first is automatically selected for interactive sessions and the | 470 | sessions and the second for non-interactive sessions. The |
497 | second for non-interactive sessions. The default is M-bM-^@M-^\lowdelayM-bM-^@M-^] | 471 | default is lowdelay for interactive sessions and throughput for |
498 | for interactive sessions and M-bM-^@M-^\throughputM-bM-^@M-^] for non-interactive | 472 | non-interactive sessions. |
499 | sessions. | ||
500 | 473 | ||
501 | KbdInteractiveAuthentication | 474 | KbdInteractiveAuthentication |
502 | Specifies whether to allow keyboard-interactive authentication. | 475 | Specifies whether to allow keyboard-interactive authentication. |
503 | The argument to this keyword must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default | 476 | The argument to this keyword must be yes or no. The default is |
504 | is to use whatever value ChallengeResponseAuthentication is set | 477 | to use whatever value ChallengeResponseAuthentication is set to |
505 | to (by default M-bM-^@M-^\yesM-bM-^@M-^]). | 478 | (by default yes). |
506 | 479 | ||
507 | KerberosAuthentication | 480 | KerberosAuthentication |
508 | Specifies whether the password provided by the user for | 481 | Specifies whether the password provided by the user for |
509 | PasswordAuthentication will be validated through the Kerberos | 482 | PasswordAuthentication will be validated through the Kerberos |
510 | KDC. To use this option, the server needs a Kerberos servtab | 483 | KDC. To use this option, the server needs a Kerberos servtab |
511 | which allows the verification of the KDC's identity. The default | 484 | which allows the verification of the KDC's identity. The default |
512 | is M-bM-^@M-^\noM-bM-^@M-^]. | 485 | is no. |
513 | 486 | ||
514 | KerberosGetAFSToken | 487 | KerberosGetAFSToken |
515 | If AFS is active and the user has a Kerberos 5 TGT, attempt to | 488 | If AFS is active and the user has a Kerberos 5 TGT, attempt to |
516 | acquire an AFS token before accessing the user's home directory. | 489 | acquire an AFS token before accessing the user's home directory. |
517 | The default is M-bM-^@M-^\noM-bM-^@M-^]. | 490 | The default is no. |
518 | 491 | ||
519 | KerberosOrLocalPasswd | 492 | KerberosOrLocalPasswd |
520 | If password authentication through Kerberos fails then the | 493 | If password authentication through Kerberos fails then the |
521 | password will be validated via any additional local mechanism | 494 | password will be validated via any additional local mechanism |
522 | such as /etc/passwd. The default is M-bM-^@M-^\yesM-bM-^@M-^]. | 495 | such as /etc/passwd. The default is yes. |
523 | 496 | ||
524 | KerberosTicketCleanup | 497 | KerberosTicketCleanup |
525 | Specifies whether to automatically destroy the user's ticket | 498 | Specifies whether to automatically destroy the user's ticket |
526 | cache file on logout. The default is M-bM-^@M-^\yesM-bM-^@M-^]. | 499 | cache file on logout. The default is yes. |
527 | 500 | ||
528 | KexAlgorithms | 501 | KexAlgorithms |
529 | Specifies the available KEX (Key Exchange) algorithms. Multiple | 502 | Specifies the available KEX (Key Exchange) algorithms. Multiple |
@@ -532,6 +505,7 @@ DESCRIPTION | |||
532 | will be appended to the default set instead of replacing them. | 505 | will be appended to the default set instead of replacing them. |
533 | The supported algorithms are: | 506 | The supported algorithms are: |
534 | 507 | ||
508 | curve25519-sha256 | ||
535 | curve25519-sha256@libssh.org | 509 | curve25519-sha256@libssh.org |
536 | diffie-hellman-group1-sha1 | 510 | diffie-hellman-group1-sha1 |
537 | diffie-hellman-group14-sha1 | 511 | diffie-hellman-group14-sha1 |
@@ -543,21 +517,13 @@ DESCRIPTION | |||
543 | 517 | ||
544 | The default is: | 518 | The default is: |
545 | 519 | ||
546 | curve25519-sha256@libssh.org, | 520 | curve25519-sha256,curve25519-sha256@libssh.org, |
547 | ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, | 521 | ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, |
548 | diffie-hellman-group-exchange-sha256, | 522 | diffie-hellman-group-exchange-sha256, |
549 | diffie-hellman-group14-sha1 | 523 | diffie-hellman-group14-sha1 |
550 | 524 | ||
551 | The list of available key exchange algorithms may also be | 525 | The list of available key exchange algorithms may also be |
552 | obtained using the -Q option of ssh(1) with an argument of M-bM-^@M-^\kexM-bM-^@M-^]. | 526 | obtained using "ssh -Q kex". |
553 | |||
554 | KeyRegenerationInterval | ||
555 | In protocol version 1, the ephemeral server key is automatically | ||
556 | regenerated after this many seconds (if it has been used). The | ||
557 | purpose of regeneration is to prevent decrypting captured | ||
558 | sessions by later breaking into the machine and stealing the | ||
559 | keys. The key is never stored anywhere. If the value is 0, the | ||
560 | key is never regenerated. The default is 3600 (seconds). | ||
561 | 527 | ||
562 | ListenAddress | 528 | ListenAddress |
563 | Specifies the local addresses sshd(8) should listen on. The | 529 | Specifies the local addresses sshd(8) should listen on. The |
@@ -591,7 +557,7 @@ DESCRIPTION | |||
591 | algorithms will be appended to the default set instead of | 557 | algorithms will be appended to the default set instead of |
592 | replacing them. | 558 | replacing them. |
593 | 559 | ||
594 | The algorithms that contain M-bM-^@M-^\-etmM-bM-^@M-^] calculate the MAC after | 560 | The algorithms that contain "-etm" calculate the MAC after |
595 | encryption (encrypt-then-mac). These are considered safer and | 561 | encryption (encrypt-then-mac). These are considered safer and |
596 | their use recommended. The supported MACs are: | 562 | their use recommended. The supported MACs are: |
597 | 563 | ||
@@ -623,7 +589,7 @@ DESCRIPTION | |||
623 | hmac-sha2-256,hmac-sha2-512,hmac-sha1 | 589 | hmac-sha2-256,hmac-sha2-512,hmac-sha1 |
624 | 590 | ||
625 | The list of available MAC algorithms may also be obtained using | 591 | The list of available MAC algorithms may also be obtained using |
626 | the -Q option of ssh(1) with an argument of M-bM-^@M-^\macM-bM-^@M-^]. | 592 | "ssh -Q mac". |
627 | 593 | ||
628 | Match Introduces a conditional block. If all of the criteria on the | 594 | Match Introduces a conditional block. If all of the criteria on the |
629 | Match line are satisfied, the keywords on the following lines | 595 | Match line are satisfied, the keywords on the following lines |
@@ -640,12 +606,12 @@ DESCRIPTION | |||
640 | operators described in the PATTERNS section of ssh_config(5). | 606 | operators described in the PATTERNS section of ssh_config(5). |
641 | 607 | ||
642 | The patterns in an Address criteria may additionally contain | 608 | The patterns in an Address criteria may additionally contain |
643 | addresses to match in CIDR address/masklen format, e.g. | 609 | addresses to match in CIDR address/masklen format, such as |
644 | M-bM-^@M-^\192.0.2.0/24M-bM-^@M-^] or M-bM-^@M-^\3ffe:ffff::/32M-bM-^@M-^]. Note that the mask length | 610 | 192.0.2.0/24 or 2001:db8::/32. Note that the mask length |
645 | provided must be consistent with the address - it is an error to | 611 | provided must be consistent with the address - it is an error to |
646 | specify a mask length that is too long for the address or one | 612 | specify a mask length that is too long for the address or one |
647 | with bits set in this host portion of the address. For example, | 613 | with bits set in this host portion of the address. For example, |
648 | M-bM-^@M-^\192.0.2.0/33M-bM-^@M-^] and M-bM-^@M-^\192.0.2.0/8M-bM-^@M-^] respectively. | 614 | 192.0.2.0/33 and 192.0.2.0/8, respectively. |
649 | 615 | ||
650 | Only a subset of keywords may be used on the lines following a | 616 | Only a subset of keywords may be used on the lines following a |
651 | Match keyword. Available keywords are AcceptEnv, | 617 | Match keyword. Available keywords are AcceptEnv, |
@@ -654,7 +620,8 @@ DESCRIPTION | |||
654 | AuthorizedKeysCommand, AuthorizedKeysCommandUser, | 620 | AuthorizedKeysCommand, AuthorizedKeysCommandUser, |
655 | AuthorizedKeysFile, AuthorizedPrincipalsCommand, | 621 | AuthorizedKeysFile, AuthorizedPrincipalsCommand, |
656 | AuthorizedPrincipalsCommandUser, AuthorizedPrincipalsFile, | 622 | AuthorizedPrincipalsCommandUser, AuthorizedPrincipalsFile, |
657 | Banner, ChrootDirectory, DenyGroups, DenyUsers, ForceCommand, | 623 | Banner, ChrootDirectory, ClientAliveCountMax, |
624 | ClientAliveInterval, DenyGroups, DenyUsers, ForceCommand, | ||
658 | GatewayPorts, GSSAPIAuthentication, HostbasedAcceptedKeyTypes, | 625 | GatewayPorts, GSSAPIAuthentication, HostbasedAcceptedKeyTypes, |
659 | HostbasedAuthentication, HostbasedUsesNameFromPacketOnly, IPQoS, | 626 | HostbasedAuthentication, HostbasedUsesNameFromPacketOnly, IPQoS, |
660 | KbdInteractiveAuthentication, KerberosAuthentication, | 627 | KbdInteractiveAuthentication, KerberosAuthentication, |
@@ -662,9 +629,8 @@ DESCRIPTION | |||
662 | PermitEmptyPasswords, PermitOpen, PermitRootLogin, PermitTTY, | 629 | PermitEmptyPasswords, PermitOpen, PermitRootLogin, PermitTTY, |
663 | PermitTunnel, PermitUserRC, PubkeyAcceptedKeyTypes, | 630 | PermitTunnel, PermitUserRC, PubkeyAcceptedKeyTypes, |
664 | PubkeyAuthentication, RekeyLimit, RevokedKeys, | 631 | PubkeyAuthentication, RekeyLimit, RevokedKeys, |
665 | RhostsRSAAuthentication, RSAAuthentication, StreamLocalBindMask, | 632 | StreamLocalBindMask, StreamLocalBindUnlink, TrustedUserCAKeys, |
666 | StreamLocalBindUnlink, TrustedUserCAKeys, X11DisplayOffset, | 633 | X11DisplayOffset, X11Forwarding and X11UseLocalHost. |
667 | X11Forwarding and X11UseLocalHost. | ||
668 | 634 | ||
669 | MaxAuthTries | 635 | MaxAuthTries |
670 | Specifies the maximum number of authentication attempts permitted | 636 | Specifies the maximum number of authentication attempts permitted |
@@ -687,21 +653,21 @@ DESCRIPTION | |||
687 | expires for a connection. The default is 10:30:100. | 653 | expires for a connection. The default is 10:30:100. |
688 | 654 | ||
689 | Alternatively, random early drop can be enabled by specifying the | 655 | Alternatively, random early drop can be enabled by specifying the |
690 | three colon separated values M-bM-^@M-^\start:rate:fullM-bM-^@M-^] (e.g. "10:30:60"). | 656 | three colon separated values start:rate:full (e.g. "10:30:60"). |
691 | sshd(8) will refuse connection attempts with a probability of | 657 | sshd(8) will refuse connection attempts with a probability of |
692 | M-bM-^@M-^\rate/100M-bM-^@M-^] (30%) if there are currently M-bM-^@M-^\startM-bM-^@M-^] (10) | 658 | rate/100 (30%) if there are currently start (10) unauthenticated |
693 | unauthenticated connections. The probability increases linearly | 659 | connections. The probability increases linearly and all |
694 | and all connection attempts are refused if the number of | 660 | connection attempts are refused if the number of unauthenticated |
695 | unauthenticated connections reaches M-bM-^@M-^\fullM-bM-^@M-^] (60). | 661 | connections reaches full (60). |
696 | 662 | ||
697 | PasswordAuthentication | 663 | PasswordAuthentication |
698 | Specifies whether password authentication is allowed. The | 664 | Specifies whether password authentication is allowed. The |
699 | default is M-bM-^@M-^\yesM-bM-^@M-^]. | 665 | default is yes. |
700 | 666 | ||
701 | PermitEmptyPasswords | 667 | PermitEmptyPasswords |
702 | When password authentication is allowed, it specifies whether the | 668 | When password authentication is allowed, it specifies whether the |
703 | server allows login to accounts with empty password strings. The | 669 | server allows login to accounts with empty password strings. The |
704 | default is M-bM-^@M-^\noM-bM-^@M-^]. | 670 | default is no. |
705 | 671 | ||
706 | PermitOpen | 672 | PermitOpen |
707 | Specifies the destinations to which TCP port forwarding is | 673 | Specifies the destinations to which TCP port forwarding is |
@@ -713,58 +679,57 @@ DESCRIPTION | |||
713 | PermitOpen [IPv6_addr]:port | 679 | PermitOpen [IPv6_addr]:port |
714 | 680 | ||
715 | Multiple forwards may be specified by separating them with | 681 | Multiple forwards may be specified by separating them with |
716 | whitespace. An argument of M-bM-^@M-^\anyM-bM-^@M-^] can be used to remove all | 682 | whitespace. An argument of any can be used to remove all |
717 | restrictions and permit any forwarding requests. An argument of | 683 | restrictions and permit any forwarding requests. An argument of |
718 | M-bM-^@M-^\noneM-bM-^@M-^] can be used to prohibit all forwarding requests. The | 684 | none can be used to prohibit all forwarding requests. The |
719 | wildcard M-bM-^@M-^\*M-bM-^@M-^] can be used for host or port to allow all hosts or | 685 | wildcard M-bM-^@M-^X*M-bM-^@M-^Y can be used for host or port to allow all hosts or |
720 | ports, respectively. By default all port forwarding requests are | 686 | ports, respectively. By default all port forwarding requests are |
721 | permitted. | 687 | permitted. |
722 | 688 | ||
723 | PermitRootLogin | 689 | PermitRootLogin |
724 | Specifies whether root can log in using ssh(1). The argument | 690 | Specifies whether root can log in using ssh(1). The argument |
725 | must be M-bM-^@M-^\yesM-bM-^@M-^], M-bM-^@M-^\prohibit-passwordM-bM-^@M-^], M-bM-^@M-^\without-passwordM-bM-^@M-^], | 691 | must be yes, prohibit-password, without-password, |
726 | M-bM-^@M-^\forced-commands-onlyM-bM-^@M-^], or M-bM-^@M-^\noM-bM-^@M-^]. The default is | 692 | forced-commands-only, or no. The default is prohibit-password. |
727 | M-bM-^@M-^\prohibit-passwordM-bM-^@M-^]. | ||
728 | 693 | ||
729 | If this option is set to M-bM-^@M-^\prohibit-passwordM-bM-^@M-^] or | 694 | If this option is set to prohibit-password or without-password, |
730 | M-bM-^@M-^\without-passwordM-bM-^@M-^], password and keyboard-interactive | 695 | password and keyboard-interactive authentication are disabled for |
731 | authentication are disabled for root. | 696 | root. |
732 | 697 | ||
733 | If this option is set to M-bM-^@M-^\forced-commands-onlyM-bM-^@M-^], root login with | 698 | If this option is set to forced-commands-only, root login with |
734 | public key authentication will be allowed, but only if the | 699 | public key authentication will be allowed, but only if the |
735 | command option has been specified (which may be useful for taking | 700 | command option has been specified (which may be useful for taking |
736 | remote backups even if root login is normally not allowed). All | 701 | remote backups even if root login is normally not allowed). All |
737 | other authentication methods are disabled for root. | 702 | other authentication methods are disabled for root. |
738 | 703 | ||
739 | If this option is set to M-bM-^@M-^\noM-bM-^@M-^], root is not allowed to log in. | 704 | If this option is set to no, root is not allowed to log in. |
705 | |||
706 | PermitTTY | ||
707 | Specifies whether pty(4) allocation is permitted. The default is | ||
708 | yes. | ||
740 | 709 | ||
741 | PermitTunnel | 710 | PermitTunnel |
742 | Specifies whether tun(4) device forwarding is allowed. The | 711 | Specifies whether tun(4) device forwarding is allowed. The |
743 | argument must be M-bM-^@M-^\yesM-bM-^@M-^], M-bM-^@M-^\point-to-pointM-bM-^@M-^] (layer 3), M-bM-^@M-^\ethernetM-bM-^@M-^] | 712 | argument must be yes, point-to-point (layer 3), ethernet (layer |
744 | (layer 2), or M-bM-^@M-^\noM-bM-^@M-^]. Specifying M-bM-^@M-^\yesM-bM-^@M-^] permits both | 713 | 2), or no. Specifying yes permits both point-to-point and |
745 | M-bM-^@M-^\point-to-pointM-bM-^@M-^] and M-bM-^@M-^\ethernetM-bM-^@M-^]. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 714 | ethernet. The default is no. |
746 | 715 | ||
747 | Independent of this setting, the permissions of the selected | 716 | Independent of this setting, the permissions of the selected |
748 | tun(4) device must allow access to the user. | 717 | tun(4) device must allow access to the user. |
749 | 718 | ||
750 | PermitTTY | ||
751 | Specifies whether pty(4) allocation is permitted. The default is | ||
752 | M-bM-^@M-^\yesM-bM-^@M-^]. | ||
753 | |||
754 | PermitUserEnvironment | 719 | PermitUserEnvironment |
755 | Specifies whether ~/.ssh/environment and environment= options in | 720 | Specifies whether ~/.ssh/environment and environment= options in |
756 | ~/.ssh/authorized_keys are processed by sshd(8). The default is | 721 | ~/.ssh/authorized_keys are processed by sshd(8). The default is |
757 | M-bM-^@M-^\noM-bM-^@M-^]. Enabling environment processing may enable users to bypass | 722 | no. Enabling environment processing may enable users to bypass |
758 | access restrictions in some configurations using mechanisms such | 723 | access restrictions in some configurations using mechanisms such |
759 | as LD_PRELOAD. | 724 | as LD_PRELOAD. |
760 | 725 | ||
761 | PermitUserRC | 726 | PermitUserRC |
762 | Specifies whether any ~/.ssh/rc file is executed. The default is | 727 | Specifies whether any ~/.ssh/rc file is executed. The default is |
763 | M-bM-^@M-^\yesM-bM-^@M-^]. | 728 | yes. |
764 | 729 | ||
765 | PidFile | 730 | PidFile |
766 | Specifies the file that contains the process ID of the SSH | 731 | Specifies the file that contains the process ID of the SSH |
767 | daemon, or M-bM-^@M-^\noneM-bM-^@M-^] to not write one. The default is | 732 | daemon, or none to not write one. The default is |
768 | /var/run/sshd.pid. | 733 | /var/run/sshd.pid. |
769 | 734 | ||
770 | Port Specifies the port number that sshd(8) listens on. The default | 735 | Port Specifies the port number that sshd(8) listens on. The default |
@@ -774,24 +739,12 @@ DESCRIPTION | |||
774 | PrintLastLog | 739 | PrintLastLog |
775 | Specifies whether sshd(8) should print the date and time of the | 740 | Specifies whether sshd(8) should print the date and time of the |
776 | last user login when a user logs in interactively. The default | 741 | last user login when a user logs in interactively. The default |
777 | is M-bM-^@M-^\yesM-bM-^@M-^]. | 742 | is yes. |
778 | 743 | ||
779 | PrintMotd | 744 | PrintMotd |
780 | Specifies whether sshd(8) should print /etc/motd when a user logs | 745 | Specifies whether sshd(8) should print /etc/motd when a user logs |
781 | in interactively. (On some systems it is also printed by the | 746 | in interactively. (On some systems it is also printed by the |
782 | shell, /etc/profile, or equivalent.) The default is M-bM-^@M-^\yesM-bM-^@M-^]. | 747 | shell, /etc/profile, or equivalent.) The default is yes. |
783 | |||
784 | Protocol | ||
785 | Specifies the protocol versions sshd(8) supports. The possible | ||
786 | values are M-bM-^@M-^X1M-bM-^@M-^Y and M-bM-^@M-^X2M-bM-^@M-^Y. Multiple versions must be comma- | ||
787 | separated. The default is M-bM-^@M-^X2M-bM-^@M-^Y. Protocol 1 suffers from a number | ||
788 | of cryptographic weaknesses and should not be used. It is only | ||
789 | offered to support legacy devices. | ||
790 | |||
791 | Note that the order of the protocol list does not indicate | ||
792 | preference, because the client selects among multiple protocol | ||
793 | versions offered by the server. Specifying M-bM-^@M-^\2,1M-bM-^@M-^] is identical to | ||
794 | M-bM-^@M-^\1,2M-bM-^@M-^]. | ||
795 | 748 | ||
796 | PubkeyAcceptedKeyTypes | 749 | PubkeyAcceptedKeyTypes |
797 | Specifies the key types that will be accepted for public key | 750 | Specifies the key types that will be accepted for public key |
@@ -808,11 +761,12 @@ DESCRIPTION | |||
808 | ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, | 761 | ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, |
809 | ssh-ed25519,ssh-rsa | 762 | ssh-ed25519,ssh-rsa |
810 | 763 | ||
811 | The -Q option of ssh(1) may be used to list supported key types. | 764 | The list of available key types may also be obtained using "ssh |
765 | -Q key". | ||
812 | 766 | ||
813 | PubkeyAuthentication | 767 | PubkeyAuthentication |
814 | Specifies whether public key authentication is allowed. The | 768 | Specifies whether public key authentication is allowed. The |
815 | default is M-bM-^@M-^\yesM-bM-^@M-^]. | 769 | default is yes. |
816 | 770 | ||
817 | RekeyLimit | 771 | RekeyLimit |
818 | Specifies the maximum amount of data that may be transmitted | 772 | Specifies the maximum amount of data that may be transmitted |
@@ -824,13 +778,13 @@ DESCRIPTION | |||
824 | M-bM-^@M-^X1GM-bM-^@M-^Y and M-bM-^@M-^X4GM-bM-^@M-^Y, depending on the cipher. The optional second | 778 | M-bM-^@M-^X1GM-bM-^@M-^Y and M-bM-^@M-^X4GM-bM-^@M-^Y, depending on the cipher. The optional second |
825 | value is specified in seconds and may use any of the units | 779 | value is specified in seconds and may use any of the units |
826 | documented in the TIME FORMATS section. The default value for | 780 | documented in the TIME FORMATS section. The default value for |
827 | RekeyLimit is M-bM-^@M-^\default noneM-bM-^@M-^], which means that rekeying is | 781 | RekeyLimit is default none, which means that rekeying is |
828 | performed after the cipher's default amount of data has been sent | 782 | performed after the cipher's default amount of data has been sent |
829 | or received and no time based rekeying is done. | 783 | or received and no time based rekeying is done. |
830 | 784 | ||
831 | RevokedKeys | 785 | RevokedKeys |
832 | Specifies revoked public keys file, or M-bM-^@M-^\noneM-bM-^@M-^] to not use one. | 786 | Specifies revoked public keys file, or none to not use one. Keys |
833 | Keys listed in this file will be refused for public key | 787 | listed in this file will be refused for public key |
834 | authentication. Note that if this file is not readable, then | 788 | authentication. Note that if this file is not readable, then |
835 | public key authentication will be refused for all users. Keys | 789 | public key authentication will be refused for all users. Keys |
836 | may be specified as a text file, listing one public key per line, | 790 | may be specified as a text file, listing one public key per line, |
@@ -838,20 +792,6 @@ DESCRIPTION | |||
838 | ssh-keygen(1). For more information on KRLs, see the KEY | 792 | ssh-keygen(1). For more information on KRLs, see the KEY |
839 | REVOCATION LISTS section in ssh-keygen(1). | 793 | REVOCATION LISTS section in ssh-keygen(1). |
840 | 794 | ||
841 | RhostsRSAAuthentication | ||
842 | Specifies whether rhosts or /etc/hosts.equiv authentication | ||
843 | together with successful RSA host authentication is allowed. The | ||
844 | default is M-bM-^@M-^\noM-bM-^@M-^]. This option applies to protocol version 1 only. | ||
845 | |||
846 | RSAAuthentication | ||
847 | Specifies whether pure RSA authentication is allowed. The | ||
848 | default is M-bM-^@M-^\yesM-bM-^@M-^]. This option applies to protocol version 1 | ||
849 | only. | ||
850 | |||
851 | ServerKeyBits | ||
852 | Defines the number of bits in the ephemeral protocol version 1 | ||
853 | server key. The default and minimum value is 1024. | ||
854 | |||
855 | StreamLocalBindMask | 795 | StreamLocalBindMask |
856 | Sets the octal file creation mode mask (umask) used when creating | 796 | Sets the octal file creation mode mask (umask) used when creating |
857 | a Unix-domain socket file for local or remote port forwarding. | 797 | a Unix-domain socket file for local or remote port forwarding. |
@@ -871,14 +811,14 @@ DESCRIPTION | |||
871 | domain socket file. This option is only used for port forwarding | 811 | domain socket file. This option is only used for port forwarding |
872 | to a Unix-domain socket file. | 812 | to a Unix-domain socket file. |
873 | 813 | ||
874 | The argument must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 814 | The argument must be yes or no. The default is no. |
875 | 815 | ||
876 | StrictModes | 816 | StrictModes |
877 | Specifies whether sshd(8) should check file modes and ownership | 817 | Specifies whether sshd(8) should check file modes and ownership |
878 | of the user's files and home directory before accepting login. | 818 | of the user's files and home directory before accepting login. |
879 | This is normally desirable because novices sometimes accidentally | 819 | This is normally desirable because novices sometimes accidentally |
880 | leave their directory or files world-writable. The default is | 820 | leave their directory or files world-writable. The default is |
881 | M-bM-^@M-^\yesM-bM-^@M-^]. Note that this does not apply to ChrootDirectory, whose | 821 | yes. Note that this does not apply to ChrootDirectory, whose |
882 | permissions and ownership are checked unconditionally. | 822 | permissions and ownership are checked unconditionally. |
883 | 823 | ||
884 | Subsystem | 824 | Subsystem |
@@ -886,12 +826,12 @@ DESCRIPTION | |||
886 | Arguments should be a subsystem name and a command (with optional | 826 | Arguments should be a subsystem name and a command (with optional |
887 | arguments) to execute upon subsystem request. | 827 | arguments) to execute upon subsystem request. |
888 | 828 | ||
889 | The command sftp-server(8) implements the M-bM-^@M-^\sftpM-bM-^@M-^] file transfer | 829 | The command sftp-server implements the SFTP file transfer |
890 | subsystem. | 830 | subsystem. |
891 | 831 | ||
892 | Alternately the name M-bM-^@M-^\internal-sftpM-bM-^@M-^] implements an in-process | 832 | Alternately the name internal-sftp implements an in-process SFTP |
893 | M-bM-^@M-^\sftpM-bM-^@M-^] server. This may simplify configurations using | 833 | server. This may simplify configurations using ChrootDirectory |
894 | ChrootDirectory to force a different filesystem root on clients. | 834 | to force a different filesystem root on clients. |
895 | 835 | ||
896 | By default no subsystems are defined. | 836 | By default no subsystems are defined. |
897 | 837 | ||
@@ -908,23 +848,22 @@ DESCRIPTION | |||
908 | this means that connections will die if the route is down | 848 | this means that connections will die if the route is down |
909 | temporarily, and some people find it annoying. On the other | 849 | temporarily, and some people find it annoying. On the other |
910 | hand, if TCP keepalives are not sent, sessions may hang | 850 | hand, if TCP keepalives are not sent, sessions may hang |
911 | indefinitely on the server, leaving M-bM-^@M-^\ghostM-bM-^@M-^] users and consuming | 851 | indefinitely on the server, leaving "ghost" users and consuming |
912 | server resources. | 852 | server resources. |
913 | 853 | ||
914 | The default is M-bM-^@M-^\yesM-bM-^@M-^] (to send TCP keepalive messages), and the | 854 | The default is yes (to send TCP keepalive messages), and the |
915 | server will notice if the network goes down or the client host | 855 | server will notice if the network goes down or the client host |
916 | crashes. This avoids infinitely hanging sessions. | 856 | crashes. This avoids infinitely hanging sessions. |
917 | 857 | ||
918 | To disable TCP keepalive messages, the value should be set to | 858 | To disable TCP keepalive messages, the value should be set to no. |
919 | M-bM-^@M-^\noM-bM-^@M-^]. | ||
920 | 859 | ||
921 | TrustedUserCAKeys | 860 | TrustedUserCAKeys |
922 | Specifies a file containing public keys of certificate | 861 | Specifies a file containing public keys of certificate |
923 | authorities that are trusted to sign user certificates for | 862 | authorities that are trusted to sign user certificates for |
924 | authentication, or M-bM-^@M-^\noneM-bM-^@M-^] to not use one. Keys are listed one | 863 | authentication, or none to not use one. Keys are listed one per |
925 | per line; empty lines and comments starting with M-bM-^@M-^X#M-bM-^@M-^Y are allowed. | 864 | line; empty lines and comments starting with M-bM-^@M-^X#M-bM-^@M-^Y are allowed. If |
926 | If a certificate is presented for authentication and has its | 865 | a certificate is presented for authentication and has its signing |
927 | signing CA key listed in this file, then it may be used for | 866 | CA key listed in this file, then it may be used for |
928 | authentication for any user listed in the certificate's | 867 | authentication for any user listed in the certificate's |
929 | principals list. Note that certificates that lack a list of | 868 | principals list. Note that certificates that lack a list of |
930 | principals will not be permitted for authentication using | 869 | principals will not be permitted for authentication using |
@@ -935,20 +874,12 @@ DESCRIPTION | |||
935 | and to check that the resolved host name for the remote IP | 874 | and to check that the resolved host name for the remote IP |
936 | address maps back to the very same IP address. | 875 | address maps back to the very same IP address. |
937 | 876 | ||
938 | If this option is set to M-bM-^@M-^\noM-bM-^@M-^] (the default) then only addresses | 877 | If this option is set to no (the default) then only addresses and |
939 | and not host names may be used in ~/.ssh/authorized_keys from and | 878 | not host names may be used in ~/.ssh/authorized_keys from and |
940 | sshd_config Match Host directives. | 879 | sshd_config Match Host directives. |
941 | 880 | ||
942 | UseLogin | ||
943 | Specifies whether login(1) is used for interactive login | ||
944 | sessions. The default is M-bM-^@M-^\noM-bM-^@M-^]. Note that login(1) is never used | ||
945 | for remote command execution. Note also, that if this is | ||
946 | enabled, X11Forwarding will be disabled because login(1) does not | ||
947 | know how to handle xauth(1) cookies. If UsePrivilegeSeparation | ||
948 | is specified, it will be disabled after authentication. | ||
949 | |||
950 | UsePAM Enables the Pluggable Authentication Module interface. If set to | 881 | UsePAM Enables the Pluggable Authentication Module interface. If set to |
951 | M-bM-^@M-^\yesM-bM-^@M-^] this will enable PAM authentication using | 882 | yes this will enable PAM authentication using |
952 | ChallengeResponseAuthentication and PasswordAuthentication in | 883 | ChallengeResponseAuthentication and PasswordAuthentication in |
953 | addition to PAM account and session module processing for all | 884 | addition to PAM account and session module processing for all |
954 | authentication types. | 885 | authentication types. |
@@ -958,7 +889,7 @@ DESCRIPTION | |||
958 | either PasswordAuthentication or ChallengeResponseAuthentication. | 889 | either PasswordAuthentication or ChallengeResponseAuthentication. |
959 | 890 | ||
960 | If UsePAM is enabled, you will not be able to run sshd(8) as a | 891 | If UsePAM is enabled, you will not be able to run sshd(8) as a |
961 | non-root user. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 892 | non-root user. The default is no. |
962 | 893 | ||
963 | UsePrivilegeSeparation | 894 | UsePrivilegeSeparation |
964 | Specifies whether sshd(8) separates privileges by creating an | 895 | Specifies whether sshd(8) separates privileges by creating an |
@@ -967,15 +898,15 @@ DESCRIPTION | |||
967 | that has the privilege of the authenticated user. The goal of | 898 | that has the privilege of the authenticated user. The goal of |
968 | privilege separation is to prevent privilege escalation by | 899 | privilege separation is to prevent privilege escalation by |
969 | containing any corruption within the unprivileged processes. The | 900 | containing any corruption within the unprivileged processes. The |
970 | argument must be M-bM-^@M-^\yesM-bM-^@M-^], M-bM-^@M-^\noM-bM-^@M-^], or M-bM-^@M-^\sandboxM-bM-^@M-^]. If | 901 | argument must be yes, no, or sandbox. If UsePrivilegeSeparation |
971 | UsePrivilegeSeparation is set to M-bM-^@M-^\sandboxM-bM-^@M-^] then the pre- | 902 | is set to sandbox then the pre-authentication unprivileged |
972 | authentication unprivileged process is subject to additional | 903 | process is subject to additional restrictions. The default is |
973 | restrictions. The default is M-bM-^@M-^\sandboxM-bM-^@M-^]. | 904 | sandbox. |
974 | 905 | ||
975 | VersionAddendum | 906 | VersionAddendum |
976 | Optionally specifies additional text to append to the SSH | 907 | Optionally specifies additional text to append to the SSH |
977 | protocol banner sent by the server upon connection. The default | 908 | protocol banner sent by the server upon connection. The default |
978 | is M-bM-^@M-^\noneM-bM-^@M-^]. | 909 | is none. |
979 | 910 | ||
980 | X11DisplayOffset | 911 | X11DisplayOffset |
981 | Specifies the first display number available for sshd(8)'s X11 | 912 | Specifies the first display number available for sshd(8)'s X11 |
@@ -984,41 +915,39 @@ DESCRIPTION | |||
984 | 915 | ||
985 | X11Forwarding | 916 | X11Forwarding |
986 | Specifies whether X11 forwarding is permitted. The argument must | 917 | Specifies whether X11 forwarding is permitted. The argument must |
987 | be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The default is M-bM-^@M-^\noM-bM-^@M-^]. | 918 | be yes or no. The default is no. |
988 | 919 | ||
989 | When X11 forwarding is enabled, there may be additional exposure | 920 | When X11 forwarding is enabled, there may be additional exposure |
990 | to the server and to client displays if the sshd(8) proxy display | 921 | to the server and to client displays if the sshd(8) proxy display |
991 | is configured to listen on the wildcard address (see | 922 | is configured to listen on the wildcard address (see |
992 | X11UseLocalhost below), though this is not the default. | 923 | X11UseLocalhost), though this is not the default. Additionally, |
993 | Additionally, the authentication spoofing and authentication data | 924 | the authentication spoofing and authentication data verification |
994 | verification and substitution occur on the client side. The | 925 | and substitution occur on the client side. The security risk of |
995 | security risk of using X11 forwarding is that the client's X11 | 926 | using X11 forwarding is that the client's X11 display server may |
996 | display server may be exposed to attack when the SSH client | 927 | be exposed to attack when the SSH client requests forwarding (see |
997 | requests forwarding (see the warnings for ForwardX11 in | 928 | the warnings for ForwardX11 in ssh_config(5)). A system |
998 | ssh_config(5)). A system administrator may have a stance in | 929 | administrator may have a stance in which they want to protect |
999 | which they want to protect clients that may expose themselves to | 930 | clients that may expose themselves to attack by unwittingly |
1000 | attack by unwittingly requesting X11 forwarding, which can | 931 | requesting X11 forwarding, which can warrant a no setting. |
1001 | warrant a M-bM-^@M-^\noM-bM-^@M-^] setting. | ||
1002 | 932 | ||
1003 | Note that disabling X11 forwarding does not prevent users from | 933 | Note that disabling X11 forwarding does not prevent users from |
1004 | forwarding X11 traffic, as users can always install their own | 934 | forwarding X11 traffic, as users can always install their own |
1005 | forwarders. X11 forwarding is automatically disabled if UseLogin | 935 | forwarders. |
1006 | is enabled. | ||
1007 | 936 | ||
1008 | X11UseLocalhost | 937 | X11UseLocalhost |
1009 | Specifies whether sshd(8) should bind the X11 forwarding server | 938 | Specifies whether sshd(8) should bind the X11 forwarding server |
1010 | to the loopback address or to the wildcard address. By default, | 939 | to the loopback address or to the wildcard address. By default, |
1011 | sshd binds the forwarding server to the loopback address and sets | 940 | sshd binds the forwarding server to the loopback address and sets |
1012 | the hostname part of the DISPLAY environment variable to | 941 | the hostname part of the DISPLAY environment variable to |
1013 | M-bM-^@M-^\localhostM-bM-^@M-^]. This prevents remote hosts from connecting to the | 942 | localhost. This prevents remote hosts from connecting to the |
1014 | proxy display. However, some older X11 clients may not function | 943 | proxy display. However, some older X11 clients may not function |
1015 | with this configuration. X11UseLocalhost may be set to M-bM-^@M-^\noM-bM-^@M-^] to | 944 | with this configuration. X11UseLocalhost may be set to no to |
1016 | specify that the forwarding server should be bound to the | 945 | specify that the forwarding server should be bound to the |
1017 | wildcard address. The argument must be M-bM-^@M-^\yesM-bM-^@M-^] or M-bM-^@M-^\noM-bM-^@M-^]. The | 946 | wildcard address. The argument must be yes or no. The default |
1018 | default is M-bM-^@M-^\yesM-bM-^@M-^]. | 947 | is yes. |
1019 | 948 | ||
1020 | XAuthLocation | 949 | XAuthLocation |
1021 | Specifies the full pathname of the xauth(1) program, or M-bM-^@M-^\noneM-bM-^@M-^] to | 950 | Specifies the full pathname of the xauth(1) program, or none to |
1022 | not use one. The default is /usr/X11R6/bin/xauth. | 951 | not use one. The default is /usr/X11R6/bin/xauth. |
1023 | 952 | ||
1024 | TIME FORMATS | 953 | TIME FORMATS |
@@ -1043,6 +972,33 @@ TIME FORMATS | |||
1043 | 10m 10 minutes | 972 | 10m 10 minutes |
1044 | 1h30m 1 hour 30 minutes (90 minutes) | 973 | 1h30m 1 hour 30 minutes (90 minutes) |
1045 | 974 | ||
975 | TOKENS | ||
976 | Arguments to some keywords can make use of tokens, which are expanded at | ||
977 | runtime: | ||
978 | |||
979 | %% A literal M-bM-^@M-^X%M-bM-^@M-^Y. | ||
980 | %F The fingerprint of the CA key. | ||
981 | %f The fingerprint of the key or certificate. | ||
982 | %h The home directory of the user. | ||
983 | %i The key ID in the certificate. | ||
984 | %K The base64-encoded CA key. | ||
985 | %k The base64-encoded key or certificate for authentication. | ||
986 | %s The serial number of the certificate. | ||
987 | %T The type of the CA key. | ||
988 | %t The key or certificate type. | ||
989 | %u The username. | ||
990 | |||
991 | AuthorizedKeysCommand accepts the tokens %%, %f, %h, %t, and %u. | ||
992 | |||
993 | AuthorizedKeysFile accepts the tokens %%, %h, and %u. | ||
994 | |||
995 | AuthorizedPrincipalsCommand accepts the tokens %%, %F, %f, %K, %k, %h, | ||
996 | %i, %s, %T, %t, and %u. | ||
997 | |||
998 | AuthorizedPrincipalsFile accepts the tokens %%, %h, and %u. | ||
999 | |||
1000 | ChrootDirectory accepts the tokens %%, %h, and %u. | ||
1001 | |||
1046 | FILES | 1002 | FILES |
1047 | /etc/ssh/sshd_config | 1003 | /etc/ssh/sshd_config |
1048 | Contains configuration data for sshd(8). This file should be | 1004 | Contains configuration data for sshd(8). This file should be |
@@ -1050,7 +1006,7 @@ FILES | |||
1050 | necessary) that it be world-readable. | 1006 | necessary) that it be world-readable. |
1051 | 1007 | ||
1052 | SEE ALSO | 1008 | SEE ALSO |
1053 | sshd(8) | 1009 | sftp-server(8), sshd(8) |
1054 | 1010 | ||
1055 | AUTHORS | 1011 | AUTHORS |
1056 | OpenSSH is a derivative of the original and free ssh 1.2.12 release by | 1012 | OpenSSH is a derivative of the original and free ssh 1.2.12 release by |
@@ -1060,4 +1016,4 @@ AUTHORS | |||
1060 | versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support | 1016 | versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support |
1061 | for privilege separation. | 1017 | for privilege separation. |
1062 | 1018 | ||
1063 | OpenBSD 6.0 July 19, 2016 OpenBSD 6.0 | 1019 | OpenBSD 6.0 November 30, 2016 OpenBSD 6.0 |
diff --git a/sshd_config.5 b/sshd_config.5 index 1bc26ec4d..32b29d240 100644 --- a/sshd_config.5 +++ b/sshd_config.5 | |||
@@ -33,8 +33,8 @@ | |||
33 | .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 33 | .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
34 | .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 34 | .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
35 | .\" | 35 | .\" |
36 | .\" $OpenBSD: sshd_config.5,v 1.227 2016/07/19 12:59:16 jmc Exp $ | 36 | .\" $OpenBSD: sshd_config.5,v 1.239 2016/11/30 03:00:05 djm Exp $ |
37 | .Dd $Mdocdate: July 19 2016 $ | 37 | .Dd $Mdocdate: November 30 2016 $ |
38 | .Dt SSHD_CONFIG 5 | 38 | .Dt SSHD_CONFIG 5 |
39 | .Os | 39 | .Os |
40 | .Sh NAME | 40 | .Sh NAME |
@@ -90,19 +90,18 @@ The default is not to accept any environment variables. | |||
90 | Specifies which address family should be used by | 90 | Specifies which address family should be used by |
91 | .Xr sshd 8 . | 91 | .Xr sshd 8 . |
92 | Valid arguments are | 92 | Valid arguments are |
93 | .Dq any , | 93 | .Cm any |
94 | .Dq inet | 94 | (the default), |
95 | .Cm inet | ||
95 | (use IPv4 only), or | 96 | (use IPv4 only), or |
96 | .Dq inet6 | 97 | .Cm inet6 |
97 | (use IPv6 only). | 98 | (use IPv6 only). |
98 | The default is | ||
99 | .Dq any . | ||
100 | .It Cm AllowAgentForwarding | 99 | .It Cm AllowAgentForwarding |
101 | Specifies whether | 100 | Specifies whether |
102 | .Xr ssh-agent 1 | 101 | .Xr ssh-agent 1 |
103 | forwarding is permitted. | 102 | forwarding is permitted. |
104 | The default is | 103 | The default is |
105 | .Dq yes . | 104 | .Cm yes . |
106 | Note that disabling agent forwarding does not improve security | 105 | Note that disabling agent forwarding does not improve security |
107 | unless users are also denied shell access, as they can always install | 106 | unless users are also denied shell access, as they can always install |
108 | their own forwarders. | 107 | their own forwarders. |
@@ -123,44 +122,42 @@ and finally | |||
123 | See PATTERNS in | 122 | See PATTERNS in |
124 | .Xr ssh_config 5 | 123 | .Xr ssh_config 5 |
125 | for more information on patterns. | 124 | for more information on patterns. |
126 | .It Cm AllowTcpForwarding | 125 | .It Cm AllowStreamLocalForwarding |
127 | Specifies whether TCP forwarding is permitted. | 126 | Specifies whether StreamLocal (Unix-domain socket) forwarding is permitted. |
128 | The available options are | 127 | The available options are |
129 | .Dq yes | 128 | .Cm yes |
129 | (the default) | ||
130 | or | 130 | or |
131 | .Dq all | 131 | .Cm all |
132 | to allow TCP forwarding, | 132 | to allow StreamLocal forwarding, |
133 | .Dq no | 133 | .Cm no |
134 | to prevent all TCP forwarding, | 134 | to prevent all StreamLocal forwarding, |
135 | .Dq local | 135 | .Cm local |
136 | to allow local (from the perspective of | 136 | to allow local (from the perspective of |
137 | .Xr ssh 1 ) | 137 | .Xr ssh 1 ) |
138 | forwarding only or | 138 | forwarding only or |
139 | .Dq remote | 139 | .Cm remote |
140 | to allow remote forwarding only. | 140 | to allow remote forwarding only. |
141 | The default is | 141 | Note that disabling StreamLocal forwarding does not improve security unless |
142 | .Dq yes . | ||
143 | Note that disabling TCP forwarding does not improve security unless | ||
144 | users are also denied shell access, as they can always install their | 142 | users are also denied shell access, as they can always install their |
145 | own forwarders. | 143 | own forwarders. |
146 | .It Cm AllowStreamLocalForwarding | 144 | .It Cm AllowTcpForwarding |
147 | Specifies whether StreamLocal (Unix-domain socket) forwarding is permitted. | 145 | Specifies whether TCP forwarding is permitted. |
148 | The available options are | 146 | The available options are |
149 | .Dq yes | 147 | .Cm yes |
148 | (the default) | ||
150 | or | 149 | or |
151 | .Dq all | 150 | .Cm all |
152 | to allow StreamLocal forwarding, | 151 | to allow TCP forwarding, |
153 | .Dq no | 152 | .Cm no |
154 | to prevent all StreamLocal forwarding, | 153 | to prevent all TCP forwarding, |
155 | .Dq local | 154 | .Cm local |
156 | to allow local (from the perspective of | 155 | to allow local (from the perspective of |
157 | .Xr ssh 1 ) | 156 | .Xr ssh 1 ) |
158 | forwarding only or | 157 | forwarding only or |
159 | .Dq remote | 158 | .Cm remote |
160 | to allow remote forwarding only. | 159 | to allow remote forwarding only. |
161 | The default is | 160 | Note that disabling TCP forwarding does not improve security unless |
162 | .Dq yes . | ||
163 | Note that disabling StreamLocal forwarding does not improve security unless | ||
164 | users are also denied shell access, as they can always install their | 161 | users are also denied shell access, as they can always install their |
165 | own forwarders. | 162 | own forwarders. |
166 | .It Cm AllowUsers | 163 | .It Cm AllowUsers |
@@ -190,80 +187,73 @@ Specifies the authentication methods that must be successfully completed | |||
190 | for a user to be granted access. | 187 | for a user to be granted access. |
191 | This option must be followed by one or more comma-separated lists of | 188 | This option must be followed by one or more comma-separated lists of |
192 | authentication method names, or by the single string | 189 | authentication method names, or by the single string |
193 | .Dq any | 190 | .Cm any |
194 | to indicate the default behaviour of accepting any single authentication | 191 | to indicate the default behaviour of accepting any single authentication |
195 | method. | 192 | method. |
196 | if the default is overridden, then successful authentication requires | 193 | If the default is overridden, then successful authentication requires |
197 | completion of every method in at least one of these lists. | 194 | completion of every method in at least one of these lists. |
198 | .Pp | 195 | .Pp |
199 | For example, an argument of | 196 | For example, |
200 | .Dq publickey,password publickey,keyboard-interactive | 197 | .Qq publickey,password publickey,keyboard-interactive |
201 | would require the user to complete public key authentication, followed by | 198 | would require the user to complete public key authentication, followed by |
202 | either password or keyboard interactive authentication. | 199 | either password or keyboard interactive authentication. |
203 | Only methods that are next in one or more lists are offered at each stage, | 200 | Only methods that are next in one or more lists are offered at each stage, |
204 | so for this example, it would not be possible to attempt password or | 201 | so for this example it would not be possible to attempt password or |
205 | keyboard-interactive authentication before public key. | 202 | keyboard-interactive authentication before public key. |
206 | .Pp | 203 | .Pp |
207 | For keyboard interactive authentication it is also possible to | 204 | For keyboard interactive authentication it is also possible to |
208 | restrict authentication to a specific device by appending a | 205 | restrict authentication to a specific device by appending a |
209 | colon followed by the device identifier | 206 | colon followed by the device identifier |
210 | .Dq bsdauth , | 207 | .Cm bsdauth , |
211 | .Dq pam , | 208 | .Cm pam , |
212 | or | 209 | or |
213 | .Dq skey , | 210 | .Cm skey , |
214 | depending on the server configuration. | 211 | depending on the server configuration. |
215 | For example, | 212 | For example, |
216 | .Dq keyboard-interactive:bsdauth | 213 | .Qq keyboard-interactive:bsdauth |
217 | would restrict keyboard interactive authentication to the | 214 | would restrict keyboard interactive authentication to the |
218 | .Dq bsdauth | 215 | .Cm bsdauth |
219 | device. | 216 | device. |
220 | .Pp | 217 | .Pp |
221 | If the | 218 | If the publickey method is listed more than once, |
222 | .Dq publickey | ||
223 | method is listed more than once, | ||
224 | .Xr sshd 8 | 219 | .Xr sshd 8 |
225 | verifies that keys that have been used successfully are not reused for | 220 | verifies that keys that have been used successfully are not reused for |
226 | subsequent authentications. | 221 | subsequent authentications. |
227 | For example, an | 222 | For example, |
228 | .Cm AuthenticationMethods | 223 | .Qq publickey,publickey |
229 | of | 224 | requires successful authentication using two different public keys. |
230 | .Dq publickey,publickey | 225 | .Pp |
231 | will require successful authentication using two different public keys. | ||
232 | .Pp | ||
233 | This option will yield a fatal | ||
234 | error if enabled if protocol 1 is also enabled. | ||
235 | Note that each authentication method listed should also be explicitly enabled | 226 | Note that each authentication method listed should also be explicitly enabled |
236 | in the configuration. | 227 | in the configuration. |
237 | The default | ||
238 | .Dq any | ||
239 | is not to require multiple authentication; successful completion | ||
240 | of a single authentication method is sufficient. | ||
241 | .It Cm AuthorizedKeysCommand | 228 | .It Cm AuthorizedKeysCommand |
242 | Specifies a program to be used to look up the user's public keys. | 229 | Specifies a program to be used to look up the user's public keys. |
243 | The program must be owned by root, not writable by group or others and | 230 | The program must be owned by root, not writable by group or others and |
244 | specified by an absolute path. | 231 | specified by an absolute path. |
245 | .Pp | ||
246 | Arguments to | 232 | Arguments to |
247 | .Cm AuthorizedKeysCommand | 233 | .Cm AuthorizedKeysCommand |
248 | may be provided using the following tokens, which will be expanded | 234 | accept the tokens described in the |
249 | at runtime: %% is replaced by a literal '%', %u is replaced by the | 235 | .Sx TOKENS |
250 | username being authenticated, %h is replaced by the home directory | 236 | section. |
251 | of the user being authenticated, %t is replaced with the key type | 237 | If no arguments are specified then the username of the target user is used. |
252 | offered for authentication, %f is replaced with the fingerprint of | ||
253 | the key, and %k is replaced with the key being offered for authentication. | ||
254 | If no arguments are specified then the username of the target user | ||
255 | will be supplied. | ||
256 | .Pp | 238 | .Pp |
257 | The program should produce on standard output zero or | 239 | The program should produce on standard output zero or |
258 | more lines of authorized_keys output (see AUTHORIZED_KEYS in | 240 | more lines of authorized_keys output (see |
241 | .Sx AUTHORIZED_KEYS | ||
242 | in | ||
259 | .Xr sshd 8 ) . | 243 | .Xr sshd 8 ) . |
260 | If a key supplied by AuthorizedKeysCommand does not successfully authenticate | 244 | If a key supplied by |
245 | .Cm AuthorizedKeysCommand | ||
246 | does not successfully authenticate | ||
261 | and authorize the user then public key authentication continues using the usual | 247 | and authorize the user then public key authentication continues using the usual |
262 | .Cm AuthorizedKeysFile | 248 | .Cm AuthorizedKeysFile |
263 | files. | 249 | files. |
264 | By default, no AuthorizedKeysCommand is run. | 250 | By default, no |
251 | .Cm AuthorizedKeysCommand | ||
252 | is run. | ||
265 | .It Cm AuthorizedKeysCommandUser | 253 | .It Cm AuthorizedKeysCommandUser |
266 | Specifies the user under whose account the AuthorizedKeysCommand is run. | 254 | Specifies the user under whose account the |
255 | .Cm AuthorizedKeysCommand | ||
256 | is run. | ||
267 | It is recommended to use a dedicated user that has no other role on the host | 257 | It is recommended to use a dedicated user that has no other role on the host |
268 | than running authorized keys commands. | 258 | than running authorized keys commands. |
269 | If | 259 | If |
@@ -274,41 +264,38 @@ is not, then | |||
274 | .Xr sshd 8 | 264 | .Xr sshd 8 |
275 | will refuse to start. | 265 | will refuse to start. |
276 | .It Cm AuthorizedKeysFile | 266 | .It Cm AuthorizedKeysFile |
277 | Specifies the file that contains the public keys that can be used | 267 | Specifies the file that contains the public keys used for user authentication. |
278 | for user authentication. | ||
279 | The format is described in the | 268 | The format is described in the |
280 | AUTHORIZED_KEYS FILE FORMAT | 269 | .Sx AUTHORIZED_KEYS FILE FORMAT |
281 | section of | 270 | section of |
282 | .Xr sshd 8 . | 271 | .Xr sshd 8 . |
272 | Arguments to | ||
283 | .Cm AuthorizedKeysFile | 273 | .Cm AuthorizedKeysFile |
284 | may contain tokens of the form %T which are substituted during connection | 274 | accept the tokens described in the |
285 | setup. | 275 | .Sx TOKENS |
286 | The following tokens are defined: %% is replaced by a literal '%', | 276 | section. |
287 | %h is replaced by the home directory of the user being authenticated, and | ||
288 | %u is replaced by the username of that user. | ||
289 | After expansion, | 277 | After expansion, |
290 | .Cm AuthorizedKeysFile | 278 | .Cm AuthorizedKeysFile |
291 | is taken to be an absolute path or one relative to the user's home | 279 | is taken to be an absolute path or one relative to the user's home |
292 | directory. | 280 | directory. |
293 | Multiple files may be listed, separated by whitespace. | 281 | Multiple files may be listed, separated by whitespace. |
294 | Alternately this option may be set to | 282 | Alternately this option may be set to |
295 | .Dq none | 283 | .Cm none |
296 | to skip checking for user keys in files. | 284 | to skip checking for user keys in files. |
297 | The default is | 285 | The default is |
298 | .Dq .ssh/authorized_keys .ssh/authorized_keys2 . | 286 | .Qq .ssh/authorized_keys .ssh/authorized_keys2 . |
299 | .It Cm AuthorizedPrincipalsCommand | 287 | .It Cm AuthorizedPrincipalsCommand |
300 | Specifies a program to be used to generate the list of allowed | 288 | Specifies a program to be used to generate the list of allowed |
301 | certificate principals as per | 289 | certificate principals as per |
302 | .Cm AuthorizedPrincipalsFile . | 290 | .Cm AuthorizedPrincipalsFile . |
303 | The program must be owned by root, not writable by group or others and | 291 | The program must be owned by root, not writable by group or others and |
304 | specified by an absolute path. | 292 | specified by an absolute path. |
305 | .Pp | ||
306 | Arguments to | 293 | Arguments to |
307 | .Cm AuthorizedPrincipalsCommand | 294 | .Cm AuthorizedPrincipalsCommand |
308 | may be provided using the following tokens, which will be expanded | 295 | accept the tokens described in the |
309 | at runtime: %% is replaced by a literal '%', %u is replaced by the | 296 | .Sx TOKENS |
310 | username being authenticated and %h is replaced by the home directory | 297 | section. |
311 | of the user being authenticated. | 298 | If no arguments are specified then the username of the target user is used. |
312 | .Pp | 299 | .Pp |
313 | The program should produce on standard output zero or | 300 | The program should produce on standard output zero or |
314 | more lines of | 301 | more lines of |
@@ -320,9 +307,13 @@ or | |||
320 | .Cm AuthorizedPrincipalsFile | 307 | .Cm AuthorizedPrincipalsFile |
321 | is specified, then certificates offered by the client for authentication | 308 | is specified, then certificates offered by the client for authentication |
322 | must contain a principal that is listed. | 309 | must contain a principal that is listed. |
323 | By default, no AuthorizedPrincipalsCommand is run. | 310 | By default, no |
311 | .Cm AuthorizedPrincipalsCommand | ||
312 | is run. | ||
324 | .It Cm AuthorizedPrincipalsCommandUser | 313 | .It Cm AuthorizedPrincipalsCommandUser |
325 | Specifies the user under whose account the AuthorizedPrincipalsCommand is run. | 314 | Specifies the user under whose account the |
315 | .Cm AuthorizedPrincipalsCommand | ||
316 | is run. | ||
326 | It is recommended to use a dedicated user that has no other role on the host | 317 | It is recommended to use a dedicated user that has no other role on the host |
327 | than running authorized principals commands. | 318 | than running authorized principals commands. |
328 | If | 319 | If |
@@ -339,29 +330,28 @@ When using certificates signed by a key listed in | |||
339 | .Cm TrustedUserCAKeys , | 330 | .Cm TrustedUserCAKeys , |
340 | this file lists names, one of which must appear in the certificate for it | 331 | this file lists names, one of which must appear in the certificate for it |
341 | to be accepted for authentication. | 332 | to be accepted for authentication. |
342 | Names are listed one per line preceded by key options (as described | 333 | Names are listed one per line preceded by key options (as described in |
343 | in AUTHORIZED_KEYS FILE FORMAT in | 334 | .Sx AUTHORIZED_KEYS FILE FORMAT |
335 | in | ||
344 | .Xr sshd 8 ) . | 336 | .Xr sshd 8 ) . |
345 | Empty lines and comments starting with | 337 | Empty lines and comments starting with |
346 | .Ql # | 338 | .Ql # |
347 | are ignored. | 339 | are ignored. |
348 | .Pp | 340 | .Pp |
341 | Arguments to | ||
349 | .Cm AuthorizedPrincipalsFile | 342 | .Cm AuthorizedPrincipalsFile |
350 | may contain tokens of the form %T which are substituted during connection | 343 | accept the tokens described in the |
351 | setup. | 344 | .Sx TOKENS |
352 | The following tokens are defined: %% is replaced by a literal '%', | 345 | section. |
353 | %h is replaced by the home directory of the user being authenticated, and | ||
354 | %u is replaced by the username of that user. | ||
355 | After expansion, | 346 | After expansion, |
356 | .Cm AuthorizedPrincipalsFile | 347 | .Cm AuthorizedPrincipalsFile |
357 | is taken to be an absolute path or one relative to the user's home | 348 | is taken to be an absolute path or one relative to the user's home directory. |
358 | directory. | ||
359 | .Pp | ||
360 | The default is | 349 | The default is |
361 | .Dq none , | 350 | .Cm none , |
362 | i.e. not to use a principals file \(en in this case, the username | 351 | i.e. not to use a principals file \(en in this case, the username |
363 | of the user must appear in a certificate's principals list for it to be | 352 | of the user must appear in a certificate's principals list for it to be |
364 | accepted. | 353 | accepted. |
354 | .Pp | ||
365 | Note that | 355 | Note that |
366 | .Cm AuthorizedPrincipalsFile | 356 | .Cm AuthorizedPrincipalsFile |
367 | is only used when authentication proceeds using a CA listed in | 357 | is only used when authentication proceeds using a CA listed in |
@@ -377,7 +367,7 @@ for details). | |||
377 | The contents of the specified file are sent to the remote user before | 367 | The contents of the specified file are sent to the remote user before |
378 | authentication is allowed. | 368 | authentication is allowed. |
379 | If the argument is | 369 | If the argument is |
380 | .Dq none | 370 | .Cm none |
381 | then no banner is displayed. | 371 | then no banner is displayed. |
382 | By default, no banner is displayed. | 372 | By default, no banner is displayed. |
383 | .It Cm ChallengeResponseAuthentication | 373 | .It Cm ChallengeResponseAuthentication |
@@ -385,7 +375,7 @@ Specifies whether challenge-response authentication is allowed (e.g. via | |||
385 | PAM or through authentication styles supported in | 375 | PAM or through authentication styles supported in |
386 | .Xr login.conf 5 ) | 376 | .Xr login.conf 5 ) |
387 | The default is | 377 | The default is |
388 | .Dq yes . | 378 | .Cm yes . |
389 | .It Cm ChrootDirectory | 379 | .It Cm ChrootDirectory |
390 | Specifies the pathname of a directory to | 380 | Specifies the pathname of a directory to |
391 | .Xr chroot 2 | 381 | .Xr chroot 2 |
@@ -397,11 +387,11 @@ which are not writable by any other user or group. | |||
397 | After the chroot, | 387 | After the chroot, |
398 | .Xr sshd 8 | 388 | .Xr sshd 8 |
399 | changes the working directory to the user's home directory. | 389 | changes the working directory to the user's home directory. |
400 | .Pp | 390 | Arguments to |
401 | The pathname may contain the following tokens that are expanded at runtime once | 391 | .Cm ChrootDirectory |
402 | the connecting user has been authenticated: %% is replaced by a literal '%', | 392 | accept the tokens described in the |
403 | %h is replaced by the home directory of the user being authenticated, and | 393 | .Sx TOKENS |
404 | %u is replaced by the username of that user. | 394 | section. |
405 | .Pp | 395 | .Pp |
406 | The | 396 | The |
407 | .Cm ChrootDirectory | 397 | .Cm ChrootDirectory |
@@ -420,10 +410,9 @@ nodes such as | |||
420 | and | 410 | and |
421 | .Xr tty 4 | 411 | .Xr tty 4 |
422 | devices. | 412 | devices. |
423 | For file transfer sessions using | 413 | For file transfer sessions using SFTP |
424 | .Dq sftp , | 414 | no additional configuration of the environment is necessary if the in-process |
425 | no additional configuration of the environment is necessary if the | 415 | sftp-server is used, |
426 | in-process sftp server is used, | ||
427 | though sessions which use logging may require | 416 | though sessions which use logging may require |
428 | .Pa /dev/log | 417 | .Pa /dev/log |
429 | inside the chroot directory on some operating systems (see | 418 | inside the chroot directory on some operating systems (see |
@@ -438,7 +427,7 @@ Misconfiguration can lead to unsafe environments which | |||
438 | cannot detect. | 427 | cannot detect. |
439 | .Pp | 428 | .Pp |
440 | The default is | 429 | The default is |
441 | .Dq none , | 430 | .Cm none , |
442 | indicating not to | 431 | indicating not to |
443 | .Xr chroot 2 . | 432 | .Xr chroot 2 . |
444 | .It Cm Ciphers | 433 | .It Cm Ciphers |
@@ -491,23 +480,17 @@ aes128-ctr,aes192-ctr,aes256-ctr, | |||
491 | aes128-gcm@openssh.com,aes256-gcm@openssh.com | 480 | aes128-gcm@openssh.com,aes256-gcm@openssh.com |
492 | .Ed | 481 | .Ed |
493 | .Pp | 482 | .Pp |
494 | The list of available ciphers may also be obtained using the | 483 | The list of available ciphers may also be obtained using |
495 | .Fl Q | 484 | .Qq ssh -Q cipher . |
496 | option of | ||
497 | .Xr ssh 1 | ||
498 | with an argument of | ||
499 | .Dq cipher . | ||
500 | .It Cm ClientAliveCountMax | 485 | .It Cm ClientAliveCountMax |
501 | Sets the number of client alive messages (see below) which may be | 486 | Sets the number of client alive messages which may be sent without |
502 | sent without | ||
503 | .Xr sshd 8 | 487 | .Xr sshd 8 |
504 | receiving any messages back from the client. | 488 | receiving any messages back from the client. |
505 | If this threshold is reached while client alive messages are being sent, | 489 | If this threshold is reached while client alive messages are being sent, |
506 | sshd will disconnect the client, terminating the session. | 490 | sshd will disconnect the client, terminating the session. |
507 | It is important to note that the use of client alive messages is very | 491 | It is important to note that the use of client alive messages is very |
508 | different from | 492 | different from |
509 | .Cm TCPKeepAlive | 493 | .Cm TCPKeepAlive . |
510 | (below). | ||
511 | The client alive messages are sent through the encrypted channel | 494 | The client alive messages are sent through the encrypted channel |
512 | and therefore will not be spoofable. | 495 | and therefore will not be spoofable. |
513 | The TCP keepalive option enabled by | 496 | The TCP keepalive option enabled by |
@@ -519,7 +502,7 @@ server depend on knowing when a connection has become inactive. | |||
519 | The default value is 3. | 502 | The default value is 3. |
520 | If | 503 | If |
521 | .Cm ClientAliveInterval | 504 | .Cm ClientAliveInterval |
522 | (see below) is set to 15, and | 505 | is set to 15, and |
523 | .Cm ClientAliveCountMax | 506 | .Cm ClientAliveCountMax |
524 | is left at the default, unresponsive SSH clients | 507 | is left at the default, unresponsive SSH clients |
525 | will be disconnected after approximately 45 seconds. | 508 | will be disconnected after approximately 45 seconds. |
@@ -532,15 +515,17 @@ channel to request a response from the client. | |||
532 | The default | 515 | The default |
533 | is 0, indicating that these messages will not be sent to the client. | 516 | is 0, indicating that these messages will not be sent to the client. |
534 | .It Cm Compression | 517 | .It Cm Compression |
535 | Specifies whether compression is allowed, or delayed until | 518 | Specifies whether compression is enabled after |
536 | the user has authenticated successfully. | 519 | the user has authenticated successfully. |
537 | The argument must be | 520 | The argument must be |
538 | .Dq yes , | 521 | .Cm yes , |
539 | .Dq delayed , | 522 | .Cm delayed |
523 | (a legacy synonym for | ||
524 | .Cm yes ) | ||
540 | or | 525 | or |
541 | .Dq no . | 526 | .Cm no . |
542 | The default is | 527 | The default is |
543 | .Dq delayed . | 528 | .Cm yes . |
544 | .It Cm DenyGroups | 529 | .It Cm DenyGroups |
545 | This keyword can be followed by a list of group name patterns, separated | 530 | This keyword can be followed by a list of group name patterns, separated |
546 | by spaces. | 531 | by spaces. |
@@ -579,14 +564,20 @@ and finally | |||
579 | See PATTERNS in | 564 | See PATTERNS in |
580 | .Xr ssh_config 5 | 565 | .Xr ssh_config 5 |
581 | for more information on patterns. | 566 | for more information on patterns. |
567 | .It Cm DisableForwarding | ||
568 | Disables all forwarding features, including X11, | ||
569 | .Xr ssh-agent 1 , | ||
570 | TCP and StreamLocal. | ||
571 | This option overrides all other forwarding-related options and may | ||
572 | simplify restricted configurations. | ||
582 | .It Cm FingerprintHash | 573 | .It Cm FingerprintHash |
583 | Specifies the hash algorithm used when logging key fingerprints. | 574 | Specifies the hash algorithm used when logging key fingerprints. |
584 | Valid options are: | 575 | Valid options are: |
585 | .Dq md5 | 576 | .Cm md5 |
586 | and | 577 | and |
587 | .Dq sha256 . | 578 | .Cm sha256 . |
588 | The default is | 579 | The default is |
589 | .Dq sha256 . | 580 | .Cm sha256 . |
590 | .It Cm ForceCommand | 581 | .It Cm ForceCommand |
591 | Forces the execution of the command specified by | 582 | Forces the execution of the command specified by |
592 | .Cm ForceCommand , | 583 | .Cm ForceCommand , |
@@ -602,12 +593,12 @@ The command originally supplied by the client is available in the | |||
602 | .Ev SSH_ORIGINAL_COMMAND | 593 | .Ev SSH_ORIGINAL_COMMAND |
603 | environment variable. | 594 | environment variable. |
604 | Specifying a command of | 595 | Specifying a command of |
605 | .Dq internal-sftp | 596 | .Cm internal-sftp |
606 | will force the use of an in-process sftp server that requires no support | 597 | will force the use of an in-process SFTP server that requires no support |
607 | files when used with | 598 | files when used with |
608 | .Cm ChrootDirectory . | 599 | .Cm ChrootDirectory . |
609 | The default is | 600 | The default is |
610 | .Dq none . | 601 | .Cm none . |
611 | .It Cm GatewayPorts | 602 | .It Cm GatewayPorts |
612 | Specifies whether remote hosts are allowed to connect to ports | 603 | Specifies whether remote hosts are allowed to connect to ports |
613 | forwarded for the client. | 604 | forwarded for the client. |
@@ -620,38 +611,37 @@ can be used to specify that sshd | |||
620 | should allow remote port forwardings to bind to non-loopback addresses, thus | 611 | should allow remote port forwardings to bind to non-loopback addresses, thus |
621 | allowing other hosts to connect. | 612 | allowing other hosts to connect. |
622 | The argument may be | 613 | The argument may be |
623 | .Dq no | 614 | .Cm no |
624 | to force remote port forwardings to be available to the local host only, | 615 | to force remote port forwardings to be available to the local host only, |
625 | .Dq yes | 616 | .Cm yes |
626 | to force remote port forwardings to bind to the wildcard address, or | 617 | to force remote port forwardings to bind to the wildcard address, or |
627 | .Dq clientspecified | 618 | .Cm clientspecified |
628 | to allow the client to select the address to which the forwarding is bound. | 619 | to allow the client to select the address to which the forwarding is bound. |
629 | The default is | 620 | The default is |
630 | .Dq no . | 621 | .Cm no . |
631 | .It Cm GSSAPIAuthentication | 622 | .It Cm GSSAPIAuthentication |
632 | Specifies whether user authentication based on GSSAPI is allowed. | 623 | Specifies whether user authentication based on GSSAPI is allowed. |
633 | The default is | 624 | The default is |
634 | .Dq no . | 625 | .Cm no . |
635 | .It Cm GSSAPICleanupCredentials | 626 | .It Cm GSSAPICleanupCredentials |
636 | Specifies whether to automatically destroy the user's credentials cache | 627 | Specifies whether to automatically destroy the user's credentials cache |
637 | on logout. | 628 | on logout. |
638 | The default is | 629 | The default is |
639 | .Dq yes . | 630 | .Cm yes . |
640 | .It Cm GSSAPIStrictAcceptorCheck | 631 | .It Cm GSSAPIStrictAcceptorCheck |
641 | Determines whether to be strict about the identity of the GSSAPI acceptor | 632 | Determines whether to be strict about the identity of the GSSAPI acceptor |
642 | a client authenticates against. | 633 | a client authenticates against. |
643 | If set to | 634 | If set to |
644 | .Dq yes | 635 | .Cm yes |
645 | then the client must authenticate against the | 636 | then the client must authenticate against the host |
646 | .Pa host | ||
647 | service on the current hostname. | 637 | service on the current hostname. |
648 | If set to | 638 | If set to |
649 | .Dq no | 639 | .Cm no |
650 | then the client may authenticate against any service key stored in the | 640 | then the client may authenticate against any service key stored in the |
651 | machine's default store. | 641 | machine's default store. |
652 | This facility is provided to assist with operation on multi homed machines. | 642 | This facility is provided to assist with operation on multi homed machines. |
653 | The default is | 643 | The default is |
654 | .Dq yes . | 644 | .Cm yes . |
655 | .It Cm HostbasedAcceptedKeyTypes | 645 | .It Cm HostbasedAcceptedKeyTypes |
656 | Specifies the key types that will be accepted for hostbased authentication | 646 | Specifies the key types that will be accepted for hostbased authentication |
657 | as a comma-separated pattern list. | 647 | as a comma-separated pattern list. |
@@ -670,17 +660,14 @@ ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, | |||
670 | ssh-ed25519,ssh-rsa | 660 | ssh-ed25519,ssh-rsa |
671 | .Ed | 661 | .Ed |
672 | .Pp | 662 | .Pp |
673 | The | 663 | The list of available key types may also be obtained using |
674 | .Fl Q | 664 | .Qq ssh -Q key . |
675 | option of | ||
676 | .Xr ssh 1 | ||
677 | may be used to list supported key types. | ||
678 | .It Cm HostbasedAuthentication | 665 | .It Cm HostbasedAuthentication |
679 | Specifies whether rhosts or /etc/hosts.equiv authentication together | 666 | Specifies whether rhosts or /etc/hosts.equiv authentication together |
680 | with successful public key client host authentication is allowed | 667 | with successful public key client host authentication is allowed |
681 | (host-based authentication). | 668 | (host-based authentication). |
682 | The default is | 669 | The default is |
683 | .Dq no . | 670 | .Cm no . |
684 | .It Cm HostbasedUsesNameFromPacketOnly | 671 | .It Cm HostbasedUsesNameFromPacketOnly |
685 | Specifies whether or not the server will attempt to perform a reverse | 672 | Specifies whether or not the server will attempt to perform a reverse |
686 | name lookup when matching the name in the | 673 | name lookup when matching the name in the |
@@ -691,13 +678,13 @@ and | |||
691 | files during | 678 | files during |
692 | .Cm HostbasedAuthentication . | 679 | .Cm HostbasedAuthentication . |
693 | A setting of | 680 | A setting of |
694 | .Dq yes | 681 | .Cm yes |
695 | means that | 682 | means that |
696 | .Xr sshd 8 | 683 | .Xr sshd 8 |
697 | uses the name supplied by the client rather than | 684 | uses the name supplied by the client rather than |
698 | attempting to resolve the name from the TCP connection itself. | 685 | attempting to resolve the name from the TCP connection itself. |
699 | The default is | 686 | The default is |
700 | .Dq no . | 687 | .Cm no . |
701 | .It Cm HostCertificate | 688 | .It Cm HostCertificate |
702 | Specifies a file containing a public host certificate. | 689 | Specifies a file containing a public host certificate. |
703 | The certificate's public key must match a private host key already specified | 690 | The certificate's public key must match a private host key already specified |
@@ -709,15 +696,12 @@ is not to load any certificates. | |||
709 | .It Cm HostKey | 696 | .It Cm HostKey |
710 | Specifies a file containing a private host key | 697 | Specifies a file containing a private host key |
711 | used by SSH. | 698 | used by SSH. |
712 | The default is | 699 | The defaults are |
713 | .Pa /etc/ssh/ssh_host_key | ||
714 | for protocol version 1, and | ||
715 | .Pa /etc/ssh/ssh_host_dsa_key , | 700 | .Pa /etc/ssh/ssh_host_dsa_key , |
716 | .Pa /etc/ssh/ssh_host_ecdsa_key , | 701 | .Pa /etc/ssh/ssh_host_ecdsa_key , |
717 | .Pa /etc/ssh/ssh_host_ed25519_key | 702 | .Pa /etc/ssh/ssh_host_ed25519_key |
718 | and | 703 | and |
719 | .Pa /etc/ssh/ssh_host_rsa_key | 704 | .Pa /etc/ssh/ssh_host_rsa_key . |
720 | for protocol version 2. | ||
721 | .Pp | 705 | .Pp |
722 | Note that | 706 | Note that |
723 | .Xr sshd 8 | 707 | .Xr sshd 8 |
@@ -728,14 +712,6 @@ option restricts which of the keys are actually used by | |||
728 | .Xr sshd 8 . | 712 | .Xr sshd 8 . |
729 | .Pp | 713 | .Pp |
730 | It is possible to have multiple host key files. | 714 | It is possible to have multiple host key files. |
731 | .Dq rsa1 | ||
732 | keys are used for version 1 and | ||
733 | .Dq dsa , | ||
734 | .Dq ecdsa , | ||
735 | .Dq ed25519 | ||
736 | or | ||
737 | .Dq rsa | ||
738 | are used for version 2 of the SSH protocol. | ||
739 | It is also possible to specify public host key files instead. | 715 | It is also possible to specify public host key files instead. |
740 | In this case operations on the private key will be delegated | 716 | In this case operations on the private key will be delegated |
741 | to an | 717 | to an |
@@ -744,7 +720,7 @@ to an | |||
744 | Identifies the UNIX-domain socket used to communicate | 720 | Identifies the UNIX-domain socket used to communicate |
745 | with an agent that has access to the private host keys. | 721 | with an agent that has access to the private host keys. |
746 | If the string | 722 | If the string |
747 | .Dq SSH_AUTH_SOCK | 723 | .Qq SSH_AUTH_SOCK |
748 | is specified, the location of the socket will be read from the | 724 | is specified, the location of the socket will be read from the |
749 | .Ev SSH_AUTH_SOCK | 725 | .Ev SSH_AUTH_SOCK |
750 | environment variable. | 726 | environment variable. |
@@ -762,20 +738,14 @@ ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, | |||
762 | ssh-ed25519,ssh-rsa | 738 | ssh-ed25519,ssh-rsa |
763 | .Ed | 739 | .Ed |
764 | .Pp | 740 | .Pp |
765 | The list of available key types may also be obtained using the | 741 | The list of available key types may also be obtained using |
766 | .Fl Q | 742 | .Qq ssh -Q key . |
767 | option of | ||
768 | .Xr ssh 1 | ||
769 | with an argument of | ||
770 | .Dq key . | ||
771 | .It Cm IgnoreRhosts | 743 | .It Cm IgnoreRhosts |
772 | Specifies that | 744 | Specifies that |
773 | .Pa .rhosts | 745 | .Pa .rhosts |
774 | and | 746 | and |
775 | .Pa .shosts | 747 | .Pa .shosts |
776 | files will not be used in | 748 | files will not be used in |
777 | .Cm RhostsRSAAuthentication | ||
778 | or | ||
779 | .Cm HostbasedAuthentication . | 749 | .Cm HostbasedAuthentication . |
780 | .Pp | 750 | .Pp |
781 | .Pa /etc/hosts.equiv | 751 | .Pa /etc/hosts.equiv |
@@ -783,66 +753,64 @@ and | |||
783 | .Pa /etc/shosts.equiv | 753 | .Pa /etc/shosts.equiv |
784 | are still used. | 754 | are still used. |
785 | The default is | 755 | The default is |
786 | .Dq yes . | 756 | .Cm yes . |
787 | .It Cm IgnoreUserKnownHosts | 757 | .It Cm IgnoreUserKnownHosts |
788 | Specifies whether | 758 | Specifies whether |
789 | .Xr sshd 8 | 759 | .Xr sshd 8 |
790 | should ignore the user's | 760 | should ignore the user's |
791 | .Pa ~/.ssh/known_hosts | 761 | .Pa ~/.ssh/known_hosts |
792 | during | 762 | during |
793 | .Cm RhostsRSAAuthentication | ||
794 | or | ||
795 | .Cm HostbasedAuthentication . | 763 | .Cm HostbasedAuthentication . |
796 | The default is | 764 | The default is |
797 | .Dq no . | 765 | .Cm no . |
798 | .It Cm IPQoS | 766 | .It Cm IPQoS |
799 | Specifies the IPv4 type-of-service or DSCP class for the connection. | 767 | Specifies the IPv4 type-of-service or DSCP class for the connection. |
800 | Accepted values are | 768 | Accepted values are |
801 | .Dq af11 , | 769 | .Cm af11 , |
802 | .Dq af12 , | 770 | .Cm af12 , |
803 | .Dq af13 , | 771 | .Cm af13 , |
804 | .Dq af21 , | 772 | .Cm af21 , |
805 | .Dq af22 , | 773 | .Cm af22 , |
806 | .Dq af23 , | 774 | .Cm af23 , |
807 | .Dq af31 , | 775 | .Cm af31 , |
808 | .Dq af32 , | 776 | .Cm af32 , |
809 | .Dq af33 , | 777 | .Cm af33 , |
810 | .Dq af41 , | 778 | .Cm af41 , |
811 | .Dq af42 , | 779 | .Cm af42 , |
812 | .Dq af43 , | 780 | .Cm af43 , |
813 | .Dq cs0 , | 781 | .Cm cs0 , |
814 | .Dq cs1 , | 782 | .Cm cs1 , |
815 | .Dq cs2 , | 783 | .Cm cs2 , |
816 | .Dq cs3 , | 784 | .Cm cs3 , |
817 | .Dq cs4 , | 785 | .Cm cs4 , |
818 | .Dq cs5 , | 786 | .Cm cs5 , |
819 | .Dq cs6 , | 787 | .Cm cs6 , |
820 | .Dq cs7 , | 788 | .Cm cs7 , |
821 | .Dq ef , | 789 | .Cm ef , |
822 | .Dq lowdelay , | 790 | .Cm lowdelay , |
823 | .Dq throughput , | 791 | .Cm throughput , |
824 | .Dq reliability , | 792 | .Cm reliability , |
825 | or a numeric value. | 793 | or a numeric value. |
826 | This option may take one or two arguments, separated by whitespace. | 794 | This option may take one or two arguments, separated by whitespace. |
827 | If one argument is specified, it is used as the packet class unconditionally. | 795 | If one argument is specified, it is used as the packet class unconditionally. |
828 | If two values are specified, the first is automatically selected for | 796 | If two values are specified, the first is automatically selected for |
829 | interactive sessions and the second for non-interactive sessions. | 797 | interactive sessions and the second for non-interactive sessions. |
830 | The default is | 798 | The default is |
831 | .Dq lowdelay | 799 | .Cm lowdelay |
832 | for interactive sessions and | 800 | for interactive sessions and |
833 | .Dq throughput | 801 | .Cm throughput |
834 | for non-interactive sessions. | 802 | for non-interactive sessions. |
835 | .It Cm KbdInteractiveAuthentication | 803 | .It Cm KbdInteractiveAuthentication |
836 | Specifies whether to allow keyboard-interactive authentication. | 804 | Specifies whether to allow keyboard-interactive authentication. |
837 | The argument to this keyword must be | 805 | The argument to this keyword must be |
838 | .Dq yes | 806 | .Cm yes |
839 | or | 807 | or |
840 | .Dq no . | 808 | .Cm no . |
841 | The default is to use whatever value | 809 | The default is to use whatever value |
842 | .Cm ChallengeResponseAuthentication | 810 | .Cm ChallengeResponseAuthentication |
843 | is set to | 811 | is set to |
844 | (by default | 812 | (by default |
845 | .Dq yes ) . | 813 | .Cm yes ) . |
846 | .It Cm KerberosAuthentication | 814 | .It Cm KerberosAuthentication |
847 | Specifies whether the password provided by the user for | 815 | Specifies whether the password provided by the user for |
848 | .Cm PasswordAuthentication | 816 | .Cm PasswordAuthentication |
@@ -850,24 +818,24 @@ will be validated through the Kerberos KDC. | |||
850 | To use this option, the server needs a | 818 | To use this option, the server needs a |
851 | Kerberos servtab which allows the verification of the KDC's identity. | 819 | Kerberos servtab which allows the verification of the KDC's identity. |
852 | The default is | 820 | The default is |
853 | .Dq no . | 821 | .Cm no . |
854 | .It Cm KerberosGetAFSToken | 822 | .It Cm KerberosGetAFSToken |
855 | If AFS is active and the user has a Kerberos 5 TGT, attempt to acquire | 823 | If AFS is active and the user has a Kerberos 5 TGT, attempt to acquire |
856 | an AFS token before accessing the user's home directory. | 824 | an AFS token before accessing the user's home directory. |
857 | The default is | 825 | The default is |
858 | .Dq no . | 826 | .Cm no . |
859 | .It Cm KerberosOrLocalPasswd | 827 | .It Cm KerberosOrLocalPasswd |
860 | If password authentication through Kerberos fails then | 828 | If password authentication through Kerberos fails then |
861 | the password will be validated via any additional local mechanism | 829 | the password will be validated via any additional local mechanism |
862 | such as | 830 | such as |
863 | .Pa /etc/passwd . | 831 | .Pa /etc/passwd . |
864 | The default is | 832 | The default is |
865 | .Dq yes . | 833 | .Cm yes . |
866 | .It Cm KerberosTicketCleanup | 834 | .It Cm KerberosTicketCleanup |
867 | Specifies whether to automatically destroy the user's ticket cache | 835 | Specifies whether to automatically destroy the user's ticket cache |
868 | file on logout. | 836 | file on logout. |
869 | The default is | 837 | The default is |
870 | .Dq yes . | 838 | .Cm yes . |
871 | .It Cm KexAlgorithms | 839 | .It Cm KexAlgorithms |
872 | Specifies the available KEX (Key Exchange) algorithms. | 840 | Specifies the available KEX (Key Exchange) algorithms. |
873 | Multiple algorithms must be comma-separated. | 841 | Multiple algorithms must be comma-separated. |
@@ -879,6 +847,8 @@ The supported algorithms are: | |||
879 | .Pp | 847 | .Pp |
880 | .Bl -item -compact -offset indent | 848 | .Bl -item -compact -offset indent |
881 | .It | 849 | .It |
850 | curve25519-sha256 | ||
851 | .It | ||
882 | curve25519-sha256@libssh.org | 852 | curve25519-sha256@libssh.org |
883 | .It | 853 | .It |
884 | diffie-hellman-group1-sha1 | 854 | diffie-hellman-group1-sha1 |
@@ -898,27 +868,14 @@ ecdh-sha2-nistp521 | |||
898 | .Pp | 868 | .Pp |
899 | The default is: | 869 | The default is: |
900 | .Bd -literal -offset indent | 870 | .Bd -literal -offset indent |
901 | curve25519-sha256@libssh.org, | 871 | curve25519-sha256,curve25519-sha256@libssh.org, |
902 | ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, | 872 | ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, |
903 | diffie-hellman-group-exchange-sha256, | 873 | diffie-hellman-group-exchange-sha256, |
904 | diffie-hellman-group14-sha1 | 874 | diffie-hellman-group14-sha1 |
905 | .Ed | 875 | .Ed |
906 | .Pp | 876 | .Pp |
907 | The list of available key exchange algorithms may also be obtained using the | 877 | The list of available key exchange algorithms may also be obtained using |
908 | .Fl Q | 878 | .Qq ssh -Q kex . |
909 | option of | ||
910 | .Xr ssh 1 | ||
911 | with an argument of | ||
912 | .Dq kex . | ||
913 | .It Cm KeyRegenerationInterval | ||
914 | In protocol version 1, the ephemeral server key is automatically regenerated | ||
915 | after this many seconds (if it has been used). | ||
916 | The purpose of regeneration is to prevent | ||
917 | decrypting captured sessions by later breaking into the machine and | ||
918 | stealing the keys. | ||
919 | The key is never stored anywhere. | ||
920 | If the value is 0, the key is never regenerated. | ||
921 | The default is 3600 (seconds). | ||
922 | .It Cm ListenAddress | 879 | .It Cm ListenAddress |
923 | Specifies the local addresses | 880 | Specifies the local addresses |
924 | .Xr sshd 8 | 881 | .Xr sshd 8 |
@@ -978,7 +935,7 @@ character, then the specified algorithms will be appended to the default set | |||
978 | instead of replacing them. | 935 | instead of replacing them. |
979 | .Pp | 936 | .Pp |
980 | The algorithms that contain | 937 | The algorithms that contain |
981 | .Dq -etm | 938 | .Qq -etm |
982 | calculate the MAC after encryption (encrypt-then-mac). | 939 | calculate the MAC after encryption (encrypt-then-mac). |
983 | These are considered safer and their use recommended. | 940 | These are considered safer and their use recommended. |
984 | The supported MACs are: | 941 | The supported MACs are: |
@@ -1031,12 +988,8 @@ umac-64@openssh.com,umac-128@openssh.com, | |||
1031 | hmac-sha2-256,hmac-sha2-512,hmac-sha1 | 988 | hmac-sha2-256,hmac-sha2-512,hmac-sha1 |
1032 | .Ed | 989 | .Ed |
1033 | .Pp | 990 | .Pp |
1034 | The list of available MAC algorithms may also be obtained using the | 991 | The list of available MAC algorithms may also be obtained using |
1035 | .Fl Q | 992 | .Qq ssh -Q mac . |
1036 | option of | ||
1037 | .Xr ssh 1 | ||
1038 | with an argument of | ||
1039 | .Dq mac . | ||
1040 | .It Cm Match | 993 | .It Cm Match |
1041 | Introduces a conditional block. | 994 | Introduces a conditional block. |
1042 | If all of the criteria on the | 995 | If all of the criteria on the |
@@ -1065,24 +1018,19 @@ and | |||
1065 | .Cm Address . | 1018 | .Cm Address . |
1066 | The match patterns may consist of single entries or comma-separated | 1019 | The match patterns may consist of single entries or comma-separated |
1067 | lists and may use the wildcard and negation operators described in the | 1020 | lists and may use the wildcard and negation operators described in the |
1068 | PATTERNS section of | 1021 | .Sx PATTERNS |
1022 | section of | ||
1069 | .Xr ssh_config 5 . | 1023 | .Xr ssh_config 5 . |
1070 | .Pp | 1024 | .Pp |
1071 | The patterns in an | 1025 | The patterns in an |
1072 | .Cm Address | 1026 | .Cm Address |
1073 | criteria may additionally contain addresses to match in CIDR | 1027 | criteria may additionally contain addresses to match in CIDR |
1074 | address/masklen format, e.g.\& | 1028 | address/masklen format, |
1075 | .Dq 192.0.2.0/24 | 1029 | such as 192.0.2.0/24 or 2001:db8::/32. |
1076 | or | ||
1077 | .Dq 3ffe:ffff::/32 . | ||
1078 | Note that the mask length provided must be consistent with the address - | 1030 | Note that the mask length provided must be consistent with the address - |
1079 | it is an error to specify a mask length that is too long for the address | 1031 | it is an error to specify a mask length that is too long for the address |
1080 | or one with bits set in this host portion of the address. | 1032 | or one with bits set in this host portion of the address. |
1081 | For example, | 1033 | For example, 192.0.2.0/33 and 192.0.2.0/8, respectively. |
1082 | .Dq 192.0.2.0/33 | ||
1083 | and | ||
1084 | .Dq 192.0.2.0/8 | ||
1085 | respectively. | ||
1086 | .Pp | 1034 | .Pp |
1087 | Only a subset of keywords may be used on the lines following a | 1035 | Only a subset of keywords may be used on the lines following a |
1088 | .Cm Match | 1036 | .Cm Match |
@@ -1103,6 +1051,8 @@ Available keywords are | |||
1103 | .Cm AuthorizedPrincipalsFile , | 1051 | .Cm AuthorizedPrincipalsFile , |
1104 | .Cm Banner , | 1052 | .Cm Banner , |
1105 | .Cm ChrootDirectory , | 1053 | .Cm ChrootDirectory , |
1054 | .Cm ClientAliveCountMax , | ||
1055 | .Cm ClientAliveInterval , | ||
1106 | .Cm DenyGroups , | 1056 | .Cm DenyGroups , |
1107 | .Cm DenyUsers , | 1057 | .Cm DenyUsers , |
1108 | .Cm ForceCommand , | 1058 | .Cm ForceCommand , |
@@ -1127,8 +1077,6 @@ Available keywords are | |||
1127 | .Cm PubkeyAuthentication , | 1077 | .Cm PubkeyAuthentication , |
1128 | .Cm RekeyLimit , | 1078 | .Cm RekeyLimit , |
1129 | .Cm RevokedKeys , | 1079 | .Cm RevokedKeys , |
1130 | .Cm RhostsRSAAuthentication , | ||
1131 | .Cm RSAAuthentication , | ||
1132 | .Cm StreamLocalBindMask , | 1080 | .Cm StreamLocalBindMask , |
1133 | .Cm StreamLocalBindUnlink , | 1081 | .Cm StreamLocalBindUnlink , |
1134 | .Cm TrustedUserCAKeys , | 1082 | .Cm TrustedUserCAKeys , |
@@ -1163,29 +1111,21 @@ The default is 10:30:100. | |||
1163 | .Pp | 1111 | .Pp |
1164 | Alternatively, random early drop can be enabled by specifying | 1112 | Alternatively, random early drop can be enabled by specifying |
1165 | the three colon separated values | 1113 | the three colon separated values |
1166 | .Dq start:rate:full | 1114 | start:rate:full (e.g. "10:30:60"). |
1167 | (e.g. "10:30:60"). | ||
1168 | .Xr sshd 8 | 1115 | .Xr sshd 8 |
1169 | will refuse connection attempts with a probability of | 1116 | will refuse connection attempts with a probability of rate/100 (30%) |
1170 | .Dq rate/100 | 1117 | if there are currently start (10) unauthenticated connections. |
1171 | (30%) | ||
1172 | if there are currently | ||
1173 | .Dq start | ||
1174 | (10) | ||
1175 | unauthenticated connections. | ||
1176 | The probability increases linearly and all connection attempts | 1118 | The probability increases linearly and all connection attempts |
1177 | are refused if the number of unauthenticated connections reaches | 1119 | are refused if the number of unauthenticated connections reaches full (60). |
1178 | .Dq full | ||
1179 | (60). | ||
1180 | .It Cm PasswordAuthentication | 1120 | .It Cm PasswordAuthentication |
1181 | Specifies whether password authentication is allowed. | 1121 | Specifies whether password authentication is allowed. |
1182 | The default is | 1122 | The default is |
1183 | .Dq yes . | 1123 | .Cm yes . |
1184 | .It Cm PermitEmptyPasswords | 1124 | .It Cm PermitEmptyPasswords |
1185 | When password authentication is allowed, it specifies whether the | 1125 | When password authentication is allowed, it specifies whether the |
1186 | server allows login to accounts with empty password strings. | 1126 | server allows login to accounts with empty password strings. |
1187 | The default is | 1127 | The default is |
1188 | .Dq no . | 1128 | .Cm no . |
1189 | .It Cm PermitOpen | 1129 | .It Cm PermitOpen |
1190 | Specifies the destinations to which TCP port forwarding is permitted. | 1130 | Specifies the destinations to which TCP port forwarding is permitted. |
1191 | The forwarding specification must be one of the following forms: | 1131 | The forwarding specification must be one of the following forms: |
@@ -1210,36 +1150,36 @@ The forwarding specification must be one of the following forms: | |||
1210 | .Pp | 1150 | .Pp |
1211 | Multiple forwards may be specified by separating them with whitespace. | 1151 | Multiple forwards may be specified by separating them with whitespace. |
1212 | An argument of | 1152 | An argument of |
1213 | .Dq any | 1153 | .Cm any |
1214 | can be used to remove all restrictions and permit any forwarding requests. | 1154 | can be used to remove all restrictions and permit any forwarding requests. |
1215 | An argument of | 1155 | An argument of |
1216 | .Dq none | 1156 | .Cm none |
1217 | can be used to prohibit all forwarding requests. | 1157 | can be used to prohibit all forwarding requests. |
1218 | The wildcard | 1158 | The wildcard |
1219 | .Dq * | 1159 | .Sq * |
1220 | can be used for host or port to allow all hosts or ports, respectively. | 1160 | can be used for host or port to allow all hosts or ports, respectively. |
1221 | By default all port forwarding requests are permitted. | 1161 | By default all port forwarding requests are permitted. |
1222 | .It Cm PermitRootLogin | 1162 | .It Cm PermitRootLogin |
1223 | Specifies whether root can log in using | 1163 | Specifies whether root can log in using |
1224 | .Xr ssh 1 . | 1164 | .Xr ssh 1 . |
1225 | The argument must be | 1165 | The argument must be |
1226 | .Dq yes , | 1166 | .Cm yes , |
1227 | .Dq prohibit-password , | 1167 | .Cm prohibit-password , |
1228 | .Dq without-password , | 1168 | .Cm without-password , |
1229 | .Dq forced-commands-only , | 1169 | .Cm forced-commands-only , |
1230 | or | 1170 | or |
1231 | .Dq no . | 1171 | .Cm no . |
1232 | The default is | 1172 | The default is |
1233 | .Dq prohibit-password . | 1173 | .Cm prohibit-password . |
1234 | .Pp | 1174 | .Pp |
1235 | If this option is set to | 1175 | If this option is set to |
1236 | .Dq prohibit-password | 1176 | .Cm prohibit-password |
1237 | or | 1177 | or |
1238 | .Dq without-password , | 1178 | .Cm without-password , |
1239 | password and keyboard-interactive authentication are disabled for root. | 1179 | password and keyboard-interactive authentication are disabled for root. |
1240 | .Pp | 1180 | .Pp |
1241 | If this option is set to | 1181 | If this option is set to |
1242 | .Dq forced-commands-only , | 1182 | .Cm forced-commands-only , |
1243 | root login with public key authentication will be allowed, | 1183 | root login with public key authentication will be allowed, |
1244 | but only if the | 1184 | but only if the |
1245 | .Ar command | 1185 | .Ar command |
@@ -1249,37 +1189,37 @@ normally not allowed). | |||
1249 | All other authentication methods are disabled for root. | 1189 | All other authentication methods are disabled for root. |
1250 | .Pp | 1190 | .Pp |
1251 | If this option is set to | 1191 | If this option is set to |
1252 | .Dq no , | 1192 | .Cm no , |
1253 | root is not allowed to log in. | 1193 | root is not allowed to log in. |
1194 | .It Cm PermitTTY | ||
1195 | Specifies whether | ||
1196 | .Xr pty 4 | ||
1197 | allocation is permitted. | ||
1198 | The default is | ||
1199 | .Cm yes . | ||
1254 | .It Cm PermitTunnel | 1200 | .It Cm PermitTunnel |
1255 | Specifies whether | 1201 | Specifies whether |
1256 | .Xr tun 4 | 1202 | .Xr tun 4 |
1257 | device forwarding is allowed. | 1203 | device forwarding is allowed. |
1258 | The argument must be | 1204 | The argument must be |
1259 | .Dq yes , | 1205 | .Cm yes , |
1260 | .Dq point-to-point | 1206 | .Cm point-to-point |
1261 | (layer 3), | 1207 | (layer 3), |
1262 | .Dq ethernet | 1208 | .Cm ethernet |
1263 | (layer 2), or | 1209 | (layer 2), or |
1264 | .Dq no . | 1210 | .Cm no . |
1265 | Specifying | 1211 | Specifying |
1266 | .Dq yes | 1212 | .Cm yes |
1267 | permits both | 1213 | permits both |
1268 | .Dq point-to-point | 1214 | .Cm point-to-point |
1269 | and | 1215 | and |
1270 | .Dq ethernet . | 1216 | .Cm ethernet . |
1271 | The default is | 1217 | The default is |
1272 | .Dq no . | 1218 | .Cm no . |
1273 | .Pp | 1219 | .Pp |
1274 | Independent of this setting, the permissions of the selected | 1220 | Independent of this setting, the permissions of the selected |
1275 | .Xr tun 4 | 1221 | .Xr tun 4 |
1276 | device must allow access to the user. | 1222 | device must allow access to the user. |
1277 | .It Cm PermitTTY | ||
1278 | Specifies whether | ||
1279 | .Xr pty 4 | ||
1280 | allocation is permitted. | ||
1281 | The default is | ||
1282 | .Dq yes . | ||
1283 | .It Cm PermitUserEnvironment | 1223 | .It Cm PermitUserEnvironment |
1284 | Specifies whether | 1224 | Specifies whether |
1285 | .Pa ~/.ssh/environment | 1225 | .Pa ~/.ssh/environment |
@@ -1290,7 +1230,7 @@ options in | |||
1290 | are processed by | 1230 | are processed by |
1291 | .Xr sshd 8 . | 1231 | .Xr sshd 8 . |
1292 | The default is | 1232 | The default is |
1293 | .Dq no . | 1233 | .Cm no . |
1294 | Enabling environment processing may enable users to bypass access | 1234 | Enabling environment processing may enable users to bypass access |
1295 | restrictions in some configurations using mechanisms such as | 1235 | restrictions in some configurations using mechanisms such as |
1296 | .Ev LD_PRELOAD . | 1236 | .Ev LD_PRELOAD . |
@@ -1299,11 +1239,11 @@ Specifies whether any | |||
1299 | .Pa ~/.ssh/rc | 1239 | .Pa ~/.ssh/rc |
1300 | file is executed. | 1240 | file is executed. |
1301 | The default is | 1241 | The default is |
1302 | .Dq yes . | 1242 | .Cm yes . |
1303 | .It Cm PidFile | 1243 | .It Cm PidFile |
1304 | Specifies the file that contains the process ID of the | 1244 | Specifies the file that contains the process ID of the |
1305 | SSH daemon, or | 1245 | SSH daemon, or |
1306 | .Dq none | 1246 | .Cm none |
1307 | to not write one. | 1247 | to not write one. |
1308 | The default is | 1248 | The default is |
1309 | .Pa /var/run/sshd.pid . | 1249 | .Pa /var/run/sshd.pid . |
@@ -1321,7 +1261,7 @@ Specifies whether | |||
1321 | should print the date and time of the last user login when a user logs | 1261 | should print the date and time of the last user login when a user logs |
1322 | in interactively. | 1262 | in interactively. |
1323 | The default is | 1263 | The default is |
1324 | .Dq yes . | 1264 | .Cm yes . |
1325 | .It Cm PrintMotd | 1265 | .It Cm PrintMotd |
1326 | Specifies whether | 1266 | Specifies whether |
1327 | .Xr sshd 8 | 1267 | .Xr sshd 8 |
@@ -1332,29 +1272,7 @@ when a user logs in interactively. | |||
1332 | .Pa /etc/profile , | 1272 | .Pa /etc/profile , |
1333 | or equivalent.) | 1273 | or equivalent.) |
1334 | The default is | 1274 | The default is |
1335 | .Dq yes . | 1275 | .Cm yes . |
1336 | .It Cm Protocol | ||
1337 | Specifies the protocol versions | ||
1338 | .Xr sshd 8 | ||
1339 | supports. | ||
1340 | The possible values are | ||
1341 | .Sq 1 | ||
1342 | and | ||
1343 | .Sq 2 . | ||
1344 | Multiple versions must be comma-separated. | ||
1345 | The default is | ||
1346 | .Sq 2 . | ||
1347 | Protocol 1 suffers from a number of cryptographic weaknesses and should | ||
1348 | not be used. | ||
1349 | It is only offered to support legacy devices. | ||
1350 | .Pp | ||
1351 | Note that the order of the protocol list does not indicate preference, | ||
1352 | because the client selects among multiple protocol versions offered | ||
1353 | by the server. | ||
1354 | Specifying | ||
1355 | .Dq 2,1 | ||
1356 | is identical to | ||
1357 | .Dq 1,2 . | ||
1358 | .It Cm PubkeyAcceptedKeyTypes | 1276 | .It Cm PubkeyAcceptedKeyTypes |
1359 | Specifies the key types that will be accepted for public key authentication | 1277 | Specifies the key types that will be accepted for public key authentication |
1360 | as a comma-separated pattern list. | 1278 | as a comma-separated pattern list. |
@@ -1373,15 +1291,12 @@ ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, | |||
1373 | ssh-ed25519,ssh-rsa | 1291 | ssh-ed25519,ssh-rsa |
1374 | .Ed | 1292 | .Ed |
1375 | .Pp | 1293 | .Pp |
1376 | The | 1294 | The list of available key types may also be obtained using |
1377 | .Fl Q | 1295 | .Qq ssh -Q key . |
1378 | option of | ||
1379 | .Xr ssh 1 | ||
1380 | may be used to list supported key types. | ||
1381 | .It Cm PubkeyAuthentication | 1296 | .It Cm PubkeyAuthentication |
1382 | Specifies whether public key authentication is allowed. | 1297 | Specifies whether public key authentication is allowed. |
1383 | The default is | 1298 | The default is |
1384 | .Dq yes . | 1299 | .Cm yes . |
1385 | .It Cm RekeyLimit | 1300 | .It Cm RekeyLimit |
1386 | Specifies the maximum amount of data that may be transmitted before the | 1301 | Specifies the maximum amount of data that may be transmitted before the |
1387 | session key is renegotiated, optionally followed a maximum amount of | 1302 | session key is renegotiated, optionally followed a maximum amount of |
@@ -1404,12 +1319,12 @@ section. | |||
1404 | The default value for | 1319 | The default value for |
1405 | .Cm RekeyLimit | 1320 | .Cm RekeyLimit |
1406 | is | 1321 | is |
1407 | .Dq default none , | 1322 | .Cm default none , |
1408 | which means that rekeying is performed after the cipher's default amount | 1323 | which means that rekeying is performed after the cipher's default amount |
1409 | of data has been sent or received and no time based rekeying is done. | 1324 | of data has been sent or received and no time based rekeying is done. |
1410 | .It Cm RevokedKeys | 1325 | .It Cm RevokedKeys |
1411 | Specifies revoked public keys file, or | 1326 | Specifies revoked public keys file, or |
1412 | .Dq none | 1327 | .Cm none |
1413 | to not use one. | 1328 | to not use one. |
1414 | Keys listed in this file will be refused for public key authentication. | 1329 | Keys listed in this file will be refused for public key authentication. |
1415 | Note that if this file is not readable, then public key authentication will | 1330 | Note that if this file is not readable, then public key authentication will |
@@ -1419,20 +1334,6 @@ an OpenSSH Key Revocation List (KRL) as generated by | |||
1419 | .Xr ssh-keygen 1 . | 1334 | .Xr ssh-keygen 1 . |
1420 | For more information on KRLs, see the KEY REVOCATION LISTS section in | 1335 | For more information on KRLs, see the KEY REVOCATION LISTS section in |
1421 | .Xr ssh-keygen 1 . | 1336 | .Xr ssh-keygen 1 . |
1422 | .It Cm RhostsRSAAuthentication | ||
1423 | Specifies whether rhosts or /etc/hosts.equiv authentication together | ||
1424 | with successful RSA host authentication is allowed. | ||
1425 | The default is | ||
1426 | .Dq no . | ||
1427 | This option applies to protocol version 1 only. | ||
1428 | .It Cm RSAAuthentication | ||
1429 | Specifies whether pure RSA authentication is allowed. | ||
1430 | The default is | ||
1431 | .Dq yes . | ||
1432 | This option applies to protocol version 1 only. | ||
1433 | .It Cm ServerKeyBits | ||
1434 | Defines the number of bits in the ephemeral protocol version 1 server key. | ||
1435 | The default and minimum value is 1024. | ||
1436 | .It Cm StreamLocalBindMask | 1337 | .It Cm StreamLocalBindMask |
1437 | Sets the octal file creation mode mask | 1338 | Sets the octal file creation mode mask |
1438 | .Pq umask | 1339 | .Pq umask |
@@ -1455,11 +1356,11 @@ will be unable to forward the port to the Unix-domain socket file. | |||
1455 | This option is only used for port forwarding to a Unix-domain socket file. | 1356 | This option is only used for port forwarding to a Unix-domain socket file. |
1456 | .Pp | 1357 | .Pp |
1457 | The argument must be | 1358 | The argument must be |
1458 | .Dq yes | 1359 | .Cm yes |
1459 | or | 1360 | or |
1460 | .Dq no . | 1361 | .Cm no . |
1461 | The default is | 1362 | The default is |
1462 | .Dq no . | 1363 | .Cm no . |
1463 | .It Cm StrictModes | 1364 | .It Cm StrictModes |
1464 | Specifies whether | 1365 | Specifies whether |
1465 | .Xr sshd 8 | 1366 | .Xr sshd 8 |
@@ -1468,7 +1369,7 @@ user's files and home directory before accepting login. | |||
1468 | This is normally desirable because novices sometimes accidentally leave their | 1369 | This is normally desirable because novices sometimes accidentally leave their |
1469 | directory or files world-writable. | 1370 | directory or files world-writable. |
1470 | The default is | 1371 | The default is |
1471 | .Dq yes . | 1372 | .Cm yes . |
1472 | Note that this does not apply to | 1373 | Note that this does not apply to |
1473 | .Cm ChrootDirectory , | 1374 | .Cm ChrootDirectory , |
1474 | whose permissions and ownership are checked unconditionally. | 1375 | whose permissions and ownership are checked unconditionally. |
@@ -1478,16 +1379,12 @@ Arguments should be a subsystem name and a command (with optional arguments) | |||
1478 | to execute upon subsystem request. | 1379 | to execute upon subsystem request. |
1479 | .Pp | 1380 | .Pp |
1480 | The command | 1381 | The command |
1481 | .Xr sftp-server 8 | 1382 | .Cm sftp-server |
1482 | implements the | 1383 | implements the SFTP file transfer subsystem. |
1483 | .Dq sftp | ||
1484 | file transfer subsystem. | ||
1485 | .Pp | 1384 | .Pp |
1486 | Alternately the name | 1385 | Alternately the name |
1487 | .Dq internal-sftp | 1386 | .Cm internal-sftp |
1488 | implements an in-process | 1387 | implements an in-process SFTP server. |
1489 | .Dq sftp | ||
1490 | server. | ||
1491 | This may simplify configurations using | 1388 | This may simplify configurations using |
1492 | .Cm ChrootDirectory | 1389 | .Cm ChrootDirectory |
1493 | to force a different filesystem root on clients. | 1390 | to force a different filesystem root on clients. |
@@ -1509,21 +1406,21 @@ connections will die if the route is down temporarily, and some people | |||
1509 | find it annoying. | 1406 | find it annoying. |
1510 | On the other hand, if TCP keepalives are not sent, | 1407 | On the other hand, if TCP keepalives are not sent, |
1511 | sessions may hang indefinitely on the server, leaving | 1408 | sessions may hang indefinitely on the server, leaving |
1512 | .Dq ghost | 1409 | .Qq ghost |
1513 | users and consuming server resources. | 1410 | users and consuming server resources. |
1514 | .Pp | 1411 | .Pp |
1515 | The default is | 1412 | The default is |
1516 | .Dq yes | 1413 | .Cm yes |
1517 | (to send TCP keepalive messages), and the server will notice | 1414 | (to send TCP keepalive messages), and the server will notice |
1518 | if the network goes down or the client host crashes. | 1415 | if the network goes down or the client host crashes. |
1519 | This avoids infinitely hanging sessions. | 1416 | This avoids infinitely hanging sessions. |
1520 | .Pp | 1417 | .Pp |
1521 | To disable TCP keepalive messages, the value should be set to | 1418 | To disable TCP keepalive messages, the value should be set to |
1522 | .Dq no . | 1419 | .Cm no . |
1523 | .It Cm TrustedUserCAKeys | 1420 | .It Cm TrustedUserCAKeys |
1524 | Specifies a file containing public keys of certificate authorities that are | 1421 | Specifies a file containing public keys of certificate authorities that are |
1525 | trusted to sign user certificates for authentication, or | 1422 | trusted to sign user certificates for authentication, or |
1526 | .Dq none | 1423 | .Cm none |
1527 | to not use one. | 1424 | to not use one. |
1528 | Keys are listed one per line; empty lines and comments starting with | 1425 | Keys are listed one per line; empty lines and comments starting with |
1529 | .Ql # | 1426 | .Ql # |
@@ -1544,7 +1441,7 @@ the resolved host name for the remote IP address maps back to the | |||
1544 | very same IP address. | 1441 | very same IP address. |
1545 | .Pp | 1442 | .Pp |
1546 | If this option is set to | 1443 | If this option is set to |
1547 | .Dq no | 1444 | .Cm no |
1548 | (the default) then only addresses and not host names may be used in | 1445 | (the default) then only addresses and not host names may be used in |
1549 | .Pa ~/.ssh/authorized_keys | 1446 | .Pa ~/.ssh/authorized_keys |
1550 | .Cm from | 1447 | .Cm from |
@@ -1553,29 +1450,10 @@ and | |||
1553 | .Cm Match | 1450 | .Cm Match |
1554 | .Cm Host | 1451 | .Cm Host |
1555 | directives. | 1452 | directives. |
1556 | .It Cm UseLogin | ||
1557 | Specifies whether | ||
1558 | .Xr login 1 | ||
1559 | is used for interactive login sessions. | ||
1560 | The default is | ||
1561 | .Dq no . | ||
1562 | Note that | ||
1563 | .Xr login 1 | ||
1564 | is never used for remote command execution. | ||
1565 | Note also, that if this is enabled, | ||
1566 | .Cm X11Forwarding | ||
1567 | will be disabled because | ||
1568 | .Xr login 1 | ||
1569 | does not know how to handle | ||
1570 | .Xr xauth 1 | ||
1571 | cookies. | ||
1572 | If | ||
1573 | .Cm UsePrivilegeSeparation | ||
1574 | is specified, it will be disabled after authentication. | ||
1575 | .It Cm UsePAM | 1453 | .It Cm UsePAM |
1576 | Enables the Pluggable Authentication Module interface. | 1454 | Enables the Pluggable Authentication Module interface. |
1577 | If set to | 1455 | If set to |
1578 | .Dq yes | 1456 | .Cm yes |
1579 | this will enable PAM authentication using | 1457 | this will enable PAM authentication using |
1580 | .Cm ChallengeResponseAuthentication | 1458 | .Cm ChallengeResponseAuthentication |
1581 | and | 1459 | and |
@@ -1595,7 +1473,7 @@ is enabled, you will not be able to run | |||
1595 | .Xr sshd 8 | 1473 | .Xr sshd 8 |
1596 | as a non-root user. | 1474 | as a non-root user. |
1597 | The default is | 1475 | The default is |
1598 | .Dq no . | 1476 | .Cm no . |
1599 | .It Cm UsePrivilegeSeparation | 1477 | .It Cm UsePrivilegeSeparation |
1600 | Specifies whether | 1478 | Specifies whether |
1601 | .Xr sshd 8 | 1479 | .Xr sshd 8 |
@@ -1606,23 +1484,23 @@ the privilege of the authenticated user. | |||
1606 | The goal of privilege separation is to prevent privilege | 1484 | The goal of privilege separation is to prevent privilege |
1607 | escalation by containing any corruption within the unprivileged processes. | 1485 | escalation by containing any corruption within the unprivileged processes. |
1608 | The argument must be | 1486 | The argument must be |
1609 | .Dq yes , | 1487 | .Cm yes , |
1610 | .Dq no , | 1488 | .Cm no , |
1611 | or | 1489 | or |
1612 | .Dq sandbox . | 1490 | .Cm sandbox . |
1613 | If | 1491 | If |
1614 | .Cm UsePrivilegeSeparation | 1492 | .Cm UsePrivilegeSeparation |
1615 | is set to | 1493 | is set to |
1616 | .Dq sandbox | 1494 | .Cm sandbox |
1617 | then the pre-authentication unprivileged process is subject to additional | 1495 | then the pre-authentication unprivileged process is subject to additional |
1618 | restrictions. | 1496 | restrictions. |
1619 | The default is | 1497 | The default is |
1620 | .Dq sandbox . | 1498 | .Cm sandbox . |
1621 | .It Cm VersionAddendum | 1499 | .It Cm VersionAddendum |
1622 | Optionally specifies additional text to append to the SSH protocol banner | 1500 | Optionally specifies additional text to append to the SSH protocol banner |
1623 | sent by the server upon connection. | 1501 | sent by the server upon connection. |
1624 | The default is | 1502 | The default is |
1625 | .Dq none . | 1503 | .Cm none . |
1626 | .It Cm X11DisplayOffset | 1504 | .It Cm X11DisplayOffset |
1627 | Specifies the first display number available for | 1505 | Specifies the first display number available for |
1628 | .Xr sshd 8 Ns 's | 1506 | .Xr sshd 8 Ns 's |
@@ -1632,18 +1510,18 @@ The default is 10. | |||
1632 | .It Cm X11Forwarding | 1510 | .It Cm X11Forwarding |
1633 | Specifies whether X11 forwarding is permitted. | 1511 | Specifies whether X11 forwarding is permitted. |
1634 | The argument must be | 1512 | The argument must be |
1635 | .Dq yes | 1513 | .Cm yes |
1636 | or | 1514 | or |
1637 | .Dq no . | 1515 | .Cm no . |
1638 | The default is | 1516 | The default is |
1639 | .Dq no . | 1517 | .Cm no . |
1640 | .Pp | 1518 | .Pp |
1641 | When X11 forwarding is enabled, there may be additional exposure to | 1519 | When X11 forwarding is enabled, there may be additional exposure to |
1642 | the server and to client displays if the | 1520 | the server and to client displays if the |
1643 | .Xr sshd 8 | 1521 | .Xr sshd 8 |
1644 | proxy display is configured to listen on the wildcard address (see | 1522 | proxy display is configured to listen on the wildcard address (see |
1645 | .Cm X11UseLocalhost | 1523 | .Cm X11UseLocalhost ) , |
1646 | below), though this is not the default. | 1524 | though this is not the default. |
1647 | Additionally, the authentication spoofing and authentication data | 1525 | Additionally, the authentication spoofing and authentication data |
1648 | verification and substitution occur on the client side. | 1526 | verification and substitution occur on the client side. |
1649 | The security risk of using X11 forwarding is that the client's X11 | 1527 | The security risk of using X11 forwarding is that the client's X11 |
@@ -1655,14 +1533,11 @@ in | |||
1655 | A system administrator may have a stance in which they want to | 1533 | A system administrator may have a stance in which they want to |
1656 | protect clients that may expose themselves to attack by unwittingly | 1534 | protect clients that may expose themselves to attack by unwittingly |
1657 | requesting X11 forwarding, which can warrant a | 1535 | requesting X11 forwarding, which can warrant a |
1658 | .Dq no | 1536 | .Cm no |
1659 | setting. | 1537 | setting. |
1660 | .Pp | 1538 | .Pp |
1661 | Note that disabling X11 forwarding does not prevent users from | 1539 | Note that disabling X11 forwarding does not prevent users from |
1662 | forwarding X11 traffic, as users can always install their own forwarders. | 1540 | forwarding X11 traffic, as users can always install their own forwarders. |
1663 | X11 forwarding is automatically disabled if | ||
1664 | .Cm UseLogin | ||
1665 | is enabled. | ||
1666 | .It Cm X11UseLocalhost | 1541 | .It Cm X11UseLocalhost |
1667 | Specifies whether | 1542 | Specifies whether |
1668 | .Xr sshd 8 | 1543 | .Xr sshd 8 |
@@ -1673,26 +1548,26 @@ sshd binds the forwarding server to the loopback address and sets the | |||
1673 | hostname part of the | 1548 | hostname part of the |
1674 | .Ev DISPLAY | 1549 | .Ev DISPLAY |
1675 | environment variable to | 1550 | environment variable to |
1676 | .Dq localhost . | 1551 | .Cm localhost . |
1677 | This prevents remote hosts from connecting to the proxy display. | 1552 | This prevents remote hosts from connecting to the proxy display. |
1678 | However, some older X11 clients may not function with this | 1553 | However, some older X11 clients may not function with this |
1679 | configuration. | 1554 | configuration. |
1680 | .Cm X11UseLocalhost | 1555 | .Cm X11UseLocalhost |
1681 | may be set to | 1556 | may be set to |
1682 | .Dq no | 1557 | .Cm no |
1683 | to specify that the forwarding server should be bound to the wildcard | 1558 | to specify that the forwarding server should be bound to the wildcard |
1684 | address. | 1559 | address. |
1685 | The argument must be | 1560 | The argument must be |
1686 | .Dq yes | 1561 | .Cm yes |
1687 | or | 1562 | or |
1688 | .Dq no . | 1563 | .Cm no . |
1689 | The default is | 1564 | The default is |
1690 | .Dq yes . | 1565 | .Cm yes . |
1691 | .It Cm XAuthLocation | 1566 | .It Cm XAuthLocation |
1692 | Specifies the full pathname of the | 1567 | Specifies the full pathname of the |
1693 | .Xr xauth 1 | 1568 | .Xr xauth 1 |
1694 | program, or | 1569 | program, or |
1695 | .Dq none | 1570 | .Cm none |
1696 | to not use one. | 1571 | to not use one. |
1697 | The default is | 1572 | The default is |
1698 | .Pa /usr/X11R6/bin/xauth . | 1573 | .Pa /usr/X11R6/bin/xauth . |
@@ -1738,6 +1613,50 @@ Time format examples: | |||
1738 | .It 1h30m | 1613 | .It 1h30m |
1739 | 1 hour 30 minutes (90 minutes) | 1614 | 1 hour 30 minutes (90 minutes) |
1740 | .El | 1615 | .El |
1616 | .Sh TOKENS | ||
1617 | Arguments to some keywords can make use of tokens, | ||
1618 | which are expanded at runtime: | ||
1619 | .Pp | ||
1620 | .Bl -tag -width XXXX -offset indent -compact | ||
1621 | .It %% | ||
1622 | A literal | ||
1623 | .Sq % . | ||
1624 | .It %F | ||
1625 | The fingerprint of the CA key. | ||
1626 | .It %f | ||
1627 | The fingerprint of the key or certificate. | ||
1628 | .It %h | ||
1629 | The home directory of the user. | ||
1630 | .It %i | ||
1631 | The key ID in the certificate. | ||
1632 | .It %K | ||
1633 | The base64-encoded CA key. | ||
1634 | .It %k | ||
1635 | The base64-encoded key or certificate for authentication. | ||
1636 | .It %s | ||
1637 | The serial number of the certificate. | ||
1638 | .It \&%T | ||
1639 | The type of the CA key. | ||
1640 | .It %t | ||
1641 | The key or certificate type. | ||
1642 | .It %u | ||
1643 | The username. | ||
1644 | .El | ||
1645 | .Pp | ||
1646 | .Cm AuthorizedKeysCommand | ||
1647 | accepts the tokens %%, %f, %h, %t, and %u. | ||
1648 | .Pp | ||
1649 | .Cm AuthorizedKeysFile | ||
1650 | accepts the tokens %%, %h, and %u. | ||
1651 | .Pp | ||
1652 | .Cm AuthorizedPrincipalsCommand | ||
1653 | accepts the tokens %%, %F, %f, %K, %k, %h, %i, %s, %T, %t, and %u. | ||
1654 | .Pp | ||
1655 | .Cm AuthorizedPrincipalsFile | ||
1656 | accepts the tokens %%, %h, and %u. | ||
1657 | .Pp | ||
1658 | .Cm ChrootDirectory | ||
1659 | accepts the tokens %%, %h, and %u. | ||
1741 | .Sh FILES | 1660 | .Sh FILES |
1742 | .Bl -tag -width Ds | 1661 | .Bl -tag -width Ds |
1743 | .It Pa /etc/ssh/sshd_config | 1662 | .It Pa /etc/ssh/sshd_config |
@@ -1747,15 +1666,22 @@ This file should be writable by root only, but it is recommended | |||
1747 | (though not necessary) that it be world-readable. | 1666 | (though not necessary) that it be world-readable. |
1748 | .El | 1667 | .El |
1749 | .Sh SEE ALSO | 1668 | .Sh SEE ALSO |
1669 | .Xr sftp-server 8 , | ||
1750 | .Xr sshd 8 | 1670 | .Xr sshd 8 |
1751 | .Sh AUTHORS | 1671 | .Sh AUTHORS |
1672 | .An -nosplit | ||
1752 | OpenSSH is a derivative of the original and free | 1673 | OpenSSH is a derivative of the original and free |
1753 | ssh 1.2.12 release by Tatu Ylonen. | 1674 | ssh 1.2.12 release by |
1754 | Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, | 1675 | .An Tatu Ylonen . |
1755 | Theo de Raadt and Dug Song | 1676 | .An Aaron Campbell , Bob Beck , Markus Friedl , Niels Provos , |
1677 | .An Theo de Raadt | ||
1678 | and | ||
1679 | .An Dug Song | ||
1756 | removed many bugs, re-added newer features and | 1680 | removed many bugs, re-added newer features and |
1757 | created OpenSSH. | 1681 | created OpenSSH. |
1758 | Markus Friedl contributed the support for SSH | 1682 | .An Markus Friedl |
1759 | protocol versions 1.5 and 2.0. | 1683 | contributed the support for SSH protocol versions 1.5 and 2.0. |
1760 | Niels Provos and Markus Friedl contributed support | 1684 | .An Niels Provos |
1761 | for privilege separation. | 1685 | and |
1686 | .An Markus Friedl | ||
1687 | contributed support for privilege separation. | ||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshkey.c,v 1.35 2016/06/19 07:48:02 djm Exp $ */ | 1 | /* $OpenBSD: sshkey.c,v 1.41 2016/10/24 01:09:17 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. |
4 | * Copyright (c) 2008 Alexander von Gernler. All rights reserved. | 4 | * Copyright (c) 2008 Alexander von Gernler. All rights reserved. |
@@ -27,7 +27,6 @@ | |||
27 | 27 | ||
28 | #include "includes.h" | 28 | #include "includes.h" |
29 | 29 | ||
30 | #include <sys/param.h> /* MIN MAX */ | ||
31 | #include <sys/types.h> | 30 | #include <sys/types.h> |
32 | #include <netinet/in.h> | 31 | #include <netinet/in.h> |
33 | 32 | ||
@@ -196,7 +195,7 @@ sshkey_ecdsa_nid_from_name(const char *name) | |||
196 | } | 195 | } |
197 | 196 | ||
198 | char * | 197 | char * |
199 | key_alg_list(int certs_only, int plain_only) | 198 | sshkey_alg_list(int certs_only, int plain_only, char sep) |
200 | { | 199 | { |
201 | char *tmp, *ret = NULL; | 200 | char *tmp, *ret = NULL; |
202 | size_t nlen, rlen = 0; | 201 | size_t nlen, rlen = 0; |
@@ -208,7 +207,7 @@ key_alg_list(int certs_only, int plain_only) | |||
208 | if ((certs_only && !kt->cert) || (plain_only && kt->cert)) | 207 | if ((certs_only && !kt->cert) || (plain_only && kt->cert)) |
209 | continue; | 208 | continue; |
210 | if (ret != NULL) | 209 | if (ret != NULL) |
211 | ret[rlen++] = '\n'; | 210 | ret[rlen++] = sep; |
212 | nlen = strlen(kt->name); | 211 | nlen = strlen(kt->name); |
213 | if ((tmp = realloc(ret, rlen + nlen + 2)) == NULL) { | 212 | if ((tmp = realloc(ret, rlen + nlen + 2)) == NULL) { |
214 | free(ret); | 213 | free(ret); |
@@ -513,7 +512,6 @@ sshkey_new(int type) | |||
513 | default: | 512 | default: |
514 | free(k); | 513 | free(k); |
515 | return NULL; | 514 | return NULL; |
516 | break; | ||
517 | } | 515 | } |
518 | 516 | ||
519 | if (sshkey_is_cert(k)) { | 517 | if (sshkey_is_cert(k)) { |
@@ -888,9 +886,12 @@ sshkey_fingerprint_raw(const struct sshkey *k, int dgst_alg, | |||
888 | int nlen = BN_num_bytes(k->rsa->n); | 886 | int nlen = BN_num_bytes(k->rsa->n); |
889 | int elen = BN_num_bytes(k->rsa->e); | 887 | int elen = BN_num_bytes(k->rsa->e); |
890 | 888 | ||
889 | if (nlen < 0 || elen < 0 || nlen >= INT_MAX - elen) { | ||
890 | r = SSH_ERR_INVALID_FORMAT; | ||
891 | goto out; | ||
892 | } | ||
891 | blob_len = nlen + elen; | 893 | blob_len = nlen + elen; |
892 | if (nlen >= INT_MAX - elen || | 894 | if ((blob = malloc(blob_len)) == NULL) { |
893 | (blob = malloc(blob_len)) == NULL) { | ||
894 | r = SSH_ERR_ALLOC_FAIL; | 895 | r = SSH_ERR_ALLOC_FAIL; |
895 | goto out; | 896 | goto out; |
896 | } | 897 | } |
@@ -1082,10 +1083,10 @@ fingerprint_randomart(const char *alg, u_char *dgst_raw, size_t dgst_raw_len, | |||
1082 | y += (input & 0x2) ? 1 : -1; | 1083 | y += (input & 0x2) ? 1 : -1; |
1083 | 1084 | ||
1084 | /* assure we are still in bounds */ | 1085 | /* assure we are still in bounds */ |
1085 | x = MAX(x, 0); | 1086 | x = MAXIMUM(x, 0); |
1086 | y = MAX(y, 0); | 1087 | y = MAXIMUM(y, 0); |
1087 | x = MIN(x, FLDSIZE_X - 1); | 1088 | x = MINIMUM(x, FLDSIZE_X - 1); |
1088 | y = MIN(y, FLDSIZE_Y - 1); | 1089 | y = MINIMUM(y, FLDSIZE_Y - 1); |
1089 | 1090 | ||
1090 | /* augment the field */ | 1091 | /* augment the field */ |
1091 | if (field[x][y] < len - 2) | 1092 | if (field[x][y] < len - 2) |
@@ -1126,7 +1127,7 @@ fingerprint_randomart(const char *alg, u_char *dgst_raw, size_t dgst_raw_len, | |||
1126 | for (y = 0; y < FLDSIZE_Y; y++) { | 1127 | for (y = 0; y < FLDSIZE_Y; y++) { |
1127 | *p++ = '|'; | 1128 | *p++ = '|'; |
1128 | for (x = 0; x < FLDSIZE_X; x++) | 1129 | for (x = 0; x < FLDSIZE_X; x++) |
1129 | *p++ = augmentation_string[MIN(field[x][y], len)]; | 1130 | *p++ = augmentation_string[MINIMUM(field[x][y], len)]; |
1130 | *p++ = '|'; | 1131 | *p++ = '|'; |
1131 | *p++ = '\n'; | 1132 | *p++ = '\n'; |
1132 | } | 1133 | } |
@@ -2862,6 +2863,14 @@ sshkey_ec_validate_public(const EC_GROUP *group, const EC_POINT *public) | |||
2862 | BIGNUM *order, *x, *y, *tmp; | 2863 | BIGNUM *order, *x, *y, *tmp; |
2863 | int ret = SSH_ERR_KEY_INVALID_EC_VALUE; | 2864 | int ret = SSH_ERR_KEY_INVALID_EC_VALUE; |
2864 | 2865 | ||
2866 | /* | ||
2867 | * NB. This assumes OpenSSL has already verified that the public | ||
2868 | * point lies on the curve. This is done by EC_POINT_oct2point() | ||
2869 | * implicitly calling EC_POINT_is_on_curve(). If this code is ever | ||
2870 | * reachable with public points not unmarshalled using | ||
2871 | * EC_POINT_oct2point then the caller will need to explicitly check. | ||
2872 | */ | ||
2873 | |||
2865 | if ((bnctx = BN_CTX_new()) == NULL) | 2874 | if ((bnctx = BN_CTX_new()) == NULL) |
2866 | return SSH_ERR_ALLOC_FAIL; | 2875 | return SSH_ERR_ALLOC_FAIL; |
2867 | BN_CTX_start(bnctx); | 2876 | BN_CTX_start(bnctx); |
@@ -3029,13 +3038,11 @@ sshkey_private_to_blob2(const struct sshkey *prv, struct sshbuf *blob, | |||
3029 | size_t i, pubkeylen, keylen, ivlen, blocksize, authlen; | 3038 | size_t i, pubkeylen, keylen, ivlen, blocksize, authlen; |
3030 | u_int check; | 3039 | u_int check; |
3031 | int r = SSH_ERR_INTERNAL_ERROR; | 3040 | int r = SSH_ERR_INTERNAL_ERROR; |
3032 | struct sshcipher_ctx ciphercontext; | 3041 | struct sshcipher_ctx *ciphercontext = NULL; |
3033 | const struct sshcipher *cipher; | 3042 | const struct sshcipher *cipher; |
3034 | const char *kdfname = KDFNAME; | 3043 | const char *kdfname = KDFNAME; |
3035 | struct sshbuf *encoded = NULL, *encrypted = NULL, *kdf = NULL; | 3044 | struct sshbuf *encoded = NULL, *encrypted = NULL, *kdf = NULL; |
3036 | 3045 | ||
3037 | memset(&ciphercontext, 0, sizeof(ciphercontext)); | ||
3038 | |||
3039 | if (rounds <= 0) | 3046 | if (rounds <= 0) |
3040 | rounds = DEFAULT_ROUNDS; | 3047 | rounds = DEFAULT_ROUNDS; |
3041 | if (passphrase == NULL || !strlen(passphrase)) { | 3048 | if (passphrase == NULL || !strlen(passphrase)) { |
@@ -3122,7 +3129,7 @@ sshkey_private_to_blob2(const struct sshkey *prv, struct sshbuf *blob, | |||
3122 | if ((r = sshbuf_reserve(encoded, | 3129 | if ((r = sshbuf_reserve(encoded, |
3123 | sshbuf_len(encrypted) + authlen, &cp)) != 0) | 3130 | sshbuf_len(encrypted) + authlen, &cp)) != 0) |
3124 | goto out; | 3131 | goto out; |
3125 | if ((r = cipher_crypt(&ciphercontext, 0, cp, | 3132 | if ((r = cipher_crypt(ciphercontext, 0, cp, |
3126 | sshbuf_ptr(encrypted), sshbuf_len(encrypted), 0, authlen)) != 0) | 3133 | sshbuf_ptr(encrypted), sshbuf_len(encrypted), 0, authlen)) != 0) |
3127 | goto out; | 3134 | goto out; |
3128 | 3135 | ||
@@ -3154,7 +3161,7 @@ sshkey_private_to_blob2(const struct sshkey *prv, struct sshbuf *blob, | |||
3154 | sshbuf_free(kdf); | 3161 | sshbuf_free(kdf); |
3155 | sshbuf_free(encoded); | 3162 | sshbuf_free(encoded); |
3156 | sshbuf_free(encrypted); | 3163 | sshbuf_free(encrypted); |
3157 | cipher_cleanup(&ciphercontext); | 3164 | cipher_free(ciphercontext); |
3158 | explicit_bzero(salt, sizeof(salt)); | 3165 | explicit_bzero(salt, sizeof(salt)); |
3159 | if (key != NULL) { | 3166 | if (key != NULL) { |
3160 | explicit_bzero(key, keylen + ivlen); | 3167 | explicit_bzero(key, keylen + ivlen); |
@@ -3183,12 +3190,11 @@ sshkey_parse_private2(struct sshbuf *blob, int type, const char *passphrase, | |||
3183 | size_t i, keylen = 0, ivlen = 0, authlen = 0, slen = 0; | 3190 | size_t i, keylen = 0, ivlen = 0, authlen = 0, slen = 0; |
3184 | struct sshbuf *encoded = NULL, *decoded = NULL; | 3191 | struct sshbuf *encoded = NULL, *decoded = NULL; |
3185 | struct sshbuf *kdf = NULL, *decrypted = NULL; | 3192 | struct sshbuf *kdf = NULL, *decrypted = NULL; |
3186 | struct sshcipher_ctx ciphercontext; | 3193 | struct sshcipher_ctx *ciphercontext = NULL; |
3187 | struct sshkey *k = NULL; | 3194 | struct sshkey *k = NULL; |
3188 | u_char *key = NULL, *salt = NULL, *dp, pad, last; | 3195 | u_char *key = NULL, *salt = NULL, *dp, pad, last; |
3189 | u_int blocksize, rounds, nkeys, encrypted_len, check1, check2; | 3196 | u_int blocksize, rounds, nkeys, encrypted_len, check1, check2; |
3190 | 3197 | ||
3191 | memset(&ciphercontext, 0, sizeof(ciphercontext)); | ||
3192 | if (keyp != NULL) | 3198 | if (keyp != NULL) |
3193 | *keyp = NULL; | 3199 | *keyp = NULL; |
3194 | if (commentp != NULL) | 3200 | if (commentp != NULL) |
@@ -3317,7 +3323,7 @@ sshkey_parse_private2(struct sshbuf *blob, int type, const char *passphrase, | |||
3317 | (r = cipher_init(&ciphercontext, cipher, key, keylen, | 3323 | (r = cipher_init(&ciphercontext, cipher, key, keylen, |
3318 | key + keylen, ivlen, 0)) != 0) | 3324 | key + keylen, ivlen, 0)) != 0) |
3319 | goto out; | 3325 | goto out; |
3320 | if ((r = cipher_crypt(&ciphercontext, 0, dp, sshbuf_ptr(decoded), | 3326 | if ((r = cipher_crypt(ciphercontext, 0, dp, sshbuf_ptr(decoded), |
3321 | encrypted_len, 0, authlen)) != 0) { | 3327 | encrypted_len, 0, authlen)) != 0) { |
3322 | /* an integrity error here indicates an incorrect passphrase */ | 3328 | /* an integrity error here indicates an incorrect passphrase */ |
3323 | if (r == SSH_ERR_MAC_INVALID) | 3329 | if (r == SSH_ERR_MAC_INVALID) |
@@ -3371,7 +3377,7 @@ sshkey_parse_private2(struct sshbuf *blob, int type, const char *passphrase, | |||
3371 | } | 3377 | } |
3372 | out: | 3378 | out: |
3373 | pad = 0; | 3379 | pad = 0; |
3374 | cipher_cleanup(&ciphercontext); | 3380 | cipher_free(ciphercontext); |
3375 | free(ciphername); | 3381 | free(ciphername); |
3376 | free(kdfname); | 3382 | free(kdfname); |
3377 | free(comment); | 3383 | free(comment); |
@@ -3405,7 +3411,7 @@ sshkey_private_rsa1_to_blob(struct sshkey *key, struct sshbuf *blob, | |||
3405 | struct sshbuf *buffer = NULL, *encrypted = NULL; | 3411 | struct sshbuf *buffer = NULL, *encrypted = NULL; |
3406 | u_char buf[8]; | 3412 | u_char buf[8]; |
3407 | int r, cipher_num; | 3413 | int r, cipher_num; |
3408 | struct sshcipher_ctx ciphercontext; | 3414 | struct sshcipher_ctx *ciphercontext = NULL; |
3409 | const struct sshcipher *cipher; | 3415 | const struct sshcipher *cipher; |
3410 | u_char *cp; | 3416 | u_char *cp; |
3411 | 3417 | ||
@@ -3475,16 +3481,14 @@ sshkey_private_rsa1_to_blob(struct sshkey *key, struct sshbuf *blob, | |||
3475 | if ((r = cipher_set_key_string(&ciphercontext, cipher, passphrase, | 3481 | if ((r = cipher_set_key_string(&ciphercontext, cipher, passphrase, |
3476 | CIPHER_ENCRYPT)) != 0) | 3482 | CIPHER_ENCRYPT)) != 0) |
3477 | goto out; | 3483 | goto out; |
3478 | if ((r = cipher_crypt(&ciphercontext, 0, cp, | 3484 | if ((r = cipher_crypt(ciphercontext, 0, cp, |
3479 | sshbuf_ptr(buffer), sshbuf_len(buffer), 0, 0)) != 0) | 3485 | sshbuf_ptr(buffer), sshbuf_len(buffer), 0, 0)) != 0) |
3480 | goto out; | 3486 | goto out; |
3481 | if ((r = cipher_cleanup(&ciphercontext)) != 0) | ||
3482 | goto out; | ||
3483 | 3487 | ||
3484 | r = sshbuf_putb(blob, encrypted); | 3488 | r = sshbuf_putb(blob, encrypted); |
3485 | 3489 | ||
3486 | out: | 3490 | out: |
3487 | explicit_bzero(&ciphercontext, sizeof(ciphercontext)); | 3491 | cipher_free(ciphercontext); |
3488 | explicit_bzero(buf, sizeof(buf)); | 3492 | explicit_bzero(buf, sizeof(buf)); |
3489 | sshbuf_free(buffer); | 3493 | sshbuf_free(buffer); |
3490 | sshbuf_free(encrypted); | 3494 | sshbuf_free(encrypted); |
@@ -3654,7 +3658,7 @@ sshkey_parse_private_rsa1(struct sshbuf *blob, const char *passphrase, | |||
3654 | struct sshbuf *decrypted = NULL, *copy = NULL; | 3658 | struct sshbuf *decrypted = NULL, *copy = NULL; |
3655 | u_char *cp; | 3659 | u_char *cp; |
3656 | char *comment = NULL; | 3660 | char *comment = NULL; |
3657 | struct sshcipher_ctx ciphercontext; | 3661 | struct sshcipher_ctx *ciphercontext = NULL; |
3658 | const struct sshcipher *cipher; | 3662 | const struct sshcipher *cipher; |
3659 | struct sshkey *prv = NULL; | 3663 | struct sshkey *prv = NULL; |
3660 | 3664 | ||
@@ -3712,12 +3716,8 @@ sshkey_parse_private_rsa1(struct sshbuf *blob, const char *passphrase, | |||
3712 | if ((r = cipher_set_key_string(&ciphercontext, cipher, passphrase, | 3716 | if ((r = cipher_set_key_string(&ciphercontext, cipher, passphrase, |
3713 | CIPHER_DECRYPT)) != 0) | 3717 | CIPHER_DECRYPT)) != 0) |
3714 | goto out; | 3718 | goto out; |
3715 | if ((r = cipher_crypt(&ciphercontext, 0, cp, | 3719 | if ((r = cipher_crypt(ciphercontext, 0, cp, |
3716 | sshbuf_ptr(copy), sshbuf_len(copy), 0, 0)) != 0) { | 3720 | sshbuf_ptr(copy), sshbuf_len(copy), 0, 0)) != 0) |
3717 | cipher_cleanup(&ciphercontext); | ||
3718 | goto out; | ||
3719 | } | ||
3720 | if ((r = cipher_cleanup(&ciphercontext)) != 0) | ||
3721 | goto out; | 3721 | goto out; |
3722 | 3722 | ||
3723 | if ((r = sshbuf_get_u16(decrypted, &check1)) != 0 || | 3723 | if ((r = sshbuf_get_u16(decrypted, &check1)) != 0 || |
@@ -3754,7 +3754,7 @@ sshkey_parse_private_rsa1(struct sshbuf *blob, const char *passphrase, | |||
3754 | comment = NULL; | 3754 | comment = NULL; |
3755 | } | 3755 | } |
3756 | out: | 3756 | out: |
3757 | explicit_bzero(&ciphercontext, sizeof(ciphercontext)); | 3757 | cipher_free(ciphercontext); |
3758 | free(comment); | 3758 | free(comment); |
3759 | sshkey_free(prv); | 3759 | sshkey_free(prv); |
3760 | sshbuf_free(copy); | 3760 | sshbuf_free(copy); |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshkey.h,v 1.13 2016/05/02 09:36:42 djm Exp $ */ | 1 | /* $OpenBSD: sshkey.h,v 1.14 2016/09/12 23:31:27 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. | 4 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. |
@@ -156,7 +156,7 @@ int sshkey_ec_validate_private(const EC_KEY *); | |||
156 | const char *sshkey_ssh_name(const struct sshkey *); | 156 | const char *sshkey_ssh_name(const struct sshkey *); |
157 | const char *sshkey_ssh_name_plain(const struct sshkey *); | 157 | const char *sshkey_ssh_name_plain(const struct sshkey *); |
158 | int sshkey_names_valid2(const char *, int); | 158 | int sshkey_names_valid2(const char *, int); |
159 | char *key_alg_list(int, int); | 159 | char *sshkey_alg_list(int, int, char); |
160 | 160 | ||
161 | int sshkey_from_blob(const u_char *, size_t, struct sshkey **); | 161 | int sshkey_from_blob(const u_char *, size_t, struct sshkey **); |
162 | int sshkey_fromb(struct sshbuf *, struct sshkey **); | 162 | int sshkey_fromb(struct sshbuf *, struct sshkey **); |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshpty.c,v 1.30 2015/07/30 23:09:15 djm Exp $ */ | 1 | /* $OpenBSD: sshpty.c,v 1.31 2016/11/29 03:54:50 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -155,11 +155,11 @@ pty_make_controlling_tty(int *ttyfd, const char *tty) | |||
155 | error("SETPGRP %s",strerror(errno)); | 155 | error("SETPGRP %s",strerror(errno)); |
156 | #endif /* NEED_SETPGRP */ | 156 | #endif /* NEED_SETPGRP */ |
157 | fd = open(tty, O_RDWR); | 157 | fd = open(tty, O_RDWR); |
158 | if (fd < 0) { | 158 | if (fd < 0) |
159 | error("%.100s: %.100s", tty, strerror(errno)); | 159 | error("%.100s: %.100s", tty, strerror(errno)); |
160 | } else { | 160 | else |
161 | close(fd); | 161 | close(fd); |
162 | } | 162 | |
163 | /* Verify that we now have a controlling tty. */ | 163 | /* Verify that we now have a controlling tty. */ |
164 | fd = open(_PATH_TTY, O_WRONLY); | 164 | fd = open(_PATH_TTY, O_WRONLY); |
165 | if (fd < 0) | 165 | if (fd < 0) |
@@ -238,3 +238,17 @@ pty_setowner(struct passwd *pw, const char *tty) | |||
238 | } | 238 | } |
239 | } | 239 | } |
240 | } | 240 | } |
241 | |||
242 | /* Disconnect from the controlling tty. */ | ||
243 | void | ||
244 | disconnect_controlling_tty(void) | ||
245 | { | ||
246 | #ifdef TIOCNOTTY | ||
247 | int fd; | ||
248 | |||
249 | if ((fd = open(_PATH_TTY, O_RDWR | O_NOCTTY)) >= 0) { | ||
250 | (void) ioctl(fd, TIOCNOTTY, NULL); | ||
251 | close(fd); | ||
252 | } | ||
253 | #endif /* TIOCNOTTY */ | ||
254 | } | ||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshpty.h,v 1.12 2010/01/09 05:04:24 djm Exp $ */ | 1 | /* $OpenBSD: sshpty.h,v 1.13 2016/11/29 03:54:50 dtucker Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -25,3 +25,4 @@ void pty_release(const char *); | |||
25 | void pty_make_controlling_tty(int *, const char *); | 25 | void pty_make_controlling_tty(int *, const char *); |
26 | void pty_change_window_size(int, u_int, u_int, u_int, u_int); | 26 | void pty_change_window_size(int, u_int, u_int, u_int, u_int); |
27 | void pty_setowner(struct passwd *, const char *); | 27 | void pty_setowner(struct passwd *, const char *); |
28 | void disconnect_controlling_tty(void); | ||
@@ -27,6 +27,7 @@ | |||
27 | # include <langinfo.h> | 27 | # include <langinfo.h> |
28 | #endif | 28 | #endif |
29 | #include <limits.h> | 29 | #include <limits.h> |
30 | #include <locale.h> | ||
30 | #include <stdarg.h> | 31 | #include <stdarg.h> |
31 | #include <stdio.h> | 32 | #include <stdio.h> |
32 | #include <stdlib.h> | 33 | #include <stdlib.h> |
@@ -288,3 +289,44 @@ mprintf(const char *fmt, ...) | |||
288 | va_end(ap); | 289 | va_end(ap); |
289 | return ret; | 290 | return ret; |
290 | } | 291 | } |
292 | |||
293 | /* | ||
294 | * Set up libc for multibyte output in the user's chosen locale. | ||
295 | * | ||
296 | * XXX: we are known to have problems with Turkish (i/I confusion) so we | ||
297 | * deliberately fall back to the C locale for now. Longer term we should | ||
298 | * always prefer to select C.[encoding] if possible, but there's no | ||
299 | * standardisation in locales between systems, so we'll need to survey | ||
300 | * what's out there first. | ||
301 | */ | ||
302 | void | ||
303 | msetlocale(void) | ||
304 | { | ||
305 | const char *vars[] = { "LC_ALL", "LC_CTYPE", "LANG", NULL }; | ||
306 | char *cp; | ||
307 | int i; | ||
308 | |||
309 | /* | ||
310 | * We can't yet cope with dotless/dotted I in Turkish locales, | ||
311 | * so fall back to the C locale for these. | ||
312 | */ | ||
313 | for (i = 0; vars[i] != NULL; i++) { | ||
314 | if ((cp = getenv(vars[i])) == NULL) | ||
315 | continue; | ||
316 | if (strncasecmp(cp, "TR", 2) != 0) | ||
317 | break; | ||
318 | /* | ||
319 | * If we're in a UTF-8 locale then prefer to use | ||
320 | * the C.UTF-8 locale (or equivalent) if it exists. | ||
321 | */ | ||
322 | if ((strcasestr(cp, "UTF-8") != NULL || | ||
323 | strcasestr(cp, "UTF8") != NULL) && | ||
324 | (setlocale(LC_CTYPE, "C.UTF-8") != NULL || | ||
325 | setlocale(LC_CTYPE, "POSIX.UTF-8") != NULL)) | ||
326 | return; | ||
327 | setlocale(LC_CTYPE, "C"); | ||
328 | return; | ||
329 | } | ||
330 | /* We can handle this locale */ | ||
331 | setlocale(LC_CTYPE, ""); | ||
332 | } | ||
@@ -22,3 +22,4 @@ int fmprintf(FILE *, const char *, ...) | |||
22 | int vfmprintf(FILE *, const char *, va_list); | 22 | int vfmprintf(FILE *, const char *, va_list); |
23 | int snmprintf(char *, size_t, int *, const char *, ...) | 23 | int snmprintf(char *, size_t, int *, const char *, ...) |
24 | __attribute__((format(printf, 4, 5))); | 24 | __attribute__((format(printf, 4, 5))); |
25 | void msetlocale(void); | ||
@@ -1,6 +1,6 @@ | |||
1 | /* $OpenBSD: version.h,v 1.77 2016/07/24 11:45:36 djm Exp $ */ | 1 | /* $OpenBSD: version.h,v 1.78 2016/12/19 04:55:51 djm Exp $ */ |
2 | 2 | ||
3 | #define SSH_VERSION "OpenSSH_7.3" | 3 | #define SSH_VERSION "OpenSSH_7.4" |
4 | 4 | ||
5 | #define SSH_PORTABLE "p1" | 5 | #define SSH_PORTABLE "p1" |
6 | #define SSH_RELEASE SSH_VERSION SSH_PORTABLE | 6 | #define SSH_RELEASE SSH_VERSION SSH_PORTABLE |