Patch 6.2.4, connexion bloquée - Linux

Assistance technique
WoW semble avoir été repatché (à présent daté du 24 mars). Cependant le problème persiste pour ma part (Mint 17, donc à base d'Ubuntu LTS 14.04).

@Minute, lu la piste gnuTLS à partir de http://us.battle.net/wow/en/forum/topic/20742995286?page=9#175
Oui, cela semble intéressant. Reste à trouver une démarche de résolution pas trop lourde ou longue à attendre. (Cela risque d'être "attendre la LTS 16.04" sinon pour moi...)
A priori la solution serait peut-être du côté de Wine, il semblerait que celui-ci tende à employer le vieil et obsolète SSL au lieu de TLS.

Un patch de Wine d'un gars lui a permis de régler le problème de son côté.
http://us.battle.net/wow/en/forum/topic/20742995286?page=11#203

Cependant, sur wineHq, certains semblent plus considérer que c'est un problème de librairies obsolètes indépendantes de Wine.
https://appdb.winehq.org/commentview.php?iAppId=1922&iVersionId=32314&iThreadId=96926
Si cela devait être vu ainsi du côté de Wine, il ne resterait alors plus qu'à passer sur une distro plus à jour... (En Ubuntu, 15.10 mini, soit la dernière actuelle, et pas LTS.)
Ou sinon se compiler sa version de Wine comme indiqué ci-dessous.
http://us.battle.net/wow/en/forum/topic/20742995286?page=11#217
mais ça fonctionne chez toi de patcher wine ? j'ai utilisé la modification mise par Store sur le forum US
mais j'ai toujours la même erreur BLZ ...7 (il ne vérifie même pas le pass il refuse tout simplement)

j'ai donc modifié le fichier schannel_gnutls.c comme ils disent
fait un make clean dans le dossier de la librairie suivi d'un make
puis un make install à la racine du dossier wine

est-ce que quelqu'un a réussi quelque chose en patchant wine ?
Pour le moment je ne fais que des tests minimum et surtout je rassemble les infos dispersées ailleurs.
Non je n'ai pas moi même testé le patch. D'un autre côté en rentrant du boulot à 1 heure du mat, pour repartir sous peu (il est 7h30), ça me laisse peu de temps. Maintenant si d'autres peuvent indiquer ce à quoi ils arrivent, tant mieux.
Côté US certains échouent n'arrivent à rien avec le patch (reporté avec une Ubuntu 14.04), d'autres y arrivent (distrib similaire, Mint 17.2, soit à base de 14.04).
http://us.battle.net/wow/en/forum/topic/20742995286?page=13#245

Un patch simplifié aurait été ajouté :
http://us.battle.net/wow/en/forum/topic/20742995286?page=11#220
Je viens de réessayer, je fais peut-être quelque chose d'incorrect.
Mais j'ai exactement le même résultat., la même erreur BLZ7.

Je désespère :(
Hello,

J'ai tenté la méthode "patcher Wine", qui me semblait la plus "simple" (tout est relatif...) en attendant de faire mon upgrade vers la prochaine LTS.

Et maintenant je me récupère l'erreur BLZ...00007 comme l'ami Raoni :'-(

Je crois que je vais craquer et installer une 15.10 !

EDIT : bon bah j'ai craqué :)
Install de Xubuntu 15.10, install de Wine-devel 1.9.6

Et ça roule, je peux de nouveau me connecter.
Je suis quand même bien dégoûtée d'avoir dû en passer par là (sans compter les soirées perdues à chercher comment résoudre)
@Tarjan: Oui j'ai vu le hack sur secure32.dll.so, je testerai ça demain si j'en ai le temps.

Je ne suis pas d'accord avec la communauté wine sur ce que tu rapportes.
Si effectivement la version de gnutls dépend de l'age de ta dristro, spécifier un cipher TLS à la place de SSL reste un hack mineur.
Et puis si wine à décidé de s'appuer sur une lib au dessous, ne maitrisant pas forcément la version ni la distro sur laquelle wine est déployer ils devraient faire l'effort de spécifer la méthode de chiffrement qu'il convient.
Une lib ne se configure pas (en dehors d'une compilation de l'utilisateur), en revanche, un programme se doit d'être configurable.

J'ai une install avec un rootfs en zfs, je préfère patcher à l'arrache mon wine que de me retaper une installlation complète.
En plus dans à peine quelques semaine la 16.04 sort ... je ne vais pas me payer deux réinstallation ... non je n'en ai pas le courage.

Je rapporterai le résultat de mes expériences sur ce post, faites de même si vous trouvez une solution autre que réinstaller en 15.10.

Et puis, peut-être que la communauté wine va patcher ça ... je n'ai pas été voir, mais c'est tout à fait possible !

@Pandraa: N'ais pas honte de toi, pas mal ont craqués aussi, tu n'es pas le seul ;)

Lok'tar ogar Linuxiens, c'est quand même cool de se rendre compte qu'on est peut-être peu, mais pas tout seul ! :)

PS: Blibli tu m'enverrais mes 300 vaillances (au jour d'aujourd'hui) sur mon DK que je n'ai pas pu faire en Héroday à cause de ce problème ? (qui ne tente rien, n'a rien ^^)
Indiqué comme solution
Nous avons une solution qui fonctionne !

Un joueur US met à disposition une version patchée de la lib wine qui est à l'origine de notre problème. Merci à lui !

Voici une petite procédure pour Ubuntu 14.04 et Ubuntu 15.04. J'utilise Wine x64, je n'ai pas testé la solution pour Wine 32bits mais elle devrait fonctionner aussi.

Dans un premier temps, il faut mettre à jour Wine en version 1.9.6-devel si ce n'est pas déja fait.
sudo add-apt-repository ppa:wine/wine-builds
sudo apt-get update
sudo apt-get install --install-recommends winehq-devel


Pour Wine x64 :

On commence par renommer la version originale de secur32.dll.so
cd /opt/wine-devel/lib64
sudo mv secur32.dll.so secur32.dll.so.orig


Ensuite, il faut télécharger la version patchée de secure32.dll.so et l'installer au même endroit que l'originale.
sudo wget https://www.dropbox.com/s/6jzyfcz8ng4qvw4/secur32.dll.so.64?dl=0 -O /opt/wine-devel/lib64/secur32.dll.so

Pour Wine 32bits :

Renommer la version originale de secur32.dll.so
cd /opt/wine-devel/lib
sudo mv secur32.dll.so secur32.dll.so.orig


Télécharger la version patchée de secure32.dll.so et installer la au même endroit que l'originale.
sudo wget https://www.dropbox.com/s/yogsfr775ecl9rf/secur32.dll.so.32?dl=0 -O /opt/wine-devel/lib/secur32.dll.so
Je confirme que ça marche bien. J'avais essayé de patcher moi-même la lib secur32, mais j'obtenais l'erreur BLZ...7. En récupérant la lib patchée par un gars sur le forum us, tout a fonctionné, je peux désormais me connecter.
Distri : Linux mint 17.3
Wine : 1.9.6
Je lance Wow64.exe directement à partir de wine64, je ne passe pas par playonlinux.
Hello,

Arf, j'ai craqué un peu trop tôt on dirait :)
Pas grave, je ferai mon upgrade dans un mois avant de me fixer sur la LTS, tant pis !

Lok'tar les Linuxiens !
Pb de connexion résolu en suivant les conseils de Minute. Merci ;-)
sur Ubuntu 14.04 amd64
Attention aux chemins et aux droits, par exemple pour amd64 :
cd /opt/wine-devel/lib64/wine
sudo mv secur32.dll.so secur32.dll.so.orig
sudo wget https://www.dropbox.com/s/6jzyfcz8ng4qvw4/secur32.dll.so.64?dl=0 -O /opt/wine-devel/lib64/secur32.dll.so

Il semblerait qu'il n'y aura pas de pbs à corriger avec la version 16.04 LTS
bon le problème semble résolu en patchant le fichier source wine-VERSION/dlls/secur32/schannel_gnutls.c et en recompilant

ensuite copier wine-VERSION/dlls/secur32/secur32.dll.so dans

32bit
/chemin_de_Wine//lib/wine/
64bit
/chemin_de_Wine//lib64/wine/

bien sur penser a sauvegarder le fichier secur32.dll.so original

voile le fichier schannel_gnutls.c patché
https://mega.nz/#!dE9FhRxQ!Ww2k2MmChFEEKul1xbhLoFJEBVq_zZbweRQXAjS5aRo

attention du moins dans la plupart des distributions sur un système 64 bits les deux versions de wine cohabite donc si vous compilez sur un système 64bits ne vous trompez pas de répertoire où vous copiez
secur32.dll.so
puis lancez directement wow avec
wine64 /ou est wow/Wow-64.exe

quand a télécharger le fichier secur32.dll.so si vous êtes sur qu'il a était compilé avec les même versions de librairies et de wine cela fonctionnera mais si version de wine et des librairies devel peu de chance que cela fonctionne ou fonctionnera mal, pas plus que d’installer un secur32.dll.so compilé sur une 64 btis sur une 32 bits ou inversement
Pavlina, pour une raison qui m'échappe, vos réponses ont été classées en spam par notre forum. J'ai donc fait le nécessaire pour que ce ne soit plus le cas.

Afin de donner plus de visibilité aux solutions que Minute et vous avez mis en avant, je les inclus dans ma première réponse.

__________________________________________
Zarnalaki, du dimanche au jeudi entre 9h00 et 17h30
Votre avis nous intéresse !
Merci Minute,

Cette solution fonctionne également sur un wine-staging 1.9.6. Il faut juste un peu adapter les chemins.
/opt/wine-staging/lib64/wine
au lieu de
/opt/wine-devel/lib64

(Testé sur du Mint 17, via launcher, sur deuxième serveur X sans gestionnaire de fenêtre.)

Lien du post de Minute :
http://eu.battle.net/wow/fr/forum/topic/17610932102?page=3#47

Par ailleurs, j'ai bloqué ma version de wine dans synaptic, ça évitera de perdre le patch à la prochaine version (du côté de wineHq, ça ne semble pas bouger). Je pense éviter de le mettre à jour tant que je ne serai pas passé en Ubuntu 16.04 (ou Mint correspondant).

Rappel pour qui n'aurait pas tout suivi : il y a une autre façon de résoudre le problème, qui peut être meilleure selon votre cas. Celle-ci consiste à avoir votre système le plus à jour possible. Ainsi, les personnes en Ubuntu 15.10 avec toutes les dernières mises à jour peuvent pour la plupart se connecter sans le patch wine que nous indiquons ici.
Le fait d'avoir toutes les dernières mises à jour fait que le protocole plus supporté par WoW (SSL) ne semble également plus supporté par votre Linux, et de ce fait Wine ne peut plus tenter de l'utiliser avec WoW, donc utilise à la place le protocole TLS. En version 1.0 cependant alors qu'il ferait à priori mieux d'utiliser la 1.2.
Cette autre solution consiste surtout à avoir la version la plus récente possible de gnuTls
27/03/2016 10:48Publié par Zarnalaki
Pavlina, pour une raison qui m'échappe, vos réponses ont été classées en spam par notre forum. J'ai donc fait le nécessaire pour que ce ne soit plus le cas.

Afin de donner plus de visibilité aux solutions que Minute et vous avez mis en avant, je les inclus dans ma première réponse.

__________________________________________
Zarnalaki, du dimanche au jeudi entre 9h00 et 17h30
[url="https://www.surveymonkey.com/s/ZarnalakiFR"]Votre avis nous intéresse ![/url]


surement le lien https://megaDOTnz qui passe pas
Wine 1.9.7 est sorti le 02 avril.

Parmi ses changements, le problème de connexion attendant indéfiniment depuis la 6.2.4 a clairement été patché.

Donc à présent la meilleure solution est de mettre à jour Wine en 1.9.7. Je l'ai testé, ça fonctionne dans mon cas (Mint 17), sans plus utiliser de version patchée de secur32.dll.so.

Pour le détail d'où j'ai vu cela, voici :

Les release notes 1.9.7 contiennent un point intéressant :
secur32: Use %LATEST_RECORD_VERSION gnutls priority

https://www.winehq.org/announce/1.9.7

Hum, cela corrigerait-il précisément le problème faisant que GnuTLS tel qu'employé par Wine utilisait SSL si possible, causant le blocage de WoW pour les Linux pas suffisamment à jour pour ne même plus avoir le support de SSL ?

Du côté de la doc de GnuTLS, ça semble se confirmer :
%SSL3_RECORD_VERSION will use SSL3.0 record version in client hello. This is the default.
%LATEST_RECORD_VERSION will use the latest TLS version record version in client hello.

https://gnutls.org/manual/html_node/Priority-Strings.html

En fouillant le git (système de gestion de code source) de wine, on trouve :
secur32: Use %LATEST_RECORD_VERSION gnutls priority.

It's based on [1], where it's reported to fix issues with older gnutls.
I tested what client hello packages Windows reports for different sets
of used protocol versions, and it always uses newest possible version.
There may be a concern about not using SSL3 client hello, which still
may negotiate newer protocol and was recommended for compatibility
reasons, but it's known to be problematic the other way those days and
recent gnutls won't use it by default anyway [2].

[1] http://us.battle.net/wow/en/forum/topic/20742995286?page=11
[2] https://gitlab.com/gnutls/gnutls/commit/25ed2750438178ff65d555a49212dc7b5a37c644

http://source.winehq.org/git/wine.git/commit/f198b5a45a52aa0bcf79f1909c8f6dc4e56c4143

Notes diverses :
Avec la version 1.9.7 de Wine, on utilise alors TLS 1.2 (dernière version actuelle) au lieu de 1.0 : c'est bien mieux sur le principe.

A lire un peu la doc GnuTLS, on ne comprend pas trop son comportement...
https://gnutls.org/manual/html_node/Priority-Strings.html
D'abord elle dit
Unless the initial keyword is "NONE" the defaults (in preference order) are for TLS protocols TLS 1.2, TLS1.1, TLS1.0

Or Wine envoie `NORMAL`, pas `NONE` (cf le changet git mentionné ci-dessus, cliquer sur `diff` dans sa page).
Et plus loin dans la doc GNUTLS, on trouve donc:
will use SSL3.0 record version in client hello. This is the default.

Un peu contradictoire tout ça...

En allant lire la norme.
https://tools.ietf.org/html/rfc5246#page-39
On y apprend que GnuTLS dérogeait alors à une recommandation de la norme stipulant que dans le client hello :
client_version
The version of the TLS protocol by which the client wishes to
communicate during this session. This SHOULD be the latest
(highest valued) version supported by the client.

C'est du should, pas du must, donc GnuTLS est quand même conforme en ayant tendance à ne pas utiliser le protocole le plus à jour qu'il connaisse par défaut, mais je trouve ça un peu moche de leur part.

Par contre du côté des serveurs WoW, il semblerait qu'il y ait aussi un non suivi de recommandation de la norme TLS. (Certes, là aussi pas mise en must explicite, mais cette section n'utilise pas les nommages normatifs habituels des RFC, c'est dommage).
The server will send this message in response to a ClientHello
message when it was able to find an acceptable set of algorithms.
If it cannot find such a match, it will respond with a handshake
failure alert.

Celui-ci, en cas de version client non supporté, ne devrait donc pas laisser attendre le client indéfiniment sans lui répondre comme cela semble actuellement le cas.
J'en viens à me demander s'il y aurait pas quelques autres écarts d'implémentation du côté de WoW/Battle.net expliquant les déboires de connexion qu'un nombre certain d'entre nous rencontrons depuis la mise à jour 6.2.4.

Rejoignez la discussion

Retour au forum