diff options
author | kwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059> | 2013-10-28 06:10:10 +0800 |
---|---|---|
committer | kwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059> | 2013-10-28 06:10:10 +0800 |
commit | 752a66b40a757b50196fb97fda1143a42e96c295 (patch) | |
tree | 49bd85e2fc333a96c40e09b46a8027f64b1a470f /x11/gnome-screensaver/files | |
parent | 2d81cfc3ccdf086d3ac5c107818ffe2f73f04d9a (diff) | |
download | marcuscom-ports-752a66b40a757b50196fb97fda1143a42e96c295.tar marcuscom-ports-752a66b40a757b50196fb97fda1143a42e96c295.tar.gz marcuscom-ports-752a66b40a757b50196fb97fda1143a42e96c295.tar.bz2 marcuscom-ports-752a66b40a757b50196fb97fda1143a42e96c295.tar.lz marcuscom-ports-752a66b40a757b50196fb97fda1143a42e96c295.tar.xz marcuscom-ports-752a66b40a757b50196fb97fda1143a42e96c295.tar.zst marcuscom-ports-752a66b40a757b50196fb97fda1143a42e96c295.zip |
Move gnome3 ports into the place of the gnome2 locations.
Update to new port rules, remove conflicts, latest_link, enable stage support.
gnome-games was skipped because I got a update for that.
gnome-keyring 2 vs 3, needs to be looked at.
zenity 2 vs 3, and libgnomekbd 2 vs 3
Use new lib_depend syntax in bsd.gnome.mk.
Possible lots of broken links.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@18813 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'x11/gnome-screensaver/files')
-rw-r--r-- | x11/gnome-screensaver/files/gnome-screensaver.pam.in | 2 | ||||
-rw-r--r-- | x11/gnome-screensaver/files/patch-src_gs-auth-helper.c | 201 | ||||
-rw-r--r-- | x11/gnome-screensaver/files/patch-src_gs-job.c | 12 | ||||
-rw-r--r-- | x11/gnome-screensaver/files/patch-src_gs-lock-plug.c | 11 |
4 files changed, 202 insertions, 24 deletions
diff --git a/x11/gnome-screensaver/files/gnome-screensaver.pam.in b/x11/gnome-screensaver/files/gnome-screensaver.pam.in index c2f8394ff..539ca0ee7 100644 --- a/x11/gnome-screensaver/files/gnome-screensaver.pam.in +++ b/x11/gnome-screensaver/files/gnome-screensaver.pam.in @@ -1,3 +1,3 @@ auth include system -%%PAM_KEYRING%%auth optional %%LOCALBASE%%/lib/pam_gnome_keyring.so +auth optional %%LOCALBASE%%/lib/pam_gnome_keyring.so account include system diff --git a/x11/gnome-screensaver/files/patch-src_gs-auth-helper.c b/x11/gnome-screensaver/files/patch-src_gs-auth-helper.c new file mode 100644 index 000000000..00e8766f4 --- /dev/null +++ b/x11/gnome-screensaver/files/patch-src_gs-auth-helper.c @@ -0,0 +1,201 @@ +--- src/gs-auth-helper.c.orig 2011-03-16 17:24:06.000000000 -0500 ++++ src/gs-auth-helper.c 2011-03-16 17:23:55.000000000 -0500 +@@ -0,0 +1,198 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- ++ * ++ * written by Olaf Kirch <okir@suse.de> ++ * xscreensaver, Copyright (c) 1993-2004 Jamie Zawinski <jwz@jwz.org> ++ * ++ * Permission to use, copy, modify, distribute, and sell this software and its ++ * documentation for any purpose is hereby granted without fee, provided that ++ * the above copyright notice appear in all copies and that both that ++ * copyright notice and this permission notice appear in supporting ++ * documentation. No representations are made about the suitability of this ++ * software for any purpose. It is provided "as is" without express or ++ * implied warranty. ++ */ ++ ++/* The idea here is to be able to run gnome-screensaver-dialog without any setuid bits. ++ * Password verification happens through an external program that you feed ++ * your password to on stdin. The external command is invoked with a user ++ * name argument. ++ * ++ * The external helper does whatever authentication is necessary. Currently, ++ * SuSE uses "unix2_chkpwd", which is a variation of "unix_chkpwd" from the ++ * PAM distribution. ++ * ++ * Normally, the password helper should just authenticate the calling user ++ * (i.e. based on the caller's real uid). This is in order to prevent ++ * brute-forcing passwords in a shadow environment. A less restrictive ++ * approach would be to allow verifying other passwords as well, but always ++ * with a 2 second delay or so. (Not sure what SuSE's "unix2_chkpwd" ++ * currently does.) ++ * -- Olaf Kirch <okir@suse.de>, 16-Dec-2003 ++ */ ++ ++#include "config.h" ++ ++#include <stdlib.h> ++#ifdef HAVE_UNISTD_H ++# include <unistd.h> ++#endif ++ ++#include <stdio.h> ++#include <string.h> ++#include <sys/types.h> ++#include <pwd.h> ++#include <errno.h> ++#include <sys/wait.h> ++ ++#include <glib.h> ++#include <glib/gstdio.h> ++ ++#include "gs-auth.h" ++#include "subprocs.h" ++ ++static gboolean verbose_enabled = FALSE; ++ ++GQuark ++gs_auth_error_quark (void) ++{ ++ static GQuark quark = 0; ++ if (! quark) { ++ quark = g_quark_from_static_string ("gs_auth_error"); ++ } ++ ++ return quark; ++} ++ ++void ++gs_auth_set_verbose (gboolean enabled) ++{ ++ verbose_enabled = enabled; ++} ++ ++gboolean ++gs_auth_get_verbose (void) ++{ ++ return verbose_enabled; ++} ++ ++static gboolean ++ext_run (const char *user, ++ const char *typed_passwd, ++ gboolean verbose) ++{ ++ int pfd[2], status; ++ pid_t pid; ++ ++ if (pipe (pfd) < 0) { ++ return 0; ++ } ++ ++ if (verbose) { ++ g_message ("ext_run (%s, %s)", ++ PASSWD_HELPER_PROGRAM, user); ++ } ++ ++ block_sigchld (); ++ ++ if ((pid = fork ()) < 0) { ++ close (pfd [0]); ++ close (pfd [1]); ++ return FALSE; ++ } ++ ++ if (pid == 0) { ++ close (pfd [1]); ++ if (pfd [0] != 0) { ++ dup2 (pfd [0], 0); ++ } ++ ++ /* Helper is invoked as helper service-name [user] */ ++ execlp (PASSWD_HELPER_PROGRAM, PASSWD_HELPER_PROGRAM, "gnome-screensaver", user, NULL); ++ if (verbose) { ++ g_message ("%s: %s", PASSWD_HELPER_PROGRAM, g_strerror (errno)); ++ } ++ ++ exit (1); ++ } ++ ++ close (pfd [0]); ++ ++ /* Write out password to helper process */ ++ if (!typed_passwd) { ++ typed_passwd = ""; ++ } ++ write (pfd [1], typed_passwd, strlen (typed_passwd)); ++ close (pfd [1]); ++ ++ while (waitpid (pid, &status, 0) < 0) { ++ if (errno == EINTR) { ++ continue; ++ } ++ ++ if (verbose) { ++ g_message ("ext_run: waitpid failed: %s\n", ++ g_strerror (errno)); ++ } ++ ++ unblock_sigchld (); ++ return FALSE; ++ } ++ ++ unblock_sigchld (); ++ ++ if (! WIFEXITED (status) || WEXITSTATUS (status) != 0) { ++ return FALSE; ++ } ++ ++ return TRUE; ++} ++ ++gboolean ++gs_auth_verify_user (const char *username, ++ const char *display, ++ GSAuthMessageFunc func, ++ gpointer data, ++ GError **error) ++{ ++ gboolean res = FALSE; ++ char *password; ++ ++ password = NULL; ++ ++ /* ask for the password for user */ ++ if (func != NULL) { ++ func (GS_AUTH_MESSAGE_PROMPT_ECHO_OFF, ++ "Password: ", ++ &password, ++ data); ++ } ++ ++ if (password == NULL) { ++ return FALSE; ++ } ++ ++ res = ext_run (username, password, gs_auth_get_verbose ()); ++ ++ return res; ++} ++ ++gboolean ++gs_auth_init (void) ++{ ++ return TRUE; ++} ++ ++gboolean ++gs_auth_priv_init (void) ++{ ++ /* Make sure the passwd helper exists */ ++ if (g_access (PASSWD_HELPER_PROGRAM, X_OK) < 0) { ++ g_warning ("%s does not exist. " ++ "password authentication via " ++ "external helper will not work.", ++ PASSWD_HELPER_PROGRAM); ++ return FALSE; ++ } ++ ++ return TRUE; ++} diff --git a/x11/gnome-screensaver/files/patch-src_gs-job.c b/x11/gnome-screensaver/files/patch-src_gs-job.c deleted file mode 100644 index 39e303d27..000000000 --- a/x11/gnome-screensaver/files/patch-src_gs-job.c +++ /dev/null @@ -1,12 +0,0 @@ ---- src/gs-job.c.orig Wed Sep 7 09:23:59 2005 -+++ src/gs-job.c Mon Sep 12 13:24:11 2005 -@@ -29,7 +29,8 @@ - #include <sys/wait.h> - #include <errno.h> - --#if defined(HAVE_SETPRIORITY) && defined(PRIO_PROCESS) -+#if defined(HAVE_SETPRIORITY) -+#include <sys/time.h> - #include <sys/resource.h> - #endif - diff --git a/x11/gnome-screensaver/files/patch-src_gs-lock-plug.c b/x11/gnome-screensaver/files/patch-src_gs-lock-plug.c deleted file mode 100644 index af5d39f8e..000000000 --- a/x11/gnome-screensaver/files/patch-src_gs-lock-plug.c +++ /dev/null @@ -1,11 +0,0 @@ ---- src/gs-lock-plug.c.orig 2011-03-06 21:27:00.000000000 +0100 -+++ src/gs-lock-plug.c 2011-03-06 21:27:36.000000000 +0100 -@@ -1090,7 +1090,7 @@ submit_note (GtkButton *button, - strftime (summary, 128, "%X", tmp); - - notify_init ("gnome-screensaver-dialog"); -- note = notify_notification_new (summary, escaped_text, NULL, NULL); -+ note = notify_notification_new (summary, escaped_text, NULL); - notify_notification_set_timeout (note, NOTIFY_EXPIRES_NEVER); - notify_notification_show (note, NULL); - g_object_unref (note); |