summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Robby Workman <rworkman@slackbuilds.org>2014-02-01 16:20:13 (GMT)
committer Robby Workman <rworkman@slackbuilds.org>2014-02-01 16:20:13 (GMT)
commit351e1c44668c269c9da77c73ceeab9a10cbbfad4 (patch)
tree69162c0c0d68a81d45fc02658c4850323b255faa
parent40ec3c51deeab6d1c78c7acff6fad6d32b80b161 (diff)
downloadslackbuilds-14.0.tar.gz
slackbuilds-14.0.tar.xz
system/gdm: Remove the (unneeded|faulty) crypt patch14.0
This was originally added while the 14.0 tree was maintained, and the intent was to allow users on -current (to be 14.1) to use gdm without being a security risk. As it turned out, the patch was a bit faulty, and while it helped one issue, it caused another, so we'll just remove it now. If you're running 14.1 at this point, you should use the 14.1 repo, which has a fixed patch in the gdm build. Thanks again to mancha for all of his help with this. Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
-rw-r--r--system/gdm/gdm.SlackBuild5
-rw-r--r--system/gdm/patches/gdm-2.20.11-crypt.diff134
2 files changed, 1 insertions, 138 deletions
diff --git a/system/gdm/gdm.SlackBuild b/system/gdm/gdm.SlackBuild
index 7699068..050ccdb 100644
--- a/system/gdm/gdm.SlackBuild
+++ b/system/gdm/gdm.SlackBuild
@@ -11,7 +11,7 @@
PRGNAM=gdm
VERSION=${VERSION:-2.20.11}
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-6}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -60,9 +60,6 @@ find . \
# Don't automatically start ssh-agent -- this is the user's job
patch -p1 < $CWD/patches/do_not_start_ssh-agent.diff
-# Fix crypt() usage with glibc-2.17 and later
-patch -p1 < $CWD/patches/gdm-2.20.11-crypt.diff
-
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/system/gdm/patches/gdm-2.20.11-crypt.diff b/system/gdm/patches/gdm-2.20.11-crypt.diff
deleted file mode 100644
index d72bd80..0000000
--- a/system/gdm/patches/gdm-2.20.11-crypt.diff
+++ /dev/null
@@ -1,134 +0,0 @@
-Correctly handle crypt() NULL returns when built against glibc 2.17+
-
-Author: mancha
-
-=======
-
---- gdm-2.20.11/daemon/verify-crypt.c.orig 2013-06-23
-+++ gdm-2.20.11/daemon/verify-crypt.c 2013-06-23
-@@ -104,7 +104,7 @@ gdm_verify_user (GdmDisplay *d,
- const char *username,
- gboolean allow_retry)
- {
-- gchar *login, *passwd, *ppasswd;
-+ gchar *login, *passwd, *ppasswd, *cpasswd;
- struct passwd *pwent;
- #if defined (HAVE_PASSWDEXPIRED) && defined (HAVE_CHPASS) \
- || defined (HAVE_LOGINRESTRICTIONS)
-@@ -190,8 +190,10 @@ gdm_verify_user (GdmDisplay *d,
- }
-
- /* Check whether password is valid */
-- if (ppasswd == NULL || (ppasswd[0] != '\0' &&
-- strcmp (crypt (passwd, ppasswd), ppasswd) != 0)) {
-+ cpasswd = ppasswd ? crypt (passwd, ppasswd) : NULL;
-+ if (ppasswd == NULL || cpasswd == NULL ||
-+ (ppasswd[0] != '\0' &&
-+ strcmp (cpasswd, ppasswd) != 0)) {
- gdm_sleep_no_signal (gdm_daemon_config_get_value_int (GDM_KEY_RETRY_DELAY));
- gdm_debug ("Couldn't authenticate user");
-
-@@ -200,6 +202,7 @@ gdm_verify_user (GdmDisplay *d,
- g_free (login);
- g_free (passwd);
- g_free (ppasswd);
-+ g_free (cpasswd);
- return NULL;
- }
-
-@@ -217,6 +220,7 @@ gdm_verify_user (GdmDisplay *d,
- g_free (login);
- g_free (passwd);
- g_free (ppasswd);
-+ g_free (cpasswd);
- return NULL;
- }
-
-@@ -233,6 +237,7 @@ gdm_verify_user (GdmDisplay *d,
- g_free (login);
- g_free (passwd);
- g_free (ppasswd);
-+ g_free (cpasswd);
- if (message != NULL)
- free (message);
- return NULL;
-@@ -259,6 +264,7 @@ gdm_verify_user (GdmDisplay *d,
- g_free (login);
- g_free (passwd);
- g_free (ppasswd);
-+ g_free (cpasswd);
- return NULL;
- }
-
-@@ -266,6 +272,7 @@ gdm_verify_user (GdmDisplay *d,
-
- g_free (passwd);
- g_free (ppasswd);
-+ g_free (cpasswd);
-
- if ( ! gdm_slave_check_user_wants_to_log_in (login)) {
- g_free (login);
---- gdm-2.20.11/daemon/verify-shadow.c.orig 2013-06-23
-+++ gdm-2.20.11/daemon/verify-shadow.c 2013-06-23
-@@ -105,7 +105,7 @@ gdm_verify_user (GdmDisplay *d,
- const char *username,
- gboolean allow_retry)
- {
-- gchar *login, *passwd, *ppasswd;
-+ gchar *login, *passwd, *ppasswd, *cpasswd;
- struct passwd *pwent;
- struct spwd *sp;
- #if defined (HAVE_PASSWDEXPIRED) && defined (HAVE_CHPASS) \
-@@ -211,8 +211,10 @@ gdm_verify_user (GdmDisplay *d,
- }
-
- /* Check whether password is valid */
-- if (ppasswd == NULL || (ppasswd[0] != '\0' &&
-- strcmp (crypt (passwd, ppasswd), ppasswd) != 0)) {
-+ cpasswd = ppasswd ? crypt (passwd, ppasswd) : NULL;
-+ if (ppasswd == NULL || cpasswd == NULL ||
-+ (ppasswd[0] != '\0' &&
-+ strcmp (cpasswd, ppasswd) != 0)) {
- gdm_sleep_no_signal (gdm_daemon_config_get_value_int (GDM_KEY_RETRY_DELAY));
- gdm_debug ("Couldn't authenticate user");
-
-@@ -221,6 +223,7 @@ gdm_verify_user (GdmDisplay *d,
- g_free (login);
- g_free (passwd);
- g_free (ppasswd);
-+ g_free (cpasswd);
- return NULL;
- }
-
-@@ -238,6 +241,7 @@ gdm_verify_user (GdmDisplay *d,
- g_free (login);
- g_free (passwd);
- g_free (ppasswd);
-+ g_free (cpasswd);
- return NULL;
- }
-
-@@ -254,6 +258,7 @@ gdm_verify_user (GdmDisplay *d,
- g_free (login);
- g_free (passwd);
- g_free (ppasswd);
-+ g_free (cpasswd);
- if (message != NULL)
- free (message);
- return NULL;
-@@ -280,6 +285,7 @@ gdm_verify_user (GdmDisplay *d,
- g_free (login);
- g_free (passwd);
- g_free (ppasswd);
-+ g_free (cpasswd);
- return NULL;
- }
-
-@@ -287,6 +293,7 @@ gdm_verify_user (GdmDisplay *d,
-
- g_free (passwd);
- g_free (ppasswd);
-+ g_free (cpasswd);
-
- if ( ! gdm_slave_check_user_wants_to_log_in (login)) {
- g_free (login);