parent
							
								
									440d36b291
								
							
						
					
					
						commit
						2e6cd26cec
					
				| 
						 | 
					@ -12,6 +12,7 @@ import (
 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/go-errors/errors"
 | 
						"github.com/go-errors/errors"
 | 
				
			||||||
 | 
						"golang.org/x/net/idna"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"git.gensokyo.cafe/kkyy/tgbot_misaka_5882f7/utils"
 | 
						"git.gensokyo.cafe/kkyy/tgbot_misaka_5882f7/utils"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
| 
						 | 
					@ -27,7 +28,7 @@ var (
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	digErrInvalidArgs = fmt.Errorf("invalid request")
 | 
						digErrInvalidArgs = fmt.Errorf("invalid request")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	digDnsNameRe = regexp.MustCompile(`^([a-z0-9_-]+\.?)+|\.$`)
 | 
						digIdnaMapper = idna.New(idna.MapForLookup(), idna.StrictDomainName(false))
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type DigRequest struct {
 | 
					type DigRequest struct {
 | 
				
			||||||
| 
						 | 
					@ -61,8 +62,8 @@ func NewDigRequest(req string) (*DigRequest, error) {
 | 
				
			||||||
		return ret, nil
 | 
							return ret, nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	name := strings.ToLower(args[0])
 | 
						name, err := digIdnaMapper.ToASCII(args[0])
 | 
				
			||||||
	if !digDnsNameRe.Match([]byte(name)) {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, digErrInvalidArgs
 | 
							return nil, digErrInvalidArgs
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	ret.Name = name
 | 
						ret.Name = name
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue