Blame SOURCES/pam-1.1.8-succeed-if-large-uid.patch

f2fdff
diff -up Linux-PAM-1.1.8/modules/pam_succeed_if/pam_succeed_if.c.large-uid Linux-PAM-1.1.8/modules/pam_succeed_if/pam_succeed_if.c
f2fdff
--- Linux-PAM-1.1.8/modules/pam_succeed_if/pam_succeed_if.c.large-uid	2013-06-18 16:11:21.000000000 +0200
f2fdff
+++ Linux-PAM-1.1.8/modules/pam_succeed_if/pam_succeed_if.c	2016-07-19 15:00:57.366549150 +0200
f2fdff
@@ -68,20 +68,20 @@
f2fdff
  * PAM_SERVICE_ERR if the arguments can't be parsed as numbers. */
f2fdff
 static int
f2fdff
 evaluate_num(const pam_handle_t *pamh, const char *left,
f2fdff
-	     const char *right, int (*cmp)(int, int))
f2fdff
+	     const char *right, int (*cmp)(long long, long long))
f2fdff
 {
f2fdff
-	long l, r;
f2fdff
+	long long l, r;
f2fdff
 	char *p;
f2fdff
 	int ret = PAM_SUCCESS;
f2fdff
 
f2fdff
 	errno = 0;
f2fdff
-	l = strtol(left, &p, 0);
f2fdff
+	l = strtoll(left, &p, 0);
f2fdff
 	if ((p == NULL) || (*p != '\0') || errno) {
f2fdff
 		pam_syslog(pamh, LOG_INFO, "\"%s\" is not a number", left);
f2fdff
 		ret = PAM_SERVICE_ERR;
f2fdff
 	}
f2fdff
 
f2fdff
-	r = strtol(right, &p, 0);
f2fdff
+	r = strtoll(right, &p, 0);
f2fdff
 	if ((p == NULL) || (*p != '\0') || errno) {
f2fdff
 		pam_syslog(pamh, LOG_INFO, "\"%s\" is not a number", right);
f2fdff
 		ret = PAM_SERVICE_ERR;
f2fdff
@@ -96,32 +96,32 @@ evaluate_num(const pam_handle_t *pamh, c
f2fdff
 
f2fdff
 /* Simple numeric comparison callbacks. */
f2fdff
 static int
f2fdff
-eq(int i, int j)
f2fdff
+eq(long long i, long long j)
f2fdff
 {
f2fdff
 	return i == j;
f2fdff
 }
f2fdff
 static int
f2fdff
-ne(int i, int j)
f2fdff
+ne(long long i, long long j)
f2fdff
 {
f2fdff
 	return i != j;
f2fdff
 }
f2fdff
 static int
f2fdff
-lt(int i, int j)
f2fdff
+lt(long long i, long long j)
f2fdff
 {
f2fdff
 	return i < j;
f2fdff
 }
f2fdff
 static int
f2fdff
-le(int i, int j)
f2fdff
+le(long long i, long long j)
f2fdff
 {
f2fdff
 	return lt(i, j) || eq(i, j);
f2fdff
 }
f2fdff
 static int
f2fdff
-gt(int i, int j)
f2fdff
+gt(long long i, long long j)
f2fdff
 {
f2fdff
 	return i > j;
f2fdff
 }
f2fdff
 static int
f2fdff
-ge(int i, int j)
f2fdff
+ge(long long i, long long j)
f2fdff
 {
f2fdff
 	return gt(i, j) || eq(i, j);
f2fdff
 }
f2fdff
@@ -298,7 +298,7 @@ evaluate(pam_handle_t *pamh, int debug,
f2fdff
 	}
f2fdff
 	if (strcasecmp(left, "rhost") == 0) {
f2fdff
 		const void *rhost;
f2fdff
-		if (pam_get_item(pamh, PAM_SERVICE, &rhost) != PAM_SUCCESS ||
f2fdff
+		if (pam_get_item(pamh, PAM_RHOST, &rhost) != PAM_SUCCESS ||
f2fdff
 			rhost == NULL)
f2fdff
 			rhost = "";
f2fdff
 		snprintf(buf, sizeof(buf), "%s", (const char *)rhost);
f2fdff
@@ -306,7 +306,7 @@ evaluate(pam_handle_t *pamh, int debug,
f2fdff
 	}
f2fdff
 	if (strcasecmp(left, "tty") == 0) {
f2fdff
 		const void *tty;
f2fdff
-		if (pam_get_item(pamh, PAM_SERVICE, &tty) != PAM_SUCCESS ||
f2fdff
+		if (pam_get_item(pamh, PAM_TTY, &tty) != PAM_SUCCESS ||
f2fdff
 			tty == NULL)
f2fdff
 			tty = "";
f2fdff
 		snprintf(buf, sizeof(buf), "%s", (const char *)tty);