HTTPD_MSG_MAX
};
+/* each host run in his own thread */
+struct httpd_host_t
+{
+ VLC_COMMON_MEMBERS
+
+ httpd_t *httpd;
+
+ /* ref count */
+ int i_ref;
+
+ /* address/port and socket for listening at connections */
+ char *psz_hostname;
+ int i_port;
+ int *fd;
+
+ vlc_mutex_t lock;
+
+ /* all registered url (becarefull that 2 httpd_url_t could point at the same url)
+ * This will slow down the url research but make my live easier
+ * All url will have their cb trigger, but only the first one can answer
+ * */
+ int i_url;
+ httpd_url_t **url;
+
+ int i_client;
+ httpd_client_t **client;
+
+ /* TLS data */
+ tls_server_t *p_tls;
+};
+
+
+
enum
{
HTTPD_PROTO_NONE,
case VLC_OBJECT_VOUT: psz_object = "video output"; break;
case VLC_OBJECT_AOUT: psz_object = "audio output"; break;
case VLC_OBJECT_SOUT: psz_object = "stream output"; break;
- case VLC_OBJECT_HTTPD: psz_object = "http daemon"; break;
+ case VLC_OBJECT_HTTPD: psz_object = "http server"; break;
+ case VLC_OBJECT_HTTPD_HOST: psz_object = "http server"; break;
case VLC_OBJECT_DIALOGS: psz_object = "dialogs provider"; break;
case VLC_OBJECT_VLM: psz_object = "vlm"; break;
case VLC_OBJECT_ANNOUNCE: psz_object = "announce handler"; break;
break;
case VLC_OBJECT_HTTPD:
i_size = sizeof( httpd_t );
- psz_type = "http daemon";
+ psz_type = "http server";
+ break;
+ case VLC_OBJECT_HTTPD_HOST:
+ i_size = sizeof( httpd_host_t );
+ psz_type = "http server";
break;
case VLC_OBJECT_VLM:
i_size = sizeof( vlm_t );
static void httpd_ClientClean( httpd_client_t *cl );
-/* each host run in his own thread */
-struct httpd_host_t
-{
- VLC_COMMON_MEMBERS
-
- httpd_t *httpd;
-
- /* ref count */
- int i_ref;
-
- /* address/port and socket for listening at connections */
- char *psz_hostname;
- int i_port;
- int *fd;
-
- vlc_mutex_t lock;
-
- /* all registered url (becarefull that 2 httpd_url_t could point at the same url)
- * This will slow down the url research but make my live easier
- * All url will have their cb trigger, but only the first one can answer
- * */
- int i_url;
- httpd_url_t **url;
-
- int i_client;
- httpd_client_t **client;
-
- /* TLS data */
- tls_server_t *p_tls;
-};
-
struct httpd_url_t
{
httpd_host_t *host;
p_tls = NULL;
/* create the new host */
- host = vlc_object_create( p_this, sizeof( httpd_host_t ) );
+ host = vlc_object_create( p_this, VLC_OBJECT_HTTPD_HOST );
host->httpd = httpd;
vlc_mutex_init( httpd, &host->lock );
host->i_ref = 1;
struct sockaddr_storage sock;
fd = accept( fd, (struct sockaddr *)&sock, &i_sock_size );
- msg_Info( host, "Accepting" );
if( fd >= 0 )
{
int i_state = 0;
if( fd >= 0 )
{
httpd_client_t *cl;
+ char ip[NI_MAXNUMERICHOST];
stats_UpdateInteger( host, STATS_CLIENT_CONNECTIONS,
1, NULL );
stats_UpdateInteger( host, STATS_ACTIVE_CONNECTIONS, 1,
NULL );
cl = httpd_ClientNew( fd, &sock, i_sock_size, p_tls );
+ httpd_ClientIP( cl, ip );
+ msg_Dbg( host, "Connection from %s", ip );
p_tls = NULL;
vlc_mutex_lock( &host->lock );
TAB_APPEND( host->i_client, host->client, cl );