Commit Graph

4514 Commits

Author SHA1 Message Date
J-P Nurmi
2880368825 Merge pull request #1055 from jpnurmi/onctcpreplymessage
Add missing CModules::OnCTCPReplyMessage()
2015-09-03 20:11:38 +02:00
J-P Nurmi
81e6d0bbf2 Don't require network for OnUserXxxMessage() hooks
- OnUserJoinMessage()
- OnUserPartMessage()
- OnUserTopicMessage()
- OnUserActionMessage()
- OnUserCTCPMessage()

Supersedes #503
2015-09-02 23:46:05 +02:00
J-P Nurmi
2a40c355f4 Fix #1022: Status and module commands not echoed back to client 2015-09-02 20:15:15 +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
a79acacfad Add missing CModules::OnCTCPReplyMessage() 2015-09-02 00:51:05 +02:00
J-P Nurmi
453401eef4 Implement CClient::HandleCap() using CMessage (ref #1013) 2015-09-02 00:08:43 +02:00
J-P Nurmi
491fb50045 Cleanup MessageTest
Use CMessage::Parse(), which wasn't public when the tests were
originally written, to avoid the ugly static_casts.
2015-09-01 23:37:22 +02:00
J-P Nurmi
64e39aca88 Merge pull request #1049 from kerio92/appel_du_vide
Add an %empty% substitution in ExpandString that expands to the empty string.
2015-09-01 22:14:29 +02:00
J-P Nurmi
d9479189ea Merge branch '1.6.x' 2015-09-01 21:41:05 +02:00
Jos Ahrens
0b32da4ccc Always try to delete an uppercase CTCP response in DelCtcpReply
AddCtcpReply always adds an CTCP response in uppercase, it is only fair we do the same in DelCtcpReply
2015-09-01 21:37:14 +02:00
J-P Nurmi
99349e20c9 Merge pull request #1031 from jpnurmi/user-hooks
Implement OnUserXxxMessage(CXxxMessage&) module hooks
2015-09-01 21:13:06 +02:00
J-P Nurmi
448acbe0eb Fix custom CTCP replies (close #1052) 2015-08-31 23:20:43 +02:00
Alexey Sokolov
2de616925d Travis: don't notify efnet
[skip ci]
2015-08-30 23:56:37 +01:00
Alexey Sokolov
e911c3b57a Merge pull request #1051 from ChasedSpade/controlpanel-syntax
ControlPanel: Move syntax of GetNetwork and SetNetwork
2015-08-30 23:39:07 +01:00
J-P Nurmi
94055c1c82 Add ModulesTest
Just a simple unit test for CModules that checks that the legacy hooks
get called and any modifications flow back to the original CMessage
object as appropriate.
2015-08-31 00:24:30 +02:00
J-P Nurmi
31ba15d686 CClient::ReadLine(): use CMessage 2015-08-31 00:24:30 +02:00
J-P Nurmi
e5b7f2c6df Make CBufLine hold a CMessage internally 2015-08-31 00:24:30 +02:00
Chris Tyrrel
c2626f6052 ControlPanel: Move syntax of GetNetwork and SetNetwork 2015-08-30 11:19:21 -06:00
J-P Nurmi
f1dead9ff3 Add OnUserXxxMessage(CXxxMessage) module hooks 2015-08-30 15:50:12 +02:00
J-P Nurmi
82375eed65 Add CMessage::Clone()
Due to (intentional) lack of CFooMessage::operator=(CMessage), it was
a bit clumsy to do such copy-conversions:

    CMessage Copy = Message;
    CJoinMessage& JoinMsg = static_cast<CJoinMessage&>(Copy);
    // ...

vs.

    CJoinMessge JoinMsg;
    JoinMsg.Clone(Message);
    // ...

Alternatively, copy ctor(CMessage) and assignment operator=(CMessage)
could have been added to all CMessage subclasses. I've been trying to
avoid that, to make these operations very explicit. It has helped a
lot so far by preventing accidental copies.
2015-08-30 15:50:12 +02:00
J-P Nurmi
de4ffb180c Add JoinMessage::GetKey() & SetKey()
This will be useful for implementing the upcoming OnUserJoinMessage()
module hook, that is allowed to modify the key.
2015-08-30 15:50:12 +02:00
J-P Nurmi
55385a5d58 Add CTargetMessage: a base class for "targeted" priv/chan messages
This will be useful for implementing the upcoming OnUserXxxMessage()
module hooks, that are allowed to modify the message target.
2015-08-30 15:50:12 +02:00
J-P Nurmi
320abef756 Merge CChanMessage & CPrivMessage to... CTextMessage
This naming is a bit hairy. I chose CTextMessage because this type of
message carries a text argument. Alternatively, it could be also called
CPrivateMessage, because the IRC protocol calls it PRIVMSG. On the other
hand, ZNC module hooks use the "Priv" naming convention for private
messages. It would look a bit weird to have OnChanMsg(CPrivMessage)...

More details and reasoning of the merge in the previous commit message.
2015-08-30 15:50:12 +02:00
J-P Nurmi
3976651c35 Merge CChan+PrivAction, CChan+PrivCTCP, CChan+PrivNotice
OnUserAction(), OnUserCTCP(), and OnUserNotice() don't separate private
private and channel messages. A module could even redirect a message by
modifying its target, so technically, if they were two distinct types,
the type of a message could change on the way.

The original reason for the separation was that at some point during
CMessage development, GetChan() didn't exist in CPrivXxx, but only in
CChanXxx message types. To achieve cleaner implementation, the getter
was later promoted to CMessage and made return nullptr for non-channel
specific messages. From this point of view, the separation is also no
longer necessary since the CPrivXxx and CChanXxx types are API-wise
identical with each other.
2015-08-30 15:50:12 +02:00
Alexey Sokolov
8f655ac179 Merge pull request #1050 from Mkaysi/contributing
CONTRIBUTING.md: ask for unmodified ZNC
2015-08-30 13:51:40 +01:00
Mikaela Suomalainen
6ef189d397 CONTRIBUTING.md: ask for unmodified ZNC
Specify unmodified ZNC in case the issue is caused by modified ZNC (such
as
the SSL certificate validation check removal or firre webadmin theme
(see znc/znc#384 where after fixing patches have reintroduced it)).

<s>Thanks to @kerio92 & @Zarthus for wording suggestions.</s>
DarthGandalf reworded it.

[CI SKIP]
2015-08-30 15:49:01 +03:00
Edoardo Spadolini
39d373c971 Add an %empty% substitution in ExpandString that expands to the empty string.
This can be useful in various situations, for instance for quit messages.
2015-08-29 23:33:10 +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
Alexey Sokolov
eac0af1d7b Travis: in last commit I reordered 2 builds for some reason... Fix it.
[skip ci]
2015-08-28 22:51:11 +01:00
Alexey Sokolov
30dab0e911 Travis: try to simplify matrix config
[skip appveyor]
2015-08-28 22:02:16 +01:00
Alexey Sokolov
ceb1c5ec27 Move test which requires modules to be installed to a separate target 2015-08-27 23:05:08 +01:00
J-P Nurmi
0ecc0d464f Make params optiona for the CMessage(CNick, CString, ...) ctor
Also fixes the build for Clang <= 3.4, broken by 9a7df7c.
2015-08-27 13:21:45 +02:00
J-P Nurmi
37cd61a667 Fix CMessage to prefix also empty last params with a colon 2015-08-27 12:33:47 +02:00
J-P Nurmi
9a7df7cbbe MessageTest: test also CMessage(CNick, CString, ...) 2015-08-27 12:31:57 +02:00
Alexey Sokolov
bfc91dde40 Travis: run make test after make install 2015-08-27 00:29:38 +01:00
Alexey Sokolov
2124aacd11 Travis: --base-directory isn't really needed for lcov
[skip appveyor]
2015-08-27 00:20:55 +01:00
Alexey Sokolov
c8a89ec432 Open modules during make test. 2015-08-27 00:16:35 +01:00
Alexey Sokolov
b83f32fdcb Travis: Fix coverage build. Now it finally works.
[skip appveyor]
2015-08-26 23:10:40 +01:00
Alexey Sokolov
aafc06e793 Travis: fix typo 2015-08-25 23:28:28 +01:00
Alexey Sokolov
c0e1b09e8e Travis: use gcc for coverage instead of clang 2015-08-25 23:21:45 +01:00
Alexey Sokolov
06e52945b7 Travis: coverage should be gathered from the right directory 2015-08-25 22:47:07 +01:00
Alexey Sokolov
c1de36a0a5 Enable test coverage in travis+coveralls 2015-08-25 22:35:33 +01:00
Alexey Sokolov
9688727f32 Add a possibility (not an "option") to disable launch after --makeconf
See #257
2015-08-24 21:22:14 +01:00
Andreas Lutro
3a3155f9d5 make adminlog path customizable
Close #1001
2015-08-24 20:12:15 +01:00
Alexey Sokolov
f63c3131eb Add AppVeyor and Bountysource badges to top of readme...
Close #574
2015-08-23 23:26:53 +01:00
reality
c95621dc48 Extend awaystore with -chans option, which records channel hilights to the awaystore as well as only PMs.
Close #851
2015-08-23 22:33:55 +01:00
Toon Schoenmakers
03e3920ced Add options for log module to hide joins, quits and nick changes.
Fix #601
Close #613
2015-08-23 21:20:36 +01:00
Alexey Sokolov
1a574f95ae Merge pull request #978 from alprs/log-timestamp
log: Add -timestamp option (cont.)
2015-08-23 20:38:42 +01:00
Andreas Lutro
c2201a59d6 work on log module argument parsing 2015-08-23 20:17:44 +02:00