Bug 3300

Summary: ssh reports the error when use ssh -o "ConnectTimeout=2147483649"
Product: Portable OpenSSH Reporter: kircher <kircherlike>
Component: sshAssignee: Assigned to nobody <unassigned-bugs>
Status: CLOSED WORKSFORME    
Severity: major CC: dtucker
Priority: P5    
Version: 8.2p1   
Hardware: ARM64   
OS: Linux   

Description kircher 2021-04-16 13:50:42 AEST
After rectification: The ssh -o "ConnectTimeout=2147483649" root@3.82.3.249 reports the error " ssh: connect to host 3.82.3.249 port 22: Connection timed out".

If ConnectTimeout is greater than or equal to 2147484 in the command, set the maximum value INT_MAX to the variable connection_timeout in the code according to the patch.
However, when the value of ConnectTimeout > 2147484 is 2147483649, the value of connection_timeout overflow in the code is 1000 ms instead of INT_MAX.

Method of reproducing the problem:
1. Integrate https://github.com/openssh/openssh-portable/commit/819b44e8b9af6ce18d3ec7505b9f461bf7991a1f.

2. ssh -o "ConnectTimeout=2147483647" root@3.82.3.249 //connection_timeout=INT_MAX
ssh -o "ConnectTimeout=2147483648" root@3.82.3.249 //: connection_timeout = INT_MAX. The actual test variable connection_timeout is 0, and the command ConnectTimeout is 0.
ssh -o "ConnectTimeout=2147483649" root@3.82.3.249 //: connection_timeout = INT_MAX, the actual test variable connection_timeout = 1000, and the command ConnectTimeout = 1.


#define INT_MAX 2147483647
#define INT_MIN (-INT_MAX - 1)
Comment 1 Darren Tucker 2021-04-30 14:27:51 AEST
You are reporting a bug against a locally modified 8.2p1?  If so, you probably also want
https://github.com/openbsd/src/commit/ca5450d695d8f9e6bd3120068d652f29e732ef3e which changed convtime() to return an int.  With this, current versions will flag your test cases as an error:

$ ssh -o ConnectTimeout=2147483648 localhost
command-line line 0: invalid time value.
$ ssh -o ConnectTimeout=2147483649 localhost
command-line line 0: invalid time value.

Please reopen if you can reproduce the error with an unmodified OpenSSH release.
Comment 2 Damien Miller 2022-02-25 13:58:34 AEDT
closing bugs resolved before openssh-8.9