Hello again,

Attached is a patch to fix this bug, using the fix from the upstream
stable release (Linux-PAM-0.99.2.1).

If you can't fix it in the next few days, please could I NMU this?
It's now causing my schroot package to FTBFS.


Many thanks,
Roger

-- 
Roger Leigh
                Printing on GNU/Linux?  http://gutenprint.sourceforge.net/
                Debian GNU/Linux        http://www.debian.org/
                GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.
diff -urN pam-0.79.original/debian/changelog pam-0.79/debian/changelog
--- pam-0.79.original/debian/changelog	2006-01-30 14:38:05.000000000 +0000
+++ pam-0.79/debian/changelog	2006-01-30 14:48:01.940666124 +0000
@@ -1,3 +1,12 @@
+pam (0.79-3.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Linux-PAM/libpamc/include/security/pam_client.h: Apply patch from
+    latest upstream version to remove redefinition of internal
+    glibc/libstdc++ types.  Closes: #344447.
+
+ -- Roger Leigh <[EMAIL PROTECTED]>  Mon, 30 Jan 2006 14:46:42 +0000
+
 pam (0.79-3) unstable; urgency=low
 
   * Patch 059
diff -urN pam-0.79.original/Linux-PAM/libpamc/include/security/pam_client.h pam-0.79/Linux-PAM/libpamc/include/security/pam_client.h
--- pam-0.79.original/Linux-PAM/libpamc/include/security/pam_client.h	2006-01-30 14:38:05.000000000 +0000
+++ pam-0.79/Linux-PAM/libpamc/include/security/pam_client.h	2006-01-30 14:43:50.297574694 +0000
@@ -1,5 +1,5 @@
 /*
- * $Id: pam_client.h 281 2005-07-13 12:05:12Z vorlon $
+ * $Id: pam_client.h,v 1.7 2005/05/20 14:58:58 kukuk Exp $
  *
  * Copyright (c) 1999 Andrew G. Morgan <[EMAIL PROTECTED]>
  *
@@ -16,23 +16,14 @@
 #include <unistd.h>
 #include <string.h>
 #include <stdio.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
+#include <sys/types.h>
 
 /* opaque agent handling structure */
 
 typedef struct pamc_handle_s *pamc_handle_t;
 
 /* binary prompt structure pointer */
-#ifndef __u32
-# define __u32  unsigned int
-#endif
-#ifndef __u8
-# define __u8  unsigned char
-#endif
-typedef struct { __u32 length; __u8 control; } *pamc_bp_t;
+typedef struct { u_int32_t length; u_int8_t control; } *pamc_bp_t;
 
 /*
  * functions provided by libpamc
@@ -95,10 +86,10 @@
 # define PAM_BP_FREE        free
 #endif /* PAM_BP_FREE */
 
-#define __PAM_BP_WOCTET(x,y)  (*((y) + (__u8 *)(x)))
-#define __PAM_BP_ROCTET(x,y)  (*((y) + (const __u8 *)(x)))
+#define __PAM_BP_WOCTET(x,y)  (*((y) + (u_int8_t *)(x)))
+#define __PAM_BP_ROCTET(x,y)  (*((y) + (const u_int8_t *)(x)))
 
-#define PAM_BP_MIN_SIZE       (sizeof(__u32) + sizeof(__u8))
+#define PAM_BP_MIN_SIZE       (sizeof(u_int32_t) + sizeof(u_int8_t))
 #define PAM_BP_MAX_LENGTH     0x20000                   /* an advisory limit */
 #define PAM_BP_WCONTROL(x)    (__PAM_BP_WOCTET(x,4))
 #define PAM_BP_RCONTROL(x)    (__PAM_BP_ROCTET(x,4))
@@ -107,8 +98,8 @@
 			       (__PAM_BP_ROCTET(x,2)<< 8)+      \
 			       (__PAM_BP_ROCTET(x,3)    ))
 #define PAM_BP_LENGTH(x)      (PAM_BP_SIZE(x) - PAM_BP_MIN_SIZE)
-#define PAM_BP_WDATA(x)       (PAM_BP_MIN_SIZE + (__u8 *) (x))
-#define PAM_BP_RDATA(x)       (PAM_BP_MIN_SIZE + (const __u8 *) (x))
+#define PAM_BP_WDATA(x)       (PAM_BP_MIN_SIZE + (u_int8_t *) (x))
+#define PAM_BP_RDATA(x)       (PAM_BP_MIN_SIZE + (const u_int8_t *) (x))
 
 /* Note, this macro always '\0' terminates renewed packets */
 
@@ -116,13 +107,13 @@
 do {                                                                       \
     if (old_p) {                                                           \
 	if (*(old_p)) {                                                    \
-	    __u32 __size;                                                  \
+	    u_int32_t __size;                                              \
             __size = PAM_BP_SIZE(*(old_p));                                \
 	    memset(*(old_p), 0, __size);                                   \
 	    PAM_BP_FREE(*(old_p));                                         \
 	}                                                                  \
 	if (cntrl) {                                                       \
-	    __u32 __size;                                                  \
+	    u_int32_t __size;                                              \
                                                                            \
 	    __size = PAM_BP_MIN_SIZE + data_length;                        \
 	    if ((*(old_p) = PAM_BP_CALLOC(1, 1+__size))) {                 \
@@ -145,7 +136,7 @@
 #define PAM_BP_FILL(prmpt, offset, length, data)                           \
 do {                                                                       \
     size_t bp_length;                                                      \
-    __u8 *prompt = (__u8 *) (prmpt);                                       \
+    u_int8_t *prompt = (u_int8_t *) (prmpt);                               \
     bp_length = PAM_BP_LENGTH(prompt);                                     \
     if (bp_length < ((length)+(offset))) {                                 \
 	PAM_BP_ASSERT("attempt to write over end of prompt");              \
@@ -156,7 +147,7 @@
 #define PAM_BP_EXTRACT(prmpt, offset, length, data)                        \
 do {                                                                       \
     size_t __bp_length;                                                    \
-    const __u8 *__prompt = (const __u8 *) (prmpt);                         \
+    const u_int8_t *__prompt = (const u_int8_t *) (prmpt);                 \
     __bp_length = PAM_BP_LENGTH(__prompt);                                 \
     if (((offset) < 0) || (__bp_length < ((length)+(offset)))              \
 	|| ((length) < 0)) {                                               \
@@ -165,9 +156,6 @@
     memcpy((data), (offset) + PAM_BP_RDATA(__prompt), (length));           \
 } while (0)
 
-#ifdef __cplusplus
-}
-#endif
 
 /* Control types */
 

Attachment: pgp9AWX933upp.pgp
Description: PGP signature

Reply via email to