Giter Site home page Giter Site logo

yvesf / andiodine Goto Github PK

View Code? Open in Web Editor NEW
146.0 19.0 27.0 2.43 MB

Android VPN over DNS (no root required). Repo moved to gitlab

Home Page: https://gitlab.com/andiodine/andiodine

Makefile 2.04% C 80.04% Roff 2.84% Shell 0.19% Java 14.89%
dns dnsproxy dns-tunneling android-vpn iodine

andiodine's People

Contributors

2m avatar lenawil avatar yvesf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

andiodine's Issues

Connection keeps randomly dropping

Really great app. I limit it exclusively to messaging apps like WhatsApp and Messenger and it works great as long as I keep using the phone.

  • option to automatically reconnect when 3g becomes available
  • keep the connection alive and automatically reconnect in the event of disconnecting
  • offer the option to only let text based messaging apps through the connection or automatically configure OS to block background apps

crash on close via VPN-popup

when i click on the key-icon in the android notification bar a VPN-Popup with connection details is shown by android. The popup has two buttons. When i press the disconnect button the DNS tunnel is disconnected and andiodine crashes with the android default "Application crashed" dialog.

Nameserver not protected under Android 13 - loop on tunnel device

I am running Andiodine under Android 13 (AOSP) and experience a total block of traffic when the option "activate standard route" is chosen (without that option I can ping the remote server at, in my case, tunnel IP 10.0.0.1). The reason seems to be that no exception is made for the traffic to the remote name server. A root shell reveals that all traffic seems routed through a table "tun0", on which only the tunnel interface is listed:

ip route show table tun0 gives:

default dev tun0 proto static scope link
10.0.0.0/27 dev tun0 proto static scope link

Also, for the name server 192.168.1.1, through which the DNS requests are routed, the default route is mistakenly set to table tun0:

ip route get 192.168.1.1 gives:

192.168.1.1 dev tun0 table tun0 src 10.0.0.2 uid 0

Unable to connect: IllegalStateException

Hi

Nice program although I could not get it to work. I run CyanogenMod 11 M7 jflte. Installed AndIodine from FDroid. It might be worth noting that I have a Paketfilte (Whitelisting) in place (AndIodine is allowed of course).

https://img.bi/#/Rszgz6r!MoRfn3zWOoxXh7PYKjrrFwi4LUklNF9VeezwFmCD

08-05 17:05:37.870 D/FRAGMENT_LIST( 9515): Call VPN Service for configuration: 1
08-05 17:05:37.900 D/ConfigDatabase( 9515): Selected: last_used=null id=1 nameserver= raw_mode=1 nameserver_mode=LEAVE_DEFAULT top_domain=$DOMAIN request_type=AUTODETECT lazy_mode=1 default_route=0 name=$NAME DNS password=$PW tunnel_nameserver=
08-05 17:05:37.910 D/VPN_SERVICE( 9515): VPN Thread enter
08-05 17:05:37.910 D/VPN_SERVICE( 9515): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
08-05 17:05:37.910 D/MAIN    ( 9515): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
08-05 17:05:37.910 W/InputMethodManagerService(  703): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@41a07a60 attribute=null, token = android.os.BinderProxy@41e172f0
08-05 17:05:37.920 D/NATIVE  ( 9515): Message: Opened UDP socket
08-05 17:05:37.920 D/NATIVE  ( 9515): Message: Using DNS type ) av  queries
08-05 17:05:37.940 D/VPN_SERVICE( 9515): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
08-05 17:05:37.960 D/MAIN    ( 9515): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
08-05 17:05:37.960 D/FRAGMENT_STATUS( 9515): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
08-05 17:05:37.970 D/NATIVE  ( 9515): Message: Version ok, both using protocol v 0x763de9ec. You are user #1986071442
08-05 17:05:38.020 D/NATIVE  ( 9515): Message: Server tunnel IP is   =v
08-05 17:05:38.020 D/NATIVE  ( 9515): Message: Testing raw UDP data to the server (skip with -r)
08-05 17:05:38.030 E/MP-Decision( 1004): num online cores: 1 reqd : 2 available : 4 rq_depth:0.900000 hotplug_avg_load_dw: 53
08-05 17:05:38.030 E/MP-Decision( 1004): UP cpu:1 core_idx:1 Nw:1.900000 Tw:140 total_time_up:0.000000
08-05 17:05:38.070 D/NATIVE  ( 9515): Message:
08-05 17:05:38.070 D/NATIVE  ( 9515): Message: Server is at    @  T  , trying raw login:
08-05 17:05:38.070 D/NATIVE  ( 9515): Message: OK
08-05 17:05:38.070 D/NATIVE  ( 9515): Message: Sending raw traffic directly to    @  T  8av  fv
08-05 17:05:38.080 D/NATIVE  ( 9515): Message: Handshake successful, leave native code
08-05 17:05:38.080 D/VPN_SERVICE( 9515): Handshake successful
08-05 17:05:38.080 D/VPN_SERVICE( 9515): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED (has extras) }
08-05 17:05:38.080 D/VPN_SERVICE( 9515): Build tunnel for configuration: ip=192.168.20.4 netbits=24 mtu=1130
08-05 17:05:38.080 D/VPN_SERVICE( 9515): Build tunnel interface
08-05 17:05:38.090 D/Vpn     (  703): setting state=CONNECTING, reason=establish
08-05 17:05:38.090 D/VpnJni  (  703): Address added on tun0: 192.168.20.4/24
08-05 17:05:38.110 D/FRAGMENT_STATUS( 9515): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
08-05 17:05:38.120 D/Vpn     (  703): setting state=FAILED, reason=establish
08-05 17:05:38.120 W/Netd    (  249): No subsystem found in netlink event
08-05 17:05:38.120 W/Netd    (  249): No subsystem found in netlink event
08-05 17:05:38.120 E/NetlinkEvent(  249): Unknown ifindex 14 in RTM_DELADDR
08-05 17:05:38.120 D/NetlinkEvent(  249): Unexpected netlink message. type=0x11
08-05 17:05:38.190 I/iptables(  249): iptables: No chain/target/match by that name.
08-05 17:05:38.190 I/iptables(  249): iptables terminated by exit(1)
08-05 17:05:38.190 E/Netd    (  249): exec() res=0, status=256 for /system/bin/iptables -t mangle -D st_mangle_POSTROUTING -p tcp -o tun0 --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
08-05 17:05:38.190 I/ip6tables(  249): ip6tables: No chain/target/match by that name.
08-05 17:05:38.210 I/ip6tables(  249): ip6tables terminated by exit(1)
08-05 17:05:38.210 E/Netd    (  249): exec() res=0, status=256 for /system/bin/ip6tables -t mangle -D st_mangle_POSTROUTING -p tcp -o tun0 --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
08-05 17:05:38.210 I/iptables(  249): iptables: No chain/target/match by that name.
08-05 17:05:38.210 I/iptables(  249): iptables terminated by exit(1)
08-05 17:05:38.210 E/Netd    (  249): exec() res=0, status=256 for /system/bin/iptables -t nat -D st_nat_POSTROUTING -o tun0 -m mark --mark 60 -j MASQUERADE
08-05 17:05:38.210 W/System.err( 9515): java.lang.IllegalStateException: command '93 interface fwmark rule add tun0' failed with '400 93 Failed to add fwmark rule (Success)'
08-05 17:05:38.210 W/System.err( 9515):         at android.os.Parcel.readException(Parcel.java:1473)
08-05 17:05:38.210 W/System.err( 9515):         at android.os.Parcel.readException(Parcel.java:1419)
08-05 17:05:38.210 W/System.err( 9515):         at android.net.IConnectivityManager$Stub$Proxy.establishVpn(IConnectivityManager.java:1564)
08-05 17:05:38.210 W/System.err( 9515):         at android.net.VpnService$Builder.establish(VpnService.java:472)
08-05 17:05:38.210 W/System.err( 9515):         at org.xapek.andiodine.IodineVpnService.runTunnel(IodineVpnService.java:317)
08-05 17:05:38.210 W/System.err( 9515):         at org.xapek.andiodine.IodineVpnService.run(IodineVpnService.java:224)
08-05 17:05:38.210 W/System.err( 9515):         at java.lang.Thread.run(Thread.java:841)
08-05 17:05:38.210 D/VPN_SERVICE( 9515): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_ERROR (has extras) }
08-05 17:05:38.220 D/VPN_SERVICE( 9515): VPN Thread exit
08-05 17:05:38.220 D/MAIN    ( 9515): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_ERROR flg=0x10 (has extras) }
08-05 17:05:38.230 D/FRAGMENT_STATUS( 9515): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_ERROR flg=0x10 (has extras) }

