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):
Steps to Reproduce:
1. ssh-add -l without an agent running
2. echo $?
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
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.
There is no promise to be compatible with the commercial ssh in this