| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
There were not many uses of this left after the move to std::exception
and the move to the core library. Let's get rid of the last stragglers
and reduce the risk of name collisions.
|
|
|
|
|
| |
OS abstractions are generic enough that we can merge these with the new
core library.
|
|
|
|
|
| |
It's just string helper functions here, so let's get rid of the
catch-all name for this module.
|
|
|
|
|
|
|
| |
Make it clearer what is protocol handling and what is just general
plumbing.
This is one step of several.
|
|
|
|
|
|
|
| |
Make it clearer what is protocol handling and what is just general
plumbing.
This is one step of several.
|
|
|
|
|
|
|
| |
Make it clearer what is protocol handling and what is just general
plumbing.
This is one step of several.
|
|
|
|
|
|
|
| |
Make it clearer what is protocol handling and what is just general
plumbing.
This is one step of several.
|
|
|
|
|
| |
This is a network function, so it makes more sense in the network
library.
|
|
|
|
|
| |
Make compile times faster by reducing the number of headers included in
other headers.
|
|
|
|
|
|
|
|
| |
The system shutdown() function doesn't drop buffered data, so neither
should we.
We had one fix in place, but that didn't cover all cases. Move this
handling to all socket like classes we have.
|
| |
|
|\ |
|
| |
| |
| |
| | |
The reason for this is to keep a consistency through out the project.
|
| |
| |
| |
| |
| | |
This makes things more consistent since we mix with the standard library
exceptions so often.
|
| |
| |
| |
| |
| | |
Use the more specific already included exception classes for common
errors to keep things more understandable.
|
|/
|
|
|
| |
In preparation for using the built in C++ exception classes, which do
not accept a format string.
|
|
|
|
|
|
| |
Socket APIs are used in more places than the abstraction in
common/network. Make it easier to use this exception class by putting
it in a more common place.
|
|
|
|
|
| |
It's a source of confusion and possibly bugs to reuse the same variable
name for multiple things.
|
|
|
|
|
| |
Use the new "override" keyword to properly differentiate between new
virtual methods, and existing virtual methods being overridden.
|
|
|
|
|
| |
It's more readable than 0, and a bit safer than NULL, so let's try to
follow modern norms.
|
|
|
|
|
|
|
| |
Move these RFB specific things to rfb::VNCServer, for clarity.
Signed-off-by: Pierre Ossman <ossman@cendio.se>
Signed-off-by: Carlos Santos <casantos@redhat.com>
|
|
|
|
|
|
| |
Don't assume a lack of TCP listeners means the server will be
unreachable. There might be other methods of access, so let the higher
levels do that sanity check instead.
|
|
|
|
|
| |
It is more specific, and it properly sets up propagation when include
directories also need to be used further down a dependency chain.
|
|
|
|
|
| |
This is important in case there are build flags that need to propagate
between libraries for things to build correctly.
|
|
|
|
|
| |
This matches the naming in STL, which is what we are mostly mimicing now
that we are using std::string for these functions.
|
|
|
|
|
| |
Let's use a more common type instead of something homegrown. Should be
more familiar to new developers.
|
|
|
|
|
|
|
| |
Get rid of all the magical re-allocation and shuffling and instead just
return a new set of strings that is fully splitted. Will consume a bit
more memory, but is a lot safer to use as there is less confusion about
ownership of memory.
|
|
|
|
|
|
| |
We mostly use classical C strings, but the memory management around them
can get confusing and error prone. Let's use std::string for the cases
where we need to return a newly allocated string.
|
|
|
|
|
|
| |
A blank string might be very confusing, depending on where this will be
used. Let's give something more visible back in the cases where we
cannot get the proper name for the peer.
|
|
|
|
|
|
|
|
|
| |
This mimics how some system functions (like inet_ntop()) work, and
avoids complexity around ownership of the returned string buffer.
The downside is that the string must be consumed directly as it will be
overwritten on the next call, but that is not an issue with the current
usage.
|
|
|
|
|
| |
Avoid complicating things by moving things in to a second buffer here as
there is no need for it.
|
|
|
|
|
| |
Modern cmake has better support for adding source files and libraries
incrementally, so let's use that to clean things up.
|
|\ |
|
| |
| |
| |
| |
| | |
The principle can be used in a more general fashion than just TCP
streams.
|
| |
| |
| |
| | |
For readability.
|
| |
| |
| |
| |
| | |
We handled this in the failure scenario, but not in the vastly more
common successful case.
|
|/ |
|
|
|
|
|
|
|
|
| |
Created a new subclass of Exception called GAIException() that will
handle error messages from getaddrinfo() instead of letting Exception()
handle it. GAIException() will make use of gai_strerror() to map the
error code to text. On Windows, gai_strerrorW() must be used if the text
is encoded with UTF-8.
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
It doesn't belong on each socket server object as timers are global.
Force implementations to call the Timer system directly instead,
avoiding any middle men.
|
|/
|
|
|
| |
It is functionality specific to WinVNC, so move the code there
to make things more clear.
|
| |
|
| |
|
|
|
|
| |
Patch originally by Dag-Erling Smørgrav for University of Oslo.
|
|
|
|
|
| |
Makes the code more general and not directly tied to specifically
TCP sockets.
|
|
|
|
|
|
| |
This makes it possible to create a derived class from Socket which is
not TCP based, without having VNCSConnectionST.cxx trying to call
setsockopt() on a non-socket.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix warnings emitted by Clang:
/home/shade/dev/tigervnc/common/rdr/FdInStream.h:30:9: error: 'rdr::FdInStreamBlockCallback' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
class FdInStreamBlockCallback {
^
In file included from /home/shade/dev/tigervnc/common/network/TcpSocket.cxx:44:
In file included from /home/shade/dev/tigervnc/common/network/TcpSocket.h:31:
/home/shade/dev/tigervnc/common/network/Socket.h:82:9: error: 'network::ConnectionFilter' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
class ConnectionFilter {
^
..etc
|