Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Routing failure when connecting to IPv6 address because of wrong default network interface #8802

Closed
cyberduck opened this issue May 5, 2015 · 34 comments

Comments

@cyberduck
Copy link
Collaborator

7ee63cc created the issue

Connection to an IPv6-only server is impossible when using the Mac version. The result is always: 'No route to host'.

I can ping6 the IPv6 server, so there is a working route.

Additional information:

  • reproducible with an IPv6 address or IPv6-only hostname (only AAAA record in DNS)
  • reproducible using the quick connect bar, and also when using a bookmark entry
  • FTP and SFTP (other types not tested)
  • Windows version 4.7 is working
  • Mac version 4.3.1 is working!
  • Mac version 4.4 and up are not working
@cyberduck
Copy link
Collaborator Author

@dkocher commented

Add test in 610dcd9.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Add test in 0ff86e2.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

~~ Can you try to append the interface (such as %en0) to the address as in fe80::c62c:3ff:fe0b:8670%en0.~~ 

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Replying to [comment:5 dkocher]:

~~ Can you try to append the interface (such as %en0) to the address as in fe80::c62c:3ff:fe0b:8670%en0.~~ 
I suppose an interface identifier makes no sense with a non link local address.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

More tests in 47c2f1e, f9e760e and e2963e7.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

I cannot reproduce this issue. Please share more details of your setup to reproduce.

@cyberduck
Copy link
Collaborator Author

7ee63cc commented

Replying to [comment:8 dkocher]:

I cannot reproduce this issue. Please share more details of your setup to reproduce.

See this Screencast:
http://screencast.com/t/vw91SFB3

In the video I show you that I can successfully 'ping6 ftp6.netbsd.org' and 'ftp ftp6.netbsd.org', but in Cyberduck the result to the same server is always: 'No route to host'. This is just an example, it is like that for any IPv6 only host on internet.

Hope this helps.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Add test in a3ee5e2 to resolve public IPv6 only address.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Add failing test reproducing the issue in 7c0e379.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

This looks to be an issue with the wrong default interface being selected. On my machine if I disable awsdl0 and the vmnet* interface from VMWare the proper en0 interface gets selected and routing succeeds.

sudo ifconfig awdl0 down

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Some reference

AWDL (Apple Wireless Direct Link) is a low latency/high speed WiFi peer-to peer-connection Apple uses for everywhere you’d expect: AirDrop, GameKit (which also uses Bluetooth), AirPlay, and perhaps elsewhere. It works using its own dedicated network interface, typically “awdl0".

@cyberduck
Copy link
Collaborator Author

@dkocher commented

In 2f840be.

@cyberduck
Copy link
Collaborator Author

7ee63cc commented

Great! I will test it as soon as the snapshot build arrives.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Replying to [comment:16 richardvd]:

Great! I will test it as soon as the snapshot build arrives.
A new snapshot build has been pushed.

@cyberduck
Copy link
Collaborator Author

7ee63cc commented

I just installed the latest snapshot version 4.8 (17573). No change, it still results in 'no route to host' in this situation.

It does work after sudo ifconfig awdl0 down, so the application still seems to select the wrong interface.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Can you post the output of ifconfig on your computer.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Rewrite in cf832b4 to make it not dependent on en0 name for interface.

@cyberduck
Copy link
Collaborator Author

7ee63cc commented

In case you still want to see my ifconfig output, here it is:

MBA-Richard:~ richard$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
	options=3<RXCSUM,TXCSUM>
	inet6 ::1 prefixlen 128 
	inet 127.0.0.1 netmask 0xff000000 
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
	nd6 options=1<PERFORMNUD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	ether 5c:f9:xx:xx:xx:xx 
	inet6 fe80::5ef9:xxff:xxxx:xxxx%en0 prefixlen 64 scopeid 0x4 
	inet6 2001:1af8:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx prefixlen 64 autoconf 
	inet6 2001:1af8:xxxx:xxxx:3cb5:8e15:fd82:d447 prefixlen 64 autoconf temporary 
	inet 192.168.2.8 netmask 0xffffff00 broadcast 192.168.2.255
	nd6 options=1<PERFORMNUD>
	media: autoselect
	status: active
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
	options=60<TSO4,TSO6>
	ether 32:00:xx:xx:xx:xx 
	media: autoselect <full-duplex>
	status: inactive
