3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-18 16:12:43 +01:00
Commit Graph

2805 Commits

Author SHA1 Message Date
James Lu
37d8e8ad43 Irc: break protocol-agnostic [dis]connect code into _pre/_post functions (#371) 2017-06-16 16:53:23 -07:00
James Lu
2a978c498e Rename PyLinkIRCNetwork -> IRCNetwork
The "PyLink" prefix is sort of redundant here...
2017-06-15 21:55:08 -07:00
James Lu
c4f6d626d5 Drop Irc prefix from IrcServer/User/Channel classes 2017-06-15 21:54:40 -07:00
James Lu
d98d522387 Move Irc.runline => PyLinkNetworkCore.parse_protocol_command 2017-06-15 21:45:04 -07:00
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