![]()
|
diff -Naur /tmp/OpenSSH.roots/OpenSSH/openssh/audit-bsm.c ./audit-bsm.c
--- /tmp/OpenSSH.roots/OpenSSH/openssh/audit-bsm.c 2005-02-20 02:08:00.000000000 -0800
+++ ./audit-bsm.c 2005-09-30 11:32:45.000000000 -0700
@@ -71,7 +71,9 @@
#define AUToReturnFunc(a,b) au_to_return((a), (u_int)(b))
#endif
+#if !defined(__APPLE__)
extern int cannot_audit(int);
+#endif
extern void aug_init(void);
extern dev_t aug_get_port(void);
extern int aug_get_machine(char *, u_int32_t *, u_int32_t *);
@@ -236,10 +236,18 @@
/* populate our terminal id structure */
#if defined(HAVE_GETAUDIT_ADDR)
tid->at_port = (dev_t)port;
+#if defined(__APPLE__)
+ /* don't have a aug_get_machine */
+ tid->at_addr[0] = inet_addr(host);
+ tid->at_type = 0;
+ snprintf(buf, sizeof(buf), "%08x", tid->at_addr[0]);
+ debug3("BSM audit: machine ID %s", buf);
+#else
aug_get_machine((char *)host, &(tid->at_addr[0]), &(tid->at_type));
snprintf(buf, sizeof(buf), "%08x %08x %08x %08x", tid->at_addr[0],
tid->at_addr[1], tid->at_addr[2], tid->at_addr[3]);
debug3("BSM audit: iptype %d machine ID %s", (int)tid->at_type, buf);
+#endif
#else
/* this is used on IPv4-only machines */
tid->port = (dev_t)port;
diff -Naur ../OpenSSH.roots/OpenSSH/openssh/configure ./configure
--- ../OpenSSH.roots/OpenSSH/openssh/configure 2005-09-27 14:48:46.000000000 -0700
+++ ./configure 2005-10-04 12:49:44.000000000 -0700
@@ -10846,6 +10846,22 @@
#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
+ case "$host" in
+ *-*-darwin7* | *-*-darwin8*)
+ echo "$as_me:$LINENO: checking for getaudit_addr usability" >&5
+echo $ECHO_N "checking for getaudit_addr usability... $ECHO_C" >&6
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ ;;
+ *)
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GETAUDIT_ADDR 1
+_ACEOF
+
+ ;;
+ esac
+
+
fi
done
diff -Naur ../OpenSSH.roots/OpenSSH/openssh/configure.ac ./configure.ac
--- ../OpenSSH.roots/OpenSSH/openssh/configure.ac 2005-09-27 14:48:45.000000000 -0700
+++ ./configure.ac 2005-10-04 12:49:01.000000000 -0700
@@ -1096,7 +1096,21 @@
AC_CHECK_FUNCS(getaudit, [],
[AC_MSG_ERROR(BSM enabled and required function not found)])
# These are optional
- AC_CHECK_FUNCS(getaudit_addr)
+ AC_CHECK_FUNCS(getaudit_addr,
+ [
+ case "$host" in
+ *-*-darwin7* | *-*-darwin8*)
+ AC_MSG_CHECKING(for getaudit_addr usability)
+ AC_MSG_RESULT(no)
+ ;;
+ *) AC_DEFINE(HAVE_GETAUDIT_ADDR,
+ 1,
+ [Define if libbsm has 'getaudit_addr'.]
+ )
+ ;;
+ esac
+ ]
+ )
AC_DEFINE(USE_BSM_AUDIT, [], [Use BSM audit module])
;;
debug)
syntax highlighted by Code2HTML, v. 0.9.1 |