Bug 1968

Summary: openssh won't build with --with-audit=bsm on Solaris 11
Product: Portable OpenSSH Reporter: Magnus Johansson <magnus.johansson>
Component: MiscellaneousAssignee: Assigned to nobody <unassigned-bugs>
Status: CLOSED FIXED    
Severity: normal CC: dtucker
Priority: P2    
Version: 5.9p1   
Hardware: ix86   
OS: Solaris   
Bug Depends on:    
Bug Blocks: 1930    
Attachments:
Description Flags
Patch to make openssh build on Solaris 11.
none
Patch to make openssh build on Solaris 11. none

Description Magnus Johansson 2012-01-03 04:27:18 AEDT
When doing ./configure --with-audit=bsm the build fails on Solaris 11. Apparently (https://forums.oracle.com/forums/thread.jspa?threadID=2150559) the BSM API has changed between Solaris 10 and 11. The error also occurs when I try openssh-SNAP-20120103. Below is the exact error:

./configure --with-audit=bsm
[snip]
make
[snip]
gcc -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -fno-builtin-memset -fstack-protector-all -I. -I.  -DSSHDIR=\"/usr/local/etc\"  -D_PATH_SSH_PROGRAM=\"/usr/local/bin/ssh\"  -D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/local/libexec/ssh-askpass\"  -D_PATH_SFTP_SERVER=\"/usr/local/libexec/sftp-server\"  -D_PATH_SSH_KEY_SIGN=\"/usr/local/libexec/ssh-keysign\"  -D_PATH_SSH_PKCS11_HELPER=\"/usr/local/libexec/ssh-pkcs11-helper\"  -D_PATH_SSH_PIDDIR=\"/var/run\"  -D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\" -DHAVE_CONFIG_H -c audit-bsm.c
audit-bsm.c: In function ‘selected’:
audit-bsm.c:178:3: warning: implicit declaration of function ‘getacna’
audit-bsm.c: In function ‘bsm_audit_record’:
audit-bsm.c:216:2: error: too few arguments to function ‘au_close’
/usr/include/bsm/libbsm.h:119:12: note: declared here
audit-bsm.c: In function ‘bsm_audit_bad_login’:
audit-bsm.c:258:15: error: ‘BSM_TEXTBUFSZ’ undeclared (first use in this function)
audit-bsm.c:258:15: note: each undeclared identifier is reported only once for each function it appears in
audit-bsm.c:258:7: warning: unused variable ‘textbuf’
audit-bsm.c: In function ‘audit_event’:
audit-bsm.c:322:18: error: ‘BSM_TEXTBUFSZ’ undeclared (first use in this function)
audit-bsm.c:322:10: warning: unused variable ‘textbuf’
*** Error code 1
make: Fatal error: Command failed for target `audit-bsm.o'
Comment 1 Magnus Johansson 2012-02-06 19:25:08 AEDT
Created attachment 2126 [details]
Patch to make openssh build on Solaris 11.
Comment 2 Magnus Johansson 2012-02-06 19:25:47 AEDT
Created attachment 2127 [details]
Patch to make openssh build on Solaris 11.
Comment 3 Magnus Johansson 2012-02-06 19:28:13 AEDT
I just attached two patches to make openssh build on Solaris 11. The main problem was that the getacna function was removed from Solaris 11. This patch adds a reimplementation of it that uses SMF instead of the obsoleted config-file.
Comment 4 Darren Tucker 2012-02-24 10:23:51 AEDT
patches look reasonable although I can't test them.  It'd be nice if configure detected the lack or presence of the missing bits (so that future versions work too) but I'm ok with committing it as to solve the immediate problem.
Comment 5 Darren Tucker 2012-02-24 10:41:24 AEDT
Patch committed, it will be in the 6.0p1 release.

Thanks.
Comment 6 Damien Miller 2016-08-02 10:41:26 AEST
Close all resolved bugs after 7.3p1 release