summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5/os/t_an_to_ln.c
blob: b9c63acc1d56415cbc999862a91143b452b87e76 (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
/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
#include "krb5.h"

#include <stdio.h>

int
main(int argc, char **argv)
{
    krb5_error_code     kret = 0;
    krb5_context        kcontext;
    krb5_principal      principal;
    char                *programname;
    int                 i;
    char                sbuf[1024];

    programname = argv[0];
    krb5_init_context(&kcontext);
    for (i=1; i < argc; i++) {
        if (!(kret = krb5_parse_name(kcontext, argv[i], &principal))) {
            if (!(kret = krb5_aname_to_localname(kcontext,
                                                 principal,
                                                 1024,
                                                 sbuf))) {
                printf("%s: aname_to_lname maps %s -> <%s>\n",
                       programname, argv[i], sbuf);
            }
            else {
                printf("%s: aname to lname returns %s for %s\n", programname,
                       error_message(kret), argv[i]);
            }
            krb5_free_principal(kcontext, principal);
        }
        else {
            printf("%s: parse_name returns %s\n", programname,
                   error_message(kret));
        }
        if (kret)
            break;
    }
    krb5_free_context(kcontext);
    return((kret) ? 1 : 0);
}