Ticket #31786: heimdal-1.5.2.diff

File heimdal-1.5.2.diff, 3.0 KB (added by raimue (Rainer Müller), 11 years ago)

Second version of the update, fix a failing test case

  • Portfile

     
    44PortSystem 1.0
    55
    66name            heimdal
    7 version         1.3.3
    8 revision        1
     7version         1.5.2
    98categories      net security
    109license         BSD MIT Permissive
    1110maintainers     landonf openmaintainer
     
    2423
    2524homepage        http://www.h5l.org/
    2625master_sites    ${homepage}dist/src/
    27 checksums   md5 963c09f1b14c41660be70b55fae9f163 \
    28             sha1 a385d959e3edd144aee79e9df585e44347342049 \
    29             rmd160 ce97ac415e7c27912ba148b81c46e756dc54ba3e
    3026
     27checksums   rmd160  1ab2f835309a916dfbba667d3d0d38a57c312fde \
     28            sha256  22603f282f31173533b939d289f3374258aa1ccccbe51ee088d7568d321279ec
     29
    3130depends_lib port:readline port:gettext
    3231
    33 patchfiles  patch-lib-sqlite-sqlite3.c.diff
     32patchfiles  patch-kcm-segfault.diff
     33patch.pre_args -p1
    3434
    3535# Use a separate prefix to avoid conflicts with the port kerberos5
    3636# (and openssl, if that variant is selected)
     
    8484    configure.args-append  --with-sqlite3=${prefix}
    8585}
    8686
     87variant debug {
     88    configure.cflags-append -g -O0
     89}
     90default_variants +debug
     91
    8792post-patch {
    8893        # Tiger does not have the CommonCrypto support needed for -openssl
    8994        if {${os.platform} == "darwin" && ${os.major} < 9} {
     
    95100
    96101test.run        yes
    97102test.target     check
     103test.env-append LC_CTYPE=C
    98104
    99105livecheck.type  regex
    100106livecheck.url   ${master_sites}
  • files/patch-kcm-segfault.diff

     
     1From 2daeea4febe322ba134fff2c12c6ba54bd993d6f Mon Sep 17 00:00:00 2001
     2From: Love Hornquist Astrand <lha@h5l.org>
     3Date: Thu, 22 Sep 2011 16:36:52 +0200
     4Subject: [PATCH] handle error code from size_too_large more correct
     5
     6---
     7 lib/krb5/store.c |   18 ++++++++++++------
     8 1 file changed, 12 insertions(+), 6 deletions(-)
     9
     10diff --git a/lib/krb5/store.c b/lib/krb5/store.c
     11index 3aeb8d6..1f6622e 100644
     12--- a/lib/krb5/store.c
     13+++ b/lib/krb5/store.c
     14@@ -792,12 +792,15 @@
     15     ssize_t ret;
     16 
     17     while((ret = sp->fetch(sp, &c, 1)) == 1){
     18+       krb5_error_code eret;
     19        char *tmp;
     20 
     21        len++;
     22-       ret = size_too_large(sp, len);
     23-       if (ret)
     24-           break;
     25+       eret = size_too_large(sp, len);
     26+       if (eret) {
     27+           free(s);
     28+           return eret;
     29+       }
     30        tmp = realloc (s, len);
     31        if (tmp == NULL) {
     32            free (s);
     33@@ -852,6 +855,7 @@
     34     ssize_t ret;
     35 
     36     while((ret = sp->fetch(sp, &c, 1)) == 1){
     37+       krb5_error_code eret;
     38        char *tmp;
     39 
     40        if (c == '\r') {
     41@@ -864,9 +868,11 @@
     42        }
     43 
     44        len++;
     45-       ret = size_too_large(sp, len);
     46-       if (ret)
     47-           break;
     48+       eret = size_too_large(sp, len);
     49+       if (eret) {
     50+           free(s);
     51+           return eret;
     52+       }
     53        tmp = realloc (s, len);
     54        if (tmp == NULL) {
     55            free (s);
     56--
     571.7.10
     58