[146315] trunk/dports/net/kerberos5

ryandesign at macports.org ryandesign at macports.org
Fri Mar 4 07:51:47 PST 2016


Revision: 146315
          https://trac.macports.org/changeset/146315
Author:   ryandesign at macports.org
Date:     2016-03-04 07:51:47 -0800 (Fri, 04 Mar 2016)
Log Message:
-----------
kerberos5: update to 1.14.1

Modified Paths:
--------------
    trunk/dports/net/kerberos5/Portfile

Removed Paths:
-------------
    trunk/dports/net/kerberos5/files/83ed75feba32e46f736fcce0d96a0445f29b96c2.patch
    trunk/dports/net/kerberos5/files/b863de7fbf080b15e347a736fdda0a82d42f4f6b.patch
    trunk/dports/net/kerberos5/files/df17a1224a3406f57477bcd372c61e04c0e5a5bb.patch

Modified: trunk/dports/net/kerberos5/Portfile
===================================================================
--- trunk/dports/net/kerberos5/Portfile	2016-03-04 15:46:44 UTC (rev 146314)
+++ trunk/dports/net/kerberos5/Portfile	2016-03-04 15:51:47 UTC (rev 146315)
@@ -2,19 +2,16 @@
 # $Id$
 
 PortSystem                  1.0
-PortGroup                   github 1.0
 PortGroup                   compiler_blacklist_versions 1.0
 
-github.setup                krb5 krb5 1.14-final krb5-
 name                        kerberos5
-version                     1.14
-
+version                     1.14.1
+set branch                  [join [lrange [split ${version} .] 0 1] .]
 conflicts                   fbopenssl
 categories                  net security
 maintainers                 ryandesign openmaintainer
 license                     MIT BSD ISC OpenLDAP-2.8+
 platforms                   darwin
-homepage                    http://web.mit.edu/kerberos/
 
 description                 Kerberos is a network authentication protocol.
 
@@ -26,9 +23,13 @@
                             Technology. Kerberos is available in many commercial \
                             products as well.
 
-checksums                   rmd160  ae291f655922f93f61f6c9ca92a9a2c1126d38d6 \
-                            sha256  bc3237d8ab2ecb21b5a2cf32c09d368385b7779efc0db1a90cbfa1f671453db5
+homepage                    http://web.mit.edu/kerberos/
+master_sites                ${homepage}dist/krb5/${branch}/
+distname                    krb5-${version}
 
+checksums                   rmd160  3e32a0cd365474deeeb563831b7e408f9158b36a \
+                            sha256  c8faa44574246f5bd0ce5a3dedc48c32db48a74cc4323949bf70f0ac2d6f1a99
+
 depends_build               port:python27
 
 depends_lib                 port:gettext \
@@ -42,9 +43,6 @@
 patchfiles                  patch-util__verto__Makefile.in-use-nonzero-compat-version.diff \
                             patch-config__shlib.conf-do-not-pass-dylib-file-ldflags.diff \
                             patch-lib_rpc_Makefile.in-explicitly-link-krb5support.diff \
-                            df17a1224a3406f57477bcd372c61e04c0e5a5bb.patch \
-                            b863de7fbf080b15e347a736fdda0a82d42f4f6b.patch \
-                            83ed75feba32e46f736fcce0d96a0445f29b96c2.patch \
                             no-Werror.patch
 
 use_autoreconf              yes
@@ -70,7 +68,7 @@
 # Needs LIBRARY_PATH support
 compiler.blacklist-append   {clang <= 318.0.61}
 
-# i386 linking fails on SL with gcc-4.2 from XCode 3.2.6
+# i386 linking fails on Snow Leopard with gcc-4.2 from Xcode 3.2.6
 if {[string match *gcc-4.2 ${configure.compiler}] &&
     ($build_arch eq "i386" || ([variant_isset universal] && "i386" in $universal_archs))} {
     configure.optflags -O2
@@ -86,4 +84,6 @@
     reinplace "/^LDFLAGS=/s/^.*$/LDFLAGS=''/" ${destroot}${prefix}/bin/krb5-config
 }
 
