- address = GNUNET_malloc (INET6_ADDRSTRLEN);
- addrin6 = (struct sockaddr_in6 *) conn_info->client_addr;
- inet_ntop(addrin6->sin6_family, &(addrin6->sin6_addr),address,INET6_ADDRSTRLEN);
- }
+ conn_info = MHD_get_connection_info(session, MHD_CONNECTION_INFO_CLIENT_ADDRESS );
+ /* Incoming IPv4 connection */
+ if ( AF_INET == conn_info->client_addr->sin_family)
+ {
+ address = GNUNET_malloc (INET_ADDRSTRLEN);
+ addrin = conn_info->client_addr;
+ inet_ntop(addrin->sin_family, &(addrin->sin_addr),address,INET_ADDRSTRLEN);
+ }
+ /* Incoming IPv6 connection */
+ if ( AF_INET6 == conn_info->client_addr->sin_family)
+ {
+ address = GNUNET_malloc (INET6_ADDRSTRLEN);
+ addrin6 = (struct sockaddr_in6 *) conn_info->client_addr;
+ inet_ntop(addrin6->sin6_family, &(addrin6->sin6_addr),address,INET6_ADDRSTRLEN);
+ }