Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
evolution-data-server
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
38
Issues
38
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
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
GNOME
evolution-data-server
Commits
ba82be72
Commit
ba82be72
authored
Jun 22, 2020
by
Milan Crha
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
I#226 - CVE-2020-14928: Response Injection via STARTTLS in SMTP and POP3
Closes
#226
parent
246dfb82
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
36 additions
and
0 deletions
+36
-0
src/camel/camel-stream-buffer.c
src/camel/camel-stream-buffer.c
+19
-0
src/camel/camel-stream-buffer.h
src/camel/camel-stream-buffer.h
+1
-0
src/camel/providers/pop3/camel-pop3-store.c
src/camel/providers/pop3/camel-pop3-store.c
+2
-0
src/camel/providers/pop3/camel-pop3-stream.c
src/camel/providers/pop3/camel-pop3-stream.c
+11
-0
src/camel/providers/pop3/camel-pop3-stream.h
src/camel/providers/pop3/camel-pop3-stream.h
+1
-0
src/camel/providers/smtp/camel-smtp-transport.c
src/camel/providers/smtp/camel-smtp-transport.c
+2
-0
No files found.
src/camel/camel-stream-buffer.c
View file @
ba82be72
...
...
@@ -518,3 +518,22 @@ camel_stream_buffer_read_line (CamelStreamBuffer *sbf,
return
g_strdup
((
gchar
*
)
sbf
->
priv
->
linebuf
);
}
/**
* camel_stream_buffer_truncate:
* @sbf: a #CamelStreamBuffer
*
* Truncates any cached data in the @sbf. The next read reads
* from the stream.
*
* Since: 3.38
**/
void
camel_stream_buffer_truncate
(
CamelStreamBuffer
*
sbf
)
{
g_return_if_fail
(
CAMEL_IS_STREAM_BUFFER
(
sbf
));
sbf
->
priv
->
ptr
=
sbf
->
priv
->
buf
;
sbf
->
priv
->
end
=
sbf
->
priv
->
buf
;
sbf
->
priv
->
ptr
[
0
]
=
'\0'
;
}
src/camel/camel-stream-buffer.h
View file @
ba82be72
...
...
@@ -93,6 +93,7 @@ gint camel_stream_buffer_gets (CamelStreamBuffer *sbf,
gchar
*
camel_stream_buffer_read_line
(
CamelStreamBuffer
*
sbf
,
GCancellable
*
cancellable
,
GError
**
error
);
void
camel_stream_buffer_truncate
(
CamelStreamBuffer
*
sbf
);
G_END_DECLS
...
...
src/camel/providers/pop3/camel-pop3-store.c
View file @
ba82be72
...
...
@@ -205,6 +205,8 @@ connect_to_server (CamelService *service,
if
(
tls_stream
!=
NULL
)
{
camel_stream_set_base_stream
(
stream
,
tls_stream
);
/* Truncate any left cached input from the insecure part of the session */
camel_pop3_stream_truncate
(
pop3_engine
->
stream
);
g_object_unref
(
tls_stream
);
}
else
{
g_prefix_error
(
...
...
src/camel/providers/pop3/camel-pop3-stream.c
View file @
ba82be72
...
...
@@ -457,3 +457,14 @@ camel_pop3_stream_getd (CamelPOP3Stream *is,
return
1
;
}
void
camel_pop3_stream_truncate
(
CamelPOP3Stream
*
is
)
{
if
(
is
)
{
is
->
ptr
=
is
->
end
=
is
->
buf
;
is
->
lineptr
=
is
->
linebuf
;
is
->
lineend
=
is
->
linebuf
+
CAMEL_POP3_STREAM_LINE_SIZE
;
is
->
ptr
[
0
]
=
'\n'
;
}
}
src/camel/providers/pop3/camel-pop3-stream.h
View file @
ba82be72
...
...
@@ -87,6 +87,7 @@ gint camel_pop3_stream_getd (CamelPOP3Stream *is,
guint
*
len
,
GCancellable
*
cancellable
,
GError
**
error
);
void
camel_pop3_stream_truncate
(
CamelPOP3Stream
*
is
);
G_END_DECLS
...
...
src/camel/providers/smtp/camel-smtp-transport.c
View file @
ba82be72
...
...
@@ -323,6 +323,8 @@ connect_to_server (CamelService *service,
if
(
tls_stream
!=
NULL
)
{
camel_stream_set_base_stream
(
stream
,
tls_stream
);
/* Truncate any left cached input from the insecure part of the session */
camel_stream_buffer_truncate
(
transport
->
istream
);
g_object_unref
(
tls_stream
);
}
else
{
g_prefix_error
(
...
...
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