Primary Upstream DNS Server IPV6 Validation Issue
@oschwartz10612 ya está trabajando en esto.
Desde el 30/9/2026.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
Línea de trabajo
Comienza en app/src/main/java/net/pangolin/Pangolin/SettingsActivity.kt, en la importación de android.util.Patterns y la validación alrededor de la línea 267. Reproduce el problema en la pantalla de ajustes de Android con los dos ejemplos de IPv6 de Cloudflare y, después, verifica que las direcciones IPv6 válidas se acepten sin el error de validación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Kotlin
- Estrellas
- 46
- Forks
- 12
- Merge medio
- 1 min
- PR fusionados (30 d)
- 6
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de fosrl/android
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
needs investigating
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
-
Pangolin blocking network callsAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Switching organizations breaks Olm hole punching for the same client installationPosiblemente ocupada @oschwartz10612 la tomó hace 26 días. Abiertoneeds investigating
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Todos los issues de fosrl/android
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
navikt/mock-oauth2-server#1129 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
mikepenz/AboutLibraries#1488 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
area/kotlin
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
holunda-io/c7#549 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día