bridge0: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
	options=63<RXCSUM,TXCSUM,TSO4,TSO6>
	ether 5e:f9:xx:xx:xx:xx 
	Configuration:
		id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
		maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
		root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
		ipfilter disabled flags 0x2
	member: en1 flags=3<LEARNING,DISCOVER>
	        ifmaxaddr 0 port 5 priority 0 path cost 0
	media: <unknown type>
	status: inactive
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
	ether 0e:f9:xx:xx:xx:xx 
	media: autoselect
	status: inactive
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1452
	ether fe:94:xx:xx:xx:xx 
	inet6 fe80::fc94:xxff:xxxx:xxxx%awdl0 prefixlen 64 scopeid 0x8 
	nd6 options=1<PERFORMNUD>
	media: autoselect
	status: active

I look forward to you next snapshot release!

@cyberduck
Copy link
Collaborator Author

@dkocher commented

I think my above change cf832b4 will unfortunately make no difference given the ifconfig output. Please enable debug logging and post the output in the system.log (/Applications/Utilities/Console.app) after a connection attempt.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Snapshot build cf832b4 is now available.

@cyberduck
Copy link
Collaborator Author

7ee63cc commented

No change unfortunately for this case.

This is the debug logging output of Version 4.8 (17592):

21/05/15 16:08:32,610 Cyberduck[893]: Failed to connect (historyMenu) outlet from (ProxyForJava) to (NSMenu): missing setter or instance variable
21/05/15 16:08:32,615 Cyberduck[893]: Failed to connect (rendezvousMenu) outlet from (ProxyForJava) to (NSMenu): missing setter or instance variable
21/05/15 16:08:32,619 Cyberduck[893]: Could not connect action, target class ProxyForJava does not respond to -historyMenuClicked:

The above is all logged before I try to connect. Nothing extra is added to the log when the 'no route to host' error appears.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Debug logging is not enabled. Please try

defaults write ~/Library/Preferences/ch.sudo.cyberduck.plist logging debug

and restart Cyberduck.app.

@cyberduck
Copy link
Collaborator Author

7ee63cc commented

I double checked it, debug logging is enabled:

MBA-Richard:~ richard$ defaults read ch.sudo.cyberduck logging
debug

And of course I already did ⌘-Q and then restarted and verified the version number (17592).

The debug setting does work, because if I delete the logging key, then it logs nothing on startup. So debug logging is enabled and working as far as I can tell, the error just doesn't seem to follow the code path you expect it to. :-)

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Replying to [comment:28 richardvd]:
Sorry, my fault. We only ever logged ERROR level to the system log. Removed constraint in 9ef1f42.

@cyberduck
Copy link
Collaborator Author

7ee63cc commented

Replying to [comment:29 dkocher]:

Replying to [comment:28 richardvd]:
Sorry, my fault. We only ever logged ERROR level to the system log. Removed constraint in 9ef1f42.
That makes sense, no problem! This is the output from starting the FTP-session to ftp6.netbsd.org until seeing the error popup:

25/05/15 13:17:47,222 Cyberduck[38025]: [main] DEBUG ch.cyberduck.ui.cocoa.BrowserController - Mount session for Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 13:17:47,222 Cyberduck[38025]: [main] DEBUG ch.cyberduck.ui.cocoa.BrowserController - Unmount session null
25/05/15 13:17:47,222 Cyberduck[38025]: [main] DEBUG ch.cyberduck.core.SessionFactory - Create session for Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 13:17:47,223 Cyberduck[38025]: [main] DEBUG ch.cyberduck.ui.cocoa.BrowserController - Set working directory to null
25/05/15 13:17:47,223 Cyberduck[38025]: [main] DEBUG ch.cyberduck.ui.cocoa.BrowserController - Set path filter to null
25/05/15 13:17:47,224 Cyberduck[38025]: [main] DEBUG ch.cyberduck.ui.cocoa.BrowserController - Reload data with selected files []
25/05/15 13:17:47,224 Cyberduck[38025]: [main] DEBUG ch.cyberduck.ui.cocoa.BrowserOutlineViewModel - Reload table view <CDOutlineView: 0x1001389c0> for changes files []
25/05/15 13:17:47,225 Cyberduck[38025]: [main] DEBUG ch.cyberduck.core.AbstractController - Run action WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null} in background
25/05/15 13:17:47,226 Cyberduck[38025]: [main] DEBUG ch.cyberduck.core.AbstractController - Synchronize on lock Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed} for action WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null}
25/05/15 13:17:47,226 Cyberduck[38025]: [main] INFO  ch.cyberduck.core.AbstractController - Scheduled background runnable WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null} for execution
25/05/15 13:17:47,227 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.core.AbstractController - Acquired lock for background runnable WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null}
25/05/15 13:17:47,227 Cyberduck[38025]: [main] INFO  ch.cyberduck.core.Cache - Clearing cache Cache{size=0}
25/05/15 13:17:47,227 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.core.AbstractController - Prepare background action WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null}
25/05/15 13:17:47,228 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.core.threading.AbstractBackgroundAction - Prepare background task WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null}
25/05/15 13:17:47,233 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.core.AbstractController - Call background action WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null}
25/05/15 13:17:47,233 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.core.KeychainLoginService - Validate login credentials for Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 13:17:47,233 Cyberduck[38025]: [background-1] INFO  ch.cyberduck.core.HostPasswordStore - Fetching password from keychain for Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 13:17:47,244 Cyberduck[38025]: [background-1] INFO  ch.cyberduck.core.HostPasswordStore - Password not found in keychain for Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 13:17:47,244 Cyberduck[38025]: [background-1] INFO  ch.cyberduck.core.proxy.SystemConfigurationProxy - No poxy configuration found for target Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 13:17:47,244 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.core.threading.NamedThreadFactory - Create thread for runnable ch.cyberduck.core.Resolver$1@4ec8375e
25/05/15 13:17:47,245 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.core.Resolver - Waiting for resolving of ftp6.netbsd.org
25/05/15 13:17:47,247 Cyberduck[38025]: [resolver-1] INFO  ch.cyberduck.core.Resolver - Resolved ftp6.netbsd.org to 2001:470:a085:999:0:0:0:21
25/05/15 13:17:47,247 Cyberduck[38025]: [resolver-1] DEBUG org.rococoa - Draining autorelease pool
25/05/15 13:17:47,248 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.core.Session - Connection will open to Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 13:17:47,248 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.core.ssl.CustomTrustSSLProtocolSocketFactory - Using SSL context with protocol TLS
25/05/15 13:17:47,249 Cyberduck[38025]: [background-1] INFO  ch.cyberduck.core.proxy.ProxySocketFactory - Use target hostname ftp6.netbsd.org determined from callback ch.cyberduck.core.ssl.DefaultTrustManagerHostnameCallback@111097d3 for proxy configuration
25/05/15 13:17:47,249 Cyberduck[38025]: [background-1] INFO  ch.cyberduck.core.proxy.SystemConfigurationProxy - No poxy configuration found for target Host{credentials=Credentials{user=''}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 13:17:47,250 Cyberduck[38025]: [background-1] INFO  ch.cyberduck.core.socket.DefaultSocketConfigurator - Set timeout to 30000ms for socket Socket[unconnected]
25/05/15 13:17:47,251 Cyberduck[38025]: [background-1] WARN  ch.cyberduck.core.threading.SessionBackgroundAction - Failure executing background action: ch.cyberduck.core.exception.ConnectionRefusedException{detail='No route to host.', cause='java.net.ConnectException: No route to host', message='Connection failed'}
25/05/15 13:17:47,251 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.core.threading.DefaultFailureDiagnostics - Determine cause for failure ch.cyberduck.core.exception.ConnectionRefusedException{detail='No route to host.', cause='java.net.ConnectException: No route to host', message='Connection failed'}
25/05/15 13:17:47,251 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.core.threading.AbstractBackgroundAction - Finish background task WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=opening}}, result=null}
25/05/15 13:17:47,254 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.core.threading.BackgroundActionRegistry - Remove action WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=opening}}, result=null}
25/05/15 13:17:47,255 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.core.threading.DefaultFailureDiagnostics - Determine cause for failure ch.cyberduck.core.exception.ConnectionRefusedException{detail='No route to host.', cause='java.net.ConnectException: No route to host', message='Connection failed'}
25/05/15 13:17:47,260 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidChangeBackingProperties:
25/05/15 13:17:47,260 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowWillMove:
25/05/15 13:17:47,260 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowWillExitVersionBrowser:
25/05/15 13:17:47,261 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidUpdate:
25/05/15 13:17:47,261 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidResize:
25/05/15 13:17:47,261 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidMiniaturize:
25/05/15 13:17:47,261 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidEnterFullScreen:
25/05/15 13:17:47,261 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidExitFullScreen:
25/05/15 13:17:47,261 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidChangeOcclusionState:
25/05/15 13:17:47,262 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidMove:
25/05/15 13:17:47,262 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidEndSheet:
25/05/15 13:17:47,262 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowWillOrderOffScreen:
25/05/15 13:17:47,262 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidOrderOnScreen:
25/05/15 13:17:47,262 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidExpose:
25/05/15 13:17:47,263 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidEndLiveResize:
25/05/15 13:17:47,263 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowWillMiniaturize:
25/05/15 13:17:47,263 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidExitVersionBrowser:
25/05/15 13:17:47,263 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidOrderOffScreen:
25/05/15 13:17:47,263 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowWillEnterVersionBrowser:
25/05/15 13:17:47,264 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidChangeScreenProfile:
25/05/15 13:17:47,264 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidEnterVersionBrowser:
25/05/15 13:17:47,264 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidDeminiaturize:
25/05/15 13:17:47,264 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowWillOrderOnScreen:
25/05/15 13:17:47,264 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowDidChangeScreen:
25/05/15 13:17:47,264 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowWillStartLiveResize:
25/05/15 13:17:47,265 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowWillBeginSheet:
25/05/15 13:17:47,265 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:validRequestorForSendType:returnType:
25/05/15 13:17:47,265 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:windowWillReturnFieldEditor:toObject:
25/05/15 13:17:47,265 Cyberduck[38025]: [background-1] DEBUG org.rococoa.callback - No method for selector:window:willEncodeRestorableState:
25/05/15 13:17:47,268 Cyberduck[38025]: [main] DEBUG ch.cyberduck.ui.cocoa.BundleController - No bundle to load for controller ch.cyberduck.ui.cocoa.threading.PanelAlertCallback$1@42d26175
25/05/15 13:17:47,281 Cyberduck[38025]: [main] DEBUG org.rococoa.callback - No method for selector:window:willPositionSheet:usingRect:
25/05/15 13:17:47,546 Cyberduck[38025]: [background-1] DEBUG ch.cyberduck.ui.cocoa.SheetController - Await sheet dismiss

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Add tests in d8c96c8.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

