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
Daniel Oaks
279ac928ae
Setup 0.8.2-unreleased for next release
2017-06-28 14:59:01 +10:00
Daniel Oaks
b78b57bbf9
readme: Simplify and fold new sections into existing ones where possible
2017-06-27 08:35:58 +10:00
Daniel Oaks
aa80045580
Merge branch 'platforms' of https://github.com/enckse/oragono into doc-fixes
2017-06-27 08:27:50 +10:00
Sean Enck
f12cfe97fc
example of running with a config
2017-06-26 10:34:54 -04:00