Any idea?

Cannot build andiodine 1.4

Downloading https://services.gradle.org/distributions/gradle-3.3-all.zip

Exception in thread "main" javax.net.ssl.SSLException: java.security.ProviderEx
eption: java.security.InvalidKeyException: EC parameters error
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1914)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1872)
at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:18
5)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:137
)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:135
)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java
559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connec
(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCo
nection.java:1348)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Htt
sURLConnectionImpl.java:254)
at org.gradle.wrapper.Download.downloadInternal(Download.java:58)
at org.gradle.wrapper.Download.download(Download.java:44)
at org.gradle.wrapper.Install$1.call(Install.java:61)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAc
essManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: java.security.ProviderException: java.security.InvalidKeyException:
C parameters error
at sun.security.pkcs11.P11Key$P11ECPublicKey.getEncodedInternal(P11Key.
ava:1024)
at sun.security.pkcs11.P11Key.equals(P11Key.java:158)
at java.util.ArrayList.indexOf(ArrayList.java:298)
at java.util.ArrayList.contains(ArrayList.java:281)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.ja
a:239)
at sun.security.validator.Validator.validate(Validator.java:260)
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.
ava:326)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerI
pl.java:231)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustMa
agerImpl.java:126)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker
java:1459)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.ja
a:213)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:961)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:897)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1033)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl
java:1342)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:136
)
... 13 more
Caused by: java.security.InvalidKeyException: EC parameters error
at sun.security.ec.ECParameters.getAlgorithmParameters(ECParameters.jav
:284)
at sun.security.ec.ECPublicKeyImpl.(ECPublicKeyImpl.java:59)
at sun.security.pkcs11.P11Key$P11ECPublicKey.getEncodedInternal(P11Key.
ava:1021)
... 28 more
Caused by: java.security.NoSuchProviderException: no such provider: SunEC
at sun.security.jca.GetInstance.getService(GetInstance.java:83)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:206)
at java.security.Security.getImpl(Security.java:697)
at java.security.AlgorithmParameters.getInstance(AlgorithmParameters.ja
a:199)
at sun.security.ec.ECParameters.getAlgorithmParameters(ECParameters.jav
:279)
... 30 more

ip6tables error messsage

I've tried the 1.2rc1 build that you posted today.
I can see the correct messages from the native-iodine code however it fails when trying to configure some ip6tables rules.
btw: openvpn works without problems.
phone is a nexus 5 with rooted stock rom.
iodined was started with -m 1280

