Description of Problem: The exit status of ssh-add in the case of no connection to an authentication agent changed from 1 to 2 with today's openssh-3.1p1-2 erratum release. This breaks compatibility with commercial SSH, where the exit status is still 1. Multi-platform scripts, including code in user .login files to start an agent, break. Users with home directories on NFS and who login to different platforms with the same homedir are particularly affected. This example group includes a large number (tens of thousands) of university students. If you want to add exit codes, ideally follow the codes used by earlier implementations. At worst, add codes that do not break what has been done before and that do not conflict with those used by other implementations. Version-Release number of selected component (if applicable): openssh-3.1p1-2 How Reproducible: always Steps to Reproduce: 1. ssh-add -l without an agent running 2. echo $? Actual Results: 2 Expected Results: 1 Additional Information: From commercial SSH ssh-add2 man page: 0 The requested operation was performed successfully. 1 No connection could be made to the authentication agent. Presumably there is no authentication agent active in the execution environment of ssh-add2. 2 The user did not supply a required passphrase. SSH2 Last change: March 22, 2000 2 SSH2 SSH-ADD2(1) 3 An identify file could not be found, was not readable, or was in bad format. 4 The agent does not have the requested identity. 5 An unspecified error has occurred; this is a catch-all for errors not listed above. --jh--
There is no promise to be compatible with the commercial ssh in this regard.