Files
JoinDomainGUI/CHANGELOG.md
T
tuxgyverandClaude Opus 5 3d4d6de0f8 fix: la jointure Windows n'executait jamais le script PowerShell
Le script etait envoye sur stdin de `powershell -Command -`, qui analyse
l'entree ligne par ligne. Le `}` fermant le try/catch n'etait suivi d'aucun
saut de ligne : le parseur gardait l'instruction incomplete en attente et la
jetait a la fermeture de stdin. PowerShell rendait la main avec le code 0
sans avoir appele Add-Computer, et l'utilisateur ne voyait qu'un « echec de
la jointure (code retour 0) » sans explication.

- Transmission du script d'un seul bloc via `-EncodedCommand` (base64
  UTF-16LE), ce qui supprime toute analyse ligne par ligne et propage
  correctement les codes de sortie. Le mot de passe reste hors de la ligne
  de commande : il ne transite que par l'environnement du sous-processus.
- Report de la sortie brute de PowerShell quand aucun marqueur n'est trouve,
  pour qu'un echec inattendu reste diagnosticable.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 23:09:54 +02:00

2.9 KiB

Changelog

[Non publié]

Fixed

  • La jointure de domaine sous Windows échouait sans aucun message, avec un code retour 0. Le script PowerShell était transmis sur l'entrée standard de powershell -Command -, qui analyse stdin ligne par ligne : le bloc try/catch final, dépourvu de saut de ligne terminal, restait en attente dans le parseur et n'était jamais exécuté. PowerShell rendait donc la main sans avoir tenté la jointure. Le script est désormais transmis d'un bloc via -EncodedCommand.
  • En l'absence de marqueur de succès comme d'échec, le message d'erreur se réduisait à « code retour 0 », impossible à diagnostiquer. La sortie brute de PowerShell est maintenant reportée à l'utilisateur (le mot de passe ne transitant que par l'environnement, il n'y apparaît jamais).

[0.1.3] - 2026-09-08

Fixed

  • Le binaire Windows produit sous Wine ne démarrait pas (« could not initialize Qt platform plugin "windows" ») : le hook PySide6 de PyInstaller importe QtCore pour localiser les plugins Qt, or Qt 6.10+ lie Qt6Core.dll à l'ICU de Windows (icuuc.dll), absent de Wine. L'import échouait et aucun plugin n'était embarqué. La compilation Windows épingle désormais PySide6<6.10 et vérifie explicitement l'import de PySide6 puis la présence de qwindows.dll.

Added

  • Makefile avec aide auto-documentée par catégories (make help).
  • packaging/build_windows_wine.sh : production du .exe Windows depuis Linux.
  • README.md.
  • make publish : pousse branche et tags vers tous les dépôts Gitea configurés.

[0.1.2] - 2026-09-04

Changed

  • Recompilation du binaire Linux (aucun changement fonctionnel depuis la 0.1.1).

[0.1.1] - 2026-09-04

Added

  • Diagnostic réseau complet pour la jointure Active Directory : résolution DNS, enregistrements SRV (LDAP/Kerberos), ping des contrôleurs de domaine, test des ports AD (53/88/389/445/464/636/3268), synchronisation NTP, présence des outils requis.
  • Jointure de domaine via realmd sous Linux et PowerShell Add-Computer sous Windows, avec bascule automatique de backend selon la plateforme.
  • Installation automatique des prérequis Linux manquants (apt-get install realmd sssd adcli samba-common-bin packagekit), déclenchable en un clic ou via la CLI.
  • Interface graphique PySide6 avec trois onglets : Diagnostic réseau, Rejoindre le domaine, À propos.
  • Interface en ligne de commande (diagnose, join, install-prereqs) fonctionnant sans dépendance à PySide6, avec sortie colorée (détection tty, NO_COLOR/FORCE_COLOR).
  • Scripts de packaging PyInstaller pour produire des binaires autonomes Linux et Windows (packaging/build_linux.sh, packaging/build_windows.bat).
  • Mot de passe jamais transmis en argument de ligne de commande (toujours via stdin ou variable d'environnement du sous-processus) pour ne pas apparaître dans la liste des processus.