3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-11-10 22:19:31 +01:00
Commit Graph

917 Commits

Author SHA1 Message Date
Daniel Oaks
7ff33b88dd Update info doc and changelog 2017-09-25 11:09:58 +10:00
Daniel Oaks
ee73d136fc vendor: Updated submodules 2017-09-25 10:54:31 +10:00
Daniel Oaks
acec0e1690 PROXY: Check DLINEs and connection limits/throttle on new proxied connections 2017-09-25 10:52:02 +10:00
Daniel Oaks
38498b752b PROXY: Make sure given IPs are valid and pass them through appropriately 2017-09-25 10:52:01 +10:00
Daniel Oaks
7d140c9e43 PROXY: Update some comments, disallow from registered clients 2017-09-25 10:52:01 +10:00
Shivaram Lingamneni
99f02ede20 restore PROXY protocol support
support for PROXY was removed in 43e28e2fef. After discussion,
it's worth keeping around in case of client compatibility issues,
and until /rehash support is more mature.
2017-09-25 10:52:01 +10:00
Daniel Oaks
8cd016e4c0 server: Fix comments 2017-09-25 10:52:01 +10:00
Daniel Oaks
989fea18f9 Merge pull request #135 from slingamn/listeners_refactor_again.7
refactor create/update/destroy of listeners
2017-09-25 10:48:22 +10:00
Shivaram Lingamneni
0f0f2d1314 refactor listener update/destroy code
Don't close and reopen listeners
2017-09-11 18:40:15 -04:00
Shivaram Lingamneni
d5528f6e56 execute rehash() in its own goroutine
This prevents a deadlock:

1. rehash() is executing on the main goroutine
2. it's trying to stop a listener goroutine
3. the listener goroutine needs to hand off a new connection to newConns
4. but the main goroutine is blocked by rehash() so it can't receive it
2017-09-11 14:03:53 -04:00
Shivaram Lingamneni
b1376d5f71 Fix a concurrency error with Server.listeners
See #134; there was a `fatal error: concurrent map read and map write`
due to unsynchronized accesses to `Server.listeners`. Now, `listeners`
is only accessed by `NewServer` and `rehash`, so it doesn't need
synchronization.
2017-09-11 11:29:14 -04:00
Daniel Oaks
c48d869f4d Allow multiple account registrations for testing 2017-09-11 09:16:13 +10:00
Daniel Oaks
8e32098f1f Quiet mkcerts messages 2017-09-11 09:15:39 +10:00
Daniel Oaks
97010461f7 Merge pull request #133 from slingamn/default_modes.2
implement #132 (configurable default channel modes)
2017-09-07 17:23:12 +10:00
Shivaram Lingamneni
6063d30bc5 add a test for default channel mode parsing 2017-09-06 19:51:50 -04:00
Shivaram Lingamneni
333afe1062 make default channel modes configurable 2017-09-06 17:37:29 -04:00
Shivaram Lingamneni
a50e68af4d ignore vim swapfiles 2017-09-06 17:29:09 -04:00
Daniel Oaks
34964a9920 changelog: Document new stuff 2017-09-06 14:41:11 +10:00
Daniel Oaks
d052ca8a8d accounts: Disable reg if client's already registered an account 2017-09-06 14:38:55 +10:00
Daniel Oaks
eb72c38d0c changelog: Note latest changes, reword some dodgy lines 2017-09-06 14:38:55 +10:00
Daniel Oaks
ac91a3e484 strings: Follow latest advice on PRECIS regarding string stabilizing 2017-09-06 14:38:55 +10:00
Daniel Oaks
f9ef97b204 modes: Add experimental, untested +R user mode to block messages from unregistered users 2017-09-06 14:38:54 +10:00
Daniel Oaks
b975c6f182 Merge pull request #131 from slingamn/hostmask_fix
fix hostmask issue
2017-09-06 02:01:47 +10:00
Shivaram Lingamneni
9a9a85cd55 fix hostmask issue
PTR records ending in . (e.g., `google-public-dns-b.google.com.`)
were considered invalid
2017-09-05 11:43:50 -04:00
Daniel Oaks
ffabd26653 Make sure ISUPPORT outputs are sorted and tested 2017-07-30 22:42:37 +10:00
Daniel Oaks
0fe3855582 changelog: Describe new changes 2017-07-27 23:58:37 +10:00
Daniel Oaks
97cfc0b629 Print warnings to heavily encourage exposing port 6697 as a TLS port 2017-07-27 23:29:08 +10:00
Daniel Oaks
0b75351e56 Merge pull request #128 from euank/return-bad-ip-err
server: close connection on parse-ip failure
2017-07-26 17:19:08 +10:00
Daniel Oaks
c7cf79648e Merge pull request #129 from euank/disallow-colon-nick
strings: disallow ':' in nicks
2017-07-26 17:17:41 +10:00
Euan Kemp
3b47f3d470 config: don't casefold tls names
I don't think casefolding things like `:6697` ever made sense.
Since these are configured by the ircd operator, it makes sense to
assume they'll already be in a canonical form regardless.
2017-07-25 23:28:29 -07:00
Euan Kemp
449ef4cea1 strings: disallow ':' in nicks
This matches the behavior of inspircd at the very least.

