Mantis - alternatives
Viewing Issue Advanced Details
4774 regular use major always 2011-05-25 16:26 2013-08-25 13:54
jcraig  
phil  
normal  
closed  
fixed  
none    
none  
0004774: The alternatives --set option fails for sudo/sudo_ldap
With sudo and sudo_ldap installed the alternatives --auto sudo makes a selection, but using the --set option one is unable to select a specific alternative.

# alternatives --display sudo
Installed alternatives for sudo are:
/opt/csw/bin/sudo sudo /opt/csw/bin/sudo.ldap 60 /opt/csw/bin/sudoedit sudoedit /opt/csw/bin/sudoedit.ldap
/opt/csw/bin/sudo sudo /opt/csw/bin/sudo.minimal 50 /opt/csw/bin/sudoedit sudoedit /opt/csw/bin/sudoedit.minimal

# alternatives --set sudo /opt/csw/bin/sudo.minimal
Error: no installed match found for sudo /opt/csw/bin/sudo.minimal

The issue is with:

297 check=`egrep -l "^[^ ]* $1 $2 " $PRIORITIESDIR/*`

This assumes a single space between fields. Given the lack of documentation for this file format it is reasonable that one would assume the unix norm of one or more spaces between fields. On fix for this would be:

check=`egrep -l "^[^ ]* [ ]*$1 [ ]*$2 " $PRIORITIESDIR/*`

As an alternative you may wish to also add support for tab separators. Man page / documentation would be appreciated.

I chose to submit this as a alternatives bug rather than a sudo* bug because I believe alternatives should support this functionality.
Issue History
2011-05-25 16:26 jcraig New Issue
2011-05-25 20:54 phil Status new => assigned
2011-05-25 20:54 phil Assigned To => phil
2011-05-25 20:55 phil Note Added: 0009076
2011-05-31 23:48 phil Note Added: 0009097
2011-05-31 23:48 phil Status assigned => resolved
2011-05-31 23:48 phil Resolution open => fixed
2013-08-25 13:54 pfelecan Status resolved => closed

Notes
(0009076)
phil   
2011-05-25 20:55   
Thank you for the bug report. Will be fixed shortly.
your request for docs is also noted. I'll be tossing in a README file or two in the update.
(0009097)
phil   
2011-05-31 23:48   
No feedback recieved. releasing new package, rather than waiting indefinately.