summaryrefslogtreecommitdiff
path: root/main/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java')
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/main/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java b/main/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java
index 40449118..814aba92 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java
@@ -5,9 +5,11 @@
package de.blinkt.openvpn.core;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.net.*;
import android.os.Build;
+import android.provider.Settings;
import android.text.TextUtils;
import java.net.Inet4Address;
@@ -72,4 +74,26 @@ public class NetworkUtils {
return nets;
}
+ @SuppressLint("HardwareIds")
+ public static String getFakeMacAddrFromSAAID(Context c) {
+ char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray();
+
+ String saaid = Settings.Secure.getString(c.getContentResolver(),
+ Settings.Secure.ANDROID_ID);
+
+ StringBuilder ret = new StringBuilder();
+ if (saaid.length() >= 6) {
+ byte[] sb = saaid.getBytes();
+ for (int b = 0; b <= 6; b++) {
+ if (b != 0)
+ ret.append(":");
+ int v = sb[b] & 0xFF;
+ ret.append(HEX_ARRAY[v >>> 4]);
+ ret.append(HEX_ARRAY[v & 0x0F]);
+ }
+ }
+ return ret.toString();
+ }
+
+
} \ No newline at end of file