@@ -1847,24 +1847,30 @@ class Tangerine extends dns.promises.Resolver {
18471847 // if it returns answers with `type: TLSA` then recursively lookup
18481848 // 3 1 1 D6FEA64D4E68CAEAB7CBB2E0F905D7F3CA3308B12FD88C5B469F08AD 7E05C7C7
18491849 return result . answers . map ( ( answer ) => {
1850- if ( ! Buffer . isBuffer ( answer . data ) ) {
1851- console . log ( 'BUFFER DATA' ) ;
1852- console . log ( 'answer' , answer ) ;
1853- console . log ( 'answer.data' , answer . data ) ;
1854- console . log ( JSON . stringify ( answer , null , 2 ) ) ;
1855- throw new Error ( 'Buffer was not available' ) ;
1856- }
1857-
1858- // <https://www.mailhardener.com/kb/dane>
1859- return {
1850+ const obj = {
18601851 name : answer . name ,
1861- ttl : answer . ttl ,
1862- // <https://github.com/rthalley/dnspython/blob/98b12e9e43847dac615bb690355d2fabaff969d2/dns/rdtypes/tlsabase.py#L35>
1863- usage : answer . data . subarray ( 0 , 1 ) . readUInt8 ( ) ,
1864- selector : answer . data . subarray ( 1 , 2 ) . readUInt8 ( ) ,
1865- mtype : answer . data . subarray ( 2 , 3 ) . readUInt8 ( ) ,
1866- cert : answer . data . subarray ( 3 )
1852+ ttl : answer . ttl
18671853 } ;
1854+
1855+ // <https://www.mailhardener.com/kb/dane>
1856+ // <https://github.com/rthalley/dnspython/blob/98b12e9e43847dac615bb690355d2fabaff969d2/dns/rdtypes/tlsabase.py#L35>
1857+ if ( Buffer . isBuffer ( answer . data ) ) {
1858+ obj . usage = answer . data . subarray ( 0 , 1 ) . readUInt8 ( ) ;
1859+ obj . selector = answer . data . subarray ( 1 , 2 ) . readUInt8 ( ) ;
1860+ obj . mtype = answer . data . subarray ( 2 , 3 ) . readUInt8 ( ) ;
1861+ obj . cert = answer . data . subarray ( 3 ) ;
1862+ } else {
1863+ obj . usage = answer . data . usage ;
1864+ obj . selector = answer . data . selector ;
1865+ obj . mtype = answer . data . matchingType ;
1866+ obj . cert = answer . data . certificate ;
1867+ }
1868+
1869+ // aliases to match Cloudflare DNS response
1870+ obj . matchingType = obj . mtype ;
1871+ obj . certificate = obj . cert ;
1872+
1873+ return obj ;
18681874 } ) ;
18691875 }
18701876
0 commit comments