-livecheck.regex              {archive/krb5-([^"]+)-final.tar.gz}
+livecheck.type              regex
+livecheck.url               ${homepage}
+livecheck.regex             {Current\s+release:\s+<.*>krb5-([0-9.]+)<}

Deleted: trunk/dports/net/kerberos5/files/83ed75feba32e46f736fcce0d96a0445f29b96c2.patch
===================================================================
--- trunk/dports/net/kerberos5/files/83ed75feba32e46f736fcce0d96a0445f29b96c2.patch	2016-03-04 15:46:44 UTC (rev 146314)
+++ trunk/dports/net/kerberos5/files/83ed75feba32e46f736fcce0d96a0445f29b96c2.patch	2016-03-04 15:51:47 UTC (rev 146315)
@@ -1,571 +0,0 @@
-Upstream-Status: Backport [https://github.com/krb5/krb5/commit/83ed75feba32e46f736fcce0d96a0445f29b96c2]
-From 83ed75feba32e46f736fcce0d96a0445f29b96c2 Mon Sep 17 00:00:00 2001
-From: Greg Hudson <ghudson at mit.edu>
-Date: Fri, 8 Jan 2016 13:16:54 -0500
-Subject: [PATCH] Fix leaks in kadmin server stubs [CVE-2015-8631]
-
-In each kadmind server stub, initialize the client_name and
-server_name variables, and release them in the cleanup handler.  Many
-of the stubs will otherwise leak the client and server name if
-krb5_unparse_name() fails.  Also make sure to free the prime_arg
-variables in rename_principal_2_svc(), or we can leak the first one if
-unparsing the second one fails.  Discovered by Simo Sorce.
-
-CVE-2015-8631:
-
-In all versions of MIT krb5, an authenticated attacker can cause
-kadmind to leak memory by supplying a null principal name in a request
-which uses one.  Repeating these requests will eventually cause
-kadmind to exhaust all available memory.
-
-    CVSSv2 Vector: AV:N/AC:L/Au:S/C:N/I:N/A:C/E:POC/RL:OF/RC:C
-
-ticket: 8343 (new)
-target_version: 1.14-next
-target_version: 1.13-next
-tags: pullup
----
- src/kadmin/server/server_stubs.c | 151 ++++++++++++++++++++-------------------
- 1 file changed, 77 insertions(+), 74 deletions(-)
-
-diff --git a/src/kadmin/server/server_stubs.c b/src/kadmin/server/server_stubs.c
-index 1879dc6..6ac797e 100644
---- kadmin/server/server_stubs.c
-+++ kadmin/server/server_stubs.c
-@@ -334,7 +334,8 @@ create_principal_2_svc(cprinc_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret          ret;
-     char                        *prime_arg;
--    gss_buffer_desc             client_name, service_name;
-+    gss_buffer_desc             client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc             service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                   minor_stat;
-     kadm5_server_handle_t       handle;
-     restriction_t               *rp;
-@@ -382,10 +383,10 @@ create_principal_2_svc(cprinc_arg *arg, struct svc_req *rqstp)
-             krb5_free_error_message(handle->context, errmsg);
-     }
-     free(prime_arg);
--    gss_release_buffer(&minor_stat, &client_name);
--    gss_release_buffer(&minor_stat, &service_name);
- 
- exit_func:
-+    gss_release_buffer(&minor_stat, &client_name);
-+    gss_release_buffer(&minor_stat, &service_name);
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -395,7 +396,8 @@ create_principal3_2_svc(cprinc3_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret          ret;
-     char                        *prime_arg;
--    gss_buffer_desc             client_name, service_name;
-+    gss_buffer_desc             client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc             service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                   minor_stat;
-     kadm5_server_handle_t       handle;
-     restriction_t               *rp;
-@@ -444,10 +446,10 @@ create_principal3_2_svc(cprinc3_arg *arg, struct svc_req *rqstp)
-             krb5_free_error_message(handle->context, errmsg);
-     }
-     free(prime_arg);
--    gss_release_buffer(&minor_stat, &client_name);
--    gss_release_buffer(&minor_stat, &service_name);
- 
- exit_func:
-+    gss_release_buffer(&minor_stat, &client_name);
-+    gss_release_buffer(&minor_stat, &service_name);
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -457,8 +459,8 @@ delete_principal_2_svc(dprinc_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret              ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -501,10 +503,10 @@ delete_principal_2_svc(dprinc_arg *arg, struct svc_req *rqstp)
- 
-     }
-     free(prime_arg);
--    gss_release_buffer(&minor_stat, &client_name);
--    gss_release_buffer(&minor_stat, &service_name);
- 
- exit_func:
-+    gss_release_buffer(&minor_stat, &client_name);
-+    gss_release_buffer(&minor_stat, &service_name);
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -514,8 +516,8 @@ modify_principal_2_svc(mprinc_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret              ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     restriction_t                   *rp;
-@@ -559,9 +561,9 @@ modify_principal_2_svc(mprinc_arg *arg, struct svc_req *rqstp)
-             krb5_free_error_message(handle->context, errmsg);
-     }
-     free(prime_arg);
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -570,10 +572,9 @@ generic_ret *
- rename_principal_2_svc(rprinc_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret          ret;
--    char                        *prime_arg1,
--        *prime_arg2;
--    gss_buffer_desc             client_name,
--        service_name;
-+    char                        *prime_arg1 = NULL, *prime_arg2 = NULL;
-+    gss_buffer_desc             client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc             service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                   minor_stat;
-     kadm5_server_handle_t       handle;
-     restriction_t               *rp;
-@@ -655,11 +656,11 @@ rename_principal_2_svc(rprinc_arg *arg, struct svc_req *rqstp)
-             krb5_free_error_message(handle->context, errmsg);
- 
-     }
-+exit_func:
-     free(prime_arg1);
-     free(prime_arg2);
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -669,8 +670,8 @@ get_principal_2_svc(gprinc_arg *arg, struct svc_req *rqstp)
- {
-     static gprinc_ret               ret;
-     char                            *prime_arg, *funcname;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -719,9 +720,9 @@ get_principal_2_svc(gprinc_arg *arg, struct svc_req *rqstp)
-             krb5_free_error_message(handle->context, errmsg);
-     }
-     free(prime_arg);
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -731,8 +732,8 @@ get_princs_2_svc(gprincs_arg *arg, struct svc_req *rqstp)
- {
-     static gprincs_ret              ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -777,9 +778,9 @@ get_princs_2_svc(gprincs_arg *arg, struct svc_req *rqstp)
-             krb5_free_error_message(handle->context, errmsg);
- 
-     }
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -789,8 +790,8 @@ chpass_principal_2_svc(chpass_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret              ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -840,9 +841,9 @@ chpass_principal_2_svc(chpass_arg *arg, struct svc_req *rqstp)
-     }
- 
-     free(prime_arg);
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -852,8 +853,8 @@ chpass_principal3_2_svc(chpass3_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret              ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -909,9 +910,9 @@ chpass_principal3_2_svc(chpass3_arg *arg, struct svc_req *rqstp)
-     }
- 
-     free(prime_arg);
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -921,8 +922,8 @@ setv4key_principal_2_svc(setv4key_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret              ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -969,9 +970,9 @@ setv4key_principal_2_svc(setv4key_arg *arg, struct svc_req *rqstp)
-     }
- 
-     free(prime_arg);
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -981,8 +982,8 @@ setkey_principal_2_svc(setkey_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret              ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -1029,9 +1030,9 @@ setkey_principal_2_svc(setkey_arg *arg, struct svc_req *rqstp)
-     }
- 
-     free(prime_arg);
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -1041,8 +1042,8 @@ setkey_principal3_2_svc(setkey3_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret              ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -1092,9 +1093,9 @@ setkey_principal3_2_svc(setkey3_arg *arg, struct svc_req *rqstp)
-     }
- 
-     free(prime_arg);
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -1106,8 +1107,8 @@ chrand_principal_2_svc(chrand_arg *arg, struct svc_req *rqstp)
-     krb5_keyblock               *k;
-     int                         nkeys;
-     char                        *prime_arg, *funcname;
--    gss_buffer_desc             client_name,
--        service_name;
-+    gss_buffer_desc             client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc             service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                   minor_stat;
-     kadm5_server_handle_t       handle;
-     const char                  *errmsg = NULL;
-@@ -1164,9 +1165,9 @@ chrand_principal_2_svc(chrand_arg *arg, struct svc_req *rqstp)
-             krb5_free_error_message(handle->context, errmsg);
-     }
-     free(prime_arg);
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -1178,8 +1179,8 @@ chrand_principal3_2_svc(chrand3_arg *arg, struct svc_req *rqstp)
-     krb5_keyblock               *k;
-     int                         nkeys;
-     char                        *prime_arg, *funcname;
--    gss_buffer_desc             client_name,
--        service_name;
-+    gss_buffer_desc             client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc             service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                   minor_stat;
-     kadm5_server_handle_t       handle;
-     const char                  *errmsg = NULL;
-@@ -1241,9 +1242,9 @@ chrand_principal3_2_svc(chrand3_arg *arg, struct svc_req *rqstp)
-             krb5_free_error_message(handle->context, errmsg);
-     }
-     free(prime_arg);
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -1253,8 +1254,8 @@ create_policy_2_svc(cpol_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret              ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -1295,9 +1296,9 @@ create_policy_2_svc(cpol_arg *arg, struct svc_req *rqstp)
-         if (errmsg != NULL)
-             krb5_free_error_message(handle->context, errmsg);
-     }
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -1307,8 +1308,8 @@ delete_policy_2_svc(dpol_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret              ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -1347,9 +1348,9 @@ delete_policy_2_svc(dpol_arg *arg, struct svc_req *rqstp)
-         if (errmsg != NULL)
-             krb5_free_error_message(handle->context, errmsg);
-     }
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -1359,8 +1360,8 @@ modify_policy_2_svc(mpol_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret              ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -1400,9 +1401,9 @@ modify_policy_2_svc(mpol_arg *arg, struct svc_req *rqstp)
-         if (errmsg != NULL)
-             krb5_free_error_message(handle->context, errmsg);
-     }
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -1413,8 +1414,8 @@ get_policy_2_svc(gpol_arg *arg, struct svc_req *rqstp)
-     static gpol_ret             ret;
-     kadm5_ret_t         ret2;
-     char                        *prime_arg, *funcname;
--    gss_buffer_desc             client_name,
--        service_name;
-+    gss_buffer_desc             client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc             service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                   minor_stat;
-     kadm5_principal_ent_rec     caller_ent;
-     kadm5_server_handle_t       handle;
-@@ -1475,9 +1476,9 @@ get_policy_2_svc(gpol_arg *arg, struct svc_req *rqstp)
-         log_unauth(funcname, prime_arg,
-                    &client_name, &service_name, rqstp);
-     }
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- 
-@@ -1488,8 +1489,8 @@ get_pols_2_svc(gpols_arg *arg, struct svc_req *rqstp)
- {
-     static gpols_ret                ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -1531,9 +1532,9 @@ get_pols_2_svc(gpols_arg *arg, struct svc_req *rqstp)
-         if (errmsg != NULL)
-             krb5_free_error_message(handle->context, errmsg);
-     }
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -1541,7 +1542,8 @@ get_pols_2_svc(gpols_arg *arg, struct svc_req *rqstp)
- getprivs_ret * get_privs_2_svc(krb5_ui_4 *arg, struct svc_req *rqstp)
- {
-     static getprivs_ret            ret;
--    gss_buffer_desc                client_name, service_name;
-+    gss_buffer_desc                client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                      minor_stat;
-     kadm5_server_handle_t          handle;
-     const char                     *errmsg = NULL;
-@@ -1571,9 +1573,9 @@ getprivs_ret * get_privs_2_svc(krb5_ui_4 *arg, struct svc_req *rqstp)
-     if (errmsg != NULL)
-         krb5_free_error_message(handle->context, errmsg);
- 
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -1583,7 +1585,8 @@ purgekeys_2_svc(purgekeys_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret          ret;
-     char                        *prime_arg, *funcname;
--    gss_buffer_desc             client_name, service_name;
-+    gss_buffer_desc             client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc             service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                   minor_stat;
-     kadm5_server_handle_t       handle;
- 
-@@ -1629,9 +1632,9 @@ purgekeys_2_svc(purgekeys_arg *arg, struct svc_req *rqstp)
-             krb5_free_error_message(handle->context, errmsg);
-     }
-     free(prime_arg);
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -1641,8 +1644,8 @@ get_strings_2_svc(gstrings_arg *arg, struct svc_req *rqstp)
- {
-     static gstrings_ret             ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -1688,9 +1691,9 @@ get_strings_2_svc(gstrings_arg *arg, struct svc_req *rqstp)
-             krb5_free_error_message(handle->context, errmsg);
-     }
-     free(prime_arg);
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -1700,8 +1703,8 @@ set_string_2_svc(sstring_arg *arg, struct svc_req *rqstp)
- {
-     static generic_ret              ret;
-     char                            *prime_arg;
--    gss_buffer_desc                 client_name,
--        service_name;
-+    gss_buffer_desc                 client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc                 service_name = GSS_C_EMPTY_BUFFER;
-     OM_uint32                       minor_stat;
-     kadm5_server_handle_t           handle;
-     const char                      *errmsg = NULL;
-@@ -1744,9 +1747,9 @@ set_string_2_svc(sstring_arg *arg, struct svc_req *rqstp)
-             krb5_free_error_message(handle->context, errmsg);
-     }
-     free(prime_arg);
-+exit_func:
-     gss_release_buffer(&minor_stat, &client_name);
-     gss_release_buffer(&minor_stat, &service_name);
--exit_func:
-     free_server_handle(handle);
-     return &ret;
- }
-@@ -1754,8 +1757,8 @@ set_string_2_svc(sstring_arg *arg, struct svc_req *rqstp)
- generic_ret *init_2_svc(krb5_ui_4 *arg, struct svc_req *rqstp)
- {
-     static generic_ret         ret;
--    gss_buffer_desc            client_name,
--        service_name;
-+    gss_buffer_desc            client_name = GSS_C_EMPTY_BUFFER;
-+    gss_buffer_desc            service_name = GSS_C_EMPTY_BUFFER;
-     kadm5_server_handle_t      handle;
-     OM_uint32                  minor_stat;
-     const char                 *errmsg = NULL;
-@@ -1797,10 +1800,10 @@ generic_ret *init_2_svc(krb5_ui_4 *arg, struct svc_req *rqstp)
-                      rqstp->rq_cred.oa_flavor);
-     if (errmsg != NULL)
-         krb5_free_error_message(NULL, errmsg);
--    gss_release_buffer(&minor_stat, &client_name);
--    gss_release_buffer(&minor_stat, &service_name);
- 
- exit_func:
-+    gss_release_buffer(&minor_stat, &client_name);
-+    gss_release_buffer(&minor_stat, &service_name);
-     return(&ret);
- }
- 

