mirror of
https://github.com/dkmstr/openuds.git
synced 2024-12-22 13:34:04 +03:00
Needs for uds actor to detect session open/close by user on XRDP
This commit is contained in:
parent
f9172258a4
commit
a14b5fea59
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
|
||||||
|
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="org.python.pydev.PyDevBuilder"/>
|
||||||
|
<mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS"/>
|
||||||
|
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
|
||||||
|
</launchConfiguration>
|
22
linuxActorXRDP/.project
Normal file
22
linuxActorXRDP/.project
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>linuxActorXRDP</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
|
||||||
|
<triggers>full,incremental,</triggers>
|
||||||
|
<arguments>
|
||||||
|
<dictionary>
|
||||||
|
<key>LaunchConfigHandle</key>
|
||||||
|
<value><project>/.externalToolBuilders/org.python.pydev.PyDevBuilder.launch</value>
|
||||||
|
</dictionary>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.python.pydev.pythonNature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
8
linuxActorXRDP/.pydevproject
Normal file
8
linuxActorXRDP/.pydevproject
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<?eclipse-pydev version="1.0"?><pydev_project>
|
||||||
|
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
|
||||||
|
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.7</pydev_property>
|
||||||
|
<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
|
||||||
|
<path>/${PROJECT_DIR_NAME}/src</path>
|
||||||
|
</pydev_pathproperty>
|
||||||
|
</pydev_project>
|
13
linuxActorXRDP/src/Makefile
Normal file
13
linuxActorXRDP/src/Makefile
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
BINDIR = $(DESTDIR)/usr/bin
|
||||||
|
|
||||||
|
clean:
|
||||||
|
echo "Clean"
|
||||||
|
install:
|
||||||
|
mkdir -p $(BINDIR)
|
||||||
|
cp uds-sesman.sh $(BINDIR)/uds-sesman
|
||||||
|
cp uds-wait-session.sh $(BINDIR)/uds-wait-session
|
||||||
|
|
||||||
|
chmod 0755 $(BINDIR)/uds-sesman
|
||||||
|
chmod 0755 $(BINDIR)/uds-wait-session
|
||||||
|
uninstall:
|
||||||
|
echo "Uninstall"
|
0
linuxActorXRDP/src/build-stamp
Normal file
0
linuxActorXRDP/src/build-stamp
Normal file
0
linuxActorXRDP/src/configure-stamp
Normal file
0
linuxActorXRDP/src/configure-stamp
Normal file
3
linuxActorXRDP/src/debian/changelog
Normal file
3
linuxActorXRDP/src/debian/changelog
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
udsactor-xrdp (1.1) stable; urgency=low
|
||||||
|
* Initial version
|
||||||
|
-- Adolfo Gómez García <agomez@virtualcable.es> Thu, 10 jul 2014 15:31:18 +0100
|
1
linuxActorXRDP/src/debian/compat
Normal file
1
linuxActorXRDP/src/debian/compat
Normal file
@ -0,0 +1 @@
|
|||||||
|
7
|
14
linuxActorXRDP/src/debian/control
Normal file
14
linuxActorXRDP/src/debian/control
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
Source: udsactor-xrdp
|
||||||
|
Section: contrib/net
|
||||||
|
Priority: extra
|
||||||
|
Maintainer: Adolfo Gómez García <agomez@virtualcable.es>
|
||||||
|
Build-Depends: debhelper (>= 7)
|
||||||
|
Standards-Version: 3.9.2
|
||||||
|
Homepage: http://www.udsenterprise.com
|
||||||
|
|
||||||
|
Package: udsactor-xrdp
|
||||||
|
Architecture: all
|
||||||
|
Depends: xrdp (>= 0.6.0), udsactor (>= 1.1), libpam-modules-bin (>=1.0), ${misc:Depends}
|
||||||
|
Description: UDS Actor component for xrdp
|
||||||
|
This package provides connection between uds actor and xrdp
|
||||||
|
|
26
linuxActorXRDP/src/debian/copyright
Normal file
26
linuxActorXRDP/src/debian/copyright
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
|
||||||
|
Name: udsactor-xrdp
|
||||||
|
Maintainer: Adolfo Gómez García
|
||||||
|
Source: http://www.udsenterprise.com/
|
||||||
|
|
||||||
|
Copyright: 2014 Virtual Cable S.L.
|
||||||
|
License: BSD-3-clause
|
||||||
|
|
||||||
|
License: GPL-2+
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
.
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
.
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
.
|
||||||
|
On Debian systems, the full text of the GNU General Public
|
||||||
|
License version 2 can be found in the file
|
||||||
|
`/usr/share/common-licenses/GPL-2'.
|
0
linuxActorXRDP/src/debian/dirs
Normal file
0
linuxActorXRDP/src/debian/dirs
Normal file
1
linuxActorXRDP/src/debian/docs
Normal file
1
linuxActorXRDP/src/debian/docs
Normal file
@ -0,0 +1 @@
|
|||||||
|
readme.txt
|
1
linuxActorXRDP/src/debian/files
Normal file
1
linuxActorXRDP/src/debian/files
Normal file
@ -0,0 +1 @@
|
|||||||
|
udsactor-xrdp_1.1_all.deb contrib/net extra
|
39
linuxActorXRDP/src/debian/postinst
Normal file
39
linuxActorXRDP/src/debian/postinst
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
SESMANFILE=/etc/pam.d/sesman
|
||||||
|
|
||||||
|
. /usr/share/debconf/confmodule
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
configure)
|
||||||
|
trap "cp $SESMANFILE $SESMANFILE.uds.old" 0
|
||||||
|
|
||||||
|
TMPFILE=$(mktemp /tmp/sesman.XXXXX)
|
||||||
|
trap "rm -f $TMPFILE" 0
|
||||||
|
grep -v uds $SESMANFILE > $TMPFILE # Removes all UDS lines from sesman if they exists
|
||||||
|
|
||||||
|
echo >> $TMPFILE
|
||||||
|
echo "# Added by udsactor-xrdp" >> $TMPFILE
|
||||||
|
echo "session optional pam_exec.so /usr/bin/uds-sesman" >> $TMPFILE
|
||||||
|
cp $TMPFILE $SESMANFILE
|
||||||
|
trap "rm -f $TMPFILE" 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
abort-upgrade|abort-remove|abort-deconfigure)
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "postinst called with unknown argument \`$1'" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
# Don't know why, but descriptors get "weird" when launched daemon, so we tell here to debconf to stop.
|
||||||
|
# Solved not starting the service right now, defered to next reboot
|
||||||
|
|
||||||
|
|
||||||
|
exit 0
|
28
linuxActorXRDP/src/debian/postrm
Normal file
28
linuxActorXRDP/src/debian/postrm
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
SESMANFILE=/etc/pam.d/sesman
|
||||||
|
|
||||||
|
. /usr/share/debconf/confmodule
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
purge)
|
||||||
|
;;
|
||||||
|
remove)
|
||||||
|
TMPFILE=$(mktemp /tmp/sesman.XXXXX)
|
||||||
|
trap "rm -f $TMPFILE" 0
|
||||||
|
grep -v uds $SESMANFILE > $TMPFILE # Removes all UDS lines from sesman if they exists
|
||||||
|
cp $TMPFILE $SESMANFILE
|
||||||
|
trap "rm -f $TMPFILE" 0
|
||||||
|
;;
|
||||||
|
upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "postrm called with unknown argument \`$1'" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#DEBHELPER#
|
41
linuxActorXRDP/src/debian/rules
Executable file
41
linuxActorXRDP/src/debian/rules
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
#!/usr/bin/make -f
|
||||||
|
# -*- makefile -*-
|
||||||
|
configure: configure-stamp
|
||||||
|
configure-stamp:
|
||||||
|
dh_testdir
|
||||||
|
touch configure-stamp
|
||||||
|
build: build-arch build-indep
|
||||||
|
build-arch: build-stamp
|
||||||
|
build-indep: build-stamp
|
||||||
|
build-stamp: configure-stamp
|
||||||
|
dh_testdir
|
||||||
|
$(MAKE)
|
||||||
|
touch $@
|
||||||
|
clean:
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
rm -f build-stamp configure-stamp
|
||||||
|
dh_clean
|
||||||
|
install: build
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_prep
|
||||||
|
dh_installdirs
|
||||||
|
$(MAKE) DESTDIR=$(CURDIR)/debian/udsactor-xrdp install
|
||||||
|
binary-arch: build install
|
||||||
|
# emptyness
|
||||||
|
binary-indep: build install
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_installchangelogs
|
||||||
|
dh_installdocs
|
||||||
|
dh_compress
|
||||||
|
dh_link
|
||||||
|
dh_fixperms
|
||||||
|
dh_installdeb
|
||||||
|
dh_shlibdeps
|
||||||
|
dh_gencontrol
|
||||||
|
dh_md5sums
|
||||||
|
dh_builddeb
|
||||||
|
binary: binary-indep
|
||||||
|
.PHONY: build clean binary-indep binary install configure
|
1
linuxActorXRDP/src/pam-sesman-line
Normal file
1
linuxActorXRDP/src/pam-sesman-line
Normal file
@ -0,0 +1 @@
|
|||||||
|
session optional pam_exec.so /usr/bin/uds-sesman
|
1
linuxActorXRDP/src/readme.txt
Normal file
1
linuxActorXRDP/src/readme.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
This package provides the interaction between xrdp and uds
|
13
linuxActorXRDP/src/uds-sesman.sh
Executable file
13
linuxActorXRDP/src/uds-sesman.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
env > /tmp/env.txt
|
||||||
|
|
||||||
|
if [ "$PAM_TYPE" = "open_session" ]; then
|
||||||
|
nohup /usr/bin/udsactor login $PAM_USER &
|
||||||
|
# Wait in backgroud to TTY to close (close_session is not being invoked right now)
|
||||||
|
nohup /usr/bin/uds-wait-session &
|
||||||
|
elif [ "$PAM_TYPE" = "close_session" ]; then
|
||||||
|
nohup /usr/bin/udsactor logout $PAM_USER &
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
12
linuxActorXRDP/src/uds-wait-session.sh
Executable file
12
linuxActorXRDP/src/uds-wait-session.sh
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
while :
|
||||||
|
do
|
||||||
|
sleep 5 # Wait 5 seconds between checks
|
||||||
|
found=`ps -f -u$PAM_USER | grep -v grep | grep -v uds-wait-session | grep "$PAM_TTY" | wc -l`
|
||||||
|
|
||||||
|
if [ "$found" = "0" ]; then
|
||||||
|
/usr/bin/udsactor logout $PAM_USER
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
done
|
Loading…
Reference in New Issue
Block a user