Commit Graph

100 Commits

Author SHA1 Message Date
Alexey Sokolov e9006634cb Merge branch '1.6.x' 2016-01-09 18:23:06 +00:00
Alexey Sokolov 5d014193b4 Don't require reconnect after changing encoding. 2016-01-09 18:18:44 +00:00
Falk Seidel 8f73840e74 Welcome to 2016
🎆  Happy 2016 🎆
2016-01-01 20:11:21 +01:00
Alexey Sokolov 16a8c77737 Replace virtual with override where possible.
Using clang-tidy
2015-12-08 20:51:50 +00: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 0d8bb7e597 Merge branch '1.6.x'
Conflicts:
	modules/cyrusauth.cpp
	modules/keepnick.cpp
	modules/notes.cpp
2015-10-30 14:56:28 +00:00
Alexey Sokolov c8edabb035 Fix memory leak when reading invalid znc.conf
Found by https://scan.coverity.com/
2015-10-30 14:36:01 +00:00
John Reese 9aff0cd566 See #1147: show new server name when jumping
This updates the connect command in *status to retrieve the next server
object before triggering the jump, thereby allowing it to display the
next server's name rather than a generic message.
2015-10-25 12:41:00 -07:00
Jos Ahrens 2c8baa8193 ExpandString %network%, alphabeticize ExpandString list 2015-10-08 21:39:02 +02:00
J-P Nurmi 6ad7cdb4a2 Resolve #818: "Got ZNC?" is a little weird real name 2015-09-20 23:22:01 +02:00
J-P Nurmi 2b18d6ee38 Merge pull request #1020 from jpnurmi/traffic
Calculate per-network traffic (#963)
2015-09-02 01:01:13 +02:00
J-P Nurmi 068d5af719 Merge branch '1.6.x' 2015-08-29 21:16:33 +02:00
J-P Nurmi d2c462ae03 Fix yet another startup failure with awaynick & simple_away
The detection whether simple_away is already on the list of loaded
modules failed when the simple_away load line contained arguments.

Close #954
2015-08-29 21:13:52 +02:00
J-P Nurmi 38fb4cc444 Calculate per-network traffic (#963) 2015-08-22 01:27:23 +02:00
J-P Nurmi d0a58ff239 Pass CMessage to buffer playback hooks 2015-08-15 13:03:56 +02:00
J-P Nurmi 8a7c79bb78 Pass known/compatible tags to clients 2015-08-15 12:33:23 +02:00
J-P Nurmi 475acd8f00 Prefer TrimPrefix() over Left() + LeftChomp() 2015-08-14 12:29:42 +02:00
J-P Nurmi 089a0fd925 Add cap-notify support
This change alone doesn’t notify any capabilities to clients, but makes
ZNC itself offer cap-notify and builds the foundations for various
notifiable capabilities, such as away-notify, can be easily added.
2015-07-05 13:33:27 +02:00
J-P Nurmi 5aa8b0dcef Fix copy ctor/assignment oper warnings of -Weffc++ (#270) 2015-03-07 21:54:33 +01:00
J-P Nurmi a5b4a29c00 Revert StripControls implementation (#850)
This reverts commits 27d78795a7 and
f27109f1b4. It was decided that the
functionality is provided by a separate module instead, to avoid
unnecessarily bloating the core.
2015-03-04 09:50:00 +01:00
J-P Nurmi bb36d40580 CIRCNetwork: use member initialization list [-Weffc++] (#270) 2015-03-01 16:03:59 +01:00
Alexey Sokolov 56f8d8eb76 Merge pull request #906 from jpnurmi/weffc++
Use member initialization lists [-Weffc++] (#270)
2015-02-28 20:29:08 -08:00
J-P Nurmi 6a6bb648d1 Use member initialization lists [-Weffc++] (#270) 2015-02-28 21:59:01 +01:00
J-P Nurmi 2b0c6e595b Restore CIRCNetwork::ClearQueryBuffer() for convenience
Originally removed when query buffers were introduced in 14a534c.
The ideal name would be plural ClearQueryBuffers() now that there
are multiple query buffers, but use the old name for compatibility
reasons (see https://github.com/kylef/znc-contrib/pull/18).
2015-02-28 20:56:02 +01:00
J-P Nurmi b6f04d4b83 CIRCNetwork: C++11 range-based for loops 2015-02-26 11:54:21 +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 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
ManiacTwister f27109f1b4 Implemented StripControls for channel messages and notices 2015-02-23 22:14:58 +01:00
J-P Nurmi 7345a6ee3a Fix CIRCNetwork::FindChans() and FindQueries() to be case-insensitive
The playback module failed to clear a buffer, because it tried to
clear "NickServ" whereas ZNC had internally stored it has "nickserv".
2015-02-19 08:45:58 +01:00
Falk Seidel 2e29d49a53 Welcome to 2015 2014-12-31 11:28:38 +01:00
Alexey Sokolov 8bc433a576 Convert fingerprint to lower case when adding it. 2014-12-14 10:33:57 +00:00
Alexey Sokolov c8f49e1da0 Merge pull request #754 from jpnurmi/ready
Add CClient::IsPlaybackActive()
2014-12-04 21:56:13 +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
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 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 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
J-P Nurmi 20c9b19328 Add CIRCNetwork::FindClient(const CString& sIdentifier) 2014-11-04 00:42:31 +01: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 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 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 fb99593f75 Allow network specific quit messages (resolves #273) 2014-09-13 23:40:22 +02:00