Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
4d907c94
Commit
4d907c94
authored
Aug 11, 2003
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* httpd: added HEAD command support.
parent
5e422b1f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
13 deletions
+35
-13
modules/misc/httpd.c
modules/misc/httpd.c
+35
-13
No files found.
modules/misc/httpd.c
View file @
4d907c94
...
...
@@ -2,7 +2,7 @@
* httpd.c
*****************************************************************************
* Copyright (C) 2001-2003 VideoLAN
* $Id: httpd.c,v 1.2
4 2003/07/10 22:37
:02 fenrir Exp $
* $Id: httpd.c,v 1.2
5 2003/08/11 20:18
:02 fenrir Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
...
...
@@ -23,6 +23,9 @@
/*****************************************************************************
* Preamble
*
* TODO:
* - make that two distinct host:port use different daemon
*****************************************************************************/
#include <stdlib.h>
#include <vlc/vlc.h>
...
...
@@ -134,8 +137,11 @@ struct httpd_host_t
};
#define HTTPD_AUTHENTICATE_NONE 0
#define HTTPD_AUTHENTICATE_BASIC 1
enum
httpd_authenticate_e
{
HTTPD_AUTHENTICATE_NONE
=
0
,
HTTPD_AUTHENTICATE_BASIC
=
1
};
//typedef httpd_file_t httpd_stream_t;
...
...
@@ -171,14 +177,22 @@ struct httpd_file_t
};
#define HTTPD_CONNECTION_RECEIVING_REQUEST 1
#define HTTPD_CONNECTION_SENDING_HEADER 2
#define HTTPD_CONNECTION_SENDING_FILE 3
#define HTTPD_CONNECTION_SENDING_STREAM 4
#define HTTPD_CONNECTION_TO_BE_CLOSED 5
enum
httpd_connection_state_e
{
HTTPD_CONNECTION_RECEIVING_REQUEST
=
1
,
HTTPD_CONNECTION_SENDING_HEADER
=
2
,
HTTPD_CONNECTION_SENDING_FILE
=
3
,
HTTPD_CONNECTION_SENDING_STREAM
=
4
,
HTTPD_CONNECTION_TO_BE_CLOSED
=
5
};
enum
httpd_connection_method_e
{
HTTPD_CONNECTION_METHOD_GET
=
1
,
HTTPD_CONNECTION_METHOD_POST
=
2
,
HTTPD_CONNECTION_METHOD_HEAD
=
3
};
#define HTTPD_CONNECTION_METHOD_GET 1
#define HTTPD_CONNECTION_METHOD_POST 2
typedef
struct
httpd_connection_s
{
struct
httpd_connection_s
*
p_next
;
...
...
@@ -247,7 +261,9 @@ static void httpd_Thread( httpd_sys_t *p_httpt );
static
void
httpd_ConnnectionNew
(
httpd_sys_t
*
,
int
,
struct
sockaddr_in
*
);
static
void
httpd_ConnnectionClose
(
httpd_sys_t
*
,
httpd_connection_t
*
);
static
int
httpd_UnbanIP
(
httpd_sys_t
*
,
httpd_banned_ip_t
*
);
#if 0
static int httpd_BanIP( httpd_sys_t *, char *);
#endif
static
httpd_banned_ip_t
*
httpd_GetbannedIP
(
httpd_sys_t
*
,
char
*
);
/*****************************************************************************
...
...
@@ -1123,7 +1139,7 @@ static int httpd_page_404_get( httpd_file_callback_args_t *p_args,
return
VLC_SUCCESS
;
}
#if 0
static int httpd_BanIP( httpd_sys_t *p_httpt, char * psz_new_banned_ip)
{
httpd_banned_ip_t *p_new_banned_ip ;
...
...
@@ -1167,7 +1183,7 @@ static int httpd_BanIP( httpd_sys_t *p_httpt, char * psz_new_banned_ip)
p_httpt->i_banned_ip_count++;
return 0;
}
#endif
static
httpd_banned_ip_t
*
httpd_GetbannedIP
(
httpd_sys_t
*
p_httpt
,
char
*
psz_ip
)
{
httpd_banned_ip_t
*
p_ip
;
...
...
@@ -1444,6 +1460,10 @@ static void httpd_ConnectionParseRequest( httpd_sys_t *p_httpt, httpd_connection
{
p_con
->
i_method
=
HTTPD_CONNECTION_METHOD_POST
;
}
else
if
(
!
strcmp
(
command
,
"HEAD"
))
{
p_con
->
i_method
=
HTTPD_CONNECTION_METHOD_HEAD
;
}
else
{
/* unimplemented */
...
...
@@ -1563,6 +1583,7 @@ search_file:
if
(
!
strcmp
(
p_httpt
->
file
[
i
]
->
psz_file
,
p_con
->
psz_file
)
)
{
if
(
p_httpt
->
file
[
i
]
->
b_stream
||
p_con
->
i_method
==
HTTPD_CONNECTION_METHOD_HEAD
||
(
p_con
->
i_method
==
HTTPD_CONNECTION_METHOD_GET
&&
p_httpt
->
file
[
i
]
->
pf_get
)
||
(
p_con
->
i_method
==
HTTPD_CONNECTION_METHOD_POST
&&
p_httpt
->
file
[
i
]
->
pf_post
)
)
{
...
...
@@ -1871,7 +1892,7 @@ static void httpd_Thread( httpd_sys_t *p_httpt )
p_con
->
i_buffer
=
0
;
FREE
(
p_con
->
p_buffer
);
if
(
!
p_con
->
p_file
->
b_stream
)
if
(
!
p_con
->
p_file
->
b_stream
||
p_con
->
i_method
==
HTTPD_CONNECTION_METHOD_HEAD
)
{
p_con
->
i_state
=
HTTPD_CONNECTION_SENDING_FILE
;
// be sure to out from HTTPD_CONNECTION_SENDING_HEADER
if
(
p_con
->
i_method
==
HTTPD_CONNECTION_METHOD_GET
)
...
...
@@ -1888,6 +1909,7 @@ static void httpd_Thread( httpd_sys_t *p_httpt )
}
else
{
/* HTTPD_CONNECTION_METHOD_HEAD for example */
p_con
->
p_buffer
=
NULL
;
p_con
->
i_buffer_size
=
0
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment