[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
cvs and heimdal
Hello,
Has anyone got CVS GSSAPI support to work with heimdal?
This is what I get:
./cvs -a -x -d :gserver:snoopy.apana.org.au:/usr/local/cvsroot history
cvs [history aborted]: GSSAPI authentication failed: unknown routine error
(Note: I saw a similar problem caused because the ticket file was not
valid. However, mine is valid, cvs can find it (from strace output) and
telnet works OK.)
I believe the problem is because decode_TGS_REP is failing, which
is called by get_cred_kdc deep inside the kerberos library (as seen
by gdb. At this point I get totally lost...
Anyway, here is the last bit of the gdb output (in case this helps):
(gdb) s
get_cred_kdc (context=0x140032940, id=0x140035600, flags={b = {reserved = 0,
forwardable = 0, forwarded = 0, proxiable = 0, proxy = 0,
allow_postdate = 0, postdated = 0, unused7 = 0, renewable = 0,
unused9 = 0, unused10 = 0, unused11 = 0, request_anonymous = 0,
disable_transited_check = 0, renewable_ok = 0, enc_tkt_in_skey = 0,
renew = 0, validate = 0}, i = 0}, addresses=0x11fffede0,
in_creds=0x140035600, krbtgt=0x30000819124, out_creds=0x1400329e0)
at get_cred.c:385
385 krb5_generate_random_block(&nonce, sizeof(nonce));
(gdb) n
371 {
(gdb) n
385 krb5_generate_random_block(&nonce, sizeof(nonce));
(gdb) n
379 krb5_keyblock *subkey = NULL;
(gdb) n
371 {
(gdb) n
385 krb5_generate_random_block(&nonce, sizeof(nonce));
(gdb) n
388 if(flags.b.enc_tkt_in_skey){
(gdb) n
380 u_char *buf = NULL;
(gdb) n
388 if(flags.b.enc_tkt_in_skey){
(gdb)
396 ret = init_tgs_req (context,
(gdb)
406 if(flags.b.enc_tkt_in_skey)
(gdb)
408 if (ret)
(gdb)
411 buf_size = 1024;
(gdb)
412 buf = malloc (buf_size);
(gdb)
413 if (buf == NULL) {
(gdb)
418 do {
(gdb)
419 ret = encode_TGS_REQ (buf + buf_size - 1, buf_size,
(gdb)
421 if (ret) {
(gdb)
436 } while (ret == ASN1_OVERFLOW);
(gdb)
440 free_TGS_REQ(&req);
(gdb)
439 req.req_body.addresses = NULL;
(gdb)
440 free_TGS_REQ(&req);
(gdb)
442 enc.data = buf + buf_size - enc.length;
(gdb)
443 if (ret)
(gdb)
450 ret = krb5_sendto_kdc (context, &enc,
(gdb)
452 if(ret)
(gdb)
455 memset(&rep, 0, sizeof(rep));
(gdb)
456 if(decode_TGS_REP(resp.data, resp.length, &rep.kdc_rep, &len) == 0){
(gdb)
486 free_KRB_ERROR(&error);
(gdb)
485 ret = error.error_code;
(gdb)
486 free_KRB_ERROR(&error);
(gdb) b 456
Breakpoint 5 at 0x30000818ef4: file get_cred.c, line 456.
(gdb) c
Continuing.
cvs [history aborted]: GSSAPI authentication failed: unknown routine error
Program exited with code 01.
--
Brian May <bmay@csse.monash.edu.au>
PGP signature