]> git.pld-linux.org Git - packages/nfs-utils.git/blob - nfs-utils-heimdal_functions.patch
- rel 2
[packages/nfs-utils.git] / nfs-utils-heimdal_functions.patch
1 --- utils/gssd/krb5_util.c      2008-10-17 14:20:09.000000000 +0000
2 +++ utils/gssd/krb5_util.c      2008-11-22 13:52:42.000000000 +0000
3 @@ -927,9 +927,37 @@ 
4  {
5         krb5_error_code ret;
6         krb5_creds creds;
7 -       krb5_cc_cursor cur;
8         int found = 0;
9  
10 +#ifdef HAVE_HEIMDAL
11 +       krb5_creds pattern;
12 +       krb5_realm *client_realm;
13 +
14 +       krb5_cc_clear_mcred(&pattern);
15 +
16 +       client_realm = krb5_princ_realm (context, principal);
17 +
18 +       ret = krb5_make_principal (context, &pattern.server,
19 +                                  *client_realm, KRB5_TGS_NAME, *client_realm,
20 +                                  NULL);
21 +       if (ret)
22 +         krb5_err (context, 1, ret, "krb5_make_principal");
23 +       pattern.client = principal;
24 +
25 +       ret = krb5_cc_retrieve_cred (context, ccache, 0, &pattern, &creds);
26 +       krb5_free_principal (context, pattern.server);
27 +       if (ret) {
28 +         if (ret == KRB5_CC_END)
29 +            return 1;
30 +         krb5_err (context, 1, ret, "krb5_cc_retrieve_cred");
31 +       }
32 +
33 +       found = creds.times.endtime > time(NULL);
34 +
35 +       krb5_free_cred_contents (context, &creds);
36 +#else
37 +       krb5_cc_cursor cur;
38 +
39         ret = krb5_cc_start_seq_get(context, ccache, &cur);
40         if (ret) 
41                 return 0;
42 @@ -949,6 +977,7 @@ 
43                 krb5_free_cred_contents(context, &creds);
44         }
45         krb5_cc_end_seq_get(context, ccache, &cur);
46 +#endif
47  
48         return found;
49  }
50 @@ -995,6 +1024,9 @@ 
51         }
52         krb5_free_principal(context, principal);
53  err_princ:
54 +#ifdef HAVE_HEIMDAL
55 +#define KRB5_TC_OPENCLOSE              0x00000001
56 +#endif
57         krb5_cc_set_flags(context, ccache,  KRB5_TC_OPENCLOSE);
58         krb5_cc_close(context, ccache);
59  err_cache:
This page took 0.092218 seconds and 4 git commands to generate.