~ubuntu-branches/ubuntu/maverick/krb5/maverick

« back to all changes in this revision

Viewing changes to src/lib/krb4/ad_print.c

  • Committer: Bazaar Package Importer
  • Author(s): Sam Hartman
  • Date: 2009-05-07 16:16:34 UTC
  • mfrom: (13.1.7 sid)
  • Revision ID: james.westby@ubuntu.com-20090507161634-xqyk0s9na0le4flj
Tags: 1.7dfsg~beta1-4
When  decrypting the TGS response fails with the subkey, try with the
session key to work around Heimdal bug, Closes: #527353 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * lib/krb4/ad_print.c
3
 
 *
4
 
 * Copyright 1988 by the Massachusetts Institute of Technology.  All
5
 
 * Rights Reserved.
6
 
 *
7
 
 * Export of this software from the United States of America may
8
 
 *   require a specific license from the United States Government.
9
 
 *   It is the responsibility of any person or organization contemplating
10
 
 *   export to obtain such a license before exporting.
11
 
 * 
12
 
 * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
13
 
 * distribute this software and its documentation for any purpose and
14
 
 * without fee is hereby granted, provided that the above copyright
15
 
 * notice appear in all copies and that both that copyright notice and
16
 
 * this permission notice appear in supporting documentation, and that
17
 
 * the name of M.I.T. not be used in advertising or publicity pertaining
18
 
 * to distribution of the software without specific, written prior
19
 
 * permission.  Furthermore if you modify this software you must label
20
 
 * your software as modified software and not distribute it in such a
21
 
 * fashion that it might be confused with the original M.I.T. software.
22
 
 * M.I.T. makes no representations about the suitability of
23
 
 * this software for any purpose.  It is provided "as is" without express
24
 
 * or implied warranty.
25
 
 */
26
 
 
27
 
#include "krb.h"
28
 
#include "des.h"
29
 
#include "krb4int.h"
30
 
#include <stdio.h>
31
 
#include "port-sockets.h"
32
 
 
33
 
#ifndef _WIN32
34
 
 
35
 
/*
36
 
 * Print some of the contents of the given authenticator structure
37
 
 * (AUTH_DAT defined in "krb.h").  Fields printed are:
38
 
 *
39
 
 * pname, pinst, prealm, netaddr, flags, cksum, timestamp, session
40
 
 */
41
 
 
42
 
void
43
 
ad_print(x)
44
 
    AUTH_DAT *x;
45
 
{
46
 
    struct in_addr ina;
47
 
    ina.s_addr = x->address;
48
 
  
49
 
    printf("\n%s %s %s ", x->pname, x->pinst, x->prealm);
50
 
    far_fputs (inet_ntoa(ina), stdout);
51
 
    printf(" flags %u cksum 0x%lX\n\ttkt_tm 0x%lX sess_key",
52
 
            x->k_flags, (long) x->checksum, (long) x->time_sec);
53
 
    printf("[8] =");
54
 
#ifdef NOENCRYPTION
55
 
    placebo_cblock_print(x->session);
56
 
#else /* Do Encryption */
57
 
    des_cblock_print_file(&x->session,stdout);
58
 
#endif /* NOENCRYPTION */
59
 
    /* skip reply for now */
60
 
}
61
 
 
62
 
#ifdef NOENCRYPTION
63
 
/*
64
 
 * Print in hex the 8 bytes of the given session key.
65
 
 *
66
 
 * Printed format is:  " 0x { x, x, x, x, x, x, x, x }"
67
 
 */
68
 
 
69
 
placebo_cblock_print(x)
70
 
    des_cblock x;
71
 
{
72
 
    unsigned char *y = (unsigned char *) x;
73
 
    register int i = 0;
74
 
 
75
 
    printf(" 0x { ");
76
 
 
77
 
    while (i++ <8) {
78
 
        printf("%x",*y++);
79
 
        if (i<8) printf(", ");
80
 
    }
81
 
    printf(" }");
82
 
}
83
 
#endif /* NOENCRYPTION */
84
 
 
85
 
#endif