Commit Graph

3603 Commits

Author SHA1 Message Date
Alexey Sokolov
6509e26b89 Fix modpython+shared_ptr 2014-10-26 20:32:46 +00: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
1d19bac8ad Refactor chansaver (#674)
CChan now keeps track of the state. The module no longer needs to
rely on incoming messages, but can just mark whether each channel
should be kept in config or not. Cleanup things and use C++11 for
loops while we're at it...
2014-10-20 07:12:16 +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
Alexey Sokolov
8d63c5513a Merge pull request #663 from jpnurmi/awaynick
Retire the awaynick module
2014-10-18 12:45:11 +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
9576702d8a webadmin: let specify join delay for networks 2014-10-15 22:24:42 +02:00
J-P Nurmi
6877b9f88f controlpanel: get/setnetwork joindelay 2014-10-15 22:24:42 +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
Alexey Sokolov
e9ab3e2bcf Merge pull request #703 from jpnurmi/autoop
Fix #597: make autoop save added masks
2014-10-12 16:38:57 +01:00
Alexey Sokolov
241ccc1d70 Merge pull request #706 from jpnurmi/autoattach
fix #690: make autoattach a network module
2014-10-12 16:34:17 +01:00
Alexey Sokolov
a69c1463f1 Merge pull request #702 from jpnurmi/disabledchan
Write disabled status to chan config
2014-10-12 16:28:04 +01:00
Alexey Sokolov
a93cc02595 Merge pull request #701 from jpnurmi/modules-pubapi
Modules: use public API
2014-10-12 16:26:02 +01:00
J-P Nurmi
576f8d4689 fix #690: make autoattach a network module 2014-10-12 00:06:12 +02:00
J-P Nurmi
7b56f94b68 Fix #597: make autoop save added masks 2014-10-10 19:59:27 +02:00
J-P Nurmi
cd94702b92 Write disabled status to chan config 2014-10-08 23:35:06 +02:00
J-P Nurmi
1bacec1dd3 Modules: use public API
Avoid accessing protected member variables directly, so
there's a chance of cleaning up the module API later.
2014-10-06 21:51:36 +02:00
J-P Nurmi
d9ae3fa7c8 controlpanel: rename GetUser() to FindUser()
Avoids conflict with CModule::GetUser()
2014-10-06 21:50:22 +02:00
Alexey Sokolov
78ea60e226 Merge pull request #694 from jpnurmi/cleanup
Operation codebase cleanup
2014-10-05 21:52:32 +01:00
Alexey Sokolov
1dd7d9c691 Merge pull request #700 from Cajs/master
Module Description changes.
2014-10-05 21:22:28 +01:00
Cameron Stephen
e570466683 Update Grammar on Modules section of ZNC. 2014-10-05 20:31:13 +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
705e79f808 Remove redundant CWebSocket::GetModule()
CWebSocket inherits CSocket::GetModule()
2014-10-03 09:11:03 +02:00
J-P Nurmi
f67acdc7a3 cleanup superfluous semi-colons 2014-10-03 09:10:49 +02:00
Alexey Sokolov
51a62250ca Merge pull request #696 from jpnurmi/csocket
Update Csocket to 71dac61
2014-10-03 07:59:46 +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
Kyle Fuller
cf633ee435 [log] $WINDOW should be last because it could contain %
Thanks to @NuclearW for spotting
2014-09-30 18:28:20 +01: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
Alexey Sokolov
df2afd5189 Merge pull request #686 from jpnurmi/string
CString improvements
2014-09-29 23:39:42 +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