Package: krb5-kdc Version: 1.6.dfsg.4~beta1-5lenny4 Severity: normal Tags: patch
Compiling with --with-kdc-kdb-update configure option fails as below (this configure option can be set in debian/rules as well): # ./configure --with-kdc-kdb-update && make .... .... .... gcc -L../lib -g -O2 -Wall -Wmissing-prototypes -Wcast-qual -Wcast-align -Wconversion -Wshadow -o krb5kdc kdc5_err.o dispatch.o do_as_req.o do_tgs_req.o kdc_util.o kdc_preauth.o main.o network.o policy.o extern.o replay.o kerberos_v4.o -lkadm5srv -lkdb5 -lgssrpc -lgssapi_krb5 -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err -lkrb5support -lkeyutils -lresolv -ldl -lapputils do_as_req.o: In function `process_as_req': /tmp/krb5-1.6.dfsg.4~beta1/src/kdc/do_as_req.c:489: undefined reference to `krb5_db_set_name' /tmp/krb5-1.6.dfsg.4~beta1/src/kdc/do_as_req.c:491: undefined reference to `krb5_db_init' collect2: ld returned 1 exit status make[1]: *** [krb5kdc] Error 1 Apply the below patch. This patch has been backported from 1.7.1 (http://src.mit.edu/fisheye/changelog/krb5/?cs=23647). The issue has been discussed in more detail at http://krbdev.mit.edu/rt/Ticket/Display.html?user=guest&pass=guest&id=5668. diff -Naur krb5-1.6.dfsg.4~beta1/src/kdc/do_as_req.c krb5-1.6.dfsg.4~beta1.new/src/kdc/do_as_req.c --- krb5-1.6.dfsg.4~beta1/src/kdc/do_as_req.c 2008-05-29 03:10:12.000000000 +0530 +++ krb5-1.6.dfsg.4~beta1.new/src/kdc/do_as_req.c 2010-07-26 20:35:02.000000000 +0530 @@ -480,15 +480,16 @@ if (c_nprincs) { #ifdef KRBCONF_KDC_MODIFIES_KDB if (update_client) { + krb5_error_code errcode2; + krb5_db_put_principal(kdc_context, &client, &c_nprincs); /* * ptooey. We want krb5_db_sync() or something like that. */ - krb5_db_fini(kdc_context); - if (kdc_active_realm->realm_dbname) - krb5_db_set_name(kdc_active_realm->realm_context, - kdc_active_realm->realm_dbname); - krb5_db_init(kdc_context); + errcode2 = krb5_db_fini(kdc_context); + if (errcode2 == 0) + errcode2 = krb5_db_open(kdc_context, db_args, + KRB5_KDB_OPEN_RW|KRB5_KDB_SRV_TYPE_KDC); /* Reset master key */ krb5_db_set_mkey(kdc_context, &kdc_active_realm->realm_mkey); } diff -Naur krb5-1.6.dfsg.4~beta1/src/kdc/extern.h krb5-1.6.dfsg.4~beta1.new/src/kdc/extern.h --- krb5-1.6.dfsg.4~beta1/src/kdc/extern.h 2008-05-29 03:10:12.000000000 +0530 +++ krb5-1.6.dfsg.4~beta1.new/src/kdc/extern.h 2010-07-26 20:36:02.000000000 +0530 @@ -93,6 +93,7 @@ extern krb5_timestamp kdc_infinity; /* greater than all other timestamps */ extern krb5_rcache kdc_rcache; /* replay cache */ extern krb5_keyblock psr_key; /* key for predicted sam response */ +extern char **db_args; extern volatile int signal_requests_exit; extern volatile int signal_requests_hup; diff -Naur krb5-1.6.dfsg.4~beta1/src/kdc/main.c krb5-1.6.dfsg.4~beta1.new/src/kdc/main.c --- krb5-1.6.dfsg.4~beta1/src/kdc/main.c 2008-05-29 03:10:12.000000000 +0530 +++ krb5-1.6.dfsg.4~beta1.new/src/kdc/main.c 2010-07-26 20:40:40.000000000 +0530 @@ -410,6 +410,7 @@ return; } +char **db_args = NULL; void initialize_realms(krb5_context kcontext, int argc, char **argv) { @@ -426,7 +427,6 @@ char *default_tcp_ports = 0; krb5_pointer aprof; const char *hierarchy[3]; - char **db_args = NULL; int db_args_size = 0; #ifdef KRB5_KRB4_COMPAT -- System Information: Debian Release: 5.0.4 APT prefers stable APT policy: (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.26-2-amd64 (SMP w/2 CPU cores) Locale: LANG=en_IN, LC_CTYPE=en_IN (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages krb5-kdc depends on: ii debconf [debcon 1.5.24 Debian configuration management sy ii krb5-config 1.22 Configuration files for Kerberos V ii krb5-user 1.6.dfsg.4~beta1-5lenny4 Basic programs to authenticate usi ii libc6 2.7-18lenny4 GNU C Library: Shared libraries ii libcomerr2 1.41.3-1 common error description library ii libkadm55 1.6.dfsg.4~beta1-5lenny4 MIT Kerberos administration runtim ii libkeyutils1 1.2-9 Linux Key Management Utilities (li ii libkrb53 1.6.dfsg.4~beta1-5lenny4 MIT Kerberos runtime libraries ii lsb-base 3.2-20 Linux Standard Base 3.2 init scrip krb5-kdc recommends no packages. Versions of packages krb5-kdc suggests: ii krb5-admin-serv 1.6.dfsg.4~beta1-5lenny4 MIT Kerberos master server (kadmin pn krb5-kdc-ldap <none> (no description available) ii xinetd [inet-su 1:2.3.14-7 replacement for inetd with many en -- debconf information excluded -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

