James Lu
25d24e9bb2
Use non-blocking sockets again, since Linux select() doesn't guarantee that recv() won't block
2018-04-12 10:58:09 -07:00
James Lu
bbc7a981ba
example-conf: tweak some more defaults for clarity
...
(cherry picked from commit 66ec3d9755
)
Conflicts:
example-conf.yml
2018-04-10 22:31:24 -07:00
James Lu
c82b12d9d6
example-conf: clarify nick/ident setting on clientbot
...
(cherry picked from commit 170d793939
)
2018-04-10 22:29:43 -07:00
James Lu
c7159b9cad
core: move clearing channels on kick/part to coremods/handlers
...
This is for consistency with the rest of the state cleanup code.
2018-04-07 22:44:00 -07:00
James Lu
16faac83eb
core: delete empty permanent channels when -P is set on them
2018-04-07 22:38:19 -07:00
James Lu
6bcf7d325f
PyLinkNetworkCore: add get_service_option()
...
Closes #574 .
2018-04-07 22:20:35 -07:00
James Lu
138a52611e
classes: oops, actually tell the queue thread to abort before we wait for it to stop
2018-04-07 22:12:17 -07:00
James Lu
80cbd7a257
classes: make disconnections more synchronized
...
- Make ping timer abort instantly if the network is dead
- Shut down the read and write parts of the socket separately, and only close the socket once both parts are done.
2018-04-07 21:56:10 -07:00
James Lu
84dbca4bda
classes: thread socket connects once more since they block
2018-04-07 21:56:06 -07:00
James Lu
655221491c
ServiceBot: log access denials to warning - closes #593
2018-04-07 20:22:55 -07:00
James Lu
0202d88124
PyLink 1.3-beta1
2018-04-07 16:40:24 -07:00
James Lu
66ec3d9755
example-conf: tweak some more defaults for clarity
2018-04-07 15:44:44 -07:00
James Lu
170d793939
example-conf: clarify nick/ident setting on clientbot
2018-04-07 15:37:42 -07:00
Austin Ellis
3266e1a430
plugins/automode: fix SETACC example ( #507 )
...
Small fix to plugins/automode SETACC example given in help output.
(cherry picked from commit fa0dd100e5
)
2018-04-07 15:16:10 -07:00
James Lu
c33f7437ef
Rename servers::<netname>::server_suffix -> servers::<netname>::relay_server_suffix
...
(cherry picked from commit f75b1eb356
)
Conflicts:
example-conf.yml
plugins/relay.py
2018-04-04 12:44:14 -07:00
James Lu
5339ddcf08
example-conf: reword description for servers::<netname>::relay_forcetag_nicks
...
(cherry picked from commit ba4e0aed85
)
2018-04-04 12:40:28 -07:00
James Lu
95f806dc46
relay: allow defining server-specific nicks to always tags
...
Closes #564 .
(cherry picked from commit 60c05af9ed
)
Conflicts:
example-conf.yml
2018-04-04 12:40:01 -07:00
Mitchell Cooper
3e16469b25
allow realname to be specified the same way
...
(cherry picked from commit a1dfa14d20
)
Conflicts:
coremods/service_support.py
example-conf.yml
2018-04-04 12:35:48 -07:00
Mitchell Cooper
95dbacdba6
allow host to be specified in service bot block or per-network
...
(cherry picked from commit 33630e8f9d
)
2018-04-04 12:32:58 -07:00
Mitchell Cooper
8200d92d23
relay: add server-specific server_suffix ( closes #462 ) ( #484 )
...
(cherry picked from commit c92bb1e33b
)
Conflicts:
example-conf.yml
2018-04-04 12:30:02 -07:00
James Lu
f75b1eb356
Rename servers::<netname>::server_suffix -> servers::<netname>::relay_server_suffix
2018-04-03 17:43:02 -07:00
James Lu
7586989763
classes: really quash duplicate disconnect calls as much as possible
2018-03-31 11:53:50 -07:00
James Lu
d6952f0361
handlers: fix names of state cleanup function
...
Where did "stats cleanup" even come from?!
2018-03-31 00:09:30 -07:00
James Lu
ac4296b56b
README: the Ubuntu nightlies PPA is no longer supported for trusty / 14.04
...
[skip ci]
2018-03-31 00:00:30 -07:00
James Lu
57d7a70933
launcher: mention that -c is explicitly kept as a no-op for PyLink <= 1.2.x
...
(cherry picked from commit c0a061eff3
)
Conflicts:
launcher.py
2018-03-30 23:52:19 -07:00
James Lu
c0a061eff3
launcher: mention that -c is explicitly kept as a no-op for PyLink <= 1.2.x
2018-03-30 23:44:47 -07:00
James Lu
b14f52b547
unreal: bump protocol version to 4017 (no changes needed)
...
(cherry picked from commit a2783d74c5
)
2018-03-30 23:41:27 -07:00
James Lu
481561f972
control: don't spew "Stopping plugins" notices if none are loaded
...
(cherry picked from commit d818c17072
)
2018-03-30 23:27:38 -07:00
James Lu
7dec2d15db
launcher: daemonize and write PID file only after reading control options (-s/-R/-r)
...
(cherry picked from commit b9a66244f0
)
2018-03-30 23:24:41 -07:00
James Lu
b9a66244f0
launcher: daemonize and write PID file only after reading control options (-s/-R/-r)
2018-03-30 23:23:10 -07:00
James Lu
2ddb0ee18f
launcher: add experimental daemonization support
...
Closes #187 .
(cherry picked from commit 0b0da2cfe6
)
2018-03-30 23:07:30 -07:00
James Lu
7d5d5a385e
control: handle SIGUSR1 as well as SIGHUP as rehash
...
This is used by the backported launcher for rehash.
2018-03-30 23:06:58 -07:00
James Lu
b5735702f7
Backport the launcher as of commit 8321485315
to 1.3
...
This adds support for stale PID file checking (#182 ), as well as the --rehash/--stop/--restart options
2018-03-30 23:06:01 -07:00
James Lu
79ff9f23fb
setup: update PyPI classifiers
...
- Declare Python 3.6 support
- Change development status to Production/Stable
(cherry picked from commit dbc9d1690d
)
2018-03-30 22:44:31 -07:00
James Lu
58e6527719
Irc: don't abort on BlockingIOError, ssl.SSLWantReadError, ssl.SSLWantWriteError
...
This effectively merges in the following 2.0 commits:
- "IRCNetwork: do not break on socket BlockingIOError" 6a90e99de4
- "IRCNetwork: also catch ssl.SSLWantReadError and ssl.SSLWantWriteError" ccc9f8e5c8
- "IRCNetwork: bump SOCKET_REPOLL_WAIT to 1 sec" 92460716d1
This fixes one part of #463 .
2018-03-30 12:24:01 -07:00
James Lu
c54bb557dd
relay: only look up nick once in normalize_nick
...
(cherry picked from commit ec8f744449
)
Conflicts:
plugins/relay.py
2018-03-30 12:14:48 -07:00
James Lu
78b515144f
Bump VERSION to 1.3-dev
...
[skip ci]
2018-03-30 12:09:01 -07:00
James Lu
9d21a5269f
relay: speed up shutdowns by not manually splitting off every relay server
...
The connection will soon be gone anyways, so this is fairly pointless.
2018-03-30 12:06:45 -07:00
James Lu
c978e1c52f
relay: fix a typo: CLIENTBOT_WHITELISTED_UMODES -> CLIENTBOT_WHITELISTED_CMODES
2018-03-30 12:01:38 -07:00
James Lu
310ad345a3
SECURITY: normalize account names before checking network / oper filters
...
(cherry picked from commit a6c1beaad0
)
2018-03-30 11:59:29 -07:00
James Lu
22efe1384c
_login: tweak error message: opered up => opered
...
(cherry picked from commit 557f1578bc
)
Conflicts:
coremods/corecommands.py
2018-03-30 11:58:50 -07:00
James Lu
a6c1beaad0
SECURITY: normalize account names before checking network / oper filters
2018-03-30 11:55:29 -07:00
James Lu
557f1578bc
_login: tweak error message: opered up => opered
2018-03-30 11:55:29 -07:00
James Lu
79143a1e40
Allow limiting login blocks to opers & certain hosts
...
Closes #502 .
(backported from commit f439267129
)
This also fixes the previous commit "Allow specifying login blocks that are local to certain networks" for 1.3.
2018-03-30 11:35:45 -07:00
James Lu
c5970ba26d
Allow specifying login blocks that are local to certain networks
...
(cherry picked from commit 8059f3f7fc
)
2018-03-30 11:35:45 -07:00
James Lu
1fbe3c6891
relay: sync whitelisted mode lists with 2.0-alpha3
2018-03-30 11:21:15 -07:00
James Lu
209fa9722c
inspircd: move definitions for cmodes +J and +E to kicknorejoin_insp and repeat_insp
...
These use InspIRCd specific arguments which don't map cleanly to other IRCds. #559
(cherry picked from commit ec3b230eab
)
2018-03-30 11:20:41 -07:00
James Lu
597685d77c
relay_clientbot: fix @#channel messages not being treated as channel-specific
...
This is a lighter version of the more comprehensive fix in 2.0[1], which
depends on reworked STATUSMSG handling in relay.
[1]: https://github.com/GLolol/PyLink/commit/57334183
2018-03-30 11:14:56 -07:00
James Lu
a24d4d5b9c
example-conf: sort clientbot ex. options so that cb-specific ones are at the end
...
(backported from commit 0c2927fb1e
)
2018-03-30 11:00:53 -07:00
James Lu
59d52920f3
example-conf: revise the example servers: section
...
- Remove "8P#" as a sidrange default - it does not leave adequate room for larger networks
- Move the TS6 example to near the end; it has less demand than Unreal and P10
- Consistently use "must" to describe P10 cloaking options, where any misconfiguration will lead to serious desyncs
- Bumped example autoconnect times from 5 to 10 seconds
- Add the 'netname' option to server blocks that previously didn't include it
- Comment out the 'channels' setting on each server example by default
- Various wording clarifications
(backported from commit 390b7a327a
)
2018-03-30 11:00:53 -07:00