From 9c8c2d53baca59f28406d12cbe7da22ca2aaf79b Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Nov 19 2013 22:32:19 +0000 Subject: Update for 1.12 --- diff --git a/krb5-1.12-api.patch b/krb5-1.12-api.patch new file mode 100644 index 0000000..f5432a3 --- /dev/null +++ b/krb5-1.12-api.patch @@ -0,0 +1,27 @@ +Reference docs don't define what happens if you call krb5_realm_compare() with +malformed krb5_principal structures. Define a behavior which keeps it from +crashing if applications don't check ahead of time. + +--- krb5/src/lib/krb5/krb/princ_comp.c ++++ krb5/src/lib/krb5/krb/princ_comp.c +@@ -41,6 +41,10 @@ realm_compare_flags(krb5_context context + const krb5_data *realm1 = &princ1->realm; + const krb5_data *realm2 = &princ2->realm; + ++ if (princ1 == NULL || princ2 == NULL) ++ return FALSE; ++ if (realm1 == NULL || realm2 == NULL) ++ return FALSE; + if (realm1->length != realm2->length) + return FALSE; + if (realm1->length == 0) +@@ -92,6 +98,9 @@ krb5_principal_compare_flags(krb5_contex + krb5_principal upn2 = NULL; + krb5_boolean ret = FALSE; + ++ if (princ1 == NULL || princ2 == NULL) ++ return FALSE; ++ + if (flags & KRB5_PRINCIPAL_COMPARE_ENTERPRISE) { + /* Treat UPNs as if they were real principals */ + if (princ1->type == KRB5_NT_ENTERPRISE_PRINCIPAL) { diff --git a/krb5-1.8-api.patch b/krb5-1.8-api.patch deleted file mode 100644 index 9cc9cd2..0000000 --- a/krb5-1.8-api.patch +++ /dev/null @@ -1,30 +0,0 @@ -Reference docs don't define what happens if you call krb5_realm_compare() with -malformed krb5_principal structures. Define a behavior which keeps it from -crashing if applications don't check ahead of time. - -diff -up krb5-1.8/src/lib/krb5/krb/princ_comp.c.api krb5-1.8/src/lib/krb5/krb/princ_comp.c ---- krb5-1.8/src/lib/krb5/krb/princ_comp.c.api 2009-10-30 20:48:38.000000000 -0400 -+++ krb5-1.8/src/lib/krb5/krb/princ_comp.c 2010-03-05 11:00:55.000000000 -0500 -@@ -41,6 +41,12 @@ realm_compare_flags(krb5_context context - const krb5_data *realm1 = krb5_princ_realm(context, princ1); - const krb5_data *realm2 = krb5_princ_realm(context, princ2); - -+ if ((princ1 == NULL) || (princ2 == NULL)) -+ return FALSE; -+ -+ if ((realm1 == NULL) || (realm2 == NULL)) -+ return FALSE; -+ - if (realm1->length != realm2->length) - return FALSE; - -@@ -92,6 +98,9 @@ krb5_principal_compare_flags(krb5_contex - krb5_principal upn2 = NULL; - krb5_boolean ret = FALSE; - -+ if ((princ1 == NULL) || (princ2 == NULL)) -+ return FALSE; -+ - if (flags & KRB5_PRINCIPAL_COMPARE_ENTERPRISE) { - /* Treat UPNs as if they were real principals */ - if (krb5_princ_type(context, princ1) == KRB5_NT_ENTERPRISE_PRINCIPAL) { diff --git a/krb5.spec b/krb5.spec index 29c5a99..bbbb1a4 100644 --- a/krb5.spec +++ b/krb5.spec @@ -80,7 +80,7 @@ Patch16: krb5-1.12-buildconf.patch Patch23: krb5-1.3.1-dns.patch Patch29: krb5-1.10-kprop-mktemp.patch Patch30: krb5-1.3.4-send-pr-tempfile.patch -Patch39: krb5-1.8-api.patch +Patch39: krb5-1.12-api.patch Patch56: krb5-1.10-doublelog.patch Patch59: krb5-1.10-kpasswd_tcp.patch Patch60: krb5-1.12-pam.patch