In eeaa5d2.

@cyberduck
Copy link
Collaborator Author

7ee63cc commented

Snapshot release 17649 logs:

25/05/15 15:05:17,767 Cyberduck[39251]: [main] DEBUG ch.cyberduck.ui.cocoa.BrowserController - Mount session for Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 15:05:17,769 Cyberduck[39251]: [main] DEBUG ch.cyberduck.ui.cocoa.BrowserController - Unmount session null
25/05/15 15:05:17,770 Cyberduck[39251]: [main] DEBUG ch.cyberduck.core.SessionFactory - Create session for Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 15:05:17,771 Cyberduck[39251]: [main] DEBUG ch.cyberduck.ui.cocoa.BrowserController - Set working directory to null
25/05/15 15:05:17,772 Cyberduck[39251]: [main] DEBUG ch.cyberduck.ui.cocoa.BrowserController - Set path filter to null
25/05/15 15:05:17,772 Cyberduck[39251]: [main] DEBUG ch.cyberduck.ui.cocoa.BrowserController - Reload data with selected files []
25/05/15 15:05:17,773 Cyberduck[39251]: [main] DEBUG ch.cyberduck.ui.cocoa.BrowserOutlineViewModel - Reload table view <CDOutlineView: 0x100348650> for changes files []
25/05/15 15:05:17,780 Cyberduck[39251]: [main] DEBUG ch.cyberduck.core.AbstractController - Run action WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null} in background
25/05/15 15:05:17,781 Cyberduck[39251]: [main] DEBUG ch.cyberduck.core.AbstractController - Synchronize on lock Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed} for action WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null}
25/05/15 15:05:17,782 Cyberduck[39251]: [main] DEBUG ch.cyberduck.core.threading.NamedThreadFactory - Create thread for runnable java.util.concurrent.ThreadPoolExecutor$Worker@687e99d8[State = -1, empty queue]
25/05/15 15:05:17,782 Cyberduck[39251]: [main] INFO  ch.cyberduck.core.AbstractController - Scheduled background runnable WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null} for execution
25/05/15 15:05:17,783 Cyberduck[39251]: [main] INFO  ch.cyberduck.core.Cache - Clearing cache Cache{size=0}
25/05/15 15:05:17,783 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.AbstractController - Acquired lock for background runnable WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null}
25/05/15 15:05:17,783 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.AbstractController - Prepare background action WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null}
25/05/15 15:05:17,783 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.threading.AbstractBackgroundAction - Prepare background task WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null}
25/05/15 15:05:17,791 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.AbstractController - Call background action WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=closed}}, result=null}
25/05/15 15:05:17,792 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.KeychainLoginService - Validate login credentials for Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 15:05:17,792 Cyberduck[39251]: [background-1] INFO  ch.cyberduck.core.HostPasswordStore - Fetching password from keychain for Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 15:05:17,810 Cyberduck[39251]: [background-1] INFO  ch.cyberduck.core.HostPasswordStore - Password not found in keychain for Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 15:05:17,813 Cyberduck[39251]: [background-1] INFO  ch.cyberduck.core.proxy.SystemConfigurationProxy - No poxy configuration found for target Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 15:05:17,814 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.threading.NamedThreadFactory - Create thread for runnable ch.cyberduck.core.Resolver$1@402dc3c
25/05/15 15:05:17,814 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.Resolver - Waiting for resolving of ftp6.netbsd.org
25/05/15 15:05:17,831 Cyberduck[39251]: [resolver-1] INFO  ch.cyberduck.core.Resolver - Resolved ftp6.netbsd.org to 2001:470:a085:999:0:0:0:21
25/05/15 15:05:17,831 Cyberduck[39251]: [resolver-1] DEBUG org.rococoa - Draining autorelease pool
25/05/15 15:05:17,832 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.Session - Connection will open to Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 15:05:17,855 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.ssl.CustomTrustSSLProtocolSocketFactory - Using SSL context with protocol TLS
25/05/15 15:05:17,870 Cyberduck[39251]: [background-1] INFO  ch.cyberduck.core.proxy.ProxySocketFactory - Use target hostname ftp6.netbsd.org determined from callback ch.cyberduck.core.ssl.DefaultTrustManagerHostnameCallback@153bc5d7 for proxy configuration
25/05/15 15:05:17,871 Cyberduck[39251]: [background-1] INFO  ch.cyberduck.core.proxy.SystemConfigurationProxy - No poxy configuration found for target Host{credentials=Credentials{user=''}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}
25/05/15 15:05:17,878 Cyberduck[39251]: [background-1] INFO  ch.cyberduck.core.socket.DefaultSocketConfigurator - Set timeout to 30000ms for socket Socket[unconnected]
25/05/15 15:05:17,887 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.socket.NetworkInterfaceAwareSocketFactory - Evaluate interface with name:awdl0 (awdl0) index 8
25/05/15 15:05:17,887 Cyberduck[39251]: [background-1] WARN  ch.cyberduck.core.socket.NetworkInterfaceAwareSocketFactory - Ignore network interface name:awdl0 (awdl0) disabled with blacklist
25/05/15 15:05:17,888 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.socket.NetworkInterfaceAwareSocketFactory - Evaluate interface with name:vnic1 (vnic1) index 10
25/05/15 15:05:17,888 Cyberduck[39251]: [background-1] WARN  ch.cyberduck.core.socket.NetworkInterfaceAwareSocketFactory - No IPv6 for interface name:vnic1 (vnic1)
25/05/15 15:05:17,889 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.socket.NetworkInterfaceAwareSocketFactory - Evaluate interface with name:vnic0 (vnic0) index 9
25/05/15 15:05:17,889 Cyberduck[39251]: [background-1] WARN  ch.cyberduck.core.socket.NetworkInterfaceAwareSocketFactory - No IPv6 for interface name:vnic0 (vnic0)
25/05/15 15:05:17,890 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.socket.NetworkInterfaceAwareSocketFactory - Evaluate interface with name:en0 (en0) index 4
25/05/15 15:05:17,890 Cyberduck[39251]: [background-1] INFO  ch.cyberduck.core.socket.NetworkInterfaceAwareSocketFactory - Selected network interface name:en0 (en0)
25/05/15 15:05:17,937 Cyberduck[39251]: [main] DEBUG ch.cyberduck.core.resources.NSImageIconCache - No cached image for stop
25/05/15 15:05:18,063 Cyberduck[39251]: [background-1] WARN  ch.cyberduck.core.threading.SessionBackgroundAction - Failure executing background action: ch.cyberduck.core.exception.ConnectionRefusedException{detail='Already connected.', cause='java.net.SocketException: already connected', message='Connection failed'}
25/05/15 15:05:18,064 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.threading.DefaultFailureDiagnostics - Determine cause for failure ch.cyberduck.core.exception.ConnectionRefusedException{detail='Already connected.', cause='java.net.SocketException: already connected', message='Connection failed'}
25/05/15 15:05:18,064 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.threading.AbstractBackgroundAction - Finish background task WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=opening}}, result=null}
25/05/15 15:05:18,065 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.threading.BackgroundActionRegistry - Remove action WorkerBackgroundAction{worker=MountWorker{session=Session{host=Host{credentials=Credentials{user='anonymous'}, hostname='ftp6.netbsd.org', port=21, protocol=ftp}, state=opening}}, result=null}
25/05/15 15:05:18,067 Cyberduck[39251]: [background-1] DEBUG ch.cyberduck.core.threading.DefaultFailureDiagnostics - Determine cause for failure ch.cyberduck.core.exception.ConnectionRefusedException{detail='Already connected.', cause='java.net.SocketException: already connected', message='Connection failed'}

