|
Lines 157-193
Link Here
|
| 157 |
krb5_free_principal(krb_context, princ); |
157 |
krb5_free_principal(krb_context, princ); |
| 158 |
krb5_cc_destroy(krb_context, ccache); |
158 |
krb5_cc_destroy(krb_context, ccache); |
| 159 |
return; |
159 |
return; |
| 160 |
} |
160 |
} |
| 161 |
|
161 |
|
| 162 |
krb5_free_principal(krb_context, princ); |
162 |
krb5_free_principal(krb_context, princ); |
| 163 |
|
163 |
|
| 164 |
if ((maj_status = gss_krb5_copy_ccache(&min_status, |
164 |
if ((maj_status = gss_krb5_copy_ccache(&min_status, |
| 165 |
client->creds, ccache))) { |
165 |
client->creds, ccache))) { |
| 166 |
logit("gss_krb5_copy_ccache() failed"); |
166 |
logit("gss_krb5_copy_ccache() failed"); |
| 167 |
|
|
|
| 168 |
OM_uint32 gmajor, gminor; |
| 169 |
gss_buffer_desc msg; |
| 170 |
OM_uint32 msg_ctx = GSS_S_COMPLETE; |
| 171 |
do { |
| 172 |
gmajor = gss_display_status(&gminor, maj_status, GSS_C_GSS_CODE, GSS_C_NULL_OID, &msg_ctx, &msg); |
| 173 |
debug3("GSS error: %s", (char*)msg.value); |
| 174 |
gss_release_buffer(&gminor, &msg); |
| 175 |
} while (msg_ctx != GSS_S_COMPLETE); |
| 176 |
|
| 177 |
msg_ctx = GSS_S_COMPLETE; |
| 178 |
do { |
| 179 |
gmajor = gss_display_status(&gminor, min_status, GSS_C_MECH_CODE, GSS_C_NULL_OID, &msg_ctx, &msg); |
| 180 |
debug3("Mechanism error: %s", (char*)msg.value); |
| 181 |
gss_release_buffer(&gminor, &msg); |
| 182 |
} while (msg_ctx != GSS_S_COMPLETE); |
| 183 |
|
| 184 |
krb5_cc_destroy(krb_context, ccache); |
167 |
krb5_cc_destroy(krb_context, ccache); |
| 185 |
return; |
168 |
return; |
| 186 |
} |
169 |
} |
| 187 |
|
170 |
|
| 188 |
client->store.filename = xstrdup(krb5_cc_get_name(krb_context, ccache)); |
171 |
client->store.filename = xstrdup(krb5_cc_get_name(krb_context, ccache)); |
| 189 |
client->store.envvar = "KRB5CCNAME"; |
172 |
client->store.envvar = "KRB5CCNAME"; |
| 190 |
len = strlen(client->store.filename) + 6; |
173 |
len = strlen(client->store.filename) + 6; |
| 191 |
client->store.envval = xmalloc(len); |
174 |
client->store.envval = xmalloc(len); |
| 192 |
snprintf(client->store.envval, len, "FILE:%s", client->store.filename); |
175 |
snprintf(client->store.envval, len, "FILE:%s", client->store.filename); |
| 193 |
|
176 |
|