diff options
author | Vincent Untz <vuntz@gnome.org> | 2011-05-31 16:37:22 +0200 |
---|---|---|
committer | Vincent Untz <vuntz@gnome.org> | 2011-05-31 16:37:22 +0200 |
commit | c721deb4c3dbf170946af8ee3634327c06ea4536 (patch) | |
tree | ea9e010865b827a09fb66121518977be6c05ffe3 | |
parent | d57daa7385581fce63ecf7468e4749a5a91569aa (diff) | |
download | gdm-c721deb4c3dbf170946af8ee3634327c06ea4536.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.am | 11 | ||||
-rw-r--r-- | data/mime-dummy-handler.desktop | 6 | ||||
-rw-r--r-- | data/mimeapps.list | 19 |
3 files changed, 35 insertions, 1 deletions
diff --git a/data/Makefile.am b/data/Makefile.am index 86243068..1e9a5ffd 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -94,6 +94,8 @@ EXTRA_DIST = \ PostLogin \ gconf.path \ session-setup.entries \ + mime-dummy-handler.desktop \ + mimeapps.list \ $(NULL) CLEANFILES = \ @@ -222,6 +224,12 @@ install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession gconf.pa chown root:gdm $(DESTDIR)$(workingdir) || : ; \ 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)$(cachedir); then \ $(mkinstalldirs) $(DESTDIR)$(cachedir); \ chmod 1755 $(DESTDIR)$(cachedir); \ @@ -235,4 +243,5 @@ install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession gconf.pa chmod 1750 $(DESTDIR)$(workingdir)/.gconf.mandatory chmod 1640 $(DESTDIR)$(workingdir)/.gconf.mandatory/*.xml - + $(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 |