From owner-freebsd-gnome@FreeBSD.ORG Sat Jul 26 15:10:01 2008 Return-Path: Delivered-To: gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 057501065671 for ; Sat, 26 Jul 2008 15:10:01 +0000 (UTC) (envelope-from mwisnicki@gmail.com) Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.154]) by mx1.freebsd.org (Postfix) with ESMTP id 7438B8FC14 for ; Sat, 26 Jul 2008 15:10:00 +0000 (UTC) (envelope-from mwisnicki@gmail.com) Received: by fg-out-1718.google.com with SMTP id l26so3067712fgb.35 for ; Sat, 26 Jul 2008 08:09:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:date:to:subject:from :cc:x-send-pr-version:x-gnats-notify:sender:message-id; bh=sPQ3gtkkri0MxVEQKJjc7ADZ6yIh6MLiCVqwX0bDfyc=; b=K3NpEqJhI6AFZy1x9l+ZgSEJsDWWX5JlrWxSXWeiNxRy1t0al21R/zKrmu1zBYHODq eLZgDdVG6QRQP/gWAFcLzEw2fGjCd1pnZq4C35HbpGMZnzKON/XbxdO7bDoXGWeREQr9 bO6+VouObHJuaknVXWYiDoMbGCTBtn5MgSt+8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:to:subject:from:cc:x-send-pr-version:x-gnats-notify:sender :message-id; b=nt0UkelzWJH19goiPZwSuHjiwZLNs8b4NLxDyx1jUNM2ve3lAr9mYe8r6ZKeqwJieA T2wMSm2Hg2k2v7SKuXSlbfjTRkdF5yBr+iskN+vHN0FwLPknxd+yJggVINOxrQUBSlUD rkjcqJyRH91w87PHIS5X4zLnu/Cl06RudXeeo= Received: by 10.86.84.5 with SMTP id h5mr938719fgb.58.1217084999366; Sat, 26 Jul 2008 08:09:59 -0700 (PDT) Received: from ghost.pnet.one.pl ( [84.40.242.20]) by mx.google.com with ESMTPS id 4sm16064220fgg.9.2008.07.26.08.09.57 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 26 Jul 2008 08:09:58 -0700 (PDT) Received: by ghost.pnet.one.pl (sSMTP sendmail emulation); Sat, 26 Jul 2008 17:09:55 +0200 Date: Sat, 26 Jul 2008 17:09:55 +0200 To: FreeBSD-gnats-submit@freebsd.org From: Marcin Wisnicki X-send-pr-version: 3.113 X-GNATS-Notify: Sender: =?UTF-8?B?TWFyY2luIFdpxZtuaWNraQ==?= Message-ID: <488b3e46.0407560a.3d5f.fffff426@mx.google.com> Cc: gnome@FreeBSD.org Subject: [PATCH] x11/gdm: GnomeKeyring integration X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Jul 2008 15:10:01 -0000 >Submitter-Id: current-users >Originator: Marcin Wisnicki >Organization: >Confidential: no >Synopsis: [PATCH] x11/gdm: GnomeKeyring integration >Severity: non-critical >Priority: low >Category: ports >Class: change-request >Release: FreeBSD 7.0-STABLE i386 >Environment: System: FreeBSD ghost.pnet.one.pl 7.0-STABLE FreeBSD 7.0-STABLE #15: Fri Jul 25 18:16:53 CEST 2008 >Description: - Optional (enabled by default) GnomeKeyring integration via PAM. - Remove some ancient pam checks There is already pam configuration for gdm service in base system. Because PAM first looks in /etc/pam.d, I need to remove /etc/pam.d/gdm, in order to provide my own customized configuration with port. To make it somewhat persistent (ie. survive base system update), I've decided to remove it from gdm startup script. This patch assumes that ports/125967 is commited. I will also submit similar patch for x11/xscreensaver-gnome. Added file(s): - files/gdm.pam.in Port maintainer (gnome@FreeBSD.org) is cc'd. Generated with FreeBSD Port Tools 0.77 >How-To-Repeat: >Fix: --- gdm-2.20.7_1.patch begins here --- diff -ruN --exclude=CVS /usr/ports/x11/gdm.orig/Makefile /usr/ports/x11/gdm/Makefile --- /usr/ports/x11/gdm.orig/Makefile 2008-07-06 04:35:12.000000000 +0200 +++ /usr/ports/x11/gdm/Makefile 2008-07-26 00:40:19.000000000 +0200 @@ -8,6 +8,7 @@ PORTNAME= gdm PORTVERSION= 2.20.7 +PORTREVISION= 1 CATEGORIES= x11 gnome MASTER_SITES= GNOME DIST_SUBDIR= gnome2 @@ -38,6 +39,8 @@ GTKDOC="false" CONFIGURE_ARGS=--with-console-kit=yes +SUB_FILES+= gdm.pam + GDMDIR?= ${PREFIX}/etc/gdm PKGMESSAGE= ${WRKDIR}/pkg-message @@ -46,14 +49,16 @@ MAN1= gdm.1 OPTIONS= IPV6 "Enable IPv6 support" on \ + KEYRING "Enable GnomeKeyring/PAM integration" on \ LOG_LIMIT "Limit ~/.xsession-errors size" on .include -.if exists(/usr/include/security/pam_misc.h) -PLIST_SUB+= PAM_MISC="" +.if defined(WITHOUT_KEYRING) +SUB_LIST+= PAM_KEYRING=\# .else -PLIST_SUB+= PAM_MISC="@comment " +RUN_DEPENDS+= ${LOCALBASE}/lib/pam_gnome_keyring.so:${PORTSDIR}/security/gnome-keyring +SUB_LIST+= PAM_KEYRING= .endif .if !defined(WITHOUT_IPV6) @@ -87,6 +92,7 @@ .endif ${INSTALL_DATA} ${WRKSRC}/config/gdm.conf-custom \ ${PREFIX}/etc/gdm/custom.conf.default + ${INSTALL_DATA} ${WRKDIR}/gdm.pam ${PREFIX}/etc/pam.d/gdm @${MKDIR} ${PREFIX}/etc/gdm/Sessions @${SED} -e 's|%%PREFIX%%|${PREFIX}|g' < ${PKGDIR}/pkg-message \ | /usr/bin/fmt 75 79 > ${PKGMESSAGE} diff -ruN --exclude=CVS /usr/ports/x11/gdm.orig/files/gdm.in /usr/ports/x11/gdm/files/gdm.in --- /usr/ports/x11/gdm.orig/files/gdm.in 2008-04-03 00:03:15.000000000 +0200 +++ /usr/ports/x11/gdm/files/gdm.in 2008-07-26 01:03:01.000000000 +0200 @@ -14,6 +14,7 @@ . %%GNOME_SUBR%% gdm_enable=${gdm_enable-${gnome_enable}} +gdm_preserve_base_pam_conf=${gdm_preserve_base_pam_conf-NO} export PATH=/bin:/sbin:/usr/bin:/usr/sbin:%%LOCALBASE%%/bin:%%LOCALBASE%%/sbin @@ -31,6 +32,11 @@ fi echo "Starting ${name}." + # make sure there is no pam configuration for gdm service in base system + if ! checkyesno gdm_preserve_base_pam_conf && [ -f /etc/pam.d/gdm ]; then + rm -f /etc/pam.d/gdm + fi + ( iter=0 while ! ps -axoargs | grep "^/usr/libexec/getty " | grep -qv grep >/dev/null 2>&1; do if [ ${iter} -eq 60 ]; then diff -ruN --exclude=CVS /usr/ports/x11/gdm.orig/files/gdm.pam.in /usr/ports/x11/gdm/files/gdm.pam.in --- /usr/ports/x11/gdm.orig/files/gdm.pam.in 1970-01-01 01:00:00.000000000 +0100 +++ /usr/ports/x11/gdm/files/gdm.pam.in 2008-07-26 01:11:55.000000000 +0200 @@ -0,0 +1,21 @@ +# +# $FreeBSD: src/etc/pam.d/gdm,v 1.8 2007/06/10 18:57:20 yar Exp $ +# +# PAM configuration for the "gdm" service +# + +# auth +#auth sufficient pam_krb5.so no_warn try_first_pass +#auth sufficient pam_ssh.so no_warn try_first_pass +auth required pam_unix.so no_warn try_first_pass +%%PAM_KEYRING%%auth optional %%LOCALBASE%%/lib/pam_gnome_keyring.so + +# account +account required pam_nologin.so +#account required pam_krb5.so +account required pam_unix.so + +# session +#session optional pam_ssh.so +session required pam_permit.so +%%PAM_KEYRING%%session optional %%LOCALBASE%%/lib/pam_gnome_keyring.so auto_start diff -ruN --exclude=CVS /usr/ports/x11/gdm.orig/pkg-plist /usr/ports/x11/gdm/pkg-plist --- /usr/ports/x11/gdm.orig/pkg-plist 2008-07-06 04:35:12.000000000 +0200 +++ /usr/ports/x11/gdm/pkg-plist 2008-07-26 00:38:37.000000000 +0200 @@ -21,13 +21,13 @@ @unexec if cmp -s %D/etc/gdm/modules/AccessKeyMouseEvents %D/etc/gdm/modules/factory-AccessKeyMouseEvents; then rm -f %D/etc/gdm/modules/AccessKeyMouseEvents; fi etc/gdm/modules/factory-AccessKeyMouseEvents @exec [ -f %B/AccessKeyMouseEvents ] || cp %B/%f %B/AccessKeyMouseEvents +etc/pam.d/gdm lib/gtk-2.0/modules/libdwellmouselistener.a lib/gtk-2.0/modules/libdwellmouselistener.la lib/gtk-2.0/modules/libdwellmouselistener.so lib/gtk-2.0/modules/libkeymouselistener.a lib/gtk-2.0/modules/libkeymouselistener.la lib/gtk-2.0/modules/libkeymouselistener.so -%%PAM_MISC%%libexec/gdmaskpass libexec/gdmchooser libexec/gdmgreeter libexec/gdmlogin --- gdm-2.20.7_1.patch ends here ---