Primary Upstream DNS Server IPV6 Validation Issue
@oschwartz10612 đang làm issue này rồi.
Từ ngày 30/9/2026.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 82/100
Hướng nghiên cứu
Bắt đầu trong app/src/main/java/net/pangolin/Pangolin/SettingsActivity.kt, tại phần import android.util.Patterns và phần validation quanh dòng 267. Tái hiện vấn đề trên màn hình cài đặt Android bằng cả hai ví dụ IPv6 của Cloudflare, sau đó xác minh rằng các địa chỉ IPv6 hợp lệ được chấp nhận mà không có lỗi validation.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Describe the Bug
When using the Android app, IPV6 addresses fail the validation check in the "Primary Upstream DNS Server" field on the settings page.
The example listed below the field uses an address that is not accepted despite being valid and listed as an example.
Please watch the video linked below for further explanation and information.
https://github.com/fosrl/android/blob/main/app/src/main/java/net/pangolin/Pangolin/SettingsActivity.kt#L13
import android.util.Patterns
https://github.com/fosrl/android/blob/main/app/src/main/java/net/pangolin/Pangolin/SettingsActivity.kt#L267
isDnsField -> {
if (newValue.isEmpty()) {
true
} else {
Patterns.IP_ADDRESS.matcher(newValue).matches()
}
}
Patterns.IP_ADDRESS might not support IPV6 addresses.
Environment
- OS Type & Version: Android 17 (CPA2A.260605.016), Xiaomi HyperOS 3.0.336.0
- Pangolin Version: 1.23.0
- Edition (Community or Enterprise): Community
- Gerbil Version: 1.5.2
- Traefik Version: 3.7.13
- Newt Version: 1.18
- Client Version: 0.8.0
To Reproduce
- Access the Android Pangolin app
- Open the sidebar navigation menu
- Access "Settings" from the navigation menu
- Tap "Primary Upstream DNS Server" to edit the setting
- Enter Cloudflare's IPV6 DNS address
2606:4700:4700::1111or2606:4700:4700:0000:0000:0000:0000:1111(Expanded - full 128-Bit Form) - Note the momentary flash of validation feedback (red error message) which disappears.
https://github.com/user-attachments/assets/cf6af099-604a-43fb-9e45-c7be1f1a5896
AI Disclosure
N/A
Expected Behavior
Accept IPV6 address formats, fix the validation on the field to support IPV6 addresses.
- Ngôn ngữ chính
- Kotlin
- Star
- 46
- Fork
- 12
- Merge trung bình
- 1 phút
- Pull request đã merge (30 ngày)
- 6
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của fosrl/android
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
-
needs investigating
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 42/100
-
Pangolin blocking network callsĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
-
Switching organizations breaks Olm hole punching for the same client installationCó thể làm lại được @oschwartz10612 đã nhận 28 ngày trước và không có pull request nào đang mở. Đang mởneeds investigating
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
Tất cả issue của fosrl/android
Issue tương tự
-
area:ide bug platform:intellij
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
anthropics/claude-code#104508 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
lugassawan/swe-workbench#823 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 80/100
Droid-Deck/DroidDeck#1355 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
IronCoreLabs/ironcore-alloy#351 ·