sun4x_58 libs broken? (reauth, ssh fail to work.)

Jeffrey Hutzelman jhutz@cmu.edu
Fri, 2 Feb 2001 02:05:40 -0500 (EST)


On Tue, 30 Jan 2001, Atro Tossavainen wrote:

> Transarc:
> 
> I believe some of the AFS libraries for sun4x_58 are broken. Perfectly
> well written programs that work on sun4x_57 and other platforms don't
> work when compiled on sun4x_58. They try to issue non-existent system
> calls and fail, of course.
> 
> List, and explanation for the above:
> 
> Hi,
> 
> Has anybody used reauth successfully under Solaris 8?
> 
> When I tried to use the binary I had compiled earlier under Solaris 7 it
> complained "Unable to authenticate to AFS because a pioctl failed", so I
> recompiled under Solaris 8, but keep getting the same error. It's not a
> password matter -- giving the wrong password produces the expected error
> message.
> 
> I then trussed my reauth attempts to see what's going on. Comparing to
> logs from working installations, where you'd expect to see AFS syscalls
> in truss logs, the program tries to issue sys#73() and fails with Err#89
> ENOSYS, followed by signal #12, SIGSYS. The number 73 rang a bell so I
> checked and sure enough, afs is 73 in /etc/name_to_sysnum on Solaris 7,
> but 65 on Solaris 8.
> 
> I am _fairly_ certain I am linking against the sun4x_58 libraries
> provided in 3.6 Patch 1, not the sun4x_57 libraries.
> 
> On a different but probably related note, I'm also having problems
> getting the AFS-enabled (thanks, Dug) SSH 1.2.27 to work on Solaris 8.
> I don't get tokens at login and the .Xauthority files are not generated
> in /tmp like they usually are with the patch. The truss logs show the
> same sys#73() issue.

This sounds very much like you're using the libkafs library that ships
with KTH kerberos or the CMU libkrbafs library.  Both of these libraries
encapsulate certain KTC operations for the benefit of Kerberos-using
programs that need to manipulate the KTC -- particularly programs like ssh
and reauth, which need to set tokens based on Kerberos tickets they
receive over the wire.

These libraries have compiled-in constants for the AFS system call number
and argument values for the platform for which they were compiled.  
Unfortunately, they also tend to fall a bit behind the Transarc releases.
To fix this problem, you'll need to modify the library sources to know
about the correct system call number for Solaris 8, and recompile the
libraries.

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
   Sr. Research Systems Programmer
   School of Computer Science - Research Computing Facility
   Carnegie Mellon University - Pittsburgh, PA