Commit Graph

61 Commits

Author SHA1 Message Date
Alexey Sokolov
1f226d2ade Add test for #1229 and actually fix it. 2016-01-09 18:00:47 +00:00
onovy
5d6068ca9d Default SSL ciphers updated to new Mozilla recommendation 2016-01-02 17:32:30 +01:00
Falk Seidel
8f73840e74 Welcome to 2016
🎆  Happy 2016 🎆
2016-01-01 20:11:21 +01:00
Alexey Sokolov
d185d6f22d clang-format: switch tabs to spaces
I like tabs, but I have to admit that spaces make source code more
consistent, because every editor/viewer tends to render tabs differently :(
2015-12-07 00:53:30 +00:00
Alexey Sokolov
3861b6a583 Fix several comments broken by clang-format 2015-12-07 00:53:01 +00:00
Alexey Sokolov
33b0627d75 Add clang-format configuration.
For now, it uses tabs like before, to make the diff easier to read/check.
One of following commits will switch it to spaces.
2015-12-07 00:53:01 +00:00
Alexey Sokolov
582cd635f5 Fix --disable-tdns (thanks kerio) 2015-12-06 12:36:16 +00:00
Alexey Sokolov
52a4548d51 Fix style a bit. 2015-12-05 17:54:23 +00:00
Adam
47f887ce43 Add SNI client support
Close #1200
2015-12-05 17:48:13 +00:00
J-P Nurmi
38fb4cc444 Calculate per-network traffic (#963) 2015-08-22 01:27:23 +02:00
J-P Nurmi
4995e7517e Prefer StartsWith(s) over Left(n) == s 2015-08-14 13:51:44 +02:00
J-P Nurmi
d39b20b505 Fix sources to include their respective header 2015-07-14 19:05:23 +02:00
J-P Nurmi
e1ada6c643 TDNSTask & CDNSJob: use member intialization lists [-Weffc++] (#270) 2015-03-07 21:54:33 +01:00
J-P Nurmi
1d2650d450 Use member initialization lists [-Weffc++] (#270) 2015-03-01 15:00:10 +01:00
J-P Nurmi
05c96a16d1 Merge remote-tracking branch 'origin/1.6.x' 2015-03-01 09:19:01 +01:00
J-P Nurmi
75b210e841 Search'n'replace remaining NULL occurrences (#816) 2015-02-26 20:58:01 +01:00
J-P Nurmi
6002bd5c2b Remove unnecessary virtual keyword occurrences
This makes it convenient to 'grep virtual' and 'grep override' :)
2015-02-25 18:33:09 +01:00
J-P Nurmi
4935ef4d26 Fix compilation warning when HAVE_LIBSSL is not defined
Building core object Socket...
    src/Socket.cpp:30:16: warning: unused function 'ZNC_DefaultCipher' [-Wunused-function]
    static CString ZNC_DefaultCipher() {
                   ^
    1 warning generated.
2015-02-25 09:36:56 +01:00
J-P Nurmi
ef9939e1ec Add override (#816)
Changes applied by 'clang-modernize -add-override [...]'
2015-02-25 09:24:00 +01:00
J-P Nurmi
70c0ffb10b Use nullptr (#816)
Changes applied by 'clang-modernize -use-nullptr [...]'
2015-02-25 09:20:20 +01:00
Edoardo Spadolini
507f9b3392 Follow SSL Cipher Server Preference 2015-01-02 23:40:15 +01:00
Falk Seidel
2e29d49a53 Welcome to 2015 2014-12-31 11:28:38 +01:00
Alexey Sokolov
d56621f9f6 Fix modperl startup 2014-12-25 16:36:55 +00:00
Alexey Sokolov
72ca970731 Make default ciphers a bit better 2014-12-23 00:57:59 +00:00
Alexey Sokolov
8930fc4d7a Don't break IRC control characters in some encodings
Fix #577
2014-12-21 17:09:59 +00:00
Alexey Sokolov
4a5fddce7e Fix typo in comment 2014-12-15 15:52:51 +00:00
Alexey Sokolov
04148b970b Use random DNS result instead of choosing the same every time.
Fix #133
2014-12-15 14:25:03 +00:00
Alexey Sokolov
60ec923d1f Fix calculation of SSL fingerprints 2014-12-14 09:58:00 +00:00
Alexey Sokolov
e535e62390 Fix connection of SSL clients to ZNC 2014-12-02 21:42:28 +00:00
Alexey Sokolov
4442af724f Validate TLS certificate of IRC server.
Fix #156
2014-11-29 14:25:15 +00:00
Alexey Sokolov
28bee5aff3 Honor SSL ciphers in ZNC->Server connections 2014-11-26 22:31:12 +00:00
J-P Nurmi
b759c68847 Config option for SSL protocols (resolves #720)
ZNC currently disables SSLv2 and SSLv3 by default. To keep the ZNC
defaults (recommended, may change in the future versions) and for
example disable TLSv1 in addition, specify in the global config
section:

    SSLProtocols = -TLSv1

Available (case-insentive) values are:

    All, SSLv2, SSLv3, TLSv1, TLSv1.1, TLSv1.2

A non-prefixed "absolute" value overrides the ZNC defaults:

    SSLProtocols = TLSV1 +TLSv1.1 +TLSv1.2
2014-11-06 23:49:49 +01:00
J-P Nurmi
54e8b62b87 Fix #719: Disable SSL compression 2014-11-06 20:41:49 +01:00
J-P Nurmi
6ae9a439b2 Fix non-SSL build 2014-11-06 20:41:49 +01:00
J-P Nurmi
3d57ccb738 Resolve #621: Config option for allowed SSL ciphers
In the global section, for example:

    SSLCiphers = ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS

https://www.openssl.org/docs/apps/ciphers.html
https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers
2014-10-26 14:59:36 +01:00
J-P Nurmi
954f22ccc0 Disable insecure SSLv2 & SSLv3 protocols (ref #621) 2014-10-26 11:58:33 +01:00
J-P Nurmi
d98094f564 Update Csocket to 71dac61
Csocket has received a bunch of const correctness fixes. Notice that
the signature of one virtual method, Csock::ConvertAddress(), has
changed => CZNCSock has been updated accordingly.
2014-10-02 19:51:41 +02:00
Falk Seidel
f19b4caa43 Welcome to 2014 - year 10 with ZNC 2013-12-31 10:10:55 +01:00
Alexey Sokolov
b2dcad5fd4 Change ZNC license to Apache 2.0
The following people agreed with the change, in alphabetical order:
(people who approved in several ways are listed only once)
By email:
- Adam (from Anope)
- Austin Morton
- Brian Campbell
- Christian Walde
- Daniel Holbert
- Daniel Wallace
- Falk Seidel
- Heiko Hund
- Ingmar Runge
- Jim Hull
- Kyle Fuller
- Lee Aylward
- Martin Martimeo
- Matt Harper
- Michael J Edgar
- Michael Ziegler
- Nick Bebout
- Paul Driver
- Perry Nguyen
- Philippe (cycomate)
- Reuben Morais
- Roland Hieber
- Sebastian Ramacher
- Stefan Rado
- Stéphan Kochen
- Thomas Ward
- Toon Schoenmakers
- Veit Wahlich
- Wulf C. Krueger

By IRC:
- CNU
- Jonas Gorski
- Joshua M. Clulow
- Prozac/SHiZNO
- SilverLeo
- Uli Schlachter

At https://github.com/znc/znc/issues/311 :
- Alexey Sokolov
- Elizabeth Myers
- flakes
- Jens-Andre Koch
- Jyzee
- KindOne/ineedalifetoday
- Lee Williams
- Mantas Mikulėnas
- md-5
- Reed Loden

At the last few pull requests' comments:
- Allan Odgaard
- Jacob Baines
- Lluís Batlle i Rossell
- ravomavain
- protomouse

The following commits' authors didn't respond:
Trivial changes:
- f70f1086fd
- 4ca8b50e45

The changes which are not presented in master anymore:
- 5512ed2ea0
- 960a4498f7
- 0f739de2c0
- 7f53cc810b

Fix #311
Fix #218
2013-06-14 00:43:34 +04:00
Uli Schlachter
53c579b296 CJob: Add a way to do stuff on the main thread
This just moves the pipe from the socket code to the thread pool. However, now
all CJobs can use this and there is a single place for them to get deleted.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-03-15 11:58:27 +01:00
Uli Schlachter
75f2e3fa41 Add a generic threads abstraction
This should make it easier to work with threads. It provides classes for mutexes
and condition variables. Additionally, there is a special CMutexGuard that
automatically unlocks the mutex on destruction and a CThreadPool class.

This thread pool is used to replace the thread pool in the sockets code.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-03-15 11:58:22 +01:00
KindOne
2db7307ac3 Remove unneeded headers. 2013-03-08 01:47:57 +07:00
Un1matr1x
3a34593359 The same procedure as last year, Miss sophie?
Same procedure as every year, James.
2012-12-31 12:44:31 +01:00
Kyle Fuller
67299ebfa8 Fix a bunch of conversion warnings #197 2012-08-14 19:31:14 +07:00
Alexey Sokolov
cebc093254 Per-network bind hosts.
Fix #147
2012-07-19 00:59:41 +07:00
Alexey Sokolov
6bf774d853 Use INET6_ADDRSTRLEN instead of magic number 40.
Also 40 is too small, the string can be longer.
2012-04-18 21:34:23 +07:00
Alexey Sokolov
2f853bee61 A bit more debug output for tdns 2012-03-24 00:36:13 +07:00
Uli Schlachter
1dd8d9bf3e Block all signals in DNS threads
A DNS thread should never handle any kind of signal. The main thread is
responsible for handling signals and it does so without any kind of locking.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-02-19 12:26:19 +01:00
Uli Schlachter
252e6d7151 Threaded DNS: Handle spurious wakeups
As DarthGandalf noticed, POSIX allows spurious wakeups from pthread_cond_wait.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-02-19 12:13:25 +01:00
Uli Schlachter
0bdb18a427 Threaded DNS: Use a thread pool
When a DNS thread is done with its lookup, instead of existing immediately, it
now waits for another DNS lookup to do instead. This avoids the cost of
starting/stopping threads all the time.

To make sure that (for whatever reason) the number of waiting threads doesn't
get too high, threads exit if there are more than two DNS threads idling around
with nothing to do.

Fixes #132.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-02-14 20:28:28 +01:00