[pkg-fso-commits] [SCM] Automatic Display Manager branch, master, updated. debian/0.6-1-60-ge76eaf5
Enrico Zini
enrico at enricozini.org
Thu Jul 7 15:10:40 UTC 2011
The following commit has been merged in the master branch:
commit ef10b73a227f6f5430a841118010d0e190ad711f
Author: Enrico Zini <enrico at enricozini.org>
Date: Thu Jul 7 16:51:55 2011 +0200
Removed obsolete TODO
diff --git a/Makefile.am b/Makefile.am
index 84016ef..756cd4e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -32,6 +32,6 @@ test_xsession_SOURCES = $(testlibsources) test-xsession.c
test_internals_SOURCES = $(testlibsources) test-internals.c
-EXTRA_DIST = test_nodm TODO nodm-man-extras autogen.sh
+EXTRA_DIST = test_nodm nodm-man-extras autogen.sh
CLEANFILES = nodm.8
diff --git a/TODO b/TODO
deleted file mode 100644
index dea0e24..0000000
--- a/TODO
+++ /dev/null
@@ -1,49 +0,0 @@
- + Write a binary, repacing "su -l" with it’s own pam configuration name
- + create a hand-crafted array of sleep times instead of using an
- exponential increase. This is to avoid silly steps like "2, 4, 8"
- and have something more meaningful instead like "0, 0, 30, 30, 60, 60"
- + log when the session is restarted
- + configure via preseeding
- + path is not good for root
- + split X options before passing them to xinit? Is it needed or xinit does it?
- + signals are blocked while waiting between retries
- + set up the right environment, and cd to the right place
- + does not start X session if it is run as a user
- X: user not authorized to run the X server, aborting.
- (allowed_users=console in /etc/X11/Xwrapper.config)
-
-Notes on another way to implement display managers:
-
-#debian-devel < enrico> so, /etc/X11/Xwrapper.conf disallows a user to run X unless they're on console. How do display
- managers work around it?
-#debian-devel < jcristau> they're root.
-#debian-devel < enrico> jcristau: but don't they sudo to the requested user before starting X?
-#debian-devel < jcristau> there's no requested user before starting X
-#debian-devel < enrico> jcristau: uhm, no they don't
-#debian-devel < enrico> jcristau: I'm writing a display manager that performs autologin, so I know what user I want
- before starting X
-#debian-devel < enrico> jcristau: I thought that becoming the user and starting X would be enough, but it isn't.
- Apparently, I need to start X passing myself as the session, and then become the user
-#debian-devel < jcristau> so they start an X server, and after you enter your login/pass they fork, setuid() and start
- your session, basically.
-#debian-devel < jcristau> uh. 'start X passing myself as the session'?
-#debian-devel < enrico> jcristau: like, run xinit myself -- options
-#debian-devel < enrico> jcristau: and then myself will take care of setuid() and running Xsession
-#debian-devel < enrico> jcristau: sounds sound?
-#debian-devel < jcristau> possibly
-#debian-devel < enrico> jcristau: thanks!
-#debian-devel < jcristau> (or you could do what xinit does yourself, so you can deal with X exiting if you want)
-#debian-devel < enrico> jcristau: what does xinit exactly do? I'll get the source code and see
-#debian-devel < enrico> jcristau: uhm, xinit actually does quite a bit of things
-#debian-devel < enrico> jcristau: nontrivial signal handling, start X server, wait for it to accept connections,
- workarounds for several insane bits
-#debian-devel < jcristau> enrico: hmm. set up a SIGUSR1 handler in the parent to know when you can start the clients, and
- signal(SIGUSR1, SIG_IGN) in the child. not that horrible. no idea about the other insane bits :)
-#debian-devel < enrico> jcristau: xinit also polls with XOpen to see if it came up, sets a sigalarm for a 15 seconds
- timeout for it to come up, has more signal mojo that I didn't stop to grok
-#debian-devel < enrico> jcristau: then it has to juggle two processes. In the end, if I reimplement that I risk
- introducing more bugs than it's worth, and I can just reuse xinit and give it a session that does
- the setuid
-
- - we currently do not honour login.defs. Do we need it? no
-
--
Automatic Display Manager
More information about the pkg-fso-commits
mailing list