3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-11-22 20:09:41 +01:00
Commit Graph

862 Commits

Author SHA1 Message Date
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
Daniel Oaks
7735ddfa03 Setup v0.8.3-unreleased devel ver 2017-06-30 11:04:24 +10:00
Daniel Oaks
376fa70244 Release v0.8.2 2017-06-30 01:14:50 +10:00
Daniel Oaks
b633db3c9d modes: Also allow Voice 2017-06-30 01:14:38 +10:00
Daniel Oaks
a833399d35 vendor: Updated submodules 2017-06-30 01:02:18 +10:00
Daniel Oaks
6ffc96d495 modes: Let users give other users privs in channels. Silly bug. 2017-06-30 00:59:51 +10:00