33 Commits

Author SHA1 Message Date
mik2k2
621ae1b0d3
Add /allowlist command (#399)
* move loading whitelist+ops from file to auth and save the loaded files fro reloading

* add /whitelist command with lots of open questions

* add test for /whitelist

* gofmt

* use the same auth (the tests don't seem to care, but htis is more right)

* mutex whitelistMode and remove some deferred TODOs

* s/whitelist/allowlist/ (user-facing); move helper functions outside the handler function

* check for ops in Auth.CheckPublicKey and move /allowlist handling to helper functions

* possibly fix the test timeout in HostNameCollision

* Revert "possibly fix the test timeout in HostNameCollision" (didn't work)

This reverts commit 664dbb0976f8f10ea7a673950a879591c2e7c320.

* managed to reproduce the timeout after updating, hopefully it's the same one

* remove some unimportant TODOs; add a message when reverify kicks people; add a reverify test

* add client connection with key; add test for /allowlist import AGE

* hopefully make test less racy

* s/whitelist/allowlist/

* fix crash on specifying exactly one more -v flag than the max level

* use a key loader function to move file reading out of auth

* add loader to allowlist test

* minor message changes

* add --whitelist with a warning; update tests for messages

* apparently, we have another prefix

* check names directly on the User objects in TestHostNameCollision

* not allowlisted -> not allowed

* small message change

* update test
2022-01-06 09:09:51 -05:00
Akshay Shekher
c3b589b286
tests: Fixed flaky test by using user joined callback. (#393)
Instead of relying on the go scheduler to do the expected thing >_>

Co-authored-by: Akshay <akshay.shekher@gmail.com>
2021-05-02 13:02:39 -04:00
Akshay Shekher
e1e534344e
Fix SSHCHAT_TIMESTAMP env variables (#392)
* Fixes Env Vars to pass config to ssh-chat.

The env vars were beign parsed and set to the host
before the user was even added to the host and
hence ignored. This change moves the env var parsing
to after initializing the user.

TODO: tests, completeness+reliability

* cleaned up the test

* reduced test flakyness by adding wait instead of being optimistic

Co-authored-by: Akshay <akshay.shekher@gmail.com>
2021-05-02 12:18:31 -04:00
Andrey Petrov
3c246777a1
tests: Skip flakey TestHostNameCollision 2021-04-24 12:22:42 -04:00
Andrey Petrov
3848014d41 main: Update host_test.go to pass vet, use errgroup 2021-03-26 12:49:08 -04:00
Andrey Petrov
9d2230eaff sshchat: Fix tests to use new rendering format. 2019-03-21 15:33:18 -04:00
Andrey Petrov
9c3db55c83 sshchat: Echo command messages with the new timestamp code. 2019-03-17 13:50:01 -04:00
Andrey Petrov
60701198fc /op: Fix room op being tied to the nick, add remove option
Closes #301
2019-03-15 18:18:20 -04:00
Oliver Graff
05597b3e6a Fix unit tests / Travis (#238)
* Fix net_test

* Update host test to add carriage return char

* Fix host_test so it will not hang if the SSH connection fails

Fixes #231, closes #235.
2017-06-14 09:07:24 -04:00
Andrey Petrov
cdcc4a9931 refactor: User.Config -> User.Config() and User.SetConfig(UserConfig) 2016-08-29 10:11:39 -04:00
Andrey Petrov
454777448f refactor: User.SetColorIdx -> User.setColorIdx, preparing to abstract user 2016-08-29 09:58:17 -04:00
Andrey Petrov
d950112dd9 refactor: Id -> ID 2016-08-24 13:54:20 -04:00
Andrey Petrov
0fcc076c74 set: Switch to a common set implementation 2016-08-24 13:54:20 -04:00
Andrey Petrov
c57a5acca7 tests: Fix flake in TestHostNameCollision 2016-08-24 13:54:08 -04:00
Andrey Petrov
972bb86621 chat/message/theme: Tweak default colorscheme
Fewer grey names, lighter grey for system messages.
2016-08-12 17:13:11 -04:00
Dmitri Shuralyov
66adee6f9a /whois: Hide IP if user isn't admin; display client and time joined. (#192)
Resolves #170.
2016-08-06 18:20:34 -04:00
Andrey Petrov
1662ecd431 Fix travisci tests
Bind to localhost rather than all hosts.
2016-08-02 16:03:19 -04:00
Andrey Petrov
3ba0c59341 Unflake tests, remove lock from chat/message.User 2016-07-24 16:17:02 -04:00
Andrey Petrov
e6f7dba34e Progress: Unchan user 2016-07-24 16:17:02 -04:00
Andrey Petrov
9bf1f53445 Fixed /kick command to actually close target 2016-07-15 16:22:25 -04:00
Andrey Petrov
0fdeda8b75 Progress: Trying to fix more deadlocks, failing. 2016-07-12 18:24:02 -04:00
Andrey Petrov
2b8c0d7b5c Fix more silly race conditions in tests 2016-07-11 13:02:34 -04:00
Andrey Petrov
cc6ab7fc90 tests: Fix race condition in TestHostNameCollision 2016-07-11 12:18:57 -04:00
Andrey Petrov
48f65ed0e7 tests: Fix flakey collision test 2016-07-11 12:12:23 -04:00
Andrey Petrov
8188deef30 Root sshchat package, main moved into cmd/ssh-chat/. 2015-01-21 11:47:59 -08:00
Andrey Petrov
c2adb4d632 ssh-chat/chat/{message,user,theme,history} -> ssh-chat/chat/message 2015-01-20 16:33:52 -08:00
Andrey Petrov
69ea63bf88 /ban and /op now support durations, also all other auth things in the api. 2015-01-19 19:16:37 -08:00
Andrey Petrov
0c21486992 History backfill, also tests pass. 2015-01-18 18:55:47 -08:00
Andrey Petrov
3c4e6994c2 chat.Channel->chat.Room, /ban, /whois, chat.User.Identifier
- Renamed chat.Channel -> chat.Room
- /ban works, supports IP also
- /whois works
- chat.User now accepts an Identifier interface rather than name
- Tweaked rate limiting
2015-01-16 21:53:22 -08:00
Andrey Petrov
50540d26e9 Passing /kick test. 2015-01-11 14:12:51 -08:00
Andrey Petrov
d8d5deac1c Use authorized_keys-style public keys rather than fingerprints.
Tests for whitelisting.
2015-01-10 12:44:06 -08:00
Andrey Petrov
0c5c7b50b6 Resolve name collision to GuestX, with test. 2015-01-06 21:42:57 -08:00
Andrey Petrov
4c5dff7960 Themes are working, and /theme command. 2014-12-26 17:40:57 -08:00