James Lu
47e36a9249
classes: break Irc into three classes: PyLinkNetworkCore, PyLinkNetworkCoreWithUtils, PyLinkIRCNetwork (aliased to Irc)
2017-06-15 21:38:52 -07:00
James Lu
8dae235b8d
Merge branch 'devel' into wip/irc-explosion
2017-06-15 21:13:49 -07:00
James Lu
28cb7168b1
Merge branch 'master' into devel
...
Sync README and CI configuration with master.
Conflicts:
protocols/nefarious.py
2017-06-14 07:04:15 -07:00
James Lu
7794171d62
README: update with new nightly build repositories for Debian/Ubuntu
2017-06-06 17:30:11 -07:00
James Lu
6e3e188fd6
Merge branch 'master+travis-production'
2017-06-06 17:13:41 -07:00
James Lu
f8a4f003f1
setup.py: explicitly parse README.md as markdown_github
2017-06-06 17:12:34 -07:00
James Lu
805aa52f59
travis: Move to Ubuntu 14.04; it has a newer pandoc version which better supports GitHub flavoured markdown
2017-06-06 17:12:34 -07:00
James Lu
963e8e7180
travis: rm skip_upload_docs rule
...
This doesn't seem to do anything useful?
2017-06-06 17:12:27 -07:00
James Lu
41c0191cf9
setup.py: update comments and my email
2017-06-06 12:54:48 -07:00
James Lu
d4fae02540
Irc: migrate functions to camel case
2017-06-02 23:17:14 -07:00
James Lu
8f82b92a6a
utils: add CamelCaseToSnakeCase class, which wraps missing attributes from camel case names to snake case
2017-06-02 23:16:51 -07:00
James Lu
ed33c8d580
utils: add a default to DeprecatedAttributesObject so that it works as is
2017-06-02 17:26:54 -07:00
James Lu
2217306ca1
p10: acknowledge incoming KICKs with a PART
...
Per https://github.com/evilnet/nefarious2/blob/ed12d64/doc/p10.txt#L611-L616 . This fixes autorejoin-on-kick not working with prefix modes because the remote verifies whether the KICK has been acknowledged properly. Closes #465 .
(backported from commit 1996b86e85
)
2017-06-02 09:13:52 -07:00
James Lu
f97db31533
Irc: show the current encoding setting in fullVersion()
2017-06-02 08:46:55 -07:00
James Lu
f80c5df971
control: log the start and end of rehash to INFO
2017-06-02 08:46:27 -07:00
James Lu
60a0bcdc7a
Rename config option log:stdout -> log:console
...
Closes #386 .
2017-06-02 08:42:32 -07:00
James Lu
caade5a308
log: flush the log queue AFTER setting up file loggers
...
This makes sure that messages sent during the config phase are logged to files, not just the console.
TODO: We should actually be extending this to log to IRC too...
2017-06-02 08:39:49 -07:00
James Lu
6e8f618f80
control: don't duplicate config validation
2017-06-02 08:34:59 -07:00
James Lu
9ea9f66dd7
conf: actually pass the logger object to _log in validateConf
2017-06-02 08:34:43 -07:00
James Lu
1996b86e85
p10: acknowledge incoming KICKs with a PART
...
Per https://github.com/evilnet/nefarious2/blob/ed12d64/doc/p10.txt#L611-L616 . This fixes autorejoin-on-kick not working with prefix modes because the remote verifies whether the KICK has been acknowledged properly. Closes #465 .
2017-06-02 08:09:19 -07:00
James Lu
1ce1f7b3e5
ircs2s_common: don't clobber the case of prefixmsg prefixes on RFC1459 networks
...
Fixes #464 .
2017-06-02 07:56:33 -07:00
James Lu
6ef3bab0fc
unreal: remove handle_privmsg/handle_notice override
2017-06-02 07:56:22 -07:00
James Lu
a32d937b91
Merge branch 'wip/protocol-cleanup' into devel
2017-06-02 07:40:08 -07:00
James Lu
3a934ef5b8
Merge branch 'wip/configurable-encoding' into devel
2017-06-02 07:32:07 -07:00
James Lu
b9aee6ae85
Irc: only apply encoding settings on connect
...
Changing the encoding after a connection has been established is somewhat dangerous, because it's possible to corrupt channel/user state if characters in the old encoding are no longer valid.
Also, mark this option as experimental.
2017-06-02 07:31:49 -07:00
James Lu
1ff027152a
Irc: remove outdated cert/keyfile comment
2017-05-28 20:09:26 -07:00
James Lu
2737b6bbfc
Irc: simplify _send() code and replace unencodable characters
2017-05-27 02:21:12 -07:00
James Lu
1246edaf2c
Irc: initial work on encoding support ( #101 )
2017-05-27 01:27:09 -07:00
James Lu
9ec3cccaee
example-conf: minor tweaks to the pylink: block
...
- Make the "pylink:prefixes" deprecation notice more visible
2017-05-21 20:20:03 -07:00
James Lu
297087c620
example-conf: update plugins notes
...
- Remove obsolete note about opercmds permissions
- Reword and rewrap most other descriptions
2017-05-21 20:15:48 -07:00
James Lu
69cf21c04e
Merge ts6 and p10 handle_events, handle_privmsg into ircs2s_common
2017-05-20 19:41:19 -07:00
James Lu
76ecc60675
servprotect: only track kills and saves to PyLink clients
...
why wasn't this done before...
2017-05-20 15:02:04 -07:00
James Lu
ead20f5be9
Irc: log full tracebacks when disconnecting due to an error
2017-05-16 16:30:03 -07:00
James Lu
89f9b46ec0
relay: demote "PM from server" warnings to debug
...
InspIRCd's m_chanlog.so sends these on purpose, so it's best not to warn about this "feature" endlessly...
2017-05-15 21:32:41 -07:00
James Lu
b2643a0ac8
adv-relay-conf: add a missing $
2017-05-15 17:22:58 -07:00
James Lu
a5b3011ea4
networks: clear the 'remote command used' state and break if overriding account/reply target fails
2017-05-12 19:58:03 -07:00
James Lu
cfec70730f
clientbot: reinitialize PUID generators on connect
...
Closes #448 .
2017-05-12 19:57:24 -07:00
James Lu
fd3236ddb7
Irc: fix another CPU loop on 'disconnect'
2017-05-12 19:52:40 -07:00
James Lu
084f58b499
automode: remove extraneous +'s from mode lists
...
Closes #447 .
2017-05-12 19:41:55 -07:00
James Lu
04f88df385
Actually use 'irc' in main() and die() as a keyword argument (per docs)
2017-05-12 19:19:52 -07:00
James Lu
998beb51b5
control: move plugin shutdown & pidfile cleanup routines to atexit
...
It is possible for PyLink to shutdown indirectly by disconnecting all networks. In these cases, the shutdown routines never ran at all...
2017-05-12 19:13:02 -07:00
James Lu
5b73e0a691
service_support: fix service respawn on KILL
...
(cherry picked from commit 7e51d3a7f5
)
2017-05-12 18:51:34 -07:00
James Lu
7e51d3a7f5
service_support: fix service respawn on KILL
2017-05-12 18:45:27 -07:00
James Lu
457325024a
service_support: reuse existing internal clients for service bots if one exists
...
Potential fix for #458 .
2017-05-12 18:27:54 -07:00
James Lu
daa6593534
Irc: block when the queue is empty instead of needlessly polling it
...
Rework Irc.processQueue() to block when the queue is full, and abort if the item "None" is sent to it.
To make sure that the None isn't caught by a full queue or pushed back by other elements, this modifies queue.Queue's underlying deque instance directly.
Closes #459 .
2017-05-12 17:55:24 -07:00
James Lu
06d49f4433
Revert "Irc: only disconnect the write portion of the socket"
...
This reverts commit f4babc6f28
.
2017-05-12 17:19:16 -07:00
James Lu
1bd6149ee2
Merge branch 'devel+next' into devel
2017-05-12 16:57:32 -07:00
James Lu
7daef0000b
Irc: break out of processQueue properly when a network disconnects
2017-05-09 23:31:20 -07:00
James Lu
08c0082430
protocols: rename checkCollision -> check_nick_collision() ( #454 )
2017-05-09 20:44:48 -07:00
James Lu
8f14cb238b
p10: rename checkCloakChange -> check_cloak_change (consistency) ( #454 )
2017-05-09 20:36:43 -07:00