HEIMDAL:kdc: correctly propagate HDB_ERR_NOT_FOUND_HERE to via tgs_parse_request...
authorStefan Metzmacher <metze@samba.org>
Fri, 4 Mar 2011 13:33:02 +0000 (14:33 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 4 Mar 2011 20:19:05 +0000 (21:19 +0100)
metze

source4/heimdal/kdc/krb5tgs.c

index 4af4c29cebbeb32dc0cd62a9bba4726dd5291c54..037934f2a654e0531b0e0a0be2f91cbe3c269127 100644 (file)
@@ -1179,6 +1179,7 @@ tgs_parse_request(krb5_context context,
        kdc_log(context, config, 5, "Ticket-granting ticket account %s does not have secrets at this KDC, need to proxy", p);
        if (ret == 0)
            free(p);
+       ret = HDB_ERR_NOT_FOUND_HERE;
        goto out;
     } else if(ret){
        const char *msg = krb5_get_error_message(context, ret);
@@ -2239,6 +2240,10 @@ _kdc_tgs_rep(krb5_context context,
                            &auth_data,
                            &replykey,
                            &rk_is_subkey);
+    if (ret == HDB_ERR_NOT_FOUND_HERE) {
+       /* kdc_log() is called in tgs_parse_request() */
+       goto out;
+    }
     if (ret) {
        kdc_log(context, config, 0,
                "Failed parsing TGS-REQ from %s", from);