fix(ddns): handle second-level domain correctly (#438)
This commit is contained in:
		
							parent
							
								
									be7b6e9c5e
								
							
						
					
					
						commit
						fc9f1b6bcc
					
				@ -108,7 +108,7 @@ func splitDomainSOA(domain string) (prefix string, zone string, err error) {
 | 
				
			|||||||
			if len(r.Answer) > 0 {
 | 
								if len(r.Answer) > 0 {
 | 
				
			||||||
				if soa, ok := r.Answer[0].(*dns.SOA); ok {
 | 
									if soa, ok := r.Answer[0].(*dns.SOA); ok {
 | 
				
			||||||
					zone = soa.Hdr.Name
 | 
										zone = soa.Hdr.Name
 | 
				
			||||||
					prefix = domain[:len(domain)-len(zone)-1]
 | 
										prefix = libdns.RelativeName(domain, zone)
 | 
				
			||||||
					return
 | 
										return
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
				
			|||||||
@ -27,6 +27,11 @@ func TestSplitDomainSOA(t *testing.T) {
 | 
				
			|||||||
			zone:   "example.com.",
 | 
								zone:   "example.com.",
 | 
				
			||||||
			prefix: "abc",
 | 
								prefix: "abc",
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								domain: "example.com",
 | 
				
			||||||
 | 
								zone:   "example.com.",
 | 
				
			||||||
 | 
								prefix: "",
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for _, c := range cases {
 | 
						for _, c := range cases {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user