Flight SQL JDBC parses boolean properties case-sensitively, silently disabling TLS for useEncryption=TRUE
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 79/100
Línea de trabajo
Busca ArrowFlightConnectionConfigImpl.ArrowFlightConnectionProperty.getBoolean e inspecciona cómo lee los valores de las propiedades. Revisa las pruebas existentes para las propiedades de conexión JDBC y añade cobertura para true, TRUE, True y 1. La tarea estará terminada cuando todos estos valores habiliten el cifrado y pasen las pruebas pertinentes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
In the Flight SQL JDBC driver, ArrowFlightConnectionConfigImpl.ArrowFlightConnectionProperty.getBoolean compares the property value with:
return valueFromProperties.equals("1") || valueFromProperties.equals("true");
Only the exact lowercase true (or 1) is treated as true. Values coming from the JDBC URL or Properties are not normalized, so a perfectly reasonable value such as useEncryption=TRUE or useEncryption=True is parsed as false.
useEncryption defaults to true and feeds ArrowFlightSqlClientHandler.Builder.withEncryption(...). When it is parsed as false, the driver connects to the server over plaintext gRPC and performs the authentication handshake (username/password, bearer token, or OAuth credentials) over the unencrypted channel. A user who believes they enabled TLS gets a cleartext connection and credential exposure instead.
Most JDBC drivers parse boolean options case-insensitively, so this is surprising and security-relevant. getBoolean should accept true case-insensitively (still honoring 1).
- Lenguaje dominante
- Java
- Estrellas
- 98
- Forks
- 160
- Merge medio
- 5 d 6 h
- PR fusionados (30 d)
- 27
Preparar el entorno
- Incluye un Dockerfile o un 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 apache/arrow-java
-
ArrowBuf.setBytes(long, ByteBuffer, int, int) does not bounds-check the source bufferPosiblemente ocupada @aryan9948 la tomó hace 6 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
apache/arrow-java#1336 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
ArrowFlightJdbcArray.getArray(index, count) can read past the end of the array slicePosiblemente ocupada @Arawoof06 la tomó hace 86 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/arrow-java#1236 ·
Los mantenedores suelen responder en 1 día
-
[Java][JDBC] ClobConsumer writes past VarCharVector data buffer for large CLOBsPosiblemente ocupada @Arawoof06 la tomó hace 91 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/arrow-java#1230 ·
Los mantenedores suelen responder en 1 día
-
[Java] DictionaryEncoder doesn't crash when decoding index outside of DictionaryPosiblemente ocupada @jakobhok-neo4j la tomó hace 148 días. AbiertoType: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
apache/arrow-java#1158 ·
Los mantenedores suelen responder en 1 día
-
Type: enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
apache/arrow-java#1100 ·
Los mantenedores suelen responder en 1 día
Todos los issues de apache/arrow-java
Issues similares
-
`timer` rule rejects dates the engine acceptsPosiblemente ocupada @MFA-G la tomó hoy. Abiertobug ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
camunda/bpmnlint-plugin-camunda-compat#281 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
status: waiting-for-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
AOT compilation fails for derived delete queries returning SetPosiblemente ocupada @ryujungkyun la tomó hoy. Abiertostatus: waiting-for-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
spring-projects/spring-data-jpa#4387 ·
Los mantenedores suelen responder en 3 días