Topic: Pb with VirtualHost
Bonjour,
J'ai un petit soucis avec <VirtualHost monnomip:22> : marche pô :
alors j'ai essayé de voir pourquoi :
parsing.c
(void )snprintf(buffer, sizeof(buffer), "%ui.%ui.%ui.%ui",
(unsigned int)h->h_addr_list[0][0],
(unsigned int)h->h_addr_list[0][1],
(unsigned int)h->h_addr_list[0][2],
(unsigned int)h->h_addr_list[0][3]
);
souci avec %ui :
user.c
current_host = (char *)hash_get("VIRTUALHOST_IP");
current_port = hash_get_int("VIRTUALHOST_PORT");
// ajout print pour comprendre
if(current_host != NULL) (void )printf("%s %i", current_host,current_port);
printf donne :
4294967224i.90i.23i.108i
au lieu de 184.90.23.108
avec %u
donne :
4294967224.90.23.108
mieux mais pas top
Visiblement ça se fait plutôt comme ça :
parsing.c :
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
struct in_addr in;
(void) memcpy(&in.s_addr, *h->h_addr_list, sizeof (in.s_addr));
(void )snprintf(buffer, sizeof(buffer), "%s", inet_ntoa(in));
testé sur Solaris/Linux ok
JoK