3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-26 20:52:45 +01:00
Commit Graph

3083 Commits

Author SHA1 Message Date
James Lu
cd244ee89b relay: block until irc.maxnicklen is set, and remove check for "nick already in use" for internal clients
Closes #48. This fixes the edge case where, if a person with a long, cut-off nick changes to another long nick, and the resulting normalized nick is the same,
normalizeNick will start incrementing the separator anyway. The correct behavior is to NOT send any nick changes if the old (normalized) nick and the new nick
match.
2015-07-15 13:53:14 -07:00
James Lu
6e37e1c05d make Irc.connected a threaded event object, setting it to True ONLY when we receive server capabilities from our uplink
The previous behavior set this to True as soon as we ran connect(), but this caused problems because the default capabilities (i.e. nicklen)
that Irc() initializes won't match the real value of the network.
2015-07-15 13:49:12 -07:00
James Lu
8d914720b3 It might be useful to expose such options in the example conf, you know 2015-07-15 11:53:07 -07:00
James Lu
293bfff813 main: thread Irc.connect() and begin work on autoreconnection 2015-07-15 11:52:36 -07:00
James Lu
bbe71e22ab relay: fixes for NICK and TOPIC propogation 2015-07-15 11:48:26 -07:00
James Lu
e3e643de54 relay: don't try to spawn clients on disconnected networks (those raise errors) 2015-07-15 11:48:03 -07:00
James Lu
4c77ad93d7 relay: fix over-reaching behavior of delink #chan <remotenet> when you're the host 2015-07-15 11:47:06 -07:00
James Lu
0918b2f958 relay: missing line in initializeChannel 2015-07-14 23:29:03 -07:00
James Lu
3a9df57c39 relay: remove unused relay() function; what was that about? 2015-07-14 23:26:56 -07:00
James Lu
5999eedd98 relay: block kills, respawning their targets transparently
Closes #47.
2015-07-14 23:26:52 -07:00
James Lu
13e4cadf2b relay: add TOPIC support (experimental)
Closes #46.
2015-07-14 23:26:39 -07:00
James Lu
67190d8329 pr/insp: send the user data of the kileld user in handle_kill 2015-07-14 23:23:35 -07:00
James Lu
46e1538bd2 relay: fix #45 - cases when MODE/KICK is sent by a server, not a client 2015-07-14 22:37:50 -07:00
James Lu
ef0436c906 inspircd: merge _sendFromUser and _sendFromServer into _send
They do exactly the same thing, just with different variable names. Keeping two of these is useless...

(why didn't I notice this earlier?)
2015-07-14 22:33:56 -07:00
James Lu
8942c2fa08 pr/insp: add kickServer 2015-07-14 22:32:05 -07:00
James Lu
7de8f1509d relay: factorize getLocalUser, introduce MODE (experimental) and PRIVMSG handler 2015-07-14 19:39:49 -07:00
James Lu
f74e704733 relay: whoops, check for claim properly 2015-07-14 18:27:26 -07:00
James Lu
28f1d4ba19 relay: add a working KICK handler
This should block kicks from non-opped remote users, and handle kicks across the relay properly by mapping our pseudoclients to the real targets.
2015-07-14 18:23:19 -07:00
James Lu
79a1ac9006 pr/insp: fix sjoinServer not updating the internal modes list 2015-07-14 18:23:15 -07:00
James Lu
876cf34825 relay: Remove spawning a sub-server for each relay network
It introduced bugs, and made the relay code more complicated than it has to be :(
2015-07-14 17:42:17 -07:00
James Lu
a1299676f1 relay: factorize fetching of remote users/SIDs, spawning them if they don't exist 2015-07-14 12:04:05 -07:00
James Lu
994b2961ee pr/insp: call endburst AFTER the server object is initialized...
derp
2015-07-14 12:03:22 -07:00
James Lu
59295f921b relay: part users on DELINK/DESTROY 2015-07-13 23:29:20 -07:00
James Lu
310a9201e2 relay: fix bugs with removing nonexistant channels in DELINK, and linking a channel multiple times in LINK 2015-07-13 22:54:51 -07:00
James Lu
1cbcec1001 relay: sync modes on initializeChannel as well 2015-07-13 22:42:50 -07:00
James Lu
c11dc769cf pr/insp: allow explicitly specifying ts in mode* 2015-07-13 22:42:33 -07:00
James Lu
c5298e3931 relay: fix joining users on initializeChannel 2015-07-13 21:46:05 -07:00
James Lu
235f169e54 relay: add quit, part, and nick handlers 2015-07-13 19:53:57 -07:00
James Lu
9bc8a35c25 relay: fix cases where a remote linked channel has different name 2015-07-13 19:46:24 -07:00
James Lu
a5e2beb566 relay: propogate prefix modes in relayJoins, if the remote net supports them 2015-07-13 18:23:58 -07:00
James Lu
d8cb3f1973 relay: spawn users on the right pseudoservers, and use SJOIN to introduce them if possible 2015-07-13 16:09:22 -07:00
James Lu
67f5bbba4b add a utils.started threaded trigger, so plugins can ACTUALLY wait until all Irc objects have been initialized to do their work 2015-07-13 16:07:55 -07:00
James Lu
a7a5688e69 pr/insp: add sjoinClient(), make auto-endburst optional for spawnServer 2015-07-13 16:06:58 -07:00
James Lu
b3528a2b04 relay: better channel initialization 2015-07-13 00:01:04 -07:00
James Lu
b3206822d2 relay: fix users being cloned on every JOIN 2015-07-12 23:31:26 -07:00
James Lu
6b9ec694b7 relay: basic JOIN handling 2015-07-12 23:28:54 -07:00
James Lu
45cef19eaa Make plugins global, not per IRC instance 2015-07-12 23:28:34 -07:00
James Lu
3c2d0dbe3f relay: (de)initialize channels using shared initialize/removechannel() 2015-07-12 19:03:18 -07:00
James Lu
0dc0770d6d relay: add LINK and DELINK commands; many fixes to checkers (WIP) 2015-07-12 17:59:09 -07:00
James Lu
6870e041bc relay: catch nicks that start with digits and add tests 2015-07-12 16:59:49 -07:00
James Lu
3edee17802 .gitignore: add *.db 2015-07-12 16:28:33 -07:00
James Lu
b538037e22 relay: add normalizeNick stub 2015-07-12 14:02:17 -07:00
James Lu
d19cabf16c pr/insp: save irc.max{nick|chan}len correctly as integers 2015-07-12 14:00:52 -07:00
James Lu
c655d975a6 pr/insp: remove isNick check in spawnClient 2015-07-12 14:00:33 -07:00
James Lu
450584b963 relay: hack in utils.schedulers so that exportDB only gets queued once globally
Previously, exportDB would be queued once by every IRC object, which was the wrong behavior!
2015-07-12 13:09:35 -07:00
James Lu
e073f21417 relay: spawn servers, raise exportDB interval to 60; use main(irc) 2015-07-11 20:21:10 -07:00
James Lu
5d5f556ee3 main: load plugins in a separate loop, and call the main() of loaded plugins if present 2015-07-11 20:21:10 -07:00
James Lu
149921ac47 main: remove incorrect usage of socket.shutdown, and raise socket timeout to something more reasonable 2015-07-11 20:21:10 -07:00
James Lu
f8a7bc6033 pr/insp: use TS6SIDGenerator in spawnServer if no SID is explicitly given 2015-07-11 20:21:10 -07:00
James Lu
e250409b46 utils: add a new TS6SIDGenerator() class, for generating SIDs based on ranges 2015-07-11 20:21:10 -07:00