On Solaris, use the privops helper for the ntp_adjtime(),
settimeofday(), and bind() system calls.
add_def __EXTENSIONS__
add_def _XOPEN_SOURCE 1
add_def _XOPEN_SOURCE_EXTENDED 1
+ if [ $feat_droproot = "1" ]; then
+ add_def FEAT_PRIVDROP
+ priv_ops="ADJUSTTIMEX SETTIME BINDSOCKET"
+ fi
echo "Configuring for Solaris (" $SYSTEM "SunOS version" $VERSION ")"
;;
* )
{
#if defined(LINUX) && defined (FEAT_PRIVDROP)
SYS_Linux_DropRoot(uid, gid);
+#elif defined(SOLARIS) && defined(FEAT_PRIVDROP)
+ SYS_Solaris_DropRoot(uid, gid);
#elif (defined(NETBSD) || defined(FREEBSD)) && defined(FEAT_PRIVDROP)
SYS_NetBSD_DropRoot(uid, gid);
#elif defined(MACOSX) && defined(FEAT_PRIVDROP)
#include "sysincl.h"
+#include "privops.h"
#include "sys_solaris.h"
#include "sys_timex.h"
+#include "util.h"
/* ================================================== */
{
SYS_Timex_Finalise();
}
+
+/* ================================================== */
+
+#ifdef FEAT_PRIVDROP
+void
+SYS_Solaris_DropRoot(uid_t uid, gid_t gid)
+{
+ PRV_StartHelper();
+ UTI_DropRoot(uid, gid);
+}
+#endif
void SYS_Solaris_Finalise(void);
+void SYS_Solaris_DropRoot(uid_t uid, gid_t gid);
+
#endif