Bonsoir à tous,
J'ai bloqué il y a quelques semaines sur ce problème et personne sur le forum Apache n'a réussi à m'aider. Ce forum sur lequel j'ai posté à l'époque n'ayant pas l'air très vivant je me dis que j'aurais peut-être plus de chance sur la section Apache de ces forums-ci, en effet j'imagine qu'il y a bien plus de monde chez vous.
Je viens de poster mon problème sur un forum PHP (puisque l'application est en PHP) et sur le forum Fedora (puisque le serveur est sous Fedora), je me dis qu'en postant auprès de 3 sortes de spécialistes de différents domaines j'aurais peut-être la chance de débloquer la situation.
Je suis chargé d'essayer de refaire marcher un jeu qui fonctionnait sur un mode client-serveur, et ce dans l'objectif d'en mettre le code sous GPL.
En bref, c'est pour la bonne cause, et je pense sincèrement que ce jeu pourrait être une vraie réussite du Libre. En tous cas, en tant qu'ancien joueur je trouve que ce jeu déchirait tout et je vous jure qu'en plus c'est un jeu original.
Seul problème, nous n'avons récupéré que les sources et pas le serveur en fonction, ainsi il s'agit de tout reconstruire et de deviner parfois le fonctionnement.
Après pas mal de temps passé dessus, ça a beaucoup avancé, la partie "web" semble entièrement fonctionner, la partie serveur de jeu aussi mais nous bloquons sur une dernière chose (du moins je l'espère parce qu'avec les centaines d'heures déjà passé dessus j'avoue que parfois je sens le découragement pointer...) : L'authentification du client auprès du serveur.
Contexte :
-Le jeu tournait sous PHP4, Mysql et Apache 1.3
-Nous essayons de le faire tourner sur PHP5 et Apache 2 (ce qui explique peut-être ce problème d'"auth failed" mais je n'en sais rien).
État actuel de notre avancée :
Site web pleinement fonctionnel, possibilité de télécharger le client (windows, mais il semble possible assez facilement de porter le client sur GNU-Linux si un jour on arrive à faire enfin marcher le serveur), après installation il télécharge bien les patches de mise à jour, parvient à se connecter au serveur de jeu mais ne parvient pas à s'identifier. Les noms et mots de passe des users sont stockés dans Mysql en clair.
J'ai sniffé les conversations sur le poste windows pour essayer de mieux comprendre ce qui se passe mais je n'arrive pas à trouver de solution.
Voici les logs :
10.0.2.15 est le client. 192.168.0.7 est le serveur fedora.
Je ne sais pas s'il s'agit d'un problème avec Apache (ce que je pense) ou avec PHP (auquel cas je peux vous poster le code des fichiers appelés par le client, login.php, applog.php). Je peux aussi vous donner une liste des modules activés et un tas d'autres choses, mais ayant peur de vous noyer sous trop d'infos et de n'avoir aucune réponse, j'attends déjà de voir s'il semble y avoir des gens motivés pour m'aider.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 4 10.0.2.15 192.168.0.7 HTTP POST /members/login.php HTTP/1.1 (application/x-www-form-urlencoded) POST /members/login.php HTTP/1.1.. Content-Type: application/x-www- form-url encoded. User-Agent: applicationcenter..Host: center.application.net Content-Length : 16..Cache-Control: no- cache.. Cookie: PHPSESSID=8780tfvajcbvrvtmoqm901lbs7....&language =french 5 0.015368 192.168.0.7 10.0.2.15 TCP http > xingmpeg [ACK] Seq=1 Ack=250 Win=65535 Len=0 6 0.061090 192.168.0.7 10.0.2.15 HTTP HTTP/1.1 200 OK (text/html) OK Date: Fri, 08 Jan 2010 17:52:56 G MT.. Server: Apache/2.2.11 (Fedora)..X-Powered-By : PHP/5.2.11..Expires: Thu, 19 Nov 1981:08:52:00 GMT.. Cache-Control: no-store, no-cache,must-revalidate, post-check=0,pre-chec k=0..Pragma: no- cache..Content-Length: 54.. Content-Type:text/ht ml....<?xml version="1.0" encoding="utf-8"?>.<auth_failed/>. 7 0.074005 10.0.2.15 192.168.0.7 TCP web2host > http [SYN] Seq=0 Win=64240 Len=0 MSS=1460 8 0.081617 192.168.0.7 10.0.2.15 TCP http > web2host [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460 9 0.081782 10.0.2.15 192.168.0.7 TCP web2host > http [ACK] Seq=1 Ack=1 Win=64240 Len=0 10 0.084574 10.0.2.15 192.168.0.7 HTTP POST /applog.php HTTP/1.1 (application/x-www-form-urlencoded) POST /applog.php HTTP/1.1.Content -Type: application/x-www-form-urlencoded..User-Agent: applicationcenter..Host: site.application.net.Content-Length: 170..Cache-Cont rol: no-cache... .&submodule=HTTP AuthRequest&module=CApplicationCenterDlg&logname=login%5Ffailed &app=center&comment=result+is+a+failed+xml&arg1=nom_user&arg2=NULL&arg3=NULL&version= v2%2E0%2E11 11 0.088578 192.168.0.7 10.0.2.15 TCP http > web2host [ACK] Seq=1 Ack=350 Win=65535 Len=0 12 0.123863 192.168.0.7 10.0.2.15 HTTP HTTP/1.1 200 OK HTTP/1.1 200 OK..Date: Fri, 08 Jan 2010 17:52:56 G MT..Server: Apache/2.2.11 (Fedora)..X-Powered-By : PHP/5.2.11..Content-Length: 0. .Content-Type: text/html 13 0.187877 10.0.2.15 192.168.0.7 TCP xingmpeg > http [ACK] Seq=250 Ack=351 Win=63890 Len=0 14 0.279039 10.0.2.15 192.168.0.7 TCP web2host > http [ACK] Seq=350 Ack=159 Win=64082 Len=0
Je suis quelqu'un de très bonne volonté et très motivé, certainement pas du genre à ne pas RTFM ou STFW, mais là ce point dépasse vraiment mes compétences, autant j'ai réussi à m'en sortir sur tout le reste, autant je sèche sur ce problème d'"auth failed", donc toute piste est la bienvenue.
J'ai plusieurs pistes, dont une qui me parait intéressante ici :
En effet, l'arg1 comporte bien le nom d'user mentionné, mais le arg2 qui est censé contenir le mot de passe et le 3 censé donné la langue (1 pour français et 2 pour anglais) n'apparaissent pas, ce qui me parait étrange.
Code : Sélectionner tout - Visualiser dans une fenêtre à part comment=result+is+a+failed+xml&arg1=nom_user&arg2=NULL&arg3=NULL
Comme je l'expliquais j'ai plusieurs pistes ou idées (problème d'encodage, etc), j'ai essayé pleins de trucs mais rien ne fonctionne. Donc si une pointure (ou plusieurs, plus on est de fous plus on rit !) acceptait de nous offrir un peu de son temps pour essayer de nous sortir de là et permettre à un nouveau jeu sous GPL de voir le jour, ce serait vraiment la fête
Merci de m'avoir lu
Partager