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]

Reply via email to