File tree Expand file tree Collapse file tree 2 files changed +9
-8
lines changed Expand file tree Collapse file tree 2 files changed +9
-8
lines changed Original file line number Diff line number Diff line change 1
1
// This file has been adapted from https://github.com/norouter/norouter/blob/v0.6.4/pkg/agent/dns/dns.go
2
2
3
- package hostagent
3
+ package dns
4
4
5
5
import (
6
6
"fmt"
@@ -205,14 +205,14 @@ func (h *Handler) ServeDNS(w dns.ResponseWriter, req *dns.Msg) {
205
205
}
206
206
}
207
207
208
- func ( a * HostAgent ) StartDNS ( ) (* Server , error ) {
208
+ func Start ( udpLocalPort , tcpLocalPort int ) (* Server , error ) {
209
209
h , err := newHandler ()
210
210
if err != nil {
211
- panic ( err )
211
+ return nil , err
212
212
}
213
213
server := & Server {}
214
- if a . udpDNSLocalPort > 0 {
215
- addr := fmt .Sprintf ("127.0.0.1:%d" , a . udpDNSLocalPort )
214
+ if udpLocalPort > 0 {
215
+ addr := fmt .Sprintf ("127.0.0.1:%d" , udpLocalPort )
216
216
s := & dns.Server {Net : "udp" , Addr : addr , Handler : h }
217
217
server .udp = s
218
218
go func () {
@@ -221,8 +221,8 @@ func (a *HostAgent) StartDNS() (*Server, error) {
221
221
}
222
222
}()
223
223
}
224
- if a . tcpDNSLocalPort > 0 {
225
- addr := fmt .Sprintf ("127.0.0.1:%d" , a . tcpDNSLocalPort )
224
+ if tcpLocalPort > 0 {
225
+ addr := fmt .Sprintf ("127.0.0.1:%d" , tcpLocalPort )
226
226
s := & dns.Server {Net : "tcp" , Addr : addr , Handler : h }
227
227
server .tcp = s
228
228
go func () {
Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ import (
23
23
guestagentapi "github.com/lima-vm/lima/pkg/guestagent/api"
24
24
guestagentclient "github.com/lima-vm/lima/pkg/guestagent/api/client"
25
25
hostagentapi "github.com/lima-vm/lima/pkg/hostagent/api"
26
+ "github.com/lima-vm/lima/pkg/hostagent/dns"
26
27
"github.com/lima-vm/lima/pkg/hostagent/events"
27
28
"github.com/lima-vm/lima/pkg/limayaml"
28
29
"github.com/lima-vm/lima/pkg/qemu"
@@ -248,7 +249,7 @@ func (a *HostAgent) Run(ctx context.Context) error {
248
249
}()
249
250
250
251
if * a .y .UseHostResolver {
251
- dnsServer , err := a . StartDNS ( )
252
+ dnsServer , err := dns . Start ( a . udpDNSLocalPort , a . tcpDNSLocalPort )
252
253
if err != nil {
253
254
return fmt .Errorf ("cannot start DNS server: %w" , err )
254
255
}
You can’t perform that action at this time.
0 commit comments