Commit Graph

928 Commits

Author SHA1 Message Date
Shivaram Lingamneni 10d4f77638 fix PROXY protocol support for IPv6
1. Handle PROXY lines with IPv6 addresses starting with ::
(similar to WEBIRC in issue #211)

2. Strip v6 mapping from v4 addresses when handling proxied IPs.
2018-09-03 00:38:32 -04:00
Shivaram Lingamneni 0e5842b33a fix #211 2018-08-28 19:28:49 -04:00
Shivaram Lingamneni c3d197f4ff make unix domain socket permissions configurable 2018-08-28 19:28:49 -04:00
Shivaram Lingamneni 831969f1f0
Merge pull request #292 from slingamn/nilreceivers
re-add nil receiver for ModeSet.HasMode
2018-08-27 23:56:28 -04:00
Shivaram Lingamneni c72a84e49f
Merge pull request #284 from slingamn/passhashing.1
new password hashing technique
2018-08-27 23:55:54 -04:00
Shivaram Lingamneni 86836905b3 re-add nil receiver for ModeSet.HasMode 2018-08-23 10:30:28 -04:00
Daniel Oaks 1fd63672f3
Merge pull request #290 from slingamn/rpl330.1
Fix a bug in 330 RPL_WHOISACCOUNT
2018-08-20 16:48:38 +10:00
Shivaram Lingamneni ac08ce0f20 move ChannelOperator check into hasPrivs helper 2018-08-17 16:22:32 -04:00
Shivaram Lingamneni a18283e2de fix a crash when SAMODE'ing in a channel you're not joined to 2018-08-17 12:44:49 -04:00
Shivaram Lingamneni 1fb9bd7208 Fix a bug in 330 RPL_WHOISACCOUNT
According to https://defs.ircdocs.horse/defs/numerics.html, 330 RPL_WHOISACCOUNT
takes 4 parameters: `<client> <nick> <authname> :<info>`. We were omitting
the second parameter (the target nick).

Also refactor locking.
2018-08-17 11:45:32 -04:00
Shivaram Lingamneni cbc2b07d35 Merge remote-tracking branch 'origin/master' into passhashing.2 2018-08-15 13:02:05 -04:00
Shivaram Lingamneni a2c2419084 remove stackimpact 2018-08-14 23:26:43 -04:00
Shivaram Lingamneni 6eda236eab remove allow-multiple-per-connection 2018-08-14 22:50:20 -04:00
Shivaram Lingamneni b45b863fc4 unregister capab was renamed to accreg, but i missed this occurrence 2018-08-14 22:48:06 -04:00
Shivaram Lingamneni a4546c418b fix miscounting in LUSERS 2018-08-08 17:56:12 -04:00
Shivaram Lingamneni 7cd5b8473c fix a bug in CS UNREGISTER 2018-08-06 10:08:58 -04:00
Shivaram Lingamneni 578ca2fdf6 add support for service command aliases 2018-08-06 10:08:58 -04:00
Shivaram Lingamneni 3c12fb6254 fix #283 (remove unnecessary log.Fatal)
The server should never crash during rehash, even if the config is invalid.
2018-08-06 10:08:58 -04:00
Shivaram Lingamneni eb5f2c1db9 fix webirc password handling 2018-08-06 04:55:39 -04:00
Shivaram Lingamneni dfb0a57040 refactor the password hashing / password autoupgrade system 2018-08-06 02:26:21 -04:00
Daniel Oaks 6260869068 Upgrade password hashing.
Previously, we generated and prepended a long salt before generating
password hashes. This resulted in the hash verification cutting off long
before it should do. This form of salting is also not necessary with
bcrypt as it's provided by the password hashing and verification
functions themselves, so totally rip it out.

This commit also adds the functionality for the server to automagically
upgrade users to use the new hashing system, which means better
security and more assurance that people can't bruteforce passwords.

No need to apply a database upgrade to do this, whoo! \o/
2018-08-05 22:51:15 -04:00
Shivaram Lingamneni 7154f14781 move handling of RecoverFromErrors into LoadConfig 2018-07-16 04:08:24 -04:00
Shivaram Lingamneni 1383190249 refactor rehash to rely more on server.config 2018-07-16 03:46:40 -04:00
Shivaram Lingamneni 318da22448 simplify CAS logic a bit 2018-07-02 16:33:39 -04:00
Daniel Oaks 6ba741814d
Merge pull request #275 from slingamn/confirmations.1
some tweaks to account/channel unregistration
2018-07-02 16:00:49 +10:00
Shivaram Lingamneni 1e513a717c expand bitset tests 2018-06-27 17:42:39 -04:00
Shivaram Lingamneni a1bbe0c7f2 review fix 2018-06-25 22:55:50 -04:00
Shivaram Lingamneni 2a33c1483b atomic bitset implementations of caps.Set and modes.ModeSet 2018-06-25 18:17:47 -04:00
Shivaram Lingamneni cdbb369a9c add benchmarks for caps.Set 2018-06-25 16:41:13 -04:00
Shivaram Lingamneni 02a4aaf583 some tweaks to account/channel unregistration 2018-06-19 04:03:40 -04:00
Shivaram Lingamneni c3b66b5236 add a verification code to CS UNREGISTER 2018-06-05 05:23:36 -04:00
Shivaram Lingamneni 31f386f5a9 add CHANSERV UNREGISTER 2018-06-04 05:02:22 -04:00
Daniel Oaks 7bf18443a8
Merge pull request #270 from slingamn/amode.1
frontend for persistent account modes in channels
2018-05-30 21:27:28 +10:00
Daniel Oaks 45b8d9e6fa Update snomask to work with HOPM 2018-05-29 03:21:48 +10:00
Shivaram Lingamneni 495705f538 implement SAJOIN, allow channel founders to join unconditionally 2018-05-25 02:47:50 -04:00
Shivaram Lingamneni d3815fbe61 review fixes and updates 2018-05-25 00:38:20 -04:00
Shivaram Lingamneni 7122fb180c add a test 2018-05-23 16:18:53 -04:00
Shivaram Lingamneni 1016f86f70 implement CHANSERV AMODE 2018-05-23 16:00:49 -04:00
Shivaram Lingamneni f408d0f37b review fix: add nil receivers to other read-only ModeSet methods 2018-05-23 15:50:04 -04:00
Shivaram Lingamneni 0751f52f37 fix #268 2018-05-22 04:23:33 -04:00
Daniel Oaks f142bf065d services: Explicitly show when commands have been disabled in the HELP output 2018-05-19 09:00:22 +10:00
Daniel Oaks de7b679fc5
Merge pull request #247 from slingamn/vhosts.3
initial vhosts implementation, #183
2018-05-19 08:51:16 +10:00
Daniel Oaks 8227822d3e
Merge pull request #264 from slingamn/deps.1
reduce copying of output lines
2018-05-04 23:13:56 +10:00
Shivaram Lingamneni 510f4320d0 fix formatting issue 2018-05-04 04:28:01 -04:00
Shivaram Lingamneni f6373f7a4d fix #262 2018-05-04 00:29:16 -04:00
Shivaram Lingamneni be588076e9 optimize IsLoggingRawIO 2018-05-01 06:00:39 -04:00
Shivaram Lingamneni 3150f4e23b reduce copying of output lines 2018-05-01 05:23:40 -04:00
Shivaram Lingamneni ebfef1e848 add Semaphore and ServerSemaphores 2018-04-26 06:03:10 -04:00
Shivaram Lingamneni 6533893863 optimized implementation of Channel.Names() 2018-04-26 03:22:52 -04:00
Shivaram Lingamneni ef35c587fc remove redundant friends computation 2018-04-25 00:58:54 -04:00