We have moved to a new Sailfish OS Forum. Please start new discussions there.
5

Half-broken DNS resolver being used instead of the local router.

asked 2014-06-09 21:29:27 +0200

WhyNotHugo gravatar image

Heading to Settings>System>About shows my version is 1.0.5.19 (Paarlampi), and that it's the latest version (even after pulling down "Check for updates").

I tried manually updating too:

# pkcon -v refresh
15:14:28        PackageKit          Verbose debugging enabled (on console 1)
15:14:28        PackageKit          notify::connected
15:14:28        PackageKit          filter=(null), filters=0
15:14:28        PackageKit          adding state 0x41f17cf0
15:14:28        PackageKit          role now refresh-cache
Refreshing cache                                                              
Waiting in queue                                                              
Waiting for authentication                                                    
Waiting in queue                              [                      ] (0%)  15:14:28  PackageKit          emit transaction-list-changed

Starting                                                                       
Refreshing software list                      [                      ] (0%)  15:15:28  PackageKit          remove state 0x41f17cf0

Fatal error: Download (curl) error for 'https://store-repository.jolla.com/releases/1.0.5.19/jolla-hw/adaptation-android-common/armv7hl/repodata/repomd.xml?credentials=store':
Error code: Connection failed
Error message: Couldn't resolve host 'store-repository.jolla.com'

Oddly this does not work either:

# curl -I https://store-repository.jolla.com/releases/1.0.5.19/jolla-hw/adaptation-android-common/armv7hl/repodata/repomd.xml?credentials=store

Though it runs fine on my desktop:

$ curl -I https://store-repository.jolla.com/releases/1.0.5.19/jolla-hw/adaptation-android-common/armv7hl/repodata/repomd.xml?credentials=store
HTTP/1.1 401 Unauthorized
Content-length: 188
Content-Type: text/html
Date: Mon, 09 Jun 2014 18:18:33 GMT
Server: nginx
Connection: keep-alive

I checked the DNS servers the device was using (resolv.conf), and it was using "::1". I'm not sure what's running there, but it seems half-broken, and . I switched the DNS to the one my router advertises, and pkcon seemed to work:

# pkcon -v refresh
15:17:48        PackageKit          Verbose debugging enabled (on console 1)
15:17:48        PackageKit          notify::connected
15:17:48        PackageKit          filter=(null), filters=0
15:17:48        PackageKit          adding state 0x41dafcf0
15:17:48        PackageKit          role now refresh-cache
Refreshing cache                                                              
Waiting in queue                                                              
Waiting for authentication                                                    
Waiting in queue                              [                      ] (0%)  15:17:48  PackageKit          emit transaction-list-changed

Starting                                                                       
Refreshing software list                      [======================]        15:20:21 PackageKit          remove state 0x41dafcf0

So, my question is:

Why is ::1 being used as DNS instead of the one the router is advertising? (The router is properly advertising it, and other devices on the network seem to be finding it without any issues).

edit retag flag offensive close delete

1 Answer

Sort by » oldest newest most voted
2

answered 2015-06-23 04:14:10 +0200

DrYak gravatar image

For the record (because I encountered the same, and wondered too) :

Why is ::1 being used as DNS instead of the one the router is advertising?

Because, if you look closely:

[root@Jolla nemo]# netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      717/connmand
tcp        0      0 ::1:53                      :::*                        LISTEN      717/connmand
udp        0      0 127.0.0.1:53                0.0.0.0:*                               717/connmand
udp        0      0 ::1:53                      :::*                                    717/connmand
Active UNIX domain sockets (only servers)

connman is operating its own DNS forwarding service.

With this, all software only need to remember one single DNS address, and it's connman's job to forward request to a valid DNS server.

(dnsmasq offers another similar dns forwarding/caching solution)

edit flag offensive delete publish link more
Login/Signup to Answer

Question tools

Follow
1 follower

Stats

Asked: 2014-06-09 21:29:27 +0200

Seen: 664 times

Last updated: Jun 23 '15