D/NATIVE  (11195): Native Library iodine-client loaded
E/iodine  (11195): Topdomain from vm: xx.com
E/iodine  (11195): Topdomain from vm: xx.com
W/InputMethodManagerService(  776): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43484af8 attribute=null, token = android.os.BinderProxy@43023cb0
I/Iodine  (11195): Opened IPv4 UDP socket
I/Iodine  (11195): Autodetecting DNS query type (use -T to override)
I/Iodine  (11195): .
D/VPN_SERVICE(11195): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
D/MAIN    (11195): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
D/FRAGMENT_STATUS(11195): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
I/Iodine  (11195):
I/Iodine  (11195): Using DNS type NULL queries
I/Iodine  (11195): Version ok, both using protocol v 0x00000502. You are user #0
I/Iodine  (11195): Server tunnel IP is 10.9.0.1
I/Iodine  (11195): Skipping raw mode
I/Iodine  (11195): Using EDNS0 extension
I/Iodine  (11195): Retrying upstream codec test...
I/Iodine  (11195): Switching upstream to codec Base128
I/Iodine  (11195): Server switched upstream to codec Base128
I/Iodine  (11195): No alternative downstream codec available, using default (Raw)
I/Iodine  (11195): Switching to lazy mode for low-latency
I/Iodine  (11195): Server switched to lazy mode
I/Iodine  (11195): Autoprobing max downstream fragment size... (skip with -m fragsize)
I/Iodine  (11195): 768 ok..
I/Iodine  (11195): 1152 ok..
I/Iodine  (11195): .
I/Iodine  (11195): .
I/Iodine  (11195): .
I/Iodine  (11195): 1344 not ok..
I/Iodine  (11195): .
I/Iodine  (11195): .
I/Iodine  (11195): .
I/Iodine  (11195): 1248 not ok..
I/Iodine  (11195): .
I/Iodine  (11195): .
I/Iodine  (11195): .
I/Iodine  (11195): 1200 not ok..
I/Iodine  (11195): 1176 ok..
I/Iodine  (11195): 1188 ok..
I/Iodine  (11195): will use 1188-2=1186
I/Iodine  (11195): Setting downstream fragment size to max 1186...
I/Iodine  (11195): Handshake successful, leave native code
D/VPN_SERVICE(11195): Handshake successful
D/VPN_SERVICE(11195): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED (has extras) }
D/VPN_SERVICE(11195): Build tunnel for configuration: ip=10.9.0.2 netbits=24 mtu=1280
D/VPN_SERVICE(11195): Set default route
D/VPN_SERVICE(11195): Build tunnel interface
D/Vpn     (  776): setting state=CONNECTING, reason=establish
D/VpnJni  (  776): Address added on tun0: 10.9.0.2/24
D/FRAGMENT_STATUS(11195): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
I/ip6tables(  180): ip6tables v1.4.11.1: can't initialize ip6tables table `nat': Table does not exist (do you need to insmod?)
I/ip6tables(  180): Perhaps ip6tables or your kernel needs to be upgraded.
I/ip6tables(  180): ip6tables terminated by exit(3)
E/Netd    (  180): exec() res=0, status=768 for /system/bin/ip6tables -t nat -A st_nat_POSTROUTING -o tun0 -m mark --mark 61 -j MASQUERADE
I/Vpn     (  776): Established by org.xapek.andiodine on tun0
D/Vpn     (  776): setting state=AUTHENTICATING, reason=establish
D/VPN_SERVICE(11195): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED (has extras) }
D/VPN_SERVICE(11195): Tunnel active
I/Iodine  (11195): Run client_tunnel_cb
D/FRAGMENT_STATUS(11195): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
D/ConnectivityService(  776): handleInetConditionHoldEnd: net=1, condition=100, published condition=100
D/VPN_SERVICE(11195): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_DISCONNECT (has extras) }
D/FRAGMENT_STATUS(11195): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_DISCONNECT flg=0x10 (has extras) }
W/Netd    (  180): No subsystem found in netlink event
W/Netd    (  180): No subsystem found in netlink event
E/NetlinkEvent(  180): Unknown ifindex 34 in RTM_DELADDR
D/NetlinkEvent(  180): Unexpected netlink message. type=0x11
I/ip6tables(  180): ip6tables v1.4.11.1: can't initialize ip6tables table `nat': Table does not exist (do you need to insmod?)
I/ip6tables(  180): Perhaps ip6tables or your kernel needs to be upgraded.
I/ip6tables(  180): ip6tables terminated by exit(3)
E/Netd    (  180): exec() res=0, status=768 for /system/bin/ip6tables -t nat -D st_nat_POSTROUTING -o tun0 -m mark --mark 61 -j MASQUERADE
D/Vpn     (  776): setting state=DISCONNECTED, reason=interfaceRemoved
D/VPN_SERVICE(11195): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_IDLE }
D/VPN_SERVICE(11195): VPN Thread exit

andiodine 1.5 build

Will there be an apk release of version 1.5? I appreciate you may have limited time but I have to ask.

-device 'dns0' works, -device 'tun0' default does not.

Android 4.2.2

After many many other attempts to troubleshoot, I downloaded the iodine android binary from http://code.kryo.se/iodine/iodine-0.7.0-android.zip

executing it without setting a device name and it will default to 'dns0'. Why is this? I don't know. When the tun device is 'dns0' though, the tunnel works. When it is 'tun0' it does not.

Why is this, I have no idea.
/proc/sys/net/ipv4/conf/tun0/ and
/sys/class/net/ipv4/conf/tun0/
both hold settings, but are identical when system sets up 'dns0' instead.

tcpdump traffic looks very similar between working and non-working, so it's not a network configuration issue. It must have something to do with permissions of tun0 vs dns0 virtual device..

any suggestions? Simply changing the interface to allow for setting the -d device paramter would solve this.

How fast should iodine be?

Hi,

I have iodine running on a 100MB/s server, and just tried it on my mobile phone (with andiodine, worked fine at once), but loading websites is slow, very slow.

