| Summary: | Including files without read access in ssh configuration fails without error | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Portable OpenSSH | Reporter: | Jakub Jelen <jjelen> | ||||||
| Component: | ssh | Assignee: | Damien Miller <djm> | ||||||
| Status: | CLOSED FIXED | ||||||||
| Severity: | enhancement | CC: | djm, dtucker | ||||||
| Priority: | P5 | ||||||||
| Version: | 7.3p1 | ||||||||
| Hardware: | Other | ||||||||
| OS: | Linux | ||||||||
| Bug Depends on: | |||||||||
| Bug Blocks: | 2647 | ||||||||
| Attachments: |
|
||||||||
|
Description
Jakub Jelen
2016-12-27 09:41:30 AEDT
Created attachment 2928 [details]
fatal() on Include errors other than ENOENT
read_config_file_depth() only ever returns failure on fopen() errors, everything else goes via fatal(), so we can simplify this a bit.
appled - thanks This does not look right. Trying with the attached patch I am experiencing weird behavior: [root@f24 openssh]# ssh -vvv localhost OpenSSH_7.4p1, OpenSSL 1.1.0c-fips 10 Nov 2016 debug1: Reading configuration data /etc/ssh/ssh_config debug3: /etc/ssh/ssh_config line 56: Including file /etc/ssh/ssh_config.d/01-test.conf depth 0 debug1: Reading configuration data /etc/ssh/ssh_config.d/01-test.conf Can't open user config file /etc/ssh/ssh_config.d/01-test.conf: Success This is happening only when the first included file does not include any further files that would set errno to ENOENT. If all the parsing went without any problem, the errno stays zero and the failure as above prevents the execution. This has been fixed for a while. The test now looks like:
> if (r != 1 && errno != ENOENT) {
closing resolved bugs as of 8.6p1 release |