Deleted: trunk/dports/net/kerberos5/files/b863de7fbf080b15e347a736fdda0a82d42f4f6b.patch
===================================================================
--- trunk/dports/net/kerberos5/files/b863de7fbf080b15e347a736fdda0a82d42f4f6b.patch	2016-03-04 15:46:44 UTC (rev 146314)
+++ trunk/dports/net/kerberos5/files/b863de7fbf080b15e347a736fdda0a82d42f4f6b.patch	2016-03-04 15:51:47 UTC (rev 146315)
@@ -1,76 +0,0 @@
-Upstream-Status: Backport [https://github.com/krb5/krb5/commit/b863de7fbf080b15e347a736fdda0a82d42f4f6b]
-From b863de7fbf080b15e347a736fdda0a82d42f4f6b Mon Sep 17 00:00:00 2001
-From: Greg Hudson <ghudson at mit.edu>
-Date: Fri, 8 Jan 2016 12:52:28 -0500
-Subject: [PATCH] Check for null kadm5 policy name [CVE-2015-8630]
-
-In kadm5_create_principal_3() and kadm5_modify_principal(), check for
-entry->policy being null when KADM5_POLICY is included in the mask.
-
-CVE-2015-8630:
-
-In MIT krb5 1.12 and later, an authenticated attacker with permission
-to modify a principal entry can cause kadmind to dereference a null
-pointer by supplying a null policy value but including KADM5_POLICY in
-the mask.
-
-    CVSSv2 Vector: AV:N/AC:H/Au:S/C:N/I:N/A:C/E:POC/RL:OF/RC:C
-
-ticket: 8342 (new)
-target_version: 1.14-next
-target_version: 1.13-next
-tags: pullup
----
- src/lib/kadm5/srv/svr_principal.c | 12 ++++++++----
- 1 file changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/src/lib/kadm5/srv/svr_principal.c b/src/lib/kadm5/srv/svr_principal.c
-index 5b95fa3..1d4365c 100644
---- lib/kadm5/srv/svr_principal.c
-+++ lib/kadm5/srv/svr_principal.c
-@@ -395,6 +395,8 @@ kadm5_create_principal_3(void *server_handle,
-     /*
-      * Argument sanity checking, and opening up the DB
-      */
-+    if (entry == NULL)
-+        return EINVAL;
-     if(!(mask & KADM5_PRINCIPAL) || (mask & KADM5_MOD_NAME) ||
-        (mask & KADM5_MOD_TIME) || (mask & KADM5_LAST_PWD_CHANGE) ||
-        (mask & KADM5_MKVNO) || (mask & KADM5_AUX_ATTRIBUTES) ||
-@@ -403,12 +405,12 @@ kadm5_create_principal_3(void *server_handle,
-         return KADM5_BAD_MASK;
-     if ((mask & KADM5_KEY_DATA) && entry->n_key_data != 0)
-         return KADM5_BAD_MASK;
-+    if((mask & KADM5_POLICY) && entry->policy == NULL)
-+        return KADM5_BAD_MASK;
-     if((mask & KADM5_POLICY) && (mask & KADM5_POLICY_CLR))
-         return KADM5_BAD_MASK;
-     if((mask & ~ALL_PRINC_MASK))
-         return KADM5_BAD_MASK;
--    if (entry == NULL)
--        return EINVAL;
- 
-     /*
-      * Check to see if the principal exists
-@@ -643,6 +645,8 @@ kadm5_modify_principal(void *server_handle,
- 
-     krb5_clear_error_message(handle->context);
- 
-+    if(entry == NULL)
-+        return EINVAL;
-     if((mask & KADM5_PRINCIPAL) || (mask & KADM5_LAST_PWD_CHANGE) ||
-        (mask & KADM5_MOD_TIME) || (mask & KADM5_MOD_NAME) ||
-        (mask & KADM5_MKVNO) || (mask & KADM5_AUX_ATTRIBUTES) ||
-@@ -651,10 +655,10 @@ kadm5_modify_principal(void *server_handle,
-         return KADM5_BAD_MASK;
-     if((mask & ~ALL_PRINC_MASK))
-         return KADM5_BAD_MASK;
-+    if((mask & KADM5_POLICY) && entry->policy == NULL)
-+        return KADM5_BAD_MASK;
-     if((mask & KADM5_POLICY) && (mask & KADM5_POLICY_CLR))
-         return KADM5_BAD_MASK;
--    if(entry == (kadm5_principal_ent_t) NULL)
--        return EINVAL;
-     if (mask & KADM5_TL_DATA) {
-         tl_data_orig = entry->tl_data;
-         while (tl_data_orig) {

Deleted: trunk/dports/net/kerberos5/files/df17a1224a3406f57477bcd372c61e04c0e5a5bb.patch
===================================================================
--- trunk/dports/net/kerberos5/files/df17a1224a3406f57477bcd372c61e04c0e5a5bb.patch	2016-03-04 15:46:44 UTC (rev 146314)
+++ trunk/dports/net/kerberos5/files/df17a1224a3406f57477bcd372c61e04c0e5a5bb.patch	2016-03-04 15:51:47 UTC (rev 146315)
@@ -1,46 +0,0 @@
-Upstream-Status: Backport [https://github.com/krb5/krb5/commit/df17a1224a3406f57477bcd372c61e04c0e5a5bb]
-From df17a1224a3406f57477bcd372c61e04c0e5a5bb Mon Sep 17 00:00:00 2001
-From: Greg Hudson <ghudson at mit.edu>
-Date: Fri, 8 Jan 2016 12:45:25 -0500
-Subject: [PATCH] Verify decoded kadmin C strings [CVE-2015-8629]
-
-In xdr_nullstring(), check that the decoded string is terminated with
-a zero byte and does not contain any internal zero bytes.
-
-CVE-2015-8629:
-
-In all versions of MIT krb5, an authenticated attacker can cause
-kadmind to read beyond the end of allocated memory by sending a string
-without a terminating zero byte.  Information leakage may be possible
-for an attacker with permission to modify the database.
-
-    CVSSv2 Vector: AV:N/AC:H/Au:S/C:P/I:N/A:N/E:POC/RL:OF/RC:C
-
-ticket: 8341 (new)
-target_version: 1.14-next
-target_version: 1.13-next
-tags: pullup
----
- src/lib/kadm5/kadm_rpc_xdr.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/src/lib/kadm5/kadm_rpc_xdr.c b/src/lib/kadm5/kadm_rpc_xdr.c
-index 2bef858..ba67084 100644
---- lib/kadm5/kadm_rpc_xdr.c
-+++ lib/kadm5/kadm_rpc_xdr.c
-@@ -64,7 +64,14 @@ bool_t xdr_nullstring(XDR *xdrs, char **objp)
- 		    return FALSE;
- 	       }
- 	  }
--	  return (xdr_opaque(xdrs, *objp, size));
-+	  if (!xdr_opaque(xdrs, *objp, size))
-+		  return FALSE;
-+	  /* Check that the unmarshalled bytes are a C string. */
-+	  if ((*objp)[size - 1] != '\0')
-+		  return FALSE;
-+	  if (memchr(*objp, '\0', size - 1) != NULL)
-+		  return FALSE;
-+	  return TRUE;
- 
-      case XDR_ENCODE:
- 	  if (size != 0)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160304/262872ed/attachment-0001.html>


More information about the macports-changes mailing list