From 025046d1f2ebfddf1d88f0a298857e2898dfaa56 Mon Sep 17 00:00:00 2001 From: Rmys Date: Wed, 9 Jun 2021 15:28:03 +0300 Subject: [PATCH] mit-kerberos move core libtirpc --- pisi-index.xml | 105 +++++++ pisi-index.xml.sha1sum | 2 +- pisi-index.xml.xz | Bin 113304 -> 113744 bytes pisi-index.xml.xz.sha1sum | 2 +- system/base/mit-kerberos/actions.py | 87 +++++ .../files/CVE-2018-5729-5730.patch | 297 ++++++++++++++++++ .../files/fix-python-detection.patch | 15 + system/base/mit-kerberos/files/kdc.conf | 16 + .../files/krb5-config_LDFLAGS.patch | 11 + system/base/mit-kerberos/files/krb5.conf | 25 ++ .../files/mit-krb5-1.12_uninitialized.patch | 55 ++++ .../files/rebuild-configure-scripts.patch | 12 + system/base/mit-kerberos/pspec.xml | 114 +++++++ system/base/mit-kerberos/translations.xml | 8 + 14 files changed, 747 insertions(+), 2 deletions(-) create mode 100644 system/base/mit-kerberos/actions.py create mode 100644 system/base/mit-kerberos/files/CVE-2018-5729-5730.patch create mode 100644 system/base/mit-kerberos/files/fix-python-detection.patch create mode 100644 system/base/mit-kerberos/files/kdc.conf create mode 100644 system/base/mit-kerberos/files/krb5-config_LDFLAGS.patch create mode 100644 system/base/mit-kerberos/files/krb5.conf create mode 100644 system/base/mit-kerberos/files/mit-krb5-1.12_uninitialized.patch create mode 100644 system/base/mit-kerberos/files/rebuild-configure-scripts.patch create mode 100644 system/base/mit-kerberos/pspec.xml create mode 100644 system/base/mit-kerberos/translations.xml diff --git a/pisi-index.xml b/pisi-index.xml index d4f0a3e4..cd7fbd57 100644 --- a/pisi-index.xml +++ b/pisi-index.xml @@ -20613,6 +20613,111 @@ + + + mit-kerberos + http://web.mit.edu/kerberos/www/ + + PisiLinux Community + admins@pisilinux.org + + as-is + library + app:console + system.base + MIT Kerberos Library + MIT Kerberos kütüphanesi + Kerberos is a network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography. + Kerberos bir ağ doğrulama protokolüdür. Sunucu/istemci uygulamalarında, gizli anahtar kriptoloji teknolojisini kullanarak, güçlü bir doğrulama sağlar. + http://web.mit.edu/kerberos/dist/krb5/1.17/krb5-1.17.tar.gz + + python3 + keyutils + openssl-devel + e2fsprogs-devel + + + krb5-config_LDFLAGS.patch + rebuild-configure-scripts.patch + + system/base/mit-kerberos/pspec.xml + + + mit-kerberos + + keyutils + openssl + e2fsprogs + + + /etc + /run/krb5kdc + /usr/include + /usr/bin + /usr/sbin + /usr/lib + /usr/share + /var/lib + /usr/share/info + /usr/share/man + + + krb5.conf + kdc.conf + + + + + 2020-11-07 + 1.17 + Version bump + Mustafa Cinasal + muscnsl@gmail.com + + + 2020-01-08 + 1.17 + Version bump + Mustafa Cinasal + muscnsl@gmail.com + + + 2018-12-31 + 1.16 + Version bump + Pisi Linux Community + admin@pisilinux.org + + + 2018-07-26 + 1.15 + Rebuild + Pisi Linux Community + admin@pisilinux.org + + + 2017-02-17 + 1.15 + Version Bump + Pisi Linux Community + admin@pisilinux.org + + + 2016-06-08 + 1.13.1 + Release Bump + Pisi Linux Community + admin@pisilinux.org + + + 2015-04-23 + 1.13.1 + First release + Ertuğrul Erata + ertugrulerata@gmail.com + + + python-psutil diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum index 7f092159..78fe504a 100644 --- a/pisi-index.xml.sha1sum +++ b/pisi-index.xml.sha1sum @@ -1 +1 @@ -9f3260bafb46ce0f9434b1a023a2605e5fe030e8 \ No newline at end of file +a71b4a64dd680dd4a8cd0e4db9282aaf7eaba865 \ No newline at end of file diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz index 960a8cbea6d2cc1febaa06bc5c75802242d7040d..b0a82f48f3f114edb490b56e76693a57402dbc9a 100644 GIT binary patch delta 31762 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 FSz4GEuXO+b delta 31319 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 diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum index f0c0de42..44b5079c 100644 --- a/pisi-index.xml.xz.sha1sum +++ b/pisi-index.xml.xz.sha1sum @@ -1 +1 @@ -695fcc54ae376aeb2735dc81f6d7a59360c5df9e \ No newline at end of file +df67cc8fe9658daf77235cf340b5501c9bf0ab91 \ No newline at end of file diff --git a/system/base/mit-kerberos/actions.py b/system/base/mit-kerberos/actions.py new file mode 100644 index 00000000..6d45d0c6 --- /dev/null +++ b/system/base/mit-kerberos/actions.py @@ -0,0 +1,87 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +pisitools.flags.add("-fPIC -fno-strict-aliasing -fno-strict-overflow -fstack-protector-all") +pisitools.cxxflags.add("-I/usr/include/et") + +def rename_man_pages(): + manpages = ["appl/bsd/klogind.M", + "appl/bsd/kshd.M", + "appl/sample/sserver/sserver.M", + "appl/telnet/telnetd/telnetd.8", + "appl/gssftp/ftpd/ftpd.M", + "config-files/kdc.conf.M", + "config-files/krb5.conf.M", + "kadmin/cli/kadmin.M", + "slave/kpropd.M", + "slave/kprop.M"] + for manpage in manpages: + shelltools.move(manpage, "%s.in" % manpage) + +def setup(): + shelltools.cd("src") + shelltools.system("sed -i -e 's/^YYSTYPE yylval/&={0}/' lib/krb5/krb/deltat.c") + pisitools.dosed("util/ac_check_krb5.m4", "(KRB5ROOT=\/usr)\/local", r"\1") + + #autotools.autoreconf("-fi") + + # Fix pthread linking + #pisitools.dosed("configure", "-lthread", "-lpthread") + #pisitools.dosed("configure", "-pthread", "-lpthread") + + autotools.configure("--localstatedir=/var/lib \ + --without-tcl \ + --without-hesiod \ + --enable-shared \ + --enable-kdc-lookaside-cache \ + --without-system-verto \ + --disable-rpath \ + --with-system-et \ + --with-system-ss \ + --enable-dns-for-realm") + + # Fix krb5-config script to remove rpaths and CFLAGS + #pisitools.dosed("krb5-config", "^CC_LINK=.*", "CC_LINK='$(CC) $(PROG_LIBPATH)'") + # Fix unused dependency + pisitools.dosed("config/shlib.conf"," -shared ", " -Wl,--as-needed -shared ") + +def build(): + autotools.make("-C src/") + +# def check(): + # check failed + # autotools.make("-C src/ -j1 check") + # import tempfile + # import shutil + # tmpdir = tempfile.mkdtemp(prefix='pisitest') + # autotools.make("-C src/ check TMPDIR=%s -j1" % tmpdir) + # shutil.rmtree("rm -rf %s" % tmpdir) + +def install(): + pisitools.dodoc("NOTICE", "README") + shelltools.cd("src") + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + # Install additional headers + for d in ("kadm5", "krb5"): + pisitools.insinto("/usr/include/%s" % d, "include/%s/*.h" % d) + + # Add "k" prefix to some apps and manpages to resolve conflicts + #for app in ["telnetd", "ftpd"]: + # pisitools.rename("/usr/share/man/man8/%s.8" % app, "k%s.8" % app) + # pisitools.rename("/usr/sbin/%s" % app, "k%s" % app) + + #for app in ["rcp", "rsh", "telnet", "ftp", "rlogin"]: + # pisitools.rename("/usr/share/man/man1/%s.1" % app, "k%s.1" % app) + # pisitools.rename("/usr/bin/%s" % app, "k%s" % app) + + # Remove examples + pisitools.removeDir("/usr/share/examples") diff --git a/system/base/mit-kerberos/files/CVE-2018-5729-5730.patch b/system/base/mit-kerberos/files/CVE-2018-5729-5730.patch new file mode 100644 index 00000000..114cfe68 --- /dev/null +++ b/system/base/mit-kerberos/files/CVE-2018-5729-5730.patch @@ -0,0 +1,297 @@ +diff --git a/src/lib/kadm5/srv/svr_principal.c b/src/lib/kadm5/srv/svr_principal.c +index 2420f2c2be..a59a65e8f6 100644 +--- a/src/lib/kadm5/srv/svr_principal.c ++++ b/src/lib/kadm5/srv/svr_principal.c +@@ -330,6 +330,13 @@ kadm5_create_principal_3(void *server_handle, + return KADM5_BAD_MASK; + if((mask & ~ALL_PRINC_MASK)) + return KADM5_BAD_MASK; ++ if (mask & KADM5_TL_DATA) { ++ for (tl_data_tail = entry->tl_data; tl_data_tail != NULL; ++ tl_data_tail = tl_data_tail->tl_data_next) { ++ if (tl_data_tail->tl_data_type < 256) ++ return KADM5_BAD_TL_TYPE; ++ } ++ } + + /* + * Check to see if the principal exists +diff --git a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h +index 535a1f309e..8b8420faa9 100644 +--- a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h ++++ b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h +@@ -141,7 +141,7 @@ extern int set_ldap_error (krb5_context ctx, int st, int op); + #define UNSTORE16_INT(ptr, val) (val = load_16_be(ptr)) + #define UNSTORE32_INT(ptr, val) (val = load_32_be(ptr)) + +-#define KDB_TL_USER_INFO 0x7ffe ++#define KDB_TL_USER_INFO 0xff + + #define KDB_TL_PRINCTYPE 0x01 + #define KDB_TL_PRINCCOUNT 0x02 +diff --git a/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c b/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c +index 88a1704950..b7c9212cb2 100644 +--- a/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c ++++ b/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c +@@ -651,6 +651,107 @@ update_ldap_mod_auth_ind(krb5_context context, krb5_db_entry *entry, + return ret; + } + ++static krb5_error_code ++check_dn_in_container(krb5_context context, const char *dn, ++ char *const *subtrees, unsigned int ntrees) ++{ ++ unsigned int i; ++ size_t dnlen = strlen(dn), stlen; ++ ++ for (i = 0; i < ntrees; i++) { ++ if (subtrees[i] == NULL || *subtrees[i] == '\0') ++ return 0; ++ stlen = strlen(subtrees[i]); ++ if (dnlen >= stlen && ++ strcasecmp(dn + dnlen - stlen, subtrees[i]) == 0 && ++ (dnlen == stlen || dn[dnlen - stlen - 1] == ',')) ++ return 0; ++ } ++ ++ k5_setmsg(context, EINVAL, _("DN is out of the realm subtree")); ++ return EINVAL; ++} ++ ++static krb5_error_code ++check_dn_exists(krb5_context context, ++ krb5_ldap_server_handle *ldap_server_handle, ++ const char *dn, krb5_boolean nonkrb_only) ++{ ++ krb5_error_code st = 0, tempst; ++ krb5_ldap_context *ldap_context = context->dal_handle->db_context; ++ LDAP *ld = ldap_server_handle->ldap_handle; ++ LDAPMessage *result = NULL, *ent; ++ char *attrs[] = { "krbticketpolicyreference", "krbprincipalname", NULL }; ++ char **values; ++ ++ LDAP_SEARCH_1(dn, LDAP_SCOPE_BASE, 0, attrs, IGNORE_STATUS); ++ if (st != LDAP_SUCCESS) ++ return set_ldap_error(context, st, OP_SEARCH); ++ ++ ent = ldap_first_entry(ld, result); ++ CHECK_NULL(ent); ++ ++ values = ldap_get_values(ld, ent, "krbticketpolicyreference"); ++ if (values != NULL) ++ ldap_value_free(values); ++ ++ values = ldap_get_values(ld, ent, "krbprincipalname"); ++ if (values != NULL) { ++ ldap_value_free(values); ++ if (nonkrb_only) { ++ st = EINVAL; ++ k5_setmsg(context, st, _("ldap object is already kerberized")); ++ goto cleanup; ++ } ++ } ++ ++cleanup: ++ ldap_msgfree(result); ++ return st; ++} ++ ++static krb5_error_code ++validate_xargs(krb5_context context, ++ krb5_ldap_server_handle *ldap_server_handle, ++ const xargs_t *xargs, const char *standalone_dn, ++ char *const *subtrees, unsigned int ntrees) ++{ ++ krb5_error_code st; ++ ++ if (xargs->dn != NULL) { ++ /* The supplied dn must be within a realm container. */ ++ st = check_dn_in_container(context, xargs->dn, subtrees, ntrees); ++ if (st) ++ return st; ++ /* The supplied dn must exist without Kerberos attributes. */ ++ st = check_dn_exists(context, ldap_server_handle, xargs->dn, TRUE); ++ if (st) ++ return st; ++ } ++ ++ if (xargs->linkdn != NULL) { ++ /* The supplied linkdn must be within a realm container. */ ++ st = check_dn_in_container(context, xargs->linkdn, subtrees, ntrees); ++ if (st) ++ return st; ++ /* The supplied linkdn must exist. */ ++ st = check_dn_exists(context, ldap_server_handle, xargs->linkdn, ++ FALSE); ++ if (st) ++ return st; ++ } ++ ++ if (xargs->containerdn != NULL && standalone_dn != NULL) { ++ /* standalone_dn (likely composed using containerdn) must be within a ++ * container. */ ++ st = check_dn_in_container(context, standalone_dn, subtrees, ntrees); ++ if (st) ++ return st; ++ } ++ ++ return 0; ++} ++ + krb5_error_code + krb5_ldap_put_principal(krb5_context context, krb5_db_entry *entry, + char **db_args) +@@ -662,12 +763,12 @@ krb5_ldap_put_principal(krb5_context context, krb5_db_entry *entry, + LDAPMessage *result=NULL, *ent=NULL; + char **subtreelist = NULL; + char *user=NULL, *subtree=NULL, *principal_dn=NULL; +- char **values=NULL, *strval[10]={NULL}, errbuf[1024]; ++ char *strval[10]={NULL}, errbuf[1024]; + char *filtuser=NULL; + struct berval **bersecretkey=NULL; + LDAPMod **mods=NULL; + krb5_boolean create_standalone=FALSE; +- krb5_boolean krb_identity_exists=FALSE, establish_links=FALSE; ++ krb5_boolean establish_links=FALSE; + char *standalone_principal_dn=NULL; + krb5_tl_data *tl_data=NULL; + krb5_key_data **keys=NULL; +@@ -860,24 +961,6 @@ krb5_ldap_put_principal(krb5_context context, krb5_db_entry *entry, + * any of the subtrees + */ + if (xargs.dn_from_kbd == TRUE) { +- /* make sure the DN falls in the subtree */ +- int dnlen=0, subtreelen=0; +- char *dn=NULL; +- krb5_boolean outofsubtree=TRUE; +- +- if (xargs.dn != NULL) { +- dn = xargs.dn; +- } else if (xargs.linkdn != NULL) { +- dn = xargs.linkdn; +- } else if (standalone_principal_dn != NULL) { +- /* +- * Even though the standalone_principal_dn is constructed +- * within this function, there is the containerdn input +- * from the user that can become part of the it. +- */ +- dn = standalone_principal_dn; +- } +- + /* Get the current subtree list if we haven't already done so. */ + if (subtreelist == NULL) { + st = krb5_get_subtree_info(ldap_context, &subtreelist, &ntrees); +@@ -885,81 +968,10 @@ krb5_ldap_put_principal(krb5_context context, krb5_db_entry *entry, + goto cleanup; + } + +- for (tre=0; tre= subtreelen) && (strcasecmp((dn + dnlen - subtreelen), subtreelist[tre]) == 0)) { +- outofsubtree = FALSE; +- break; +- } +- } +- } +- +- if (outofsubtree == TRUE) { +- st = EINVAL; +- k5_setmsg(context, st, _("DN is out of the realm subtree")); ++ st = validate_xargs(context, ldap_server_handle, &xargs, ++ standalone_principal_dn, subtreelist, ntrees); ++ if (st) + goto cleanup; +- } +- +- /* +- * dn value will be set either by dn, linkdn or the standalone_principal_dn +- * In the first 2 cases, the dn should be existing and in the last case we +- * are supposed to create the ldap object. so the below should not be +- * executed for the last case. +- */ +- +- if (standalone_principal_dn == NULL) { +- /* +- * If the ldap object is missing, this results in an error. +- */ +- +- /* +- * Search for krbprincipalname attribute here. +- * This is to find if a kerberos identity is already present +- * on the ldap object, in which case adding a kerberos identity +- * on the ldap object should result in an error. +- */ +- char *attributes[]={"krbticketpolicyreference", "krbprincipalname", NULL}; +- +- ldap_msgfree(result); +- result = NULL; +- LDAP_SEARCH_1(dn, LDAP_SCOPE_BASE, 0, attributes, IGNORE_STATUS); +- if (st == LDAP_SUCCESS) { +- ent = ldap_first_entry(ld, result); +- if (ent != NULL) { +- if ((values=ldap_get_values(ld, ent, "krbticketpolicyreference")) != NULL) { +- ldap_value_free(values); +- } +- +- if ((values=ldap_get_values(ld, ent, "krbprincipalname")) != NULL) { +- krb_identity_exists = TRUE; +- ldap_value_free(values); +- } +- } +- } else { +- st = set_ldap_error(context, st, OP_SEARCH); +- goto cleanup; +- } +- } +- } +- +- /* +- * If xargs.dn is set then the request is to add a +- * kerberos principal on a ldap object, but if +- * there is one already on the ldap object this +- * should result in an error. +- */ +- +- if (xargs.dn != NULL && krb_identity_exists == TRUE) { +- st = EINVAL; +- snprintf(errbuf, sizeof(errbuf), +- _("ldap object is already kerberized")); +- k5_setmsg(context, st, "%s", errbuf); +- goto cleanup; + } + + if (xargs.linkdn != NULL) { +diff --git a/src/tests/t_kdb.py b/src/tests/t_kdb.py +index 217f2cdc3b..6e563b1032 100755 +--- a/src/tests/t_kdb.py ++++ b/src/tests/t_kdb.py +@@ -203,6 +203,12 @@ def ldap_add(dn, objectclass, attrs=[]): + # in the test LDAP server. + realm.run([kadminl, 'ank', '-randkey', '-x', 'dn=cn=krb5', 'princ1'], + expected_code=1, expected_msg='DN is out of the realm subtree') ++# Check that the DN container check is a hierarchy test, not a simple ++# suffix match (CVE-2018-5730). We expect this operation to fail ++# either way (because "xcn" isn't a valid DN tag) but the container ++# check should happen before the DN is parsed. ++realm.run([kadminl, 'ank', '-randkey', '-x', 'dn=xcn=t1,cn=krb5', 'princ1'], ++ expected_code=1, expected_msg='DN is out of the realm subtree') + realm.run([kadminl, 'ank', '-randkey', '-x', 'dn=cn=t2,cn=krb5', 'princ1']) + realm.run([kadminl, 'getprinc', 'princ1'], expected_msg='Principal: princ1') + realm.run([kadminl, 'ank', '-randkey', '-x', 'dn=cn=t2,cn=krb5', 'again'], +@@ -226,6 +232,11 @@ def ldap_add(dn, objectclass, attrs=[]): + 'princ3']) + realm.run([kadminl, 'modprinc', '-x', 'containerdn=cn=t2,cn=krb5', 'princ3'], + expected_code=1, expected_msg='containerdn option not supported') ++# Verify that containerdn is checked when linkdn is also supplied ++# (CVE-2018-5730). ++realm.run([kadminl, 'ank', '-randkey', '-x', 'containerdn=cn=krb5', ++ '-x', 'linkdn=cn=t2,cn=krb5', 'princ4'], expected_code=1, ++ expected_msg='DN is out of the realm subtree') + + # Create and modify a ticket policy. + kldaputil(['create_policy', '-maxtktlife', '3hour', '-maxrenewlife', '6hour', diff --git a/system/base/mit-kerberos/files/fix-python-detection.patch b/system/base/mit-kerberos/files/fix-python-detection.patch new file mode 100644 index 00000000..bcccf90b --- /dev/null +++ b/system/base/mit-kerberos/files/fix-python-detection.patch @@ -0,0 +1,15 @@ +--- configure.in.orig 2014-01-16 02:44:15.000000000 +0200 ++++ src/configure.in 2014-05-17 17:05:05.317924895 +0300 +@@ -1206,9 +1206,9 @@ + # default, so it's not a big deal that it isn't very good. We should + # use python-config instead. + PYTHON_LIB= +-AC_CHECK_HEADERS(Python.h python2.3/Python.h python2.5/Python.h) +-AC_CHECK_LIB(python2.3,main,[PYTHON_LIB=-lpython2.3], +- AC_CHECK_LIB(python2.5,main,[PYTHON_LIB=-lpython2.5])) ++AC_CHECK_HEADERS(Python.h python2.5/Python.h python2.7/Python.h) ++AC_CHECK_LIB(python2.5,main,[PYTHON_LIB=-lpython2.5], ++ AC_CHECK_LIB(python2.7,main,[PYTHON_LIB=-lpython2.7])) + AC_SUBST(PYTHON_LIB) + + diff --git a/system/base/mit-kerberos/files/kdc.conf b/system/base/mit-kerberos/files/kdc.conf new file mode 100644 index 00000000..3cf14aaf --- /dev/null +++ b/system/base/mit-kerberos/files/kdc.conf @@ -0,0 +1,16 @@ +[kdcdefaults] + kdc_ports = 88,750 + +[realms] + EXAMPLE.COM = { + database_name = /etc/krb5kdc/principal + admin_keytab = /etc/krb5kdc/kadm5.keytab + acl_file = /etc/krb5kdc/kadm5.acl + dict_file = /etc/krb5kdc/kadm5.dict + key_stash_file = /etc/krb5kdc/.k5.EXAMPLE.COM + kadmind_port = 749 + max_life = 10h 0m 0s + max_renewable_life = 7d 0h 0m 0s + master_key_type = des3-hmac-sha1 + supported_enctypes = des3-hmac-sha1:normal des-cbc-crc:normal + } diff --git a/system/base/mit-kerberos/files/krb5-config_LDFLAGS.patch b/system/base/mit-kerberos/files/krb5-config_LDFLAGS.patch new file mode 100644 index 00000000..b7b7cd98 --- /dev/null +++ b/system/base/mit-kerberos/files/krb5-config_LDFLAGS.patch @@ -0,0 +1,11 @@ +--- src/build-tools/krb5-config.in.orig 2014-01-16 02:44:15.000000000 +0200 ++++ src/build-tools/krb5-config.in 2014-05-17 17:00:42.624580187 +0300 +@@ -221,7 +221,7 @@ + -e 's#\$(PROG_RPATH)#'$libdir'#' \ + -e 's#\$(PROG_LIBPATH)#'$libdirarg'#' \ + -e 's#\$(RPATH_FLAG)#'"$RPATH_FLAG"'#' \ +- -e 's#\$(LDFLAGS)#'"$LDFLAGS"'#' \ ++ -e 's#\$(LDFLAGS)##' \ + -e 's#\$(PTHREAD_CFLAGS)#'"$PTHREAD_CFLAGS"'#' \ + -e 's#\$(CFLAGS)##'` + diff --git a/system/base/mit-kerberos/files/krb5.conf b/system/base/mit-kerberos/files/krb5.conf new file mode 100644 index 00000000..e68a5ccb --- /dev/null +++ b/system/base/mit-kerberos/files/krb5.conf @@ -0,0 +1,25 @@ +[libdefaults] + ticket_lifetime = 600 + default_realm = EXAMPLE.COM + default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc + default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc + +[realms] + EXAMPLE.COM = { + kdc = kerberos.example.com:88 + kdc = kerberos2.example.com:88 + admin_server = kerberos.example.com:749 + } + +[domain_realm] + .example.com = EXAMPLE.COM + example.com = EXAMPLE.COM + +[kdc] + profile = /etc/krb5kdc/kdc.conf + +[logging] + kdc = FILE:/var/log/krb5kdc.log + admin_server = FILE:/var/log/kadmin.log + default = FILE:/var/log/krb5lib.log + diff --git a/system/base/mit-kerberos/files/mit-krb5-1.12_uninitialized.patch b/system/base/mit-kerberos/files/mit-krb5-1.12_uninitialized.patch new file mode 100644 index 00000000..e779d364 --- /dev/null +++ b/system/base/mit-kerberos/files/mit-krb5-1.12_uninitialized.patch @@ -0,0 +1,55 @@ +--- a/src/slave/kprop.c ++++ b/src/slave/kprop.c +@@ -91,7 +91,7 @@ main(argc, argv) + int argc; + char **argv; + { +- int fd, database_fd, database_size; ++ int fd = -1, database_fd, database_size; + krb5_error_code retval; + krb5_context context; + krb5_creds *my_creds; +--- a/src/kadmin/ktutil/ktutil_funcs.c ++++ b/src/kadmin/ktutil/ktutil_funcs.c +@@ -64,7 +64,7 @@ + krb5_kt_list *list; + int idx; + { +- krb5_kt_list lp, prev; ++ krb5_kt_list lp, prev = NULL; + int i; + + for (lp = *list, i = 1; lp; prev = lp, lp = lp->next, i++) { +--- a/src/lib/kadm5/alt_prof.c ++++ b/src/lib/kadm5/alt_prof.c +@@ -164,7 +164,7 @@ + char **values; + char *valp; + int idx; +- krb5_boolean val; ++ krb5_boolean val = 0; + + kret = krb5_aprof_getvals (acontext, hierarchy, &values); + if (kret) + +--- a/src/util/profile/prof_init.c ++++ b/src/util/profile/prof_init.c +@@ -255,7 +255,7 @@ copy_vtable_profile(profile_t profile, profile_t *ret_new_profile) + { + errcode_t err; + void *cbdata; +- profile_t new_profile; ++ profile_t new_profile = NULL; + + *ret_new_profile = NULL; + +--- a/src/tests/asn.1/trval.c 2013-04-12 12:51:36.000000000 -0500 ++++ b/src/tests/asn.1/trval.c 2013-05-24 04:31:14.077036380 -0500 +@@ -404,7 +404,7 @@ + { + int n; + int r = 0; +- int rlen2; ++ int rlen2 = 0; + int rlent; + int save_appl; \ No newline at end of file diff --git a/system/base/mit-kerberos/files/rebuild-configure-scripts.patch b/system/base/mit-kerberos/files/rebuild-configure-scripts.patch new file mode 100644 index 00000000..36b38118 --- /dev/null +++ b/system/base/mit-kerberos/files/rebuild-configure-scripts.patch @@ -0,0 +1,12 @@ +--- /dev/null 2009-10-20 19:31:44.183325514 +0300 ++++ src/rebuild-configure-scripts.sh 2009-10-22 10:37:14.583117034 +0300 +@@ -0,0 +1,9 @@ ++#!/bin/bash ++ ++top=`pwd` ++for configurein in `find -name configure.in -type f` ; do ++ pushd `dirname $configurein` ++ grep -q A._CONFIG_HEADER configure.in && autoheader -I "$top" ++ autoconf -I "$top" ++ popd ++done diff --git a/system/base/mit-kerberos/pspec.xml b/system/base/mit-kerberos/pspec.xml new file mode 100644 index 00000000..887b196f --- /dev/null +++ b/system/base/mit-kerberos/pspec.xml @@ -0,0 +1,114 @@ + + + + + mit-kerberos + http://web.mit.edu/kerberos/www/ + + PisiLinux Community + admins@pisilinux.org + + as-is + library + app:console + MIT Kerberos Library + Kerberos is a network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography. + http://web.mit.edu/kerberos/dist/krb5/1.17/krb5-1.17.tar.gz + + python3 + keyutils + openssl-devel + e2fsprogs-devel + + + + + krb5-config_LDFLAGS.patch + + rebuild-configure-scripts.patch + + + + + + mit-kerberos + + keyutils + openssl + e2fsprogs + + + + /etc + /run/krb5kdc + /usr/include + /usr/bin + /usr/sbin + /usr/lib + /usr/share + /var/lib + /usr/share/info + /usr/share/man + + + krb5.conf + kdc.conf + + + + + + 2020-11-07 + 1.17 + Version bump + Mustafa Cinasal + muscnsl@gmail.com + + + 2020-01-08 + 1.17 + Version bump + Mustafa Cinasal + muscnsl@gmail.com + + + 2018-12-31 + 1.16 + Version bump + Pisi Linux Community + admin@pisilinux.org + + + 2018-07-26 + 1.15 + Rebuild + Pisi Linux Community + admin@pisilinux.org + + + 2017-02-17 + 1.15 + Version Bump + Pisi Linux Community + admin@pisilinux.org + + + 2016-06-08 + 1.13.1 + Release Bump + Pisi Linux Community + admin@pisilinux.org + + + 2015-04-23 + 1.13.1 + First release + Ertuğrul Erata + ertugrulerata@gmail.com + + + diff --git a/system/base/mit-kerberos/translations.xml b/system/base/mit-kerberos/translations.xml new file mode 100644 index 00000000..4ead7d53 --- /dev/null +++ b/system/base/mit-kerberos/translations.xml @@ -0,0 +1,8 @@ + + + + mit-kerberos + MIT Kerberos kütüphanesi + Kerberos bir ağ doğrulama protokolüdür. Sunucu/istemci uygulamalarında, gizli anahtar kriptoloji teknolojisini kullanarak, güçlü bir doğrulama sağlar. + +