Now the error in the popup has changed from 'no route to host' to 'already connected'.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Fixed already connected failure in d8613dd. (Unfortunately our continuous build environment has no IP6 routing which makes it difficult to catch these errors in tests.)

@cyberduck
Copy link
Collaborator Author

7ee63cc commented

Confirmed working in d8613dd, thanks a lot!

Connecting to IPv6-only hosts is now possible using Cyberduck, but there are still cases where it won't work. For the other cases I have opened [8848 ticket 8848] to keep this ticket clean.

@cyberduck
Copy link
Collaborator Author

f4f5178 commented

I'm still having the same problem with Cyberduck 4.8.4 and 5.0 (fca29aa). Dual-stack connected mac, trying to connect to host with IPv4 and IPv6 address, both in DNS.

By preferring IPv6 using "defaults write ch.sudo.cyberduck connection.dns.ipv6 true" the connection always gives "No route to host". This is because it again selects awdl0 as the interface to use.


Mar 23 18:40:16 macbookpeter Cyberduck[5090]: [background-1] DEBUG ch.cyberduck.core.socket.NetworkInterfaceAwareSocketFactory - Evaluate interface with name:awdl0 (awdl0) index 9
Mar 23 18:40:16 macbookpeter Cyberduck[5090]: [background-1] INFO  ch.cyberduck.core.socket.NetworkInterfaceAwareSocketFactory - Selected network interface name:awdl0 (awdl0)
Mar 23 18:40:16 macbookpeter Cyberduck[5090]: [background-1] WARN  ch.cyberduck.core.threading.SessionBackgroundAction - Failure executing background action: ch.cyberduck.core.exception.ConnectionRefusedException{detail='No route to host.', cause='java.net.NoRouteToHostException: No route to host', message='Verbinding mislukt'}
Mar 23 18:40:16 macbookpeter Cyberduck[5090]: [background-1] DEBUG ch.cyberduck.core.threading.DefaultFailureDiagnostics - Determine cause for failure ch.cyberduck.core.exception.ConnectionRefusedException{detail='No route to host.', cause='java.net.NoRouteToHostException: No route to host', message='Verbinding mislukt'}



lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
	options=3<RXCSUM,TXCSUM>
	inet6 ::1 prefixlen 128
	inet 127.0.0.1 netmask 0xff000000
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
	nd6 options=1<PERFORMNUD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	ether 3c:15:xx:xx:xx:xx
	inet6 fe80::3e15:xxxx:xxxx:xxxx%en0 prefixlen 64 scopeid 0x4
	inet 10.0.110.150 netmask 0xffffff00 broadcast 10.0.110.255
	inet6 2a02:a44f:xxxx::xxxxx prefixlen 128 dynamic
	nd6 options=1<PERFORMNUD>
	media: autoselect
	status: active
en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
	options=60<TSO4,TSO6>
	ether 72:00:04:xx:xx:80
	media: autoselect <full-duplex>
	status: inactive
en2: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
	options=60<TSO4,TSO6>
	ether 72:00:04:xx:xx:81
	media: autoselect <full-duplex>
	status: inactive
bridge0: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
	options=63<RXCSUM,TXCSUM,TSO4,TSO6>
	ether 3e:15:xx:xx:xx:00
	Configuration:
		id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
		maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
		root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
		ipfilter disabled flags 0x2
	member: en1 flags=3<LEARNING,DISCOVER>
	        ifmaxaddr 0 port 5 priority 0 path cost 0
	member: en2 flags=3<LEARNING,DISCOVER>
	        ifmaxaddr 0 port 6 priority 0 path cost 0
	media: <unknown type>
	status: inactive
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
	ether 0e:15:xx:xx:xx:8c
	media: autoselect
	status: inactive
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
	ether ca:7a:73:b7:69:39
	inet6 fe80::c87a:73ff:feb7:6939%awdl0 prefixlen 64 scopeid 0x9
	nd6 options=1<PERFORMNUD>
	media: autoselect
	status: active

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Replying to [comment:39 peterf]:

I'm still having the same problem with Cyberduck 4.8.4 and 5.0 (fca29aa). Dual-stack connected mac, trying to connect to host with IPv4 and IPv6 address, both in DNS.

By preferring IPv6 using "defaults write ch.sudo.cyberduck connection.dns.ipv6 true" the connection always gives "No route to host". This is because it again selects awdl0 as the interface to use.

Thanks for the perfect regression test! We will look into this again.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

You should see a log statement

Ignore network interface awdl0 disabled with blacklist

@cyberduck
Copy link
Collaborator Author

@dkocher commented

In 14a1b18.

@iterate-ch iterate-ch locked as resolved and limited conversation to collaborators Nov 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants