mirror of
https://github.com/miekg/dns.git
synced 2025-10-07 07:51:02 +02:00
fmt
This commit is contained in:
parent
c96d86da1f
commit
3611c4d458
10
dnssec.go
10
dnssec.go
@ -106,7 +106,7 @@ func (k *RR_DNSKEY) KeyTag() uint16 {
|
|||||||
// item in the pubkey. We could do this faster by looking directly
|
// item in the pubkey. We could do this faster by looking directly
|
||||||
// at the base64 values. But I'm lazy.
|
// at the base64 values. But I'm lazy.
|
||||||
modulus, _ := packBase64([]byte(k.PublicKey))
|
modulus, _ := packBase64([]byte(k.PublicKey))
|
||||||
if (len(modulus) > 1) {
|
if len(modulus) > 1 {
|
||||||
x, _ := unpackUint16(modulus, len(modulus)-2)
|
x, _ := unpackUint16(modulus, len(modulus)-2)
|
||||||
keytag = int(x)
|
keytag = int(x)
|
||||||
}
|
}
|
||||||
@ -279,7 +279,7 @@ func (s *RR_RRSIG) Sign(k PrivateKey, rrset []RR) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
signature := []byte{0x4D} // T value, here the ASCII M for Miek (not used in DNSSEC)
|
signature := []byte{0x4D} // T value, here the ASCII M for Miek (not used in DNSSEC)
|
||||||
signature = append(signature, r1.Bytes()...)
|
signature = append(signature, r1.Bytes()...)
|
||||||
signature = append(signature, s1.Bytes()...)
|
signature = append(signature, s1.Bytes()...)
|
||||||
s.Signature = unpackBase64(signature)
|
s.Signature = unpackBase64(signature)
|
||||||
@ -545,11 +545,11 @@ func (k *RR_DNSKEY) publicKeyDSA() *dsa.PublicKey {
|
|||||||
pubkey.Parameters.Q = big.NewInt(0)
|
pubkey.Parameters.Q = big.NewInt(0)
|
||||||
pubkey.Parameters.Q.SetBytes(keybuf[1:21]) // +/- 1 ?
|
pubkey.Parameters.Q.SetBytes(keybuf[1:21]) // +/- 1 ?
|
||||||
pubkey.Parameters.P = big.NewInt(0)
|
pubkey.Parameters.P = big.NewInt(0)
|
||||||
pubkey.Parameters.P.SetBytes(keybuf[22:22+size])
|
pubkey.Parameters.P.SetBytes(keybuf[22 : 22+size])
|
||||||
pubkey.Parameters.G = big.NewInt(0)
|
pubkey.Parameters.G = big.NewInt(0)
|
||||||
pubkey.Parameters.G.SetBytes(keybuf[22+size+1:22+size*2])
|
pubkey.Parameters.G.SetBytes(keybuf[22+size+1 : 22+size*2])
|
||||||
pubkey.Y = big.NewInt(0)
|
pubkey.Y = big.NewInt(0)
|
||||||
pubkey.Y.SetBytes(keybuf[22+size*2+1:22+size*3])
|
pubkey.Y.SetBytes(keybuf[22+size*2+1 : 22+size*3])
|
||||||
return pubkey
|
return pubkey
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package dns
|
package dns
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/dsa"
|
||||||
"crypto/ecdsa"
|
"crypto/ecdsa"
|
||||||
"crypto/elliptic"
|
"crypto/elliptic"
|
||||||
"crypto/rand"
|
"crypto/rand"
|
||||||
"crypto/rsa"
|
"crypto/rsa"
|
||||||
"crypto/dsa"
|
|
||||||
"math/big"
|
"math/big"
|
||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
@ -136,7 +136,7 @@ func (r *RR_DNSKEY) PrivateKeyString(p PrivateKey) (s string) {
|
|||||||
subprime := unpackBase64(t.PublicKey.Parameters.Q.Bytes())
|
subprime := unpackBase64(t.PublicKey.Parameters.Q.Bytes())
|
||||||
base := unpackBase64(t.PublicKey.Parameters.G.Bytes())
|
base := unpackBase64(t.PublicKey.Parameters.G.Bytes())
|
||||||
priv := unpackBase64(t.X.Bytes())
|
priv := unpackBase64(t.X.Bytes())
|
||||||
pub := unpackBase64(t.PublicKey.Y.Bytes())
|
pub := unpackBase64(t.PublicKey.Y.Bytes())
|
||||||
s = _FORMAT +
|
s = _FORMAT +
|
||||||
"Algorithm: " + algorithm + "\n" +
|
"Algorithm: " + algorithm + "\n" +
|
||||||
"Prime(p): " + prime + "\n" +
|
"Prime(p): " + prime + "\n" +
|
||||||
|
6
kscan.go
6
kscan.go
@ -1,9 +1,9 @@
|
|||||||
package dns
|
package dns
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/dsa"
|
||||||
"crypto/ecdsa"
|
"crypto/ecdsa"
|
||||||
"crypto/rsa"
|
"crypto/rsa"
|
||||||
"crypto/dsa"
|
|
||||||
"io"
|
"io"
|
||||||
"math/big"
|
"math/big"
|
||||||
"strings"
|
"strings"
|
||||||
@ -155,8 +155,8 @@ func readPrivateKeyECDSA(m map[string]string) (PrivateKey, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func readPrivateKeyGOST(m map[string]string) (PrivateKey, error) {
|
func readPrivateKeyGOST(m map[string]string) (PrivateKey, error) {
|
||||||
// p := new(ecdsa.PrivateKey)
|
// p := new(ecdsa.PrivateKey)
|
||||||
// p.D = big.NewInt(0)
|
// p.D = big.NewInt(0)
|
||||||
// Need to check if we have everything
|
// Need to check if we have everything
|
||||||
for k, v := range m {
|
for k, v := range m {
|
||||||
switch k {
|
switch k {
|
||||||
|
12
msg.go
12
msg.go
@ -80,12 +80,12 @@ type MsgHdr struct {
|
|||||||
// The layout of a DNS message.
|
// The layout of a DNS message.
|
||||||
type Msg struct {
|
type Msg struct {
|
||||||
MsgHdr
|
MsgHdr
|
||||||
Compress bool // If true, the message will be compressed when converted to wire format.
|
Compress bool // If true, the message will be compressed when converted to wire format.
|
||||||
RemoteAddr net.Addr // The remote address. Either the server or the client connecting.
|
RemoteAddr net.Addr // The remote address. Either the server or the client connecting.
|
||||||
Question []Question // Holds the RR(s) of the question section.
|
Question []Question // Holds the RR(s) of the question section.
|
||||||
Answer []RR // Holds the RR(s) of the answer section.
|
Answer []RR // Holds the RR(s) of the answer section.
|
||||||
Ns []RR // Holds the RR(s) of the authority section.
|
Ns []RR // Holds the RR(s) of the authority section.
|
||||||
Extra []RR // Holds the RR(s) of the additional section.
|
Extra []RR // Holds the RR(s) of the additional section.
|
||||||
}
|
}
|
||||||
|
|
||||||
// Map of strings for each RR wire type.
|
// Map of strings for each RR wire type.
|
||||||
|
@ -253,10 +253,8 @@ func TestParseNSEC(t *testing.T) {
|
|||||||
|
|
||||||
func TestParseLOC(t *testing.T) {
|
func TestParseLOC(t *testing.T) {
|
||||||
lt := map[string]string{
|
lt := map[string]string{
|
||||||
"SW1A2AA.find.me.uk. LOC 51 30 12.748 N 00 07 39.611 W 0.00m 0.00m 0.00m 0.00m":
|
"SW1A2AA.find.me.uk. LOC 51 30 12.748 N 00 07 39.611 W 0.00m 0.00m 0.00m 0.00m": "SW1A2AA.find.me.uk.\t3600\tIN\tLOC\t51 30 12.748 N 00 07 39.611 W 0.00m 0.00m 0.00m 0.00m",
|
||||||
"SW1A2AA.find.me.uk.\t3600\tIN\tLOC\t51 30 12.748 N 00 07 39.611 W 0.00m 0.00m 0.00m 0.00m",
|
"SW1A2AA.find.me.uk. LOC 51 0 0.0 N 00 07 39.611 W 0.00m 0.00m 0.00m 0.00m": "SW1A2AA.find.me.uk.\t3600\tIN\tLOC\t51 00 0.000 N 00 07 39.611 W 0.00m 0.00m 0.00m 0.00m",
|
||||||
"SW1A2AA.find.me.uk. LOC 51 0 0.0 N 00 07 39.611 W 0.00m 0.00m 0.00m 0.00m":
|
|
||||||
"SW1A2AA.find.me.uk.\t3600\tIN\tLOC\t51 00 0.000 N 00 07 39.611 W 0.00m 0.00m 0.00m 0.00m",
|
|
||||||
}
|
}
|
||||||
for i, o := range lt {
|
for i, o := range lt {
|
||||||
rr, e := NewRR(i)
|
rr, e := NewRR(i)
|
||||||
|
2
tsig.go
2
tsig.go
@ -250,7 +250,7 @@ func tsigBuffer(msgbuf []byte, rr *RR_TSIG, requestMAC string, timersOnly bool)
|
|||||||
m := new(macWireFmt)
|
m := new(macWireFmt)
|
||||||
m.MACSize = uint16(len(requestMAC) / 2)
|
m.MACSize = uint16(len(requestMAC) / 2)
|
||||||
m.MAC = requestMAC
|
m.MAC = requestMAC
|
||||||
buf = make([]byte, len(requestMAC)) // long enough
|
buf = make([]byte, len(requestMAC)) // long enough
|
||||||
n, _ := packStruct(m, buf, 0)
|
n, _ := packStruct(m, buf, 0)
|
||||||
buf = buf[:n]
|
buf = buf[:n]
|
||||||
}
|
}
|
||||||
|
@ -455,9 +455,9 @@ func setLOC(h RR_Header, c chan lex, f string) (RR, *ParseError) {
|
|||||||
rr := new(RR_LOC)
|
rr := new(RR_LOC)
|
||||||
rr.Hdr = h
|
rr.Hdr = h
|
||||||
// Non zero defaults for LOC record, see RFC 1876, Section 3.
|
// Non zero defaults for LOC record, see RFC 1876, Section 3.
|
||||||
rr.HorizPre = 165 // 10000
|
rr.HorizPre = 165 // 10000
|
||||||
rr.VertPre = 162 // 10
|
rr.VertPre = 162 // 10
|
||||||
rr.Size = 18 // 1
|
rr.Size = 18 // 1
|
||||||
ok := false
|
ok := false
|
||||||
// North
|
// North
|
||||||
l := <-c
|
l := <-c
|
||||||
|
Loading…
x
Reference in New Issue
Block a user