Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Flight SQL JDBC parses boolean properties case-sensitively, silently disabling TLS for useEncryption=TRUE

Ouverte Adaptée aux débutants
#1,357 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@Arawoof06 y travaille déjà.

Depuis le 13/10/2026.

  • #1358 par @Arawoof06 — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
79/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
java
Domaine
database, security

Piste de recherche

Repérez ArrowFlightConnectionConfigImpl.ArrowFlightConnectionProperty.getBoolean et examinez comment cette méthode lit les valeurs des propriétés. Vérifiez les tests existants pour les propriétés de connexion JDBC, puis ajoutez des tests pour true, TRUE, True et 1. Le travail est terminé lorsque toutes ces valeurs activent le chiffrement et que les tests concernés réussissent.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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).

Langage dominant
Java
Étoiles
98
Forks
160
Merge moyen
5 j 6 h
PR mergées (30 j)
27

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/arrow-java

Toutes les issues de apache/arrow-java

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.