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

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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
comment=result+is+a+failed+xml&arg1=nom_user&arg2=NULL&arg3=NULL
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.

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