diff --git a/configure.ac b/configure.ac index b8d52b1f..82d1e218 100644 --- a/configure.ac +++ b/configure.ac @@ -331,39 +331,34 @@ AM_CONDITIONAL([USE_FREETYPE2], [test "x$use_freetype2" = xyes]) # Check only one auth mechanism is specified, and give it a name auth_cnt=0 auth_mech="Builtin" -AUTHMOD_SRC=verify_user.c -AUTHMOD_OBJ=verify_user.${OBJEXT} +AUTHMOD_OBJ=verify_user.lo AUTHMOD_LIB=-lcrypt if test x$enable_pam = xyes then auth_cnt=`expr $auth_cnt + 1` auth_mech="PAM" - AUTHMOD_SRC=verify_user_pam.c - AUTHMOD_OBJ=verify_user_pam.${OBJEXT} + AUTHMOD_OBJ=verify_user_pam.lo AUTHMOD_LIB=-lpam fi if test x$bsd = xtrue then auth_cnt=`expr $auth_cnt + 1` auth_mech="BSD" - AUTHMOD_SRC=verify_user_bsd.c - AUTHMOD_OBJ=verify_user_bsd.${OBJEXT} + AUTHMOD_OBJ=verify_user_bsd.lo AUTHMOD_LIB= fi if test x$enable_kerberos = xyes then auth_cnt=`expr $auth_cnt + 1` auth_mech="Kerberos" - AUTHMOD_SRC=verify_user_kerberos.c - AUTHMOD_OBJ=verify_user_kerberos.${OBJEXT} + AUTHMOD_OBJ=verify_user_kerberos.lo AUTHMOD_LIB=-lkrb5 fi if test x$enable_pamuserpass = xyes then auth_cnt=`expr $auth_cnt + 1` auth_mech="PAM userpass" - AUTHMOD_SRC=verify_user_pam_userpass.c - AUTHMOD_OBJ=verify_user_pam_userpass.${OBJEXT} + AUTHMOD_OBJ=verify_user_pam_userpass.lo AUTHMOD_LIB="-lpam -lpam_userpass" fi @@ -372,7 +367,6 @@ then AC_MSG_ERROR([--enable-pam, --enable-bsd, --enable-pamuserpass and --enable-kerberos are mutually exclusive]) fi -AC_SUBST([AUTHMOD_SRC]) AC_SUBST([AUTHMOD_OBJ]) AC_SUBST([AUTHMOD_LIB]) @@ -591,6 +585,7 @@ AC_CONFIG_FILES([ pkgconfig/Makefile pkgconfig/xrdp.pc pkgconfig/xrdp-uninstalled.pc + sesman/libsesman/Makefile sesman/chansrv/Makefile sesman/Makefile sesman/tools/Makefile diff --git a/sesman/Makefile.am b/sesman/Makefile.am index dea678e2..ee1692ed 100644 --- a/sesman/Makefile.am +++ b/sesman/Makefile.am @@ -2,15 +2,13 @@ EXTRA_DIST = \ Doxyfile AM_CPPFLAGS = \ - -DXRDP_SYSCONF_PATH=\"${sysconfdir}\" \ -DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \ -DXRDP_SBIN_PATH=\"${sbindir}\" \ -DXRDP_LIBEXEC_PATH=\"${libexecdir}/xrdp\" \ - -DXRDP_SHARE_PATH=\"${datadir}/xrdp\" \ -DXRDP_PID_PATH=\"${localstatedir}/run\" \ -DXRDP_SOCKET_PATH=\"${socketdir}\" \ - -DXRDP_PAMCONF_PATH=\"${pamconfdir}\" \ -DSESMAN_RUNTIME_PATH=\"${sesmanruntimedir}\" \ + -I$(top_srcdir)/sesman/libsesman \ -I$(top_srcdir)/common \ -I$(top_srcdir)/libipm @@ -18,11 +16,6 @@ sbin_PROGRAMS = \ xrdp-sesman xrdp_sesman_SOURCES = \ - access.c \ - access.h \ - auth.h \ - config.c \ - config.h \ env.c \ env.h \ lock_uds.c \ @@ -42,25 +35,11 @@ xrdp_sesman_SOURCES = \ xwait.c \ xwait.h -# Possible authentication modules -# See https://www.gnu.org/software/automake/manual/html_node/Conditional-Sources.html -EXTRA_xrdp_sesman_SOURCES = \ - verify_user.c \ - verify_user_bsd.c \ - verify_user_kerberos.c \ - verify_user_pam.c \ - verify_user_pam_userpass.c - -# Make sure the right authentication module is pulled in -xrdp_sesman_DEPENDENCIES = $(AUTHMOD_OBJ) - # Make sure the right authentication module is linked with xrdp_sesman_LDADD = \ - $(AUTHMOD_OBJ) \ + $(top_builddir)/sesman/libsesman/libsesman.la \ $(top_builddir)/libipm/libipm.la \ - $(top_builddir)/common/libcommon.la \ - $(AUTHMOD_LIB) \ - -lpthread + $(top_builddir)/common/libcommon.la sesmansysconfdir=$(sysconfdir)/xrdp @@ -83,5 +62,6 @@ dist_sesmansysconf_SCRIPTS = \ reconnectwm.sh SUBDIRS = \ + libsesman \ tools \ chansrv diff --git a/sesman/chansrv/Makefile.am b/sesman/chansrv/Makefile.am index 4f74912c..f717041e 100644 --- a/sesman/chansrv/Makefile.am +++ b/sesman/chansrv/Makefile.am @@ -9,6 +9,7 @@ AM_CPPFLAGS = \ -DXRDP_SHARE_PATH=\"${datadir}/xrdp\" \ -DXRDP_PID_PATH=\"${localstatedir}/run\" \ -DXRDP_SOCKET_PATH=\"${socketdir}\" \ + -I$(top_srcdir)/sesman/libsesman \ -I$(top_srcdir)/common CHANSRV_EXTRA_LIBS = @@ -82,5 +83,6 @@ xrdp_chansrv_LDFLAGS = \ xrdp_chansrv_LDADD = \ $(top_builddir)/common/libcommon.la \ + $(top_builddir)/sesman/libsesman/libsesman.la \ $(X_PRE_LIBS) -lXfixes -lXrandr -lX11 $(X_EXTRA_LIBS) \ $(CHANSRV_EXTRA_LIBS) diff --git a/sesman/libsesman/Makefile.am b/sesman/libsesman/Makefile.am new file mode 100644 index 00000000..7536cfeb --- /dev/null +++ b/sesman/libsesman/Makefile.am @@ -0,0 +1,67 @@ +#EXTRA_DIST = \ + #xrdp_surface.c + +AM_CPPFLAGS = \ + -DXRDP_PAMCONF_PATH=\"${pamconfdir}\" \ + -DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \ + -I$(top_srcdir)/libipm \ + -I$(top_srcdir)/common +# -DXRDP_SBIN_PATH=\"${sbindir}\" \ +# -DXRDP_SHARE_PATH=\"${datadir}/xrdp\" \ +# -DXRDP_PID_PATH=\"${localstatedir}/run\" + +#AM_CFLAGS = $(OPENSSL_CFLAGS) + +#AM_LDFLAGS = + +#LIBXRDP_EXTRA_LIBS = + +#if XRDP_NEUTRINORDP +#AM_CPPFLAGS += -DXRDP_NEUTRINORDP +#LIBXRDP_EXTRA_LIBS += $(FREERDP_LIBS) +#endif + +#if XRDP_RFXCODEC +#AM_CPPFLAGS += -DXRDP_RFXCODEC +#endif + +#if XRDP_TJPEG +#AM_CPPFLAGS += -DXRDP_JPEG -DXRDP_TJPEG @TurboJpegIncDir@ +#AM_LDFLAGS += @TurboJpegLibDir@ +#LIBXRDP_EXTRA_LIBS += -lturbojpeg +#else +#if XRDP_JPEG +#AM_CPPFLAGS += -DXRDP_JPEG +#LIBXRDP_EXTRA_LIBS += -ljpeg +#endif +#endif + +module_LTLIBRARIES = \ + libsesman.la + +# Possible authentication modules +# See https://www.gnu.org/software/automake/manual/html_node/Conditional-Sources.html +EXTRA_libsesman_la_SOURCES = \ + verify_user.c \ + verify_user_bsd.c \ + verify_user_kerberos.c \ + verify_user_pam.c \ + verify_user_pam_userpass.c + +# Make sure the right authentication module is pulled in +libsesman_la_DEPENDENCIES = $(AUTHMOD_OBJ) + +libsesman_la_SOURCES = \ + sesman_access.h \ + sesman_access.c \ + sesman_auth.h \ + sesman_config.h \ + sesman_config.c \ + sesman_clip_restrict.h \ + sesman_clip_restrict.c + +libsesman_la_LIBADD = \ + $(AUTHMOD_OBJ) \ + $(top_builddir)/libipm/libipm.la \ + $(top_builddir)/common/libcommon.la \ + $(AUTHMOD_LIB) diff --git a/sesman/tools/Makefile.am b/sesman/tools/Makefile.am index 3d912bc7..a6803bb3 100644 --- a/sesman/tools/Makefile.am +++ b/sesman/tools/Makefile.am @@ -1,15 +1,9 @@ AM_CPPFLAGS = \ - -DXRDP_SYSCONF_PATH=\"${sysconfdir}\" \ -DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \ - -DXRDP_SBIN_PATH=\"${sbindir}\" \ - -DXRDP_SHARE_PATH=\"${datadir}/xrdp\" \ - -DXRDP_PID_PATH=\"${localstatedir}/run\" \ -DXRDP_SOCKET_PATH=\"${socketdir}\" \ - -DXRDP_PAMCONF_PATH=\"${pamconfdir}\" \ - -DXRDP_AUTHMOD_SRC=\"../${AUTHMOD_SRC}\" \ + -I$(top_srcdir)/sesman/libsesman \ -I$(top_srcdir)/common \ - -I$(top_srcdir)/libipm \ - -I$(top_srcdir)/sesman + -I$(top_srcdir)/libipm AM_CFLAGS = $(X_CFLAGS) @@ -24,7 +18,6 @@ noinst_PROGRAMS = \ xrdp_sesrun_SOURCES = \ sesrun.c \ - config.c \ tools_common.h \ tools_common.c @@ -43,14 +36,15 @@ xrdp_xcon_SOURCES = \ xcon.c xrdp_authtest_SOURCES = \ - authmod.c \ authtest.c xrdp_sesrun_LDADD = \ + $(top_builddir)/sesman/libsesman/libsesman.la \ $(top_builddir)/common/libcommon.la \ $(top_builddir)/libipm/libipm.la xrdp_sesadmin_LDADD = \ + $(top_builddir)/sesman/libsesman/libsesman.la \ $(top_builddir)/common/libcommon.la \ $(top_builddir)/libipm/libipm.la @@ -61,6 +55,7 @@ xrdp_xcon_LDADD = \ $(X_PRE_LIBS) -lX11 $(X_EXTRA_LIBS) xrdp_authtest_LDADD = \ + $(top_builddir)/sesman/libsesman/libsesman.la \ $(top_builddir)/common/libcommon.la \ $(top_builddir)/libipm/libipm.la \ $(AUTHMOD_LIB)