Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
Commits
3ac615a7
Commit
3ac615a7
authored
Dec 19, 2015
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
https: fix HTTP 1.x error handling
parent
8349fac7
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
10 deletions
+21
-10
modules/access/http/h1conn.c
modules/access/http/h1conn.c
+21
-10
No files found.
modules/access/http/h1conn.c
View file @
3ac615a7
...
...
@@ -122,9 +122,12 @@ static void vlc_h1_conn_destroy(struct vlc_h1_conn *conn);
static
void
*
vlc_h1_stream_fatal
(
struct
vlc_h1_conn
*
conn
)
{
msg_Dbg
(
CO
(
conn
),
"connection failed"
);
vlc_tls_Close
(
conn
->
conn
.
tls
);
conn
->
conn
.
tls
=
NULL
;
if
(
conn
->
conn
.
tls
!=
NULL
)
{
msg_Dbg
(
CO
(
conn
),
"connection failed"
);
vlc_tls_Close
(
conn
->
conn
.
tls
);
conn
->
conn
.
tls
=
NULL
;
}
return
NULL
;
}
...
...
@@ -169,6 +172,11 @@ static struct vlc_http_msg *vlc_h1_stream_wait(struct vlc_http_stream *stream)
size_t
len
;
int
minor
;
assert
(
conn
->
active
);
if
(
conn
->
conn
.
tls
==
NULL
)
return
NULL
;
char
*
payload
=
vlc_https_headers_recv
(
conn
->
conn
.
tls
,
&
len
);
if
(
payload
==
NULL
)
return
vlc_h1_stream_fatal
(
conn
);
...
...
@@ -180,7 +188,7 @@ static struct vlc_http_msg *vlc_h1_stream_wait(struct vlc_http_stream *stream)
free
(
payload
);
if
(
resp
==
NULL
)
return
NULL
;
return
vlc_h1_stream_fatal
(
conn
)
;
assert
(
minor
>=
0
);
...
...
@@ -195,7 +203,7 @@ static struct vlc_http_msg *vlc_h1_stream_wait(struct vlc_http_stream *stream)
/* FIXME: tokenize, check if chunked is _last_ */
str
=
vlc_http_msg_get_header
(
resp
,
"Transfer-Encoding"
);
if
(
(
str
!=
NULL
)
&&
strcasestr
(
str
,
"chunked"
))
if
(
str
!=
NULL
&&
strcasestr
(
str
,
"chunked"
))
{
assert
(
conn
->
content_length
==
UINTMAX_MAX
);
stream
=
vlc_chunked_open
(
stream
,
conn
->
conn
.
tls
);
...
...
@@ -215,6 +223,11 @@ static block_t *vlc_h1_stream_read(struct vlc_http_stream *stream)
struct
vlc_h1_conn
*
conn
=
vlc_h1_stream_conn
(
stream
);
size_t
size
=
2048
;
assert
(
conn
->
active
);
if
(
conn
->
conn
.
tls
==
NULL
)
return
NULL
;
if
(
size
>
conn
->
content_length
)
size
=
conn
->
content_length
;
if
(
size
==
0
)
...
...
@@ -243,13 +256,11 @@ static void vlc_h1_stream_close(struct vlc_http_stream *stream, bool abort)
struct
vlc_h1_conn
*
conn
=
vlc_h1_stream_conn
(
stream
);
assert
(
conn
->
active
);
conn
->
active
=
false
;
if
(
abort
)
{
vlc_tls_Close
(
conn
->
conn
.
tls
);
conn
->
conn
.
tls
=
NULL
;
}
vlc_h1_stream_fatal
(
conn
);
conn
->
active
=
false
;
if
(
conn
->
released
)
vlc_h1_conn_destroy
(
conn
);
...
...
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