Commit Graph

418 Commits

Author SHA1 Message Date
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
Alexey Sokolov e337cb433d Merge commit 'refs/pull/665/head' of github.com:znc/znc 2014-10-26 12:17:31 +00:00
Alexey Sokolov 4e79702142 Merge commit 'refs/pull/716/head' of github.com:znc/znc 2014-10-26 11:56:15 +00:00
Alexey Sokolov 4562f1c67b Merge commit 'refs/pull/705/head' of github.com:znc/znc 2014-10-26 11:44:35 +00:00
J-P Nurmi 954f22ccc0 Disable insecure SSLv2 & SSLv3 protocols (ref #621) 2014-10-26 11:58:33 +01:00
J-P Nurmi 9a8786377b Update Csocket to aefa339
> Support ECDHE exchange if available in OpenSSL
> add openssl's fix for POODLE bug in server mode.
> Give Csocket consumers the ability to disable less desirable protocols
2014-10-26 11:53:18 +01:00
J-P Nurmi ba64324a39 Introduce patch level version number for bug fix releases
The patch level version number is ignored in module and config
version compatibility checks. Radically simplified, bug fix
releases shall not touch the headers nor change the config file.
2014-10-20 07:45:58 +02:00
J-P Nurmi c424bd7aca CChan: keep track of the state
Make CChan keep track of the channel key, and schedule saving of the
config file when appropriate. This is more robust than trying to do
it from within the chansaver module.
2014-10-20 07:11:38 +02:00
J-P Nurmi 206c149f48 Scheduling of quiet vs. verbose config saving
Rename the current ECONFIG_NEED_WRITE to ECONFIG_NEED_VERBOSE_WRITE
as it always broadcasts the result for SIGUSR1, even on success.
Keep ECONFIG_NEED_WRITE for cases where the config should be written
without a notification of success.
2014-10-20 06:55:02 +02:00
Alexey Sokolov a888d38511 Merge pull request #704 from jpnurmi/joindelay
Configurable join delay
2014-10-19 23:57:22 +01:00
J-P Nurmi 14e09e1a10 Retire awaynick (resolves #661)
== built-in awaynick ==

debug output on startup:

    [ .. ] Loading network module [awaynick]...
    [ !! ] Module [awaynick] aborted: retired module - see http://wiki.znc.in/awaynick
    [ .. ] Loading network module [simple_away] instead...
    [ >> ] [/Users/jpnurmi/znc/lib/znc/simple_away.so]

loadmod client command:

    <jpnurmi> loadmod awaynick
    <*status> Module [awaynick] aborted: retired module - see http://wiki.znc.in/awaynick

webadmin description:

    retired module - see http://wiki.znc.in/awaynick

webadmin load attempt:

    Unable to load module [awaynick] [Module [awaynick] aborted:
    retired module - see http://wiki.znc.in/awaynick]

== external awaynick ==

znc-buildmod:

    $ znc-buildmod awaynick.cpp
    Building "awaynick.so" for ZNC 1.5... [ ok ]

debug output on startup:

    [ .. ] Loading network module [awaynick]...
    [ >> ] [/Users/jpnurmi/.znc/modules/awaynick.so]

loadmod client command:

    <jpnurmi> loadmod awaynick
    <*status> Loaded module [awaynick] [/Users/jpnurmi/.znc/modules/awaynick.so]

webadmin description:

    Change your nick while you are away
2014-10-18 12:12:43 +02:00
J-P Nurmi 2286291d6b Add CUser::LoadModule() helper
Makes it easier to retry loading replacement modules when
loading retired modules fail.
2014-10-18 12:11:26 +02:00
J-P Nurmi 78a0331daa CIRCNetwork: add support for join delay (resolves #586) 2014-10-15 22:24:39 +02:00
J-P Nurmi eaf2d737d7 Add CIRCNetwork::LoadModule() helper
Makes it easier to retry loading replacement modules when
loading retired modules fail.
2014-10-14 22:17:52 +02:00
J-P Nurmi 5206e71bdb Fix CModules::LoadModule() return message handling
[ >> ] This is an example[This is an example] [/path/to/mod.so]

becomes:

[ >> ] This is an example [/path/to/mod.so]
2014-10-14 22:17:52 +02:00
J-P Nurmi cd94702b92 Write disabled status to chan config 2014-10-08 23:35:06 +02:00
J-P Nurmi ef4caae6d1 const correctness fixes 2014-10-03 09:14:12 +02:00
J-P Nurmi 4fe249280e Fix GetClients() const correctness
It’s dangerous to give a non-const reference to an internal
container that the API users are not supposed to modify.
2014-10-03 09:11:03 +02: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
Alexey Sokolov 213c3839a8 Merge pull request #693 from jpnurmi/tags
Valueless & escaped message tags
2014-09-29 23:53:55 +01:00
Alexey Sokolov 0b22831958 Merge pull request #681 from jpnurmi/setuservars
Fix #680 - make channels follow user-level settings when appropriate
2014-09-29 23:46:38 +01:00
Alexey Sokolov f4b8f69660 Merge pull request #689 from NuclearW/multitarget-notice+privmsg
Handle multi-receiver NOTICE and PRIVMSG
2014-09-29 23:41:14 +01:00
J-P Nurmi 6457bd6dc1 Fix #680 - make channels follow user-level settings when appropriate 2014-09-30 00:34:01 +02:00
J-P Nurmi e20ac1a31e Add CString::Contains() for convenience
This is more convenient and readable than comparing Find() to npos,
which is a common task:

$ git grep "find(" | grep "npos" | wc -l
49
2014-09-30 00:15:34 +02:00
J-P Nurmi 5507e9a290 Add CString::Find() with case sensitivity support 2014-09-30 00:15:22 +02:00
J-P Nurmi 92c9a2e6ae Escape message tag values (ref #684) 2014-09-30 00:02:22 +02:00
J-P Nurmi 65f739980d CString::Starts/EndsWith(): allow specifying case sensitivity 2014-09-29 16:41:07 +02:00
J-P Nurmi e86f43d841 Introduce CaseSensitivity enum class
The enum is a bit more verbose, but leads to more readable code:

str.Equals("foo", true)
// vs.
str.Equals("foo", CString::CaseSensitive)

Deprecate the old Equals() and leave out the length parameter
from the new version => use StartsWith() or StrCmp() instead.
2014-09-29 16:30:45 +02:00
J-P Nurmi 615801c40e Fix valueless message tags (closes #684) 2014-09-29 14:06:41 +02:00
NuclearW ecac78691e Handle multi-receiver NOTICE and PRIVMSG
This changes znc to handle multi-receiver messages in the same way it handles multi-channel join or parts.  This will ensure that no more than one target is ever given to a module for any given call.
2014-09-28 16:46:12 -04:00
NuclearW 73b6936d6d Add ircv3.2 batch and batch channel and query buffer playback. 2014-09-28 14:57:06 -04:00
Alexey Sokolov eb244ad2f5 Merge pull request #669 from jpnurmi/help
Allow wildcards in help command args
2014-09-13 23:41:56 +01:00
J-P Nurmi fb99593f75 Allow network specific quit messages (resolves #273) 2014-09-13 23:40:22 +02:00
J-P Nurmi 2901225ff3 Tell user about no help filter matches
It's confusing if misspelled command gives no reply at all.
2014-09-13 22:48:21 +02:00
J-P Nurmi 69e65ea45e Allow wildcards in help command args
Supports the help command for *status, all modules that are using
CModCommand as appropriate, and *controlpanel get/set variables.
2014-09-13 22:46:54 +02:00
J-P Nurmi 6d08bc60cf Fix #664: Custom CTCP will leak the real reply 2014-09-13 12:58:10 +02:00
Uli Schlachter 7704bc49d7 client auth: Switch from CSmartPtr to std::shared_ptr
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-09-12 15:12:46 +02:00
Uli Schlachter 3953185b04 WebModules: Switch from CSmartPtr to std::shared_ptr
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-09-12 14:55:42 +02:00
Uli Schlachter 67d22c8e42 CTemplate: Switch from CSmartPtr to std::shared_ptr
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-09-12 14:47:47 +02:00
J-P Nurmi e45aa48a91 makeconf: limit the upper bound for allowed port to 65534
Safari/WebKit: "Not allowed to use restricted network port"
2014-09-09 00:01:08 +02:00
J-P Nurmi fec4d20ace makeconf: revise the output and reduce the noise
Long "would you like ZNC to..." questions are slow to read.
Use short and pithy prompts, and try to fit the line width to
less than 80 characters. Furthermore, Remove Word Capitalization.
2014-09-08 23:36:58 +02:00
J-P Nurmi 2d868a892c makeconf: offer freenode by default 2014-09-08 23:32:20 +02:00
J-P Nurmi 1c72af7d2d makeconf: change the channel input loop to a one-liner
The "would you like to add a channel?" ... "would you like to add
another channel?" loop is very verbose and slow to use. This proposal
makes it a simple one-liner where the user can enter a bunch of chans
using any combination of space/comma/semi-colon as a separator, or
just hit enter to proceed without channels...
2014-09-08 23:10:20 +02:00
J-P Nurmi b1451a28c4 makeconf: one admin user is enough to get started
Webadmin is more convenient and enabled by default since 7387f00.
2014-09-08 22:47:32 +02:00
J-P Nurmi bc2c7d0c98 makeconf: one network is enough to get started
Webadmin is more convenient and enabled by default since 7387f00.
2014-09-08 16:52:04 +02:00
J-P Nurmi 44c3a04462 makeconf: one server is enough to get started
Webadmin is more convenient and enabled by default since 7387f00.
2014-09-08 16:52:04 +02:00
J-P Nurmi 40aa1bb34d makeconf: promote webadmin 2014-09-07 22:57:13 +02:00
J-P Nurmi 25609ec0bb makeconf: improve alternate location handling 2014-09-07 22:57:12 +02:00
J-P Nurmi 6ec56778e5 makeconf: just warn if the config exists
Don’t require typing yes to continue, it’s inconvenient.
2014-09-07 22:57:12 +02:00
J-P Nurmi a489304a0e makeconf: offer SSL by default if the port is 6697 2014-09-07 22:57:12 +02:00