Simple HTTP request (eg. http://api.ipify.org/?format=json) takes me 1 second. A website like reddit.com (HTTPS) takes well over 50 seconds to load.

Is this just a side effect of the conversion to DNS (being so inefficient), or is something else happening?

VPN not working

Hi, I'm on android 7.1.2, f-droid andiodine build (1.3).

Connecting to the tunnel does work. After the packet size negitiation, I can use a terminal emulator and connect to my server (10.0.0.1) through the tunnel. However. even if android tells me that I'm connected to a VPN, no app can access the internet through it.

I don't know if this is known or how to debug it (i can run a logcat if needed)

Crash after FragmentList.findViewById() returned null

Hi,

I could not get Andiodine work on HTC EVO Design 4G. I find the CPU of HTC EVO is armv7 and current Andiodine verion only supports armeabi x86. Will it be possible to modify and recompile the source code to make it run on ARMv7? I am not a programmer so hopefully my question makes sense.

Thanks!

Setting custom DNS Server on connect fails on Android 5

It has been reported that setting a custom DNS server in the preferences doesn't work on a Android 5.0 Device. It's not confirmed yet if it is really connected to Android 5.0.

If you are able to run tcpdump/wireshark on the phones internet connection you can simply validate this by snooping on the DNS traffic.

Also Logcat output might be useful if there are error-traces in there.

The related code is in: src/org/xapek/andiodine/IodineVpnService.java#L302

Change of default gateway doesn't work

reported by s4dsniper (Thanks!)

It seems you don't change the default gateway after DNS tunnel is ready so,
the only thing you can reach is the iodine server (via IP). If I launch my
browser and try to reach a website : nothing load.

But if you do (in Terminad Emulator):

# busybox route del default
# busybox route add default gw 172.16.0.1 (iodine server IP)

web is working, even if very slow (as expected)

So maybe I'm missing something but shouldn't AndIodine change the default
gateway to route all traffic in the DNS tunnel ?

immediately disconnects after connecting

I've tried other VPN apps and they work for me

--------- beginning of /dev/log/main
E/SMD     (27542): smd Interface open failed errno is 517 -1
--------- beginning of /dev/log/system
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster - setNWBoosterIndicators(false)
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster: data=0 bt=false
D/STATUSBAR-IconMerger( 1317): checkOverflow(576), More:false, Req:false Child:2
E/Watchdog( 1065): !@Sync 1305
E/SMD     (27542): smd Interface open failed errno is 517 -1
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster - setNWBoosterIndicators(false)
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster: data=0 bt=false
D/STATUSBAR-IconMerger( 1317): checkOverflow(576), More:false, Req:false Child:2
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 6 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
E/SMD     (27542): smd Interface open failed errno is 517 -1
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster - setNWBoosterIndicators(false)
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster: data=0 bt=false
D/STATUSBAR-IconMerger( 1317): checkOverflow(576), More:false, Req:false Child:2
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 6 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
D/InputReader( 1065): Input event: value=1
I/InputReader( 1065): Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=0.7877 ] when=39231333223000
I/InputDispatcher( 1065): Delivering touch to (1317): action: 0x4, toolType: 1
I/InputDispatcher( 1065): Delivering touch to (4088): action: 0x4, toolType: 1
I/InputDispatcher( 1065): Delivering touch to (26702): action: 0x0, toolType: 1
D/InputReader( 1065): Input event: value=0
I/InputReader( 1065): Touch event's action is 0x1 (deviceType=0) [pCnt=1, s=] when=39231408505000
I/InputDispatcher( 1065): Delivering touch to (26702): action: 0x1, toolType: 1
D/ConnectivityService( 1065): prepare is called by org.xapek.andiodine
I/SpenGestureManager( 1065): setFocusWindow0
D/PointerIcon( 1065): setMouseIconStyle1 pointerType: 1001iconType:101 flag:0
D/PointerIcon( 1065): setMouseCustomIcon IconType is same.101
D/PointerIcon( 1065): setHoveringSpenIconStyle1 pointerType: 10001iconType:1 flag:0
D/PointerIcon( 1065): setHoveringSpenCustomIcon IconType is same.1
D/STATUSBAR-StatusBarManagerService( 1065): manageDisableList what=0x0 pkg=WindowManager.LayoutParams
I/SurfaceFlinger(  417): id=3078 createSurf (1x1),1 flag=4, JodineMain
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
E/SMD     (27542): smd Interface open failed errno is 517 -1
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
E/SMD     (27542): smd Interface open failed errno is 517 -1
D/InputReader( 1065): Input event: value=1
I/InputReader( 1065): Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=0.7878 ] when=39233031528000
I/InputDispatcher( 1065): Delivering touch to (1317): action: 0x4, toolType: 1
I/InputDispatcher( 1065): Delivering touch to (4088): action: 0x4, toolType: 1
I/InputDispatcher( 1065): Delivering touch to (26702): action: 0x0, toolType: 1
D/InputReader( 1065): Input event: value=0
I/InputReader( 1065): Touch event's action is 0x1 (deviceType=0) [pCnt=1, s=] when=39233096080000
I/InputDispatcher( 1065): Delivering touch to (26702): action: 0x1, toolType: 1
D/FRAGMENT_LIST(26702): Call VPN Service for configuration: 1
I/SpenGestureManager( 1065): setFocusWindow21015
D/STATUSBAR-StatusBarManagerService( 1065): manageDisableList what=0x0 pkg=WindowManager.LayoutParams
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/PointerIcon( 1065): setMouseIconStyle1 pointerType: 1001iconType:101 flag:0
D/PointerIcon( 1065): setMouseCustomIcon IconType is same.101
D/PointerIcon( 1065): setHoveringSpenIconStyle1 pointerType: 10001iconType:1 flag:0
D/PointerIcon( 1065): setHoveringSpenCustomIcon IconType is same.1
D/ConfigDatabase(26702): Selected: [IodineConfiguration name=Default]
D/VPN_SERVICE(26702): VPN Thread enter
D/VPN_SERVICE(26702): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECT
D/VPN_SERVICE(26702): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
E/ViewRootImpl(26702): sendUserActionEvent() mView == null
E/iodine  (26702): Topdomain from vm: xxx.yyy.net
E/iodine  (26702): Topdomain from vm: xxx.yyy.net
I/Iodine  (26702): Opened IPv4 UDP socket
D/MAIN    (26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
W/InputMethodManagerService( 1065): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@439b2710 attribute=null, token = android.os.BinderProxy@436ee298
I/Iodine  (26702): Using DNS type NULL queries
D/dalvikvm(26702): GC_CONCURRENT freed 1939K, 18% free 27117K/33028K, paused 4ms+4ms, total 65ms
D/        (26702): DFactory start
D/        (26702): This is decoding
D/        (26702): onDecode : stream read 202 bytes, ptr = 0x7b57b8f0
D/        (26702): onDecode : QmageDecParseHeader call : QM
D/        (26702): Qmage parsing for decoding ok
D/        (26702): onDecode : QmageDecParseHeader 9patched image
D/        (26702): onDecode : QmageDecParseHeader 9patched image end
D/        (26702): onDecode : QmageHeader Height() 96 Width() : 78 sampleSize : 1
D/        (26702): Qmage Make Color table[4]
D/        (26702): Qmage Mae Color table end
D/        (26702): 1 to 1 Index mode decoding
D/        (26702): 1 to 1 Index mode decoding end
D/        (26702): onDecode : return true
D/VPN_SERVICE(26702): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECT
D/VPN_SERVICE(26702): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
I/Iodine  (26702): Version ok, both using protocol v 0x00000502. You are user #0
D/MAIN    (26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
D/FRAGMENT_STATUS(26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
I/Iodine  (26702): Server tunnel IP is 192.0.2.1
I/Iodine  (26702): Skipping raw mode
I/Iodine  (26702): Using EDNS0 extension
D/AbsListView(26702): onDetachedFromWindow
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
I/SurfaceFlinger(  417): id=3078 Removed JodineMain (11/13)
I/SurfaceFlinger(  417): id=3078 Removed JodineMain (-2/13)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
I/Iodine  (26702): Switching upstream to codec Base128
I/Iodine  (26702): Server switched upstream to codec Base128
I/Iodine  (26702): No alternative downstream codec available, using default (Raw)
I/Iodine  (26702): Switching to lazy mode for low-latency
I/Iodine  (26702): Server switched to lazy mode
I/Iodine  (26702): Autoprobing max downstream fragment size... (skip with -m fragsize)
I/Iodine  (26702): 768 ok..
I/Iodine  (26702): 1152 ok..
E/SMD     (27542): smd Interface open failed errno is 517 -1
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 6 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
I/Iodine  (26702): .
E/SMD     (27542): smd Interface open failed errno is 517 -1
D/SSRMv2:SIOP( 1065): SIOP:: AP = 270 (0), Delta = 0
I/Iodine  (26702): .
E/SMD     (27542): smd Interface open failed errno is 517 -1
I/Iodine  (26702): .
I/Iodine  (26702): 1344 not ok..
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 6 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
E/SMD     (27542): smd Interface open failed errno is 517 -1
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 6 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
I/Iodine  (26702): .
E/SMD     (27542): smd Interface open failed errno is 517 -1
I/Iodine  (26702): .
E/SMD     (27542): smd Interface open failed errno is 517 -1
I/Iodine  (26702): .
I/Iodine  (26702): 1248 not ok..
E/SMD     (27542): smd Interface open failed errno is 517 -1
I/Iodine  (26702): .
D/dalvikvm( 8553): GC_CONCURRENT freed 1937K, 29% free 23649K/33028K, paused 32ms+6ms, total 229ms
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 5 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 5 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
E/SMD     (27542): smd Interface open failed errno is 517 -1
I/Iodine  (26702): .
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 4 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x1 level=1
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster - setNWBoosterIndicators(false)
D/        ( 1317): DFactory start
D/        ( 1317): This is decoding
D/        ( 1317): onDecode : stream read 127 bytes, ptr = 0x7e857608
D/        ( 1317): onDecode : QmageDecParseHeader call : QM
D/        ( 1317): Qmage parsing for decoding ok
D/        ( 1317): onDecode : QmageHeader Height() 54 Width() : 54 sampleSize : 1
D/        ( 1317): Qmage Make Color table[5]
D/        ( 1317): Qmage Mae Color table end
D/        ( 1317): 1 to 1 Index mode decoding
D/        ( 1317): 1 to 1 Index mode decoding end
D/        ( 1317): onDecode : return true
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster: data=0 bt=false
D/STATUSBAR-IconMerger( 1317): checkOverflow(576), More:false, Req:false Child:2
I/Iodine  (26702): .
I/Iodine  (26702): 1200 not ok..
I/Iodine  (26702): 1176 ok..
I/Iodine  (26702): 1188 ok..
I/Iodine  (26702): will use 1188-2=1186
E/SMD     (27542): smd Interface open failed errno is 517 -1
I/Iodine  (26702): Setting downstream fragment size to max 1186...
I/Iodine  (26702): Handshake successful, leave native code
D/VPN_SERVICE(26702): Handshake successful
D/VPN_SERVICE(26702): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED
D/VPN_SERVICE(26702): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED (has extras) }
D/VPN_SERVICE(26702): Build tunnel for configuration: ip=192.0.2.2 netbits=27 mtu=1130
D/VPN_SERVICE(26702): Set default route
D/VPN_SERVICE(26702): Build tunnel interface
D/ConnectivityService( 1065): establishVpn called
D/Tethering( 1065): interfaceAdded tun0
D/Tethering( 1065): tun0 is not a tetherable iface, ignoring
D/MAIN    (26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
D/FRAGMENT_STATUS(26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
D/Tethering( 1065): interfaceLinkStateChanged tun0, false
D/Tethering( 1065): interfaceStatusChanged tun0, false
D/Tethering( 1065): interfaceLinkStateChanged tun0, true
D/Tethering( 1065): interfaceStatusChanged tun0, true
D/Vpn     ( 1065): setting state=CONNECTING, reason=establish
D/Tethering( 1065): interfaceLinkStateChanged tun0, true
D/Tethering( 1065): interfaceStatusChanged tun0, true
D/VpnJni  ( 1065): Address added on tun0: 192.0.2.2/27
D/Vpn     ( 1065): setting state=FAILED, reason=establish
D/Tethering( 1065): interfaceLinkStateChanged tun0, false
D/Tethering( 1065): interfaceStatusChanged tun0, false
W/Netd    (  406): No subsystem found in netlink event
W/Netd    (  406): No subsystem found in netlink event
D/Tethering( 1065): interfaceRemoved tun0
E/Tethering( 1065): attempting to remove unknown iface (tun0), ignoring
D/Vpn     ( 1065): Interface removed : tun0
E/NetlinkEvent(  406): Unknown ifindex 19 in RTM_DELADDR
D/NetlinkEvent(  406): Unexpected netlink message. type=0x11
I/iptables(  406): iptables: No chain/target/match by that name.
I/iptables(  406): iptables terminated by exit(1)
E/Netd    (  406): exec() res=0, status=256 for /system/bin/iptables -t mangle -D st_mangle_POSTROUTING -p tcp -o tun0 --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
I/ip6tables(  406): ip6tables: No chain/target/match by that name.
I/ip6tables(  406): ip6tables terminated by exit(1)
E/Netd    (  406): exec() res=0, status=256 for /system/bin/ip6tables -t mangle -D st_mangle_POSTROUTING -p tcp -o tun0 --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
I/iptables(  406): iptables: No chain/target/match by that name.
I/iptables(  406): iptables terminated by exit(1)
E/Netd    (  406): exec() res=0, status=256 for /system/bin/iptables -t nat -D st_nat_POSTROUTING -o tun0 -m mark --mark 62 -j MASQUERADE
W/System.err(26702): org.xapek.andiodine.IodineVpnService$IodineVpnException: Error while creating interface, please check issue #9 at https://github.com/yvesf/andiodine/issues/9
W/System.err(26702):    at org.xapek.andiodine.IodineVpnService.runTunnel(IodineVpnService.java:327)
W/System.err(26702):    at org.xapek.andiodine.IodineVpnService.run(IodineVpnService.java:229)
W/System.err(26702):    at java.lang.Thread.run(Thread.java:841)
D/VPN_SERVICE(26702): Send status: org.xapek.andiodine.IodineVpnService.STATUS_ERROR
D/VPN_SERVICE(26702): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_ERROR (has extras) }
D/VPN_SERVICE(26702): VPN Thread exit
D/MAIN    (26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_ERROR flg=0x10 (has extras) }
D/AbsListView(26702): Get MotionRecognitionManager
D/FRAGMENT_STATUS(26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_ERROR flg=0x10 (has extras) }
D/        (26702): DFactory start
D/        (26702): This is decoding
D/        (26702): onDecode : stream read 93 bytes, ptr = 0x7993ddc0
D/        (26702): onDecode : QmageDecParseHeader call : QM
D/        (26702): Qmage parsing for decoding ok
D/        (26702): onDecode : QmageDecParseHeader 9patched image
D/        (26702): onDecode : QmageDecParseHeader 9patched image end
D/        (26702): onDecode : QmageHeader Height() 75 Width() : 75 sampleSize : 1
D/        (26702): Qmage Make Color table[1]
D/        (26702): Qmage Mae Color table end
D/        (26702): 1 to 1 Index mode decoding
D/        (26702): 1 to 1 Index mode decoding end
D/        (26702): onDecode : return true
D/        (26702): DFactory start
D/        (26702): isQmage : stream is not a Qmage file
D/        (26702): DFactory start
D/        (26702): This is decoding
D/        (26702): onDecode : stream read 678 bytes, ptr = 0x7a9f32b0
D/        (26702): onDecode : QmageDecParseHeader call : QM
D/        (26702): Qmage parsing for decoding ok
D/        (26702): onDecode : QmageDecParseHeader 9patched image
D/        (26702): onDecode : QmageDecParseHeader 9patched image end
D/        (26702): onDecode : QmageHeader Height() 150 Width() : 150 sampleSize : 1
D/        (26702): Qmage Make Color table[77]
D/        (26702): Qmage Mae Color table end
D/        (26702): 1 to 1 Index mode decoding
D/        (26702): 1 to 1 Index mode decoding end
D/        (26702): onDecode : return true
I/SpenGestureManager( 1065): setFocusWindow0
D/PointerIcon( 1065): setMouseIconStyle1 pointerType: 1001iconType:101 flag:0
D/PointerIcon( 1065): setMouseCustomIcon IconType is same.101
D/PointerIcon( 1065): setHoveringSpenIconStyle1 pointerType: 10001iconType:1 flag:0
D/PointerIcon( 1065): setHoveringSpenCustomIcon IconType is same.1
D/STATUSBAR-StatusBarManagerService( 1065): manageDisableList what=0x0 pkg=WindowManager.LayoutParams
I/SurfaceFlinger(  417): id=3079 createSurf (1x1),1 flag=4, JodineMain
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
E/SMD     (27542): smd Interface open failed errno is 517 -1

screen-recording_20150309-144056 mp4_snapshot_00 08_ 2015 03 09_14 44 54
screen-recording_20150309-144056 mp4_snapshot_00 09_ 2015 03 09_14 45 15

java.lang.NullPointerException: Attempt to invoke virtual method 'int android.os.ParcelFileDescriptor.detachFd()' on a null object reference

Hi,

I'm trying to use AndIodine on my Moto G 2014 (running Android 5.0.2) with iodined 0.7.0 from 2014-06-16 (compiled from source and running on OpenWrt). My laptop can connect without trouble, but AndIodine crashes right as it appears to connect successfully.

java.lang.NullPointerException: Attempt to invoke virtual method 'int android.os.ParcelFileDescriptor.detachFd()' on a null object reference

Thanks.

Remote server command-line:

/usr/local/sbin/iodined -n XX.XXX.XX.XXX -P -m 1280 -p 5353 -c -f -t /var/run/iodined -u nobody 10.0.0.1 XXXXXXXX.XX.XX

(with firewall rules to redirect port 53 traffic to port 5353)

logcat with raw mode enabled:

I/SFPerfTracer(  321):      triggers: (rate: 0:29) (228365 sw vsyncs) (0 skipped) (274:232238 vsyncs) (276:482272)
D/FRAGMENT_LIST(12460): Call VPN Service for configuration: 1
D/ConfigDatabase(12460): Selected: [IodineConfiguration name=Home]
W/InputMethodManagerService(  890): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@3560d8af attribute=null, token = android.os.BinderProxy@3055b3d5
D/VPN_SERVICE(12460): VPN Thread enter
D/VPN_SERVICE(12460): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECT
D/VPN_SERVICE(12460): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
D/MAIN    (12460): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
D/NATIVE  (12460): Native Library iodine-client loaded
E/iodine  (12460): Topdomain from vm: XXXXXXXX.XX.XX
E/iodine  (12460): Topdomain from vm: XXXXXXXX.XX.XX
I/Iodine  (12460): Opened IPv4 UDP socket
I/Iodine  (12460): Autodetecting DNS query type (use -T to override)
I/Iodine  (12460): .
D/VPN_SERVICE(12460): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECT
D/VPN_SERVICE(12460): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
D/MAIN    (12460): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
D/FRAGMENT_STATUS(12460): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
I/Iodine  (12460): 
I/Iodine  (12460): Using DNS type NULL queries
I/Iodine  (12460): Version ok, both using protocol v 0x00000502. You are user #2
I/Iodine  (12460): Server tunnel IP is 10.0.0.1
I/Iodine  (12460): Testing raw UDP data to the server (skip with -r)
I/SFPerfTracer(  321):      triggers: (rate: 239:6869) (compose: 0:17) (post: 0:6) (render: 14:393) (1:175675 frames) (2:188541)
D/SFPerfTracer(  321):        layers: (4:13) (FocusedStackFrame (0xb707ff50): 0:880)* (DimLayer (0xb7082340): 0:219)* (DimLayer (0xb702c6a8): 2:860) (DimLayer (0xb70a7890): 0:148)* (StatusBar (0xb70ab230): 0:30347) (com.android.systemui.ImageWallpaper (0xb70b9660): 0:2452)* (NavigationBar (0xb70d95d8): 0:387) (Application Error: org.xapek.andiodine (0xb709fdd8): 0:53)- (com.anddoes.launcher/com.anddoes.launcher.Launcher (0xb70b8000): 0:12)- (Starting org.xapek.andiodine (0xb709fdd8): 0:27)- (org.xapek.andiodine/org.xapek.andiodine.IodineMain (0xb70e0408): 2:50) (org.xapek.andiodine/org.xapek.andiodine.IodineMain (0xb709fdd8): 2:40)* 
I/Iodine  (12460): 
I/Iodine  (12460): Server is at XX.XXX.XX.XXX, trying raw login: 
I/Iodine  (12460): OK
I/Iodine  (12460): Sending raw traffic directly to XX.XXX.XX.XXX
I/Iodine  (12460): Handshake successful, leave native code
D/VPN_SERVICE(12460): Handshake successful
D/VPN_SERVICE(12460): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED
D/VPN_SERVICE(12460): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED (has extras) }
D/VPN_SERVICE(12460): Build tunnel for configuration: ip=10.0.0.4 netbits=27 mtu=1280
D/VPN_SERVICE(12460): Build tunnel interface
D/VPN_SERVICE(12460): VPN Thread exit
E/AndroidRuntime(12460): FATAL EXCEPTION: org.xapek.andiodine.IodineVpnService
E/AndroidRuntime(12460): Process: org.xapek.andiodine, PID: 12460
E/AndroidRuntime(12460): java.lang.NullPointerException: Attempt to invoke virtual method 'int android.os.ParcelFileDescriptor.detachFd()' on a null object reference
E/AndroidRuntime(12460):    at org.xapek.andiodine.IodineVpnService.runTunnel(IodineVpnService.java:337)
E/AndroidRuntime(12460):    at org.xapek.andiodine.IodineVpnService.run(IodineVpnService.java:229)
E/AndroidRuntime(12460):    at java.lang.Thread.run(Thread.java:818)
W/ActivityManager(  890):   Force finishing activity org.xapek.andiodine/.IodineMain
D/MAIN    (12460): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
D/FRAGMENT_STATUS(12460): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
W/ContextImpl( 1601): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1455 android.content.ContextWrapper.sendBroadcast:376 com.motorola.motocare.util.TriggerHelper$TriggerBuilder.send:76 com.motorola.motocare.internal.frameworkevents.PauseResumeTrigger.handleFrameworkEvent:53 com.motorola.motocare.internal.frameworkevents.FwEventMonitor$FrameworkListener.processFrameworkEvent:114 
W/ContextImpl( 1601): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1455 android.content.ContextWrapper.sendBroadcast:376 com.motorola.motocare.util.TriggerHelper$TriggerBuilder.send:76 com.motorola.motocare.internal.frameworkevents.PauseResumeTrigger.handleFrameworkEvent:53 com.motorola.motocare.internal.frameworkevents.FwEventMonitor$FrameworkListener.processFrameworkEvent:114 

logcat with raw mode disabled:

I/SBar.MotoNetworkCtrlr( 1332): onReceive: WifiManager.RSSI_CHANGED_ACTION Received
I/SBar.MotoNetworkCtrlr( 1332): updateWifiState: RSSI_CHANGED_ACTION: mWifiConnected=true mWifiLevel=3 mWifiRssi=-56
I/ThermalEngine(  363): Sensor:xo_therm_pu2:30000 mC
D/FRAGMENT_LIST(10913): Call VPN Service for configuration: 1
D/ConfigDatabase(10913): Selected: [IodineConfiguration name=Home]
W/InputMethodManagerService(  890): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@356a2520 attribute=null, token = android.os.BinderProxy@6bc1ba2
D/VPN_SERVICE(10913): VPN Thread enter
D/VPN_SERVICE(10913): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECT
D/VPN_SERVICE(10913): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
D/NATIVE  (10913): Native Library iodine-client loaded
D/MAIN    (10913): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
D/VPN_SERVICE(10913): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECT
D/VPN_SERVICE(10913): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
D/MAIN    (10913): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
D/FRAGMENT_STATUS(10913): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
E/iodine  (10913): Topdomain from vm: XXXXXXXX.XX.XX
E/iodine  (10913): Topdomain from vm: XXXXXXXX.XX.XX
I/Iodine  (10913): Opened IPv4 UDP socket
I/Iodine  (10913): Autodetecting DNS query type (use -T to override)
I/Iodine  (10913): .
I/Iodine  (10913): 
I/Iodine  (10913): Using DNS type NULL queries
I/Iodine  (10913): Version ok, both using protocol v 0x00000502. You are user #0
I/Iodine  (10913): Server tunnel IP is 10.0.0.1
I/Iodine  (10913): Skipping raw mode
I/Iodine  (10913): Using EDNS0 extension
I/Iodine  (10913): Switching upstream to codec Base128
I/Iodine  (10913): Server switched upstream to codec Base128
I/Iodine  (10913): No alternative downstream codec available, using default (Raw)
I/Iodine  (10913): Switching to lazy mode for low-latency
I/Iodine  (10913): Server switched to lazy mode
I/Iodine  (10913): Autoprobing max downstream fragment size... (skip with -m fragsize)
I/Iodine  (10913): 768 ok.. 
I/Iodine  (10913): 1152 ok.. 
I/Iodine  (10913): .
I/SFPerfTracer(  321):      triggers: (rate: 238:6807) (compose: 0:17) (post: 0:6) (render: 13:372) (16:173769 frames) (17:186344)
D/SFPerfTracer(  321):        layers: (3:10) (FocusedStackFrame (0xb707ff50): 0:820)* (DimLayer (0xb7082340): 0:108)* (DimLayer (0xb702c6a8): 0:754)* (DimLayer (0xb70a7890): 0:139)* (StatusBar (0xb70ab230): 0:29692) (com.android.systemui.ImageWallpaper (0xb70b9660): 0:2441)* (NavigationBar (0xb70d95d8): 0:116) (org.xapek.andiodine/org.xapek.andiodine.IodineMain (0xb70dfa28): 17:80) (org.xapek.andiodine/org.xapek.andiodine.IodineMain (0xb709fdd8): 0:48)- 
I/SBar.MotoNetworkCtrlr( 1332): onReceive: WifiManager.RSSI_CHANGED_ACTION Received
I/SBar.MotoNetworkCtrlr( 1332): updateWifiState: RSSI_CHANGED_ACTION: mWifiConnected=true mWifiLevel=3 mWifiRssi=-60
I/Iodine  (10913): .
I/Iodine  (10913): .
I/Iodine  (10913): 1344 not ok.. 
I/Iodine  (10913): .
I/SFPerfTracer(  321):      triggers: (rate: 238:6807) (compose: 0:17) (post: 0:6) (render: 13:372) (31:173863 frames) (32:186444)
D/SFPerfTracer(  321):        layers: (3:9) (FocusedStackFrame (0xb707ff50): 0:820)* (DimLayer (0xb7082340): 0:108)* (DimLayer (0xb702c6a8): 0:754)* (DimLayer (0xb70a7890): 0:139)* (StatusBar (0xb70ab230): 0:29692) (com.android.systemui.ImageWallpaper (0xb70b9660): 0:2441)* (NavigationBar (0xb70d95d8): 0:116) (org.xapek.andiodine/org.xapek.andiodine.IodineMain (0xb70dfa28): 32:180) 
I/SBar.MotoNetworkCtrlr( 1332): onReceive: WifiManager.RSSI_CHANGED_ACTION Received
I/SBar.MotoNetworkCtrlr( 1332): updateWifiState: RSSI_CHANGED_ACTION: mWifiConnected=true mWifiLevel=3 mWifiRssi=-59
I/Iodine  (10913): .
I/Iodine  (10913): .
I/Iodine  (10913): 1248 not ok.. 
I/Iodine  (10913): .
I/SBar.MotoNetworkCtrlr( 1332): onReceive: WifiManager.RSSI_CHANGED_ACTION Received
I/SBar.MotoNetworkCtrlr( 1332): updateWifiState: RSSI_CHANGED_ACTION: mWifiConnected=true mWifiLevel=3 mWifiRssi=-59
I/Iodine  (10913): .
I/SFPerfTracer(  321):      triggers: (rate: 238:6807) (compose: 0:17) (post: 0:6) (render: 13:372) (16:173972 frames) (17:186560)
D/SFPerfTracer(  321):        layers: (3:9) (FocusedStackFrame (0xb707ff50): 0:820)* (DimLayer (0xb7082340): 0:108)* (DimLayer (0xb702c6a8): 0:754)* (DimLayer (0xb70a7890): 0:139)* (StatusBar (0xb70ab230): 0:29692) (com.android.systemui.ImageWallpaper (0xb70b9660): 0:2441)* (NavigationBar (0xb70d95d8): 0:116) (org.xapek.andiodine/org.xapek.andiodine.IodineMain (0xb70dfa28): 17:296) 
I/ThermalEngine(  363): Sensor:xo_therm_pu2:31000 mC
I/Iodine  (10913): .
I/Iodine  (10913): 1200 not ok.. 
I/Iodine  (10913): 1176 ok.. 
I/Iodine  (10913): 1188 ok.. 
I/Iodine  (10913): will use 1188-2=1186
I/Iodine  (10913): Setting downstream fragment size to max 1186...
I/Iodine  (10913): Handshake successful, leave native code
D/VPN_SERVICE(10913): Handshake successful
D/VPN_SERVICE(10913): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED
D/VPN_SERVICE(10913): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED (has extras) }
D/MAIN    (10913): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
D/FRAGMENT_STATUS(10913): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
D/VPN_SERVICE(10913): Build tunnel for configuration: ip=10.0.0.2 netbits=27 mtu=1280
D/VPN_SERVICE(10913): Build tunnel interface
D/VPN_SERVICE(10913): VPN Thread exit
E/AndroidRuntime(10913): FATAL EXCEPTION: org.xapek.andiodine.IodineVpnService
E/AndroidRuntime(10913): Process: org.xapek.andiodine, PID: 10913
E/AndroidRuntime(10913): java.lang.NullPointerException: Attempt to invoke virtual method 'int android.os.ParcelFileDescriptor.detachFd()' on a null object reference
E/AndroidRuntime(10913):    at org.xapek.andiodine.IodineVpnService.runTunnel(IodineVpnService.java:337)
E/AndroidRuntime(10913):    at org.xapek.andiodine.IodineVpnService.run(IodineVpnService.java:229)
E/AndroidRuntime(10913):    at java.lang.Thread.run(Thread.java:818)
W/ActivityManager(  890):   Force finishing activity org.xapek.andiodine/.IodineMain
W/ContextImpl( 1601): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1455 android.content.ContextWrapper.sendBroadcast:376 com.motorola.motocare.util.TriggerHelper$TriggerBuilder.send:76 com.motorola.motocare.internal.frameworkevents.PauseResumeTrigger.handleFrameworkEvent:53 com.motorola.motocare.internal.frameworkevents.FwEventMonitor$FrameworkListener.processFrameworkEvent:114 
W/ContextImpl( 1601): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1455 android.content.ContextWrapper.sendBroadcast:376 com.motorola.motocare.util.TriggerHelper$TriggerBuilder.send:76 com.motorola.motocare.internal.frameworkevents.PauseResumeTrigger.handleFrameworkEvent:53 com.motorola.motocare.internal.frameworkevents.FwEventMonitor$FrameworkListener.processFrameworkEvent:114 

andiodine + openvpn tunnel?

I read somewhere that Iodine is not secure (dns?) and you need to route it to another tunnel like OPenVPN how can I achieve this using the android app?
BTW, On android 7.1.2 the program crashes after randomly.

NullPointerException when I connect same address twice (double click the item)

Hello,

When I use andiodine, I got a null pointer exception when andiodine attempts to connect the same address twice if I click the item quickly.

I read the code snippets about Connect in IodineVpnService.java. I found that

private final BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
    ...
    } else if (ACTION_CONTROL_CONNECT.equals(intent.getAction())) {
        if (mThread != null) {
            ...
            return;
        }
        ...
        //if OS schedules other threads at this point, it may lead some errors
        mThread = new Thread(IodineVpnService.this, IodineVpnService.class.getName());
        mThread.start();
        }
    }
};

