Commit Graph

1712 Commits

Author SHA1 Message Date
Shivaram Lingamneni 8cadc7340a don't trim line endings in IRCStreamConn
Doesn't help if the line ends with regular \n only,
and the parser has to account for \r and \n anyway
2020-06-23 03:25:20 -04:00
Shivaram Lingamneni 28a0ec86b5 simplify Socket.Read 2020-06-23 03:25:20 -04:00
Shivaram Lingamneni 7ee7b1aab5
Merge pull request #1150 from slingamn/monitor.1
fix #1053, #1083
2020-06-22 20:25:27 -07:00
Shivaram Lingamneni 0e7557c12d
Merge pull request #1149 from slingamn/issue1059_certfp
fix #1059
2020-06-22 20:23:15 -07:00
Shivaram Lingamneni be138e4d71 make comment consistent with review fix 2020-06-22 22:34:09 -04:00
Shivaram Lingamneni 58d3d1276f review fix 2020-06-22 18:53:54 -04:00
Shivaram Lingamneni 21e604860f add an explanatory comment 2020-06-22 15:56:47 -04:00
Shivaram Lingamneni a4f9e08a85 fix #1151 2020-06-22 15:50:28 -04:00
Shivaram Lingamneni cb530050f1 fix #1053, #1083 2020-06-21 23:51:31 -04:00
Shivaram Lingamneni 97789cde7e fix #1059 2020-06-21 18:42:45 -04:00
Shivaram Lingamneni 01bd04a8ff fix #1050 2020-06-21 18:32:57 -04:00
Shivaram Lingamneni ca79da87b1 fix disabling of autoreplay-missed 2020-06-18 04:32:54 -04:00
Shivaram Lingamneni 17cd831319 fix #1144 2020-06-18 03:38:00 -04:00
Shivaram Lingamneni 91fa3b30b0 fix the corresponding bug for certfp authentication 2020-06-17 03:09:20 -04:00
Shivaram Lingamneni 9c26c45607 fix a bug in authscript fallback handling 2020-06-17 02:19:25 -04:00
Shivaram Lingamneni 114e359347 remove ldap 2020-06-17 02:15:05 -04:00
Daniel Oaks fb55cc3390 Ignore some dodgy TL strings, fix another dodgy string 2020-06-16 20:33:10 +10:00
Shivaram Lingamneni 784078d693 fix bug introduced in #1138 2020-06-16 05:10:09 -04:00
Shivaram Lingamneni 90e697f454 read device ID from SASL as well 2020-06-16 04:58:29 -04:00
Shivaram Lingamneni e61e0143bd refactor/enhance jwt signing 2020-06-15 14:34:58 -04:00
Shivaram Lingamneni bfeba1f2f3 remove client join time tracking 2020-06-15 14:34:58 -04:00
Daniel Oaks 6bee1f6d6a Review fixes 2020-06-15 14:34:58 -04:00
Daniel Oaks 4164c643e6 Remember when client joins channels, expose in EXTJWT 2020-06-15 14:34:58 -04:00
Daniel Oaks 9b998a7582 Allow custom JWT service expiry times 2020-06-15 14:34:58 -04:00
Daniel Oaks 0bbb5d121d Basic EXTJWT support 2020-06-15 14:34:58 -04:00
Shivaram Lingamneni df1be01f54 simplify lastSeen handling 2020-06-14 13:52:29 -04:00
Shivaram Lingamneni 218bea5a3e fix #843 2020-06-12 16:26:27 -04:00
Shivaram Lingamneni d33a084bb6 fix #1125 2020-06-09 18:17:48 -04:00
Shivaram Lingamneni 00e2c2816b use strings.Builder instead of bytes.Buffer where applicable 2020-06-08 23:38:10 -04:00
Daniel Oaks 48509ea852 Review fixes 2020-06-09 02:05:29 +10:00
Daniel Oaks 4535c82fd3 Review fix 2020-06-08 15:25:59 +10:00
Daniel Oaks efd3152bfb Add relayed messages to channel history 2020-06-08 15:22:41 +10:00
Daniel Oaks 4ecd7fdf43 Allow configuring relay 2020-06-08 15:17:45 +10:00
Daniel Oaks 4ee49f8450 Initial RELAYMSG implementation 2020-06-08 10:19:28 +10:00
Daniel Oaks 6426b3d6ed Copy Insp's new BOT ISUPPORT token and WHO behaviour 2020-06-07 16:11:30 +10:00
Shivaram Lingamneni 8f778c57a3 test more string cases 2020-06-04 18:40:14 -04:00
Shivaram Lingamneni cfec0721fe
Merge pull request #1111 from slingamn/shellauth.1
fix #1107
2020-06-04 07:46:23 -07:00
Shivaram Lingamneni 75e9476026 review fix 2020-06-04 02:07:39 -04:00
Shivaram Lingamneni 61738782c0 fix #1107 2020-06-04 01:21:56 -04:00
Shivaram Lingamneni e70acf4c17 fix #1108 2020-06-02 19:05:51 -04:00
Shivaram Lingamneni 0e570ba8ad fix #1078 2020-06-02 10:00:43 -04:00
Shivaram Lingamneni c14a9448cc print full git hash in RPL_INFO 2020-06-01 13:18:12 -04:00
Shivaram Lingamneni 32ee9440c8 fix #1027 2020-06-01 11:55:53 -04:00
Shivaram Lingamneni 44aebf44b7
Merge pull request #1070 from jesopo/isupport-equals
don't add trailing = to ISUPPORT tokens when value is empty string
2020-05-31 21:30:17 -07:00
Shivaram Lingamneni d4e24bbb26 bump to next development version 2020-06-01 00:27:16 -04:00
Shivaram Lingamneni 8430fec333
Merge pull request #1056 from jesopo/services-ctcp
handle CTCP VERSION, PING and TIME for services pseudo-users
2020-05-31 21:26:32 -07:00
Shivaram Lingamneni 34b2c3dc99 bump version to 2.1.0 2020-05-31 23:56:25 -04:00
Shivaram Lingamneni d7c8b96345 make a message less confusing 2020-05-31 14:01:46 -04:00
Shivaram Lingamneni 8c1bae3ea1
Merge pull request #1048 from slingamn/documentation_fixes
documentation fixes
2020-05-31 01:00:38 -07:00
Shivaram Lingamneni 805da6780d
Merge pull request #1094 from slingamn/targmax
fix #1090
2020-05-30 20:59:44 -07:00
Shivaram Lingamneni aafc89feaa Merge remote-tracking branch 'origin/master' into monoffline 2020-05-30 23:25:25 -04:00
Shivaram Lingamneni 6caa8c1df8
Merge pull request #1082 from slingamn/rplmyinfo.1
fix #1058
2020-05-30 20:17:37 -07:00
Shivaram Lingamneni 9775b7d318
Merge pull request #1081 from slingamn/restricted_nicknames
fix #1080
2020-05-30 20:16:39 -07:00
Shivaram Lingamneni 2d5faaafaa
Merge pull request #1079 from ajaspers/counts
Apply default user modes just before registration.
2020-05-30 20:15:46 -07:00
Shivaram Lingamneni 3025b5f46d fix #1090 2020-05-30 22:40:21 -04:00
Alex Jaspersen 2cb91bab04 Fix issue with one-character args in ArgsToStrings. 2020-05-30 15:45:43 +00:00
Shivaram Lingamneni 2def06b98f fix #1076 2020-05-28 18:34:43 -04:00
Shivaram Lingamneni beea32adfe fix #1058 2020-05-28 14:42:24 -04:00
Shivaram Lingamneni 1477dab604 fix #1080 2020-05-28 13:16:17 -04:00
Alex Jaspersen 0241e0c31d Apply default user modes just before registration.
Previously, we were applying defaults before the user had completed
registration. This meant that the number of invisible users was
incremented when the user connected, and then the total was incremented
when registration was completed.

Now both counters are updated at the same time. If a user disconnects
prior to registration, +i has not yet been applied so it would not be
decremented.
2020-05-28 15:53:14 +00:00
Shivaram Lingamneni 9177e785c5 add a config sanity check 2020-05-28 01:18:19 -04:00
Shivaram Lingamneni 2389a21de3 add snomask documentation 2020-05-27 09:57:27 -04:00
jesopo 5fbf9c650e isupport List.Tokens map[string]*string -> map[string]string 2020-05-27 00:16:33 +01:00
jesopo 8eee127e4d don't add trailing = to ISUPPORT tokens when value is empty string 2020-05-26 23:51:28 +01:00
Shivaram Lingamneni c1d4c5596d
Merge pull request #1063 from slingamn/history_registeredonly
fix #1061
2020-05-26 13:22:12 -07:00
Shivaram Lingamneni 82fbfd0c00 fix #1061 2020-05-26 12:57:24 -04:00
Shivaram Lingamneni 6aa9a56242 fix #1057 2020-05-26 10:56:24 -04:00
jesopo e7584233ae handle CTCP VERSION, PING and TIME for services pseudo-users 2020-05-26 13:42:28 +01:00
Alex Jaspersen b7c9fb56c2 Ignore non-privmsg commands to services.
This avoids "No such nick" responses to +draft/typing TAGMSG, etc.
2020-05-25 14:47:09 +00:00
Shivaram Lingamneni 9a555f6f30 bump to 2.1.0-rc1 2020-05-24 20:40:59 -04:00
Shivaram Lingamneni b80f92b2aa
Merge pull request #1044 from slingamn/tagmsg_fix
fix TAGMSG playback
2020-05-22 14:41:01 -07:00
Shivaram Lingamneni 2f20034bb7 fix TAGMSG playback
1. TAGMSG were incorrectly being considered multilines, because
   Is512() was checking the wrong thing
