I noticed that when specifying a local authorative Zone via the auth-zones directive in the recursors configuration i was not able to get anything else than 3600 as a TTL for any records despite of whatever i specified in the zonefile.
I found that the while loop that runs through the zonefile in the parseAuthAndForwards function did specify a hardcoded value of 3600 for the TTL for every record.
The patch i will attach looks really straightforward and did fix the problem for me.
Attachment 'rr=String2DNSRR(rr.qname, rr.qtype, tmp, rr.ttl);' (pdns_recursor.cc.patch) https://gist.github.com/5466613
Ah i forgot to state the pdns recursor version to run this patch against: v 3.1.4 (aka the 2 bugs version)
Applied in commit 1164