Commit Graph

420 Commits

Author SHA1 Message Date
Alexey Sokolov
d56621f9f6 Fix modperl startup 2014-12-25 16:36:55 +00:00
Mikaela Suomalainen
963ecf6753 src/Utils.cpp: don't lie to --makepem
I removed C, ST, L and O as certificate would be fine with just CN too
and the other variables are get from environment correctly.
2014-12-23 11:31:27 +02:00
Alexey Sokolov
60367fb2bf Provide DH parameters in --makepem 2014-12-23 09:02:22 +00:00
Alexey Sokolov
5c72c8232f Show fingerprints with colons 2014-12-23 00:58:59 +00:00
Alexey Sokolov
72ca970731 Make default ciphers a bit better 2014-12-23 00:57:59 +00:00
Alexey Sokolov
012bb6e134 Make self-signed cert with SHA-256 in --makepem 2014-12-23 00:55:39 +00:00
Alexey Sokolov
2aa6c7e1d9 Merge pull request #775 from DarthGandalf/table
Wrap lines in CTable
2014-12-22 15:18:15 +00:00
Alexey Sokolov
79d33925c4 Update Csocket to f3267e4cb21ba5b83c15da75f52706253817ddab
* Fix SSL crash. Thanks to kerio for reporting it.
2014-12-22 15:08:50 +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
bd9450b99e Webadmin: Add GUI for character encoding 2014-12-21 17:08:41 +00:00
Alexey Sokolov
86e5ca3fd3 Update Csocket to 7c9c6ef676818457a952c2bda478ce7e27a928bf
* Add encoding mode which reads UTF-8 and something else, but sends UTF-8
* Expose encoding conversion error callbacks to subclasses
2014-12-21 17:07:29 +00:00
James Taylor
6720eec669 Update Csocket to jimloco/Csocket@09b6430dba
Fixes build failures under musl, an alternative libc, due to
incompatibilities with GLIBC specific code. Also fixes Issue #776
2014-12-18 11:31:32 +00:00
Alexey Sokolov
606ed8312d Wrap lines in CTable
See #743
2014-12-17 15:03:39 +00:00
Alexey Sokolov
2ee19fd415 Make wording of JumpNetwork's help a bit clealer 2014-12-16 21:59:30 +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
7fc918c2e6 Update Csocket to 60a71941eac8e4b5728abd82deb95db4668345be
It fixes crash on SSL renegotiation if Csock object was swapped with
another one
2014-12-14 16:40:46 +00:00
Alexey Sokolov
8bc433a576 Convert fingerprint to lower case when adding it. 2014-12-14 10:33:57 +00:00
Alexey Sokolov
60ec923d1f Fix calculation of SSL fingerprints 2014-12-14 09:58:00 +00:00
J-P Nurmi
a32413c213 Update Csocket to 3cc03c2 (fixes #765)
> Test that SSL_OP_NO_COMPRESSION is defined
2014-12-10 18:09:30 +01:00
Alexey Sokolov
c8f49e1da0 Merge pull request #754 from jpnurmi/ready
Add CClient::IsPlaybackActive()
2014-12-04 21:56:13 +00:00
Alexey Sokolov
e535e62390 Fix connection of SSL clients to ZNC 2014-12-02 21:42:28 +00:00
Alexey Sokolov
6d7458c678 Merge branch 'ssl' 2014-12-02 21:24:49 +00:00
J-P Nurmi
efe1e1ee91 Add CClient::IsPlaybackActive()
To let modules know whether a client is currently in playback mode.
The clientbuffer module (#343) wants to update "last seen message"
timestamps in OnSendToClient() but it must avoid doing that while
in playback mode.
2014-12-01 11:47:24 +01:00
Alexey Sokolov
4442af724f Validate TLS certificate of IRC server.
Fix #156
2014-11-29 14:25:15 +00:00
Alexey Sokolov
73d71cc388 Merge pull request #756 from jpnurmi/timestamp
Pass timestamp to playline hooks
2014-11-29 11:27:25 +00:00
Alexey Sokolov
f611894116 Merge pull request #760 from jpnurmi/attach
Fix #759 - channels cannot be reattached
2014-11-27 22:46:48 +00:00
J-P Nurmi
80b799cec0 Pass timestamp to playline hooks
This allows implementing timestamp-based (eg. client specific - #343)
filtering of playback buffers. For clients that don't support server-time,
getting an accurate timestamp out of a raw buffer playline is impossible.
2014-11-27 20:45:35 +01:00
Alexey Sokolov
28bee5aff3 Honor SSL ciphers in ZNC->Server connections 2014-11-26 22:31:12 +00:00
Alexey Sokolov
c94a8137de Update Csocket to 5746796ca55d21fa185caf7c58d015f650b77768 2014-11-26 21:36:17 +00:00
J-P Nurmi
4a31ec57de Fix #759 - channels cannot be reattached
This was a regression caused by aed1d61 :(
2014-11-26 12:34:47 +01:00
Alexey Sokolov
1b7c637dbd Merge pull request #753 from jpnurmi/listclients
ListClients: add identifier column
2014-11-20 20:53:50 +00:00
Alexey Sokolov
e2a4ebf838 Merge pull request #751 from jpnurmi/csocket
Update Csocket to b5185dc
2014-11-19 23:25:32 +00:00
Alexey Sokolov
eedeb07cfe Merge pull request #752 from jpnurmi/findclients
Replace CIRCNetwork::FindClient() with FindClients()
2014-11-19 21:42:53 +00:00
J-P Nurmi
d308d727f7 Replace CIRCNetwork::FindClient() with FindClients()
FindClient() is not enough, because there are no restrictions to used
identifiers. They don't necessarily need to be unique, and the same
identified client might re-connect meanwhile a ghost connection is
still hanging there.
2014-11-19 19:12:22 +01:00
J-P Nurmi
dd9c2b70d3 Update Csocket to b5185dc
> Fix IsConnected() to return false when Disconnected() gets called
2014-11-19 19:11:50 +01:00
J-P Nurmi
f4dc03b125 ListClients: add identifier column 2014-11-12 10:22:34 +01:00
J-P Nurmi
aed1d61a98 Revise CChan::JoinUser() & AttachUser()
The old AttachUser() that sent JOIN without topic or names replies
would leave clients in incomplete/broken state. JoinUser() was doing
two things; depending on passed arguments it was either joining user
on the channel on IRC, or attaching clients (properly). Now JoinUser()
joins the user on IRC, and AttachUser() attaches as expected from the
method names.
2014-11-10 22:24:34 +01:00
Alexey Sokolov
24a72d9a32 Merge branch 'lambda' 2014-11-08 16:39:41 +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
c8ea3d3875 Update Csocket to 1d7e685
> Extend EDisableProtocol
> missing ifdef for non-ssl
> added ability to disable compression
> added new callbacks for Certificate Verification and Handshake completion
> added SNI support for client and server, cleanup some of the certificate verification callback code
2014-11-06 20:40:42 +01:00
J-P Nurmi
20c9b19328 Add CIRCNetwork::FindClient(const CString& sIdentifier) 2014-11-04 00:42:31 +01:00
J-P Nurmi
8d77faa260 Allow clients to specify an ID via PASS or USER
- PASS [user[@identifier][/network]:]password
- USER user[@identifier][/network] ...

NOTE: There's a slight ambiguosity with the '@' character, which happens
to be a valid character in usernames, but also acts as a marker for the
identifier. Therefore, '@' is considered as part of the username if it's
followed by non-word characters (as in an email address), otherwise as
a marker for an identifier.

This is only an enabler for #343. The rest can be done with modules:
- managing client ID specific playback buffers
- filtering channels based on the client ID

The reason this should be part of ZNC core is that only global modules
have access to OnUnknownUserRaw(), which is needed to capture USER/PASS.
First of all, the aforementioned modules shouldn't be global. Furthermore,
it would be possible to have only one module that parsed and removed the
client ID so that ZNC core woulnd't choke.
2014-11-04 00:42:28 +01:00
J-P Nurmi
382ce76ded Add self-message support
https://github.com/ircv3/ircv3-specifications/blob/master/extensions/self-message-3.2.md
2014-11-02 16:59:17 +01:00
J-P Nurmi
8fdf51dfeb Fix CNick::Parse()
If the mask started with ':', the following '!' was included to nick.
2014-11-01 13:17:32 +01:00
J-P Nurmi
b822ea8e16 Fix #725: CHTTPSock memory leak - missing deflateEnd() call 2014-10-29 00:19:40 +01:00
Alexey Sokolov
6109c7d317 Merge pull request #714 from jpnurmi/clientcmd
Make Detach, EnableChan and DisableChan accept multiple channels
2014-10-26 22:44:11 +00:00
Alexey Sokolov
c1dc3e83d2 Support lambdas in module commands 2014-10-26 22:09:24 +00:00