summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Untz <vuntz@gnome.org>2011-05-23 18:34:46 +0200
committerVincent Untz <vuntz@gnome.org>2011-05-31 16:12:37 +0200
commitd13dd72531599ab7e4c747db3b58a8c17753e08d (patch)
tree3441ae7a2955052991943627446881c37b87cd68
parentdd5fa60cd9945aa68c1a6880157517b7ad64a346 (diff)
downloadgdm-d13dd72531599ab7e4c747db3b58a8c17753e08d.tar.gz
Register /bin/true as URI scheme handler for several schemes
Starting with glib 2.28, we don't use gconf to find out which handler should be used for a URI scheme, and we need to provide a custom MIME configuration for the gdm user to ensure no default URI scheme handler is used. CVE-2011-1709
-rw-r--r--data/Makefile.am10
-rw-r--r--data/mime-dummy-handler.desktop6
-rw-r--r--data/mimeapps.list19
3 files changed, 35 insertions, 0 deletions
diff --git a/data/Makefile.am b/data/Makefile.am
index 4b133878..f252b64b 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -98,6 +98,8 @@ EXTRA_DIST = \
session-setup.entries \
make-dconf-override-db.sh \
dconf-profile \
+ mime-dummy-handler.desktop \
+ mimeapps.list \
$(NULL)
CLEANFILES = \
@@ -247,6 +249,12 @@ install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession gconf.pa
chown gdm:gdm $(DESTDIR)$(workingdir)/.config/dconf || : ; \
fi
+ if test '!' -d $(DESTDIR)$(workingdir)/.local/share/applications; then \
+ $(mkinstalldirs) $(DESTDIR)$(workingdir)/.local/share/applications; \
+ chmod 0755 $(DESTDIR)$(workingdir)/.local/share/applications; \
+ chown gdm:gdm $(DESTDIR)$(workingdir)/.local/share/applications || : ; \
+ fi
+
if test '!' -d $(DESTDIR)$(sysconfdir)/dconf/profile; then \
$(mkinstalldirs) $(DESTDIR)$(sysconfdir)/dconf/profile; \
chmod 0755 $(DESTDIR)$(sysconfdir)/dconf/profile; \
@@ -275,3 +283,5 @@ install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession gconf.pa
$(INSTALL_DATA) $(srcdir)/dconf-override-db $(DESTDIR)$(sysconfdir)/dconf/db/gdm
$(INSTALL_DATA) $(srcdir)/dconf-profile $(DESTDIR)$(sysconfdir)/dconf/profile/gdm
+ $(INSTALL_DATA) $(srcdir)/mime-dummy-handler.desktop $(DESTDIR)$(workingdir)/.local/share/applications/mime-dummy-handler.desktop
+ $(INSTALL_DATA) $(srcdir)/mimeapps.list $(DESTDIR)$(workingdir)/.local/share/applications/mimeapps.list
diff --git a/data/mime-dummy-handler.desktop b/data/mime-dummy-handler.desktop
new file mode 100644
index 00000000..c94779c6
--- /dev/null
+++ b/data/mime-dummy-handler.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Type=Application
+Name=Dummy URI Handler
+Exec=/bin/true %U
+Terminal=false
+StartupNotify=false
diff --git a/data/mimeapps.list b/data/mimeapps.list
new file mode 100644
index 00000000..db3a144d
--- /dev/null
+++ b/data/mimeapps.list
@@ -0,0 +1,19 @@
+[Default Applications]
+x-scheme-handler/file=mime-dummy-handler.desktop
+x-scheme-handler/ftp=mime-dummy-handler.desktop
+x-scheme-handler/ghelp=mime-dummy-handler.desktop
+x-scheme-handler/help=mime-dummy-handler.desktop
+x-scheme-handler/http=mime-dummy-handler.desktop
+x-scheme-handler/https=mime-dummy-handler.desktop
+x-scheme-handler/info=mime-dummy-handler.desktop
+x-scheme-handler/irc=mime-dummy-handler.desktop
+x-scheme-handler/itms=mime-dummy-handler.desktop
+x-scheme-handler/mailto=mime-dummy-handler.desktop
+x-scheme-handler/man=mime-dummy-handler.desktop
+x-scheme-handler/mms=mime-dummy-handler.desktop
+x-scheme-handler/rtp=mime-dummy-handler.desktop
+x-scheme-handler/rtsp=mime-dummy-handler.desktop
+x-scheme-handler/sip=mime-dummy-handler.desktop
+x-scheme-handler/trash=mime-dummy-handler.desktop
+x-scheme-handler/webcal=mime-dummy-handler.desktop
+x-scheme-handler/xmpp=mime-dummy-handler.desktop