func randomPrefixModifier()

in cmd/dns/dns.go [96:117]


func randomPrefixModifier(request interface{}) (interface{}, error) {
	msg, ok := request.(*tester.ExtendedMsg)
	if !ok {
		return nil, fmt.Errorf("%w, want: *dns.ExtendedMsg, got: %T", errors.ErrInvalidType, request)
	}

	hex, err := utils.RandomHex(prefixLength)
	if err != nil {
		//nolint:wrapcheck
		return nil, err
	}

	// Create a new message so we don't destroy the original to avoid recursive prefixing
	modified := new(tester.ExtendedMsg)
	domain := fmt.Sprintf("%d.%s.%s", time.Now().Unix(), hex, msg.Question[0].Name)
	msgTyp := msg.Question[0].Qtype

	modified.SetQuestion(dns.Fqdn(domain), msgTyp)
	modified.Rcode = msg.Rcode

	return modified, nil
}