2. Playback of TAGMSG should depend on event-playback, not on message-tags
2020-05-22 12:07:53 -04:00
Alex Jaspersen e0f91f5649 /ns erase should confirm with /ns erase rather than unregister. 2020-05-22 14:44:35 +00:00
Shivaram Lingamneni 4595ed68a9
Merge pull request #1040 from slingamn/build_again.2
tweak version strings again
2020-05-21 10:49:53 -07:00
Shivaram Lingamneni 464d0be949 tweak version strings again 2020-05-21 11:42:17 -04:00
Shivaram Lingamneni c45e76460a clean up account-notify logout notification
don't need to send account-notify * (logout notification)
because either we never sent the initial account-notify
(if we are being logged out as part of fixupNickEqualsAccount)
or else we are immediately going to kill the client
(if we are being logged out as part of unregister/erase)
2020-05-21 11:14:12 -04:00
Shivaram Lingamneni 06b2cb2efc
Merge pull request #1036 from slingamn/account_persistence.3
last round of feature changes
2020-05-20 04:58:57 -07:00
Shivaram Lingamneni 5345fc35dd
Merge pull request #1032 from slingamn/history_enable
fix #1030
2020-05-20 04:33:35 -07:00
Shivaram Lingamneni ef0aa20cff fix #1035 2020-05-19 22:46:23 -04:00
Shivaram Lingamneni 4d50607c79 add persistence for user modes 2020-05-19 22:46:23 -04:00
Shivaram Lingamneni a0f4e90b7e add auto-away 2020-05-19 22:46:23 -04:00
Shivaram Lingamneni d7cdaf1a90 correct old proxiedConn name 2020-05-19 09:37:06 -04:00
Shivaram Lingamneni b2483f5cf2 fix #1030 2020-05-19 08:01:10 -04:00
Shivaram Lingamneni a95c44696f review fix 2020-05-18 12:33:26 -04:00
Shivaram Lingamneni b494c1ec35 make it clearer when rehash has completed 2020-05-18 11:37:56 -04:00
Shivaram Lingamneni bced409e78 unconditionally destroy the client on unregister
This avoids conditions where two sessions can be attached to the same client
while not logged into an account.
2020-05-18 05:39:02 -04:00
Shivaram Lingamneni df2dfb7270 HistServ is a real service now, remove special casing 2020-05-18 05:11:44 -04:00
Shivaram Lingamneni 8bebba97c3
Merge pull request #1018 from slingamn/account_notify
include account-notify in the response batch
2020-05-18 01:00:27 -07:00
Shivaram Lingamneni 922d5c58e2
Merge pull request #1025 from slingamn/plan9
fix plan9 support
2020-05-18 00:59:02 -07:00
Shivaram Lingamneni 6028953ed4
Merge pull request #1024 from slingamn/issue1020_password.3
fix #1020
2020-05-18 00:58:51 -07:00
Shivaram Lingamneni aa79706165
Merge pull request #1023 from slingamn/issue1021_modeparam
fix #1021
2020-05-18 00:58:35 -07:00
Shivaram Lingamneni 4d21d78f49 explanatory comments 2020-05-18 03:35:58 -04:00
Shivaram Lingamneni ccfc059755 fix plan9 support 2020-05-17 20:53:08 -04:00
Shivaram Lingamneni 67150bc8f7 fix #1020 2020-05-17 18:12:24 -04:00
Shivaram Lingamneni 2f9234318c fix #1021 2020-05-17 14:07:38 -04:00
Shivaram Lingamneni a397756882 fix #1019 2020-05-17 13:39:37 -04:00
Shivaram Lingamneni 855eb786af include account-notify in the response batch 2020-05-17 11:52:32 -04:00
Alex Jaspersen 3468a8cb8a Add support for Unix domain sockets.
This adds a new configuration option, socket-path, instead of using
host.
2020-05-17 05:04:03 +00:00
Shivaram Lingamneni 66561771e6
Revert "Add support for Unix domain sockets" 2020-05-17 00:30:02 -04:00
Shivaram Lingamneni 045dd89c41
Merge pull request #1013 from ajaspers/mysql
Add support for Unix domain sockets
2020-05-16 19:58:34 -07:00
Alex Jaspersen 475ec9fb24 Add support for Unix domain sockets. 2020-05-16 20:12:20 +00:00
Shivaram Lingamneni 9517adae9d make histserv replies come from histserv, not hostserv 2020-05-15 11:54:28 -04:00
Shivaram Lingamneni 8efbc4bc32 maintain lenBytes as a running count 2020-05-14 22:16:34 -04:00
Shivaram Lingamneni 2779fe7c10 fix #1005 2020-05-14 12:58:49 -04:00
Shivaram Lingamneni a46c0eed9f
Merge pull request #1004 from slingamn/vanish.4
fix #858 and #383
2020-05-14 06:54:24 -07:00
Shivaram Lingamneni 178cc0a939 review fix 2020-05-13 19:41:31 -04:00
Shivaram Lingamneni b3d7c9af62 neutral language 2020-05-13 12:12:31 -04:00
Shivaram Lingamneni de3e2e3950 review fixes 2020-05-13 11:56:17 -04:00
Shivaram Lingamneni d092f6b330 explanatory comment for CompileMasks 2020-05-13 10:07:54 -04:00
Shivaram Lingamneni be0dedf260 fix #1003 2020-05-13 06:51:15 -04:00
Shivaram Lingamneni 67f35e5c8a fix #858 and #383 2020-05-12 12:05:40 -04:00
Shivaram Lingamneni d94a0aea9a upgrade go-ident to fix parsing issue 2020-05-11 18:25:25 -04:00
Shivaram Lingamneni 2257f33efa ratify SETNAME 2020-05-11 18:11:09 -04:00
Shivaram Lingamneni 548a2f814a Merge remote-tracking branch 'origin/master' into issue996_proto.1 2020-05-11 02:04:20 -04:00
Shivaram Lingamneni 51c65f999d
Merge pull request #998 from slingamn/operator_topic
treat channel founder as such even if they don't have +q
2020-05-10 22:51:07 -07:00
Alex Jaspersen d5cec62df3 Call ApplyUserModeChanges for default user modes.
This ensures that counts like the number of invisible users are updated
correctly.
2020-05-11 05:41:40 +00:00
Shivaram Lingamneni c738a754a2 treat channel founder as such even if they don't have +q
This affects /TOPIC, /INVITE, and a few others.
2020-05-10 23:17:09 -04:00
Shivaram Lingamneni 89984f9c36 fix untrusted PROXY lines being accepted
As of 3dc5c8de78, the PROXY-before-TLS proxy line
and any proxy information carried in X-Forwarded-For
do not count as the "first line", so an additional
client-supplied PROXY line would have been accepted.
2020-05-10 19:12:18 -04:00
Shivaram Lingamneni d562c6d25a more informative IP connection logline 2020-05-10 19:04:54 -04:00
Shivaram Lingamneni 0f7d58b1c5 fix #996 2020-05-10 06:17:11 -04:00
Shivaram Lingamneni 93f1e5b5b8
Merge pull request #995 from slingamn/issue994_unknowncommand.1
fix #994
2020-05-08 13:12:16 -07:00
Shivaram Lingamneni 6f688a4644 fix #994 2020-05-08 05:50:10 -04:00
Shivaram Lingamneni 36dab4e57d review fix 2020-05-08 02:47:08 -04:00
Shivaram Lingamneni 8c74b0660b fix #952 2020-05-08 01:18:00 -04:00
Shivaram Lingamneni d187cc5512
Merge pull request #991 from ajaspers/who_invisible
Hide +i users from WHO * queries.
2020-05-07 19:09:38 -07:00
Alex Jaspersen a6e4a26cbb Performance optimization for determining friends in WHO <mask>.
Construct a hash set of the user's channels and check that rather than
querying channel membership, to reduce the number of locks that need to be
acquired.
2020-05-08 01:55:47 +00:00
Shivaram Lingamneni 17909a5db0 simplify listener rehash logic 2020-05-07 06:42:50 -04:00
Alex Jaspersen b3cfcc1289 Show users in WHO queries if they are friends, i.e. they share a channel. 2020-05-07 03:00:28 +00:00
Shivaram Lingamneni 98b91e7bdd review fix 2020-05-06 22:52:01 -04:00
Alex Jaspersen 1ef41d6020 Hide +i users from WHO * queries.
Fixes #990.
2020-05-07 00:16:22 +00:00
Shivaram Lingamneni 14bcd46588 fix #982 2020-05-06 05:56:00 -04:00
Shivaram Lingamneni b0f692e1ca
Merge pull request #984 from slingamn/issue983_bancomp
fix #983
2020-05-05 22:27:00 -07:00
Shivaram Lingamneni ab8f542c11 fix #985 2020-05-06 01:15:04 -04:00
Shivaram Lingamneni 984794eb1e fix #983 2020-05-06 01:07:06 -04:00
Shivaram Lingamneni d37af694af
Merge pull request #979 from slingamn/websockets_draft.7
websockets implementation
2020-05-05 17:54:52 -07:00
Shivaram Lingamneni c92192ef48 review fixes; add submatch support to glob 2020-05-05 17:20:55 -04:00
Shivaram Lingamneni 872fd3e77c
Merge pull request #975 from slingamn/shorten_batch_id
use shorter batch IDs
2020-05-05 03:27:43 -07:00
Shivaram Lingamneni 5ae6f6b927 fix incorrect propagation of listener errors 2020-05-05 06:25:28 -04:00
Shivaram Lingamneni 4ef6c58317 work around a chrome bug 2020-05-05 04:13:55 -04:00
Shivaram Lingamneni 620e30293d use consistent spelling of WebSocket 2020-05-05 04:07:19 -04:00
Shivaram Lingamneni 3d3aec6979 fix missing err check, thanks @eklitzke 2020-05-04 23:42:34 -04:00
Shivaram Lingamneni 3dc5c8de78 more work on websocket support 2020-05-04 23:26:51 -04:00
Alex Jaspersen b363a01a6f Read accounts and grouped nicks in same transaction. 2020-05-04 02:20:28 +00:00
Alex Jaspersen 73bea0168d Read account names and additional nicknames from the db to avoid casefolding issues. 2020-05-04 02:14:55 +00:00
Alex Jaspersen 6019ed1e29 Add ChanServ and NickServ LIST commands.
These commands search the registered nicknames/channels for ones
matching the provided regex, or return the entire list.

Only operators with chanreg (for ChanServ) or accreg (for NickServ)
capabilities can use LIST.
2020-05-04 00:51:39 +00:00
Shivaram Lingamneni 3a571f28ac use shorter batch IDs 2020-05-03 03:27:13 -04:00
Shivaram Lingamneni 25813f6d3a Merge remote-tracking branch 'origin/master' into websockets_draft.2 2020-04-30 22:16:07 -04:00
Hubert Hirtz f5930444f7 WebSocket support 2020-04-30 23:17:33 +02:00
Alex Jaspersen b3a7e5c996 Set default user modes when always-on clients reconnect.
Add default-user-modes configuration to conventional.yaml.
Fix comment on DefaultUserModes.
2020-04-30 04:38:19 +00:00
Alex Jaspersen 52910a185c Add test for ParseDefaultUserModes. 2020-04-30 03:54:18 +00:00