r16999 - in /trunk/libauthen-krb5-perl/debian: changelog patches/series patches/warning-cleanup

rra at users.alioth.debian.org rra at users.alioth.debian.org
Sat Mar 8 23:06:57 UTC 2008


Author: rra
Date: Sat Mar  8 23:06:56 2008
New Revision: 16999

URL: http://svn.debian.org/wsvn/?sc=1&rev=16999
Log:
* New patch warnings-cleanup:
  - Request prototypes of private functions from the Kerberos library
    headers so that we get compiler diagnostics of argument mismatches
    and prototype all functions.
  - Prototype the unprototyped functions we call anyway.
  - Clean up some other minor compiler warnings.

Added:
    trunk/libauthen-krb5-perl/debian/patches/warning-cleanup
Modified:
    trunk/libauthen-krb5-perl/debian/changelog
    trunk/libauthen-krb5-perl/debian/patches/series

Modified: trunk/libauthen-krb5-perl/debian/changelog
URL: http://svn.debian.org/wsvn/trunk/libauthen-krb5-perl/debian/changelog?rev=16999&op=diff
==============================================================================
--- trunk/libauthen-krb5-perl/debian/changelog (original)
+++ trunk/libauthen-krb5-perl/debian/changelog Sat Mar  8 23:06:56 2008
@@ -3,6 +3,12 @@
   * Fix the krb5_get_in_tkt_with_password backwards-compatibility
     interface to call the correct new function instead of the old
     function with the wrong arguments.
+  * New patch warnings-cleanup:
+    - Request prototypes of private functions from the Kerberos library
+      headers so that we get compiler diagnostics of argument mismatches
+      and prototype all functions.
+    - Prototype the unprototyped functions we call anyway.
+    - Clean up some other minor compiler warnings.
   * Patch cleanup:
     - Remove extraneous .patch file suffixes and rename patches.
     - Remove unnecessary time stamps and patch headers.

Modified: trunk/libauthen-krb5-perl/debian/patches/series
URL: http://svn.debian.org/wsvn/trunk/libauthen-krb5-perl/debian/patches/series?rev=16999&op=diff
==============================================================================
--- trunk/libauthen-krb5-perl/debian/patches/series (original)
+++ trunk/libauthen-krb5-perl/debian/patches/series Sat Mar  8 23:06:56 2008
@@ -1,3 +1,4 @@
 perl-path
 better-compiler-flags
 fix-get-in-tkt-with-password 
+warning-cleanup

Added: trunk/libauthen-krb5-perl/debian/patches/warning-cleanup
URL: http://svn.debian.org/wsvn/trunk/libauthen-krb5-perl/debian/patches/warning-cleanup?rev=16999&op=file
==============================================================================
--- trunk/libauthen-krb5-perl/debian/patches/warning-cleanup (added)
+++ trunk/libauthen-krb5-perl/debian/patches/warning-cleanup Sat Mar  8 23:06:56 2008
@@ -1,0 +1,95 @@
+Clean up some warnings and expose prototypes for private functions so
+that we can get compiler diagnostics about mismatches between what we're
+passing and what functions expect.
+
+--- libauthen-krb5-perl.orig/Krb5.xs
++++ libauthen-krb5-perl/Krb5.xs
+@@ -4,6 +4,9 @@
+ #include "EXTERN.h"
+ #include "perl.h"
+ #include "XSUB.h"
++
++/* We currently provide some private functions and probably shouldn't. */
++#define KRB5_PRIVATE
+ #include <krb5.h>
+ #include <com_err.h>
+ #include <errno.h>
+@@ -38,6 +41,14 @@
+ static krb5_keytab_entry keytab_entry_init;
+ 
+ /*
++ * These are internal Kerberos library functions that aren't prototyped and
++ * that we probably shouldn't be calling.  Prototype them with the arguments
++ * we expect and leave them for now pending an API cleanup.
++ */
++krb5_error_code krb5_free_krbhst(krb5_context, char * const *);
++krb5_error_code krb5_get_krbhst(krb5_context, const krb5_data *, char ***);
++
++/*
+  * The following three routines implement a "safehouse" for nested Kerberos
+  * data structures which shouldn't be freed before their parent data
+  * structures are freed.  Without this, "Bad free() ignored" errors as well
+@@ -100,7 +111,7 @@
+ 	}
+ 	else {
+ 		ST(0) = sv_2mortal(newSVpv((char *)error_message(err), 0));
+-		SvUPGRADE(ST(0), SVt_PVIV);
++		(void) SvUPGRADE(ST(0), SVt_PVIV);
+ 		SvIVX(ST(0)) = err;
+ 		SvIOK_on(ST(0));
+ 	}
+@@ -480,7 +491,6 @@
+ 	PREINIT:
+ 	krb5_data in_data;
+ 	krb5_ticket *t;
+-	krb5_flags ap_req_options;
+ 
+ 	CODE:
+ 	if (!New(0,t,1,krb5_ticket)) XSRETURN_UNDEF;
+--- libauthen-krb5-perl.orig/krb5_constants.c
++++ libauthen-krb5-perl/krb5_constants.c
+@@ -1366,18 +1366,6 @@
+ #else
+ 	    goto not_there;
+ #endif
+-	if (strEQ(name, "KRB5_CALLCONV"))
+-#ifdef KRB5_CALLCONV
+-	    return KRB5_CALLCONV;
+-#else
+-	    goto not_there;
+-#endif
+-	if (strEQ(name, "KRB5_CALLCONV_C"))
+-#ifdef KRB5_CALLCONV_C
+-	    return KRB5_CALLCONV_C;
+-#else
+-	    goto not_there;
+-#endif
+ 	if (strEQ(name, "KRB5_CCACHE_BADVNO"))
+ #ifdef KRB5_CCACHE_BADVNO
+ 	    return KRB5_CCACHE_BADVNO;
+@@ -1558,12 +1546,6 @@
+ #else
+ 	    goto not_there;
+ #endif
+-	if (strEQ(name, "KRB5_GENERAL__"))
+-#ifdef KRB5_GENERAL__
+-	    return KRB5_GENERAL__;
+-#else
+-	    goto not_there;
+-#endif
+ 	if (strEQ(name, "KRB5_GET_IN_TKT_LOOP"))
+ #ifdef KRB5_GET_IN_TKT_LOOP
+ 	    return KRB5_GET_IN_TKT_LOOP;
+@@ -3040,12 +3022,6 @@
+     case 'z':
+ 	break;
+     case '_':
+-	if (strEQ(name, "_MACINTOSH"))
+-#ifdef _MACINTOSH
+-	    return _MACINTOSH;
+-#else
+-	    goto not_there;
+-#endif
+ 	if (strEQ(name, "_SIZET"))
+ #ifdef _SIZET
+ 	    return _SIZET;




More information about the Pkg-perl-cvs-commits mailing list