summaryrefslogtreecommitdiff
path: root/repo/system/krb5.xibuild
blob: 9c53a6470e437852e2189aae14adfd2e4fb3cedc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/bash

MAKEDEPS=(make )
DEPS=(glibc e2fsprogs libldap keyutils)

PKG_VER=1.19.2
SOURCE=https://github.com/krb5/krb5
#SOURCE=https://kerberos.org/dist/krb5/$(echo $PKG_VER | cut -d. -f-2)/krb5-$PKG_VER.tar.gz
DESC="The Kerberos network authentication system"

prepare () {
    # fix denial of service vulnerability
    sed -i '210a if (sprinc == NULL) {\
       status = "NULL_SERVER";\
       errcode = KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN;\
       goto cleanup;\
       }' src/kdc/do_tgs_req.c

    cd src &&

    sed -i -e 's@\^u}@^u cols 300}@' tests/dejagnu/config/default.exp || true
    sed -i -e '/eq 0/{N;s/12 //}'    plugins/kdb/db2/libdb2/test/run.test || true
    sed -i '/t_iprop.py/d'           tests/Makefile.in                    || true
}

build () {
    # would be ideal to use openssl rather than builtin library
    autoreconf
    ./configure --prefix=/usr            \
                --sysconfdir=/etc        \
                --localstatedir=/var/lib \
                --runstatedir=/run       \
                --with-system-et         \
                --with-system-ss         \
                --with-system-verto=no   \
                --with-crypto-impl=builtin \
                --enable-dns-for-realm &&
    make
}

package () {
    make DESTDIR=$PKG_DEST install

    install -v -dm755 $PKG_DEST/usr/share/doc/krb5-$PKG_VER &&
    cp -vfr ../doc/*  $PKG_DEST/usr/share/doc/krb5-$PKG_VER
}