Previously, the comment above that section claimed ':' should be
disallowed, but the code didn't do so.

I also simplified the code a little bit and added tests.
2017-07-25 23:28:29 -07:00
Euan Kemp
2b155f9b1e server: close connection on parse-ip failure
Close the client's connection if we're unable to parse their IP.

This also simplifies the check to reduce indentation by a level.

Finally, this replaces the two-var construction of the pseudo-const
messages with an inline dereference via a slice to allow constructing
them less noisily.
2017-07-25 22:19:40 -07:00
Daniel Oaks
9bb0062dbc readme: Add build status 2017-07-26 11:39:50 +10:00
Daniel Oaks
470fc2a469 travis: Also run Go tests where they exist, when running through Travis 2017-07-26 08:04:23 +10:00
Daniel Oaks
73703be181 Merge pull request #126 from enckse/master
simple travisci definition
2017-07-26 07:34:15 +10:00
Sean Enck
68c23102d8
dependency retrieval make rule 2017-07-25 17:01:09 -04:00
Sean Enck
89053fdd15
change location of svg 2017-07-25 16:55:22 -04:00
Sean Enck
28562b0f85
travis basic settings 2017-07-25 16:54:34 -04:00
Daniel Oaks
b807f492ed OPER: If client's already opered-up, ignore new OPER attempts 2017-07-23 22:50:50 +10:00
Daniel Oaks
cc15ec9d2d vendor: Updated submodules 2017-07-14 17:43:29 +10:00
Euan Kemp
2e8a98a925 irc: fix timer memleak
This is a gotcha called out in the `time.After` docs. `time.After` will
leak the underlying channel if nothing ever receives on it.
2017-07-14 17:21:53 +10:00
Daniel Oaks
b003cd6287 make: Fix build dirs 2017-07-14 17:21:49 +10:00
Euan Kemp
2f3838d95a make: properly specify targets as phony
None of them are referring to actual files
2017-07-13 23:12:36 -07:00
Euan Kemp
e6b6ab2b11 make: remove extraneous slash
The variables were often referenced with a trailing slash, and having
`//` works, but is sloppy.
2017-07-13 23:10:58 -07:00
Daniel Oaks
ba8c708318 info: Go over rehashing and the REST API 2017-07-02 08:17:34 +10:00
Daniel Oaks
285059a1bf info: Add S2S plans/info/etc 2017-07-02 07:55:02 +10:00
Daniel Oaks
475570d57f docs: Add a very basic INFO document. 2017-07-02 07:38:33 +10:00
Daniel Oaks
184438b99a readme: Explain new stable branch and go over building more completely 2017-07-01 22:43:15 +10:00
Daniel Oaks
3db81be7e3 startup: Add warning about running unreleased versions 2017-07-01 07:07:48 +10:00
Daniel Oaks
c0fbc7908d sasl: Always send a 906 in response to AUTHENTICATE * 2017-06-30 11:06:10 +10:00