I think those code may lead to synchronization errors if it calls method onReceive twice. Therefore, andiodine should take extra synchronization (such as Synchronized {...}) to fix it.

And the stack trace is:

E/AndroidRuntime( 7557): java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.Activity.sendBroadcast(android.content.Intent)' on a null object reference

E/AndroidRuntime( 7557):    at org.xapek.andiodine.FragmentList.vpnServiceConnect2(FragmentList.java:203)

E/AndroidRuntime( 7557):    at org.xapek.andiodine.FragmentList.access$600(FragmentList.java:30)

E/AndroidRuntime( 7557):    at org.xapek.andiodine.FragmentList$3.onClick(FragmentList.java:177)

E/AndroidRuntime( 7557):    at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:162)

E/AndroidRuntime( 7557):    at android.os.Handler.dispatchMessage(Handler.java:102)

E/AndroidRuntime( 7557):    at android.os.Looper.loop(Looper.java:135)

E/AndroidRuntime( 7557):    at android.app.ActivityThread.main(ActivityThread.java:5254)

E/AndroidRuntime( 7557):    at java.lang.reflect.Method.invoke(Native Method)

E/AndroidRuntime( 7557):    at java.lang.reflect.Method.invoke(Method.java:372)

E/AndroidRuntime( 7557):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)

E/AndroidRuntime( 7557):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.