aboutsummaryrefslogtreecommitdiffstats
path: root/common/network
Commit message (Collapse)AuthorAgeFilesLines
* Clarify Windows SO_REUSEADDR exceptionPierre Ossman2015-04-231-1/+6
|
* Repair SO_REUSEADDRPierre Ossman2015-04-231-5/+5
| | | | | SO_REUSEADDR needs to be set before we call bind() for it to have any effect. It got shuffled around in e4d9726.
* Require getaddrinfo() on all systemsPierre Ossman2015-03-172-128/+1
| | | | | Every reasonably current system support getaddrinfo() so get rid of the legacy fallbacks.
* Do not look at errno for getaddrinfo() errorsPierre Ossman2015-03-171-2/+4
|
* Replacement for dup() on WindowsPierre Ossman2015-03-171-2/+19
| | | | It doesn't work on sockets, which require a bit more care.
* Fix proper socket headers for Win32Pierre Ossman2015-03-171-0/+6
|
* Resurrect TcpListener::getMyAddresses()Pierre Ossman2015-03-172-0/+59
| | | | | | | | | | | It is needed by WinVNC, but got removed in 892d10a70. Also fix a couple of issues: - Use getnameinfo() in order to be compatible with Windows XP - Make it static since it doesn't use a specific socket - Respect UseIPv4 and UseIPv6 - Flags for getaddrinfo() that match binding code - Dummy service value for Windows compatibility
* Make sure Win32 sockets are available in new listening APIPierre Ossman2015-03-171-0/+5
|
* AI_NUMERICSERV is not available on some systemsPierre Ossman2015-03-171-0/+5
|
* Make sure socket errno defines are available for Win32Pierre Ossman2015-03-171-0/+4
|
* family variable can be unset when matching any addressPierre Ossman2015-03-171-0/+2
|
* IPv6 support for TcpFilter.Tim Waugh2015-03-132-57/+201
|
* Fixed IPv6 support.Tim Waugh2015-03-132-139/+197
| | | | | | | | | | | | The TcpListener constructor now takes a 'struct sockaddr*' instead of a string, and the createTcpListeners function creates TcpListener instances for an address based on the results from getaddrinfo(). The XserverDesktop class now takes a list of TcpListener instances for each of the RFB and HTTP sockets. The TcpListener::closeFd member variable is not used and has been removed.
* Whitespace changes only.Tim Waugh2015-03-111-4/+4
|
* Remove unused variablesPierre Ossman2015-03-031-1/+0
|
* Handle no useful address types from getaddrinfo()Pierre Ossman2015-03-031-0/+3
|
* The compiler cannot figure out if this is assigned properlyPierre Ossman2015-03-031-0/+4
| | | | | The logic is a bit complex so we're going to have to silence the warning with this explicit assignment.
* Add parameters to force IPv4/IPv6 selectionPierre Ossman2015-01-291-1/+27
|
* IPv6: create new socket if IPv6 bind fails (#77).Tim Waugh2014-12-101-93/+90
|
* Fix setsockopt() call on WindowsPierre Ossman2014-11-191-1/+1
| | | | They use char* rather than void*, requiring a cast here.
* Protect IPv6 address strings with []Pierre Ossman2014-11-191-3/+7
| | | | | This is the format we support when converting a string to an address, so it makes sense to use them the other way around.
* Don't assume that it's IPv4 just because it's not IPv6Pierre Ossman2014-11-191-31/+32
| | | | | There might be more protocols in the future, and we might also misdetect things depending on varying IPv6 functions being missing.
* inet_ntoa() want's the address directly, not a pointer to itPierre Ossman2014-11-191-1/+1
|
* TcpSocket: IPv6 handling throughout (#68).Tim Waugh2014-11-171-19/+100
|
* Added more #ifdefs for IPv6.Tim Waugh2014-11-171-1/+11
|
* IPv6 loopback support too.Tim Waugh2014-11-121-8/+21
|
* Add IPv6 support (#68).Tim Waugh2014-11-121-17/+60
|
* Move ws2_32 dependency to the correct placePierre Ossman2014-10-171-0/+4
| | | | It is rdr and network that needs it, not vncviewer.
* Remove a lot of platform compatibilty stuffPierre Ossman2014-07-071-1/+0
| | | | It's either not used, or no longer relevant.
* Windows lacks the IN6_ARE_ADDR_EQUAL macro, so define it ourselvesPierre Ossman2012-12-131-0/+5
| | | | | | | when necessary. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5018 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Expose Linux' cork functionality which allows us to aggregate TCP data in aPierre Ossman2011-11-082-0/+12
| | | | | | | controlled manner. Unfortunately there is no equivalent for Windows. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4781 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Move setting of PIC code to a central locationDRC2011-08-231-8/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4648 3789f03b-4d11-0410-bbf8-ca57d06f2519
* CMake doesn't handle convenience libraries as nicely as autotools does. WePierre Ossman2011-08-221-0/+8
| | | | | | | need to be explicit with -fPIC here as we use these in libvnc.so. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4645 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Remove unused autotools build systemDRC2011-06-241-9/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4540 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Do not run libtool_create_control_file() on Windows. Windows does not like it.DRC2011-06-241-1/+3
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4530 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Building the Xvnc server requires libtool control files of rdr, rfb,Henrik Andersson2011-06-091-0/+2
| | | | | | | | | | | | | network and Xregion, which a cmake build will NOT produce, this macro tries to create a libtool control file *.la for the specified target with libdependencies for a static library target. Due to the automake part of Xvnc references to libtool files in source tree you need to build vncviewer using cmake in the source tree. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4482 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Windows actually has socklen_t, it's just that it is in a special header.Pierre Ossman2011-03-081-0/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4327 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Using a fixed port range with -via can cause a race condition between ↵DRC2011-02-211-10/+11
| | | | | | multiple vncviewer instances, whereby one instance calls bind() and finds the port to be free, then another instance calls bind() and finds the same port to be free, because the first instance hasn't started the SSH tunnel on it yet. This patch works around the issue by using ephemeral ports. All known modern O/S's increment the ephemeral port number by 1 after bind(), so the port is effectively "reserved" after bind(), and this prevents another vncviewer instance from trying to reserve the same port. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4303 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Remove old Visual C++ project files (use CMake to build with Visual C++)DRC2011-02-081-129/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4260 3789f03b-4d11-0410-bbf8-ca57d06f2519
* CMake build system for WindowsDRC2010-10-272-0/+5
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4171 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Do a generic check for inet_aton instead of just assuming that only Win32 hasPierre Ossman2010-02-121-2/+2
| | | | | | | the problem. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3982 3789f03b-4d11-0410-bbf8-ca57d06f2519
* [Development] Add new "-i" and "-interface" parameters to Xvnc. Now Xvnc is ableAdam Tkac2010-02-052-8/+21
| | | | | | | to listen on specific interface. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3963 3789f03b-4d11-0410-bbf8-ca57d06f2519
* [Cleanup] Remove unused Socket::getMyAddress and Socket::getMyEndpoint ↵Adam Tkac2009-12-213-30/+0
| | | | | | functions. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3930 3789f03b-4d11-0410-bbf8-ca57d06f2519
* [Bugfix] Fix crash in TcpSocket::sameMachine for IPv6 connections (alan dot ↵Adam Tkac2009-11-121-5/+19
| | | | | | coopersmith at sun dot com) git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3918 3789f03b-4d11-0410-bbf8-ca57d06f2519
* [Bugfix] Pass correct address length to connect(2) call (alan dot ↵Adam Tkac2009-10-301-1/+1
| | | | | | | | | coopersmith at sun dot com) Reference: http://www.mail-archive.com/tigervnc-devel@lists.sourceforge.net/msg00449.html git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3917 3789f03b-4d11-0410-bbf8-ca57d06f2519
* - use unix/configure.ac as top-level configure.ac baseAdam Tkac2009-09-042-3/+3
| | | | | | | | - create stub top-level Makefile.am - make common/ subtree compilable git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/branches/unified_buildsys@3892 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Revert previous commit (r3889). Windows code has to be cleaned before thisAdam Tkac2009-09-041-7/+7
| | | | | | | change. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3890 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Replace rfb::strDup by safe_strdup and remove rfb::strFree in favor of free()Adam Tkac2009-09-041-7/+7
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3889 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Revert r3657 (import of autogenerated) files.Adam Tkac2009-03-131-459/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3675 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Import autogenerated files for unix/ and common/ subdirs to make sourceAdam Tkac2009-03-111-0/+459
| | | | | | | | compilable without GNU autotools. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3657 3789f03b-4d11-0410-bbf8-ca57d06f2519