51 Commits

Author SHA1 Message Date
themester
229c2d793d Adapted my repo to shazow. Changes...
- Added new rank: Administators (or masters). This rank can add or delete operators, but cannot add or remove another administrators. Administrators rank is designed by public key on server startup.
- Added "vim mode". With this mode you can use commands as ':' instead of '/'. As you can see in the code, the Prefix parameter of Command structure was changed by a neutral parameter for future introductions of prefixes.
- New Help function. This function add help for admin rank.
- Added the following commands:
  - setnick: Administrators can change the nick of another user.
  - private: Users can stablish privates conversations. This conversations are permanent until they execute endprivate command.
  - endprivate: Finish private conversation.
  - welcome: Prints motd. Only admins can execute this.
  - whois: In whois only admins can see ip.
  - delop: Allow admins to delete an operator (or moderator as is mentioned in some parts of the code).
- Changed historyLen and roomBuffer vars.
- In cmd tool have been added fsnotify to update public key files (admin and moderator public key files). This is to prevent to restart the server everytime we want to add an administrator.
- Added new prompt mode. In this mode you can see in which room you are talking. As default is 'general'. If you start private conversation the room will be the name of the another user. This part has been introduced for future implementations.
- As I said before now exists private conversations (unlike msg command).
2018-01-12 20:04:39 +01:00
Steven L
e800c88a56 Fixed /reply bug (#230) 2017-04-27 21:04:37 -04:00
Andrey Petrov
cdcc4a9931 refactor: User.Config -> User.Config() and User.SetConfig(UserConfig) 2016-08-29 10:11:39 -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
Greg Wedow
a67a9d115b /uptime: Format output to be more human-friendly 2016-08-21 12:20:53 -04:00
Andrey Petrov
47607af729 /reply: Enabled again.
Fixes #202
2016-08-16 14:20:51 -04:00
Andrey Petrov
398cd75c5e logging: Add [RemoteAddr] prefix to connection-related messages 2016-08-13 16:22:43 -04:00
Andrey Petrov
cfa86b3e2e /motd: Fixed set message and actual motd coming out of order.
Fixes #165
2016-08-12 16:35:00 -04:00
Micheal Winger
91c62966fa /msg: Send SystemMsg confirmation with each PM 2016-08-06 23:56:24 -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
c8661e6883 motd: Allow for reading the current motd when no additional args given.
Closes #155, merges #157

Squashed commit of the following:

commit bcb0810637c99223753629a2e55169b07ee9fe51
Author: Andrey Petrov <andrey.petrov@shazow.net>
Date:   Wed Aug 3 17:58:37 2016 -0400

    motd: Refactor inner conditions

commit ac28c8cb4e8dc2a0d23abe3dcf52b69175cde51b
Author: Aaron <aaron.ounn@gmail.com>
Date:   Tue Aug 2 09:38:36 2016 +0300

    Fix small issues with the help message

commit a80ae77e1d691a4ec7125be5441d4f6eea767a75
Author: Aaron <aaron.ounn@gmail.com>
Date:   Tue Aug 2 09:30:21 2016 +0300

    Print the motd if no parameters are passed

commit 2db1b3c123661cdbd622d5ba2ff81ede8cb8a951
Author: Aaron <aaron.ounn@gmail.com>
Date:   Tue Aug 2 09:29:41 2016 +0300

    Update the motd command's description
2016-08-03 17:58:49 -04:00
Andrey Petrov
13ea34b912 Fixed autocomplete crashing bug (#166) 2016-08-03 17:42:53 -04:00
Andrey Petrov
c4604fde94 Disabled autocomplete due to #166.
Also added mutex for user replyTo pointer, since that's being set by
both the host and user.
2016-08-03 12:19:33 -04:00
Andrey Petrov
2abe368022 style: Fix gofmt and vet complaints 2016-07-31 12:18:06 -04:00
Andrey Petrov
50d2be3a88 Fixed message buffer timeout 2016-07-24 16:17:02 -04:00
Andrey Petrov
e6f7dba34e Progress: Unchan user 2016-07-24 16:17:02 -04:00
Andrey Petrov
ace2bc5124 sshd.SSHListener: Use HandlerFunc instead of terminal channel feed 2016-07-17 16:49:14 -04:00
Andrey Petrov
18b2f511cb Use pointer receiver for all of Host 2016-07-15 18:15:07 -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
ea2d4d0dfc chat: Fix race conditions. 2016-07-12 11:18:07 -04:00
Andrey Petrov
39ac1f44ed Build/release script and fix version annotation. 2016-07-10 17:57:39 -04:00
Andrey Petrov
3e54932f7b Don't explode when autocompleting nothing.
Fixes #126.
2015-02-10 12:04:19 -08: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
c4ffd6f263 /version, /uptime 2015-01-20 14:23:37 -08:00
Andrey Petrov
9335a2139b Sanitize names on join and /nick. 2015-01-20 14:13:59 -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
84df305ddf /op with pubkey. 2015-01-18 20:03:08 -08:00
Andrey Petrov
080b6e8f1b /motd 2015-01-18 19:55:01 -08:00
Andrey Petrov
6c972e6e58 Message rate limiting, input length, and ignore empty lines. 2015-01-18 19:11:35 -08:00
Andrey Petrov
0c21486992 History backfill, also tests pass. 2015-01-18 18:55:47 -08:00
Andrey Petrov
544c9789c0 /reply command with autocomplete. 2015-01-18 18:11:30 -08:00
Andrey Petrov
12402c2338 Autocomplete commands. 2015-01-18 17:53:29 -08:00
Andrey Petrov
838285ba43 chat.Color->chat.Style, highlighting works. 2015-01-17 13:26:26 -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
587b487927 Mild refactoring towards decoupling channel from host. 2015-01-10 20:11:46 -08:00
Andrey Petrov
723313bcb2 Bugfixen. 2015-01-10 19:48:17 -08:00
Andrey Petrov
e626eab624 /kick and /msg 2015-01-10 18:05:31 -08:00
Andrey Petrov
d5626b7514 Abstracted sshd.Connection; Op works now. 2015-01-10 13:46:36 -08:00
Andrey Petrov
0c5c7b50b6 Resolve name collision to GuestX, with test. 2015-01-06 21:42:57 -08:00
Andrey Petrov
4dd80fb822 Tests pass. 2015-01-01 18:51:34 -08:00
Andrey Petrov
6a662bf358 Channel Member now wrapping User with metadata, new Auth struct. 2015-01-01 18:40:10 -08:00
Andrey Petrov
6f7410c7a0 Making a dent in golint: 94 -> 70 2014-12-26 17:59:29 -08:00
Andrey Petrov
4c5dff7960 Themes are working, and /theme command. 2014-12-26 17:40:57 -08:00
Andrey Petrov
b40136c3e1 Added /nick and /exit commands. 2014-12-26 14:34:13 -08:00
Andrey Petrov
dac5cfbb5e Split up message types, added exit codes, basic command handling. 2014-12-25 16:25:02 -08:00
Andrey Petrov
3bb4bbf991 AutoCompleteFunction is back. 2014-12-25 00:37:50 -08:00