Add log.wtf if ENOTSUPP occurs when attaching DHCP filter. am: 7619307a93 Original change: https://android-review.googlesource.com/c/platform/packages/modules/NetworkStack/+/2175691 Change-Id: Ieede2174286e9eb420eaf7d64586c45424afb9ac Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/jni/network_stack_utils_jni.cpp b/jni/network_stack_utils_jni.cpp index 6408856..63146d8 100644 --- a/jni/network_stack_utils_jni.cpp +++ b/jni/network_stack_utils_jni.cpp
@@ -126,8 +126,7 @@ int fd = netjniutils::GetNativeFileDescriptor(env, javaFd); if (setsockopt(fd, SOL_SOCKET, SO_ATTACH_FILTER, &filter, sizeof(filter)) != 0) { - jniThrowExceptionFmt(env, "java/net/SocketException", - "setsockopt(SO_ATTACH_FILTER): %s", strerror(errno)); + jniThrowErrnoException(env, "setsockopt(SO_ATTACH_FILTER)", errno); } }
diff --git a/src/android/net/dhcp/DhcpClient.java b/src/android/net/dhcp/DhcpClient.java index b41484c..34c37a2 100644 --- a/src/android/net/dhcp/DhcpClient.java +++ b/src/android/net/dhcp/DhcpClient.java
@@ -699,6 +699,10 @@ Os.bind(mPacketSock, addr); } catch (SocketException | ErrnoException e) { logError("Error creating packet socket", e); + if (e instanceof ErrnoException + && ((ErrnoException) e).errno == 524 /* ENOTSUPP */) { + Log.wtf(TAG, "Errno: ENOTSUPP"); + } closeFd(mPacketSock); mPacketSock = null; return null;
diff --git a/src/android/net/util/NetworkStackUtils.java b/src/android/net/util/NetworkStackUtils.java index 7e0ca29..1730b9d 100755 --- a/src/android/net/util/NetworkStackUtils.java +++ b/src/android/net/util/NetworkStackUtils.java
@@ -18,6 +18,7 @@ import android.content.Context; import android.net.MacAddress; +import android.system.ErrnoException; import androidx.annotation.NonNull; @@ -277,7 +278,7 @@ /** * Attaches a socket filter that accepts DHCP packets to the given socket. */ - public static native void attachDhcpFilter(FileDescriptor fd) throws SocketException; + public static native void attachDhcpFilter(FileDescriptor fd) throws ErrnoException; /** * Attaches a socket filter that accepts ICMPv6 router advertisements to the given socket.