]> git.r.bdr.sh - rbdr/mobius/log
rbdr/mobius
2 years agoClean up README
Jeff Halter [Mon, 13 Jun 2022 00:47:44 +0000 (17:47 -0700)]
Clean up README

2 years agoSimplify Dockerfile
Jeff Halter [Mon, 13 Jun 2022 00:47:22 +0000 (17:47 -0700)]
Simplify Dockerfile

2 years agoSimplify the behavior of init with an existing config
Jeff Halter [Mon, 13 Jun 2022 00:41:30 +0000 (17:41 -0700)]
Simplify the behavior of init with an existing config

Old behavior:
if config dir found, exit with message

New behavior:
if config dir found, log a message and continue

This simplifies the process for new users.

2 years agopatch: v0.5.5
Jeff Halter [Sat, 11 Jun 2022 01:09:41 +0000 (18:09 -0700)]
patch: v0.5.5

2 years agoAdd cmdline arg to initialize a default config
Jeff Halter [Sat, 11 Jun 2022 01:04:48 +0000 (18:04 -0700)]
Add cmdline arg to initialize a default config

2 years agoRemove accidental commit
Jeff Halter [Thu, 9 Jun 2022 14:51:18 +0000 (07:51 -0700)]
Remove accidental commit

2 years agopatch: v0.5.4
Jeff Halter [Thu, 9 Jun 2022 03:58:45 +0000 (20:58 -0700)]
patch: v0.5.4

2 years agoAdd flag to enable optional stats HTTP endpoint
Jeff Halter [Thu, 9 Jun 2022 03:54:07 +0000 (20:54 -0700)]
Add flag to enable optional stats HTTP endpoint

re: #29

TODO: add more stat counters

Usage:
```
./mobius-hotline-server -stats-port 5503
```

```
❯ curl -s localhost:5503 | jq .
{
  "LoginCount": 0,
  "StartTime": "2022-06-08T20:49:10.183921-07:00",
  "DownloadCounter": 0,
  "UploadCounter": 0
}
```

2 years agoFix folder upload hang with resource forks
Jeff Halter [Thu, 9 Jun 2022 03:41:57 +0000 (20:41 -0700)]
Fix folder upload hang with resource forks

2 years agoRefactor filestore to simplify testing
Jeff Halter [Thu, 9 Jun 2022 02:09:38 +0000 (19:09 -0700)]
Refactor filestore to simplify testing

2 years agoRefactor listener setup
Jeff Halter [Thu, 9 Jun 2022 02:08:45 +0000 (19:08 -0700)]
Refactor listener setup

2 years agopatch: v0.5.3
Jeff Halter [Wed, 8 Jun 2022 00:59:21 +0000 (17:59 -0700)]
patch: v0.5.3

2 years agoFix Nostalgia ghost user bug
Jeff Halter [Wed, 8 Jun 2022 00:59:04 +0000 (17:59 -0700)]
Fix Nostalgia ghost user bug

2 years agopatch: v0.5.2
Jeff Halter [Wed, 8 Jun 2022 00:45:33 +0000 (17:45 -0700)]
patch: v0.5.2

2 years agoFix ghost login bug in client by using 1.2.3 behavior
Jeff Halter [Wed, 8 Jun 2022 00:44:47 +0000 (17:44 -0700)]
Fix ghost login bug in client by using 1.2.3 behavior

2 years agopatch: v0.5.1
Jeff Halter [Tue, 7 Jun 2022 23:10:17 +0000 (16:10 -0700)]
patch: v0.5.1

2 years agoBackfill tests and clean up
Jeff Halter [Tue, 7 Jun 2022 23:03:25 +0000 (16:03 -0700)]
Backfill tests and clean up

2 years agoExclude unsupported >4GiB files from file listings
Jeff Halter [Tue, 7 Jun 2022 23:01:46 +0000 (16:01 -0700)]
Exclude unsupported >4GiB files from file listings

2 years agoFix hardcoded port in tracker registration
Jeff Halter [Tue, 7 Jun 2022 23:00:29 +0000 (16:00 -0700)]
Fix hardcoded port in tracker registration

2 years agoAdd initial validations of config.yaml
Jeff Halter [Tue, 7 Jun 2022 22:58:04 +0000 (15:58 -0700)]
Add initial validations of config.yaml

2 years agoFix line ending in sample Agreement.txt
Jeff Halter [Tue, 7 Jun 2022 22:57:19 +0000 (15:57 -0700)]
Fix line ending in sample Agreement.txt

2 years agoHandle both possible brew install paths
Jeff Halter [Tue, 7 Jun 2022 03:12:16 +0000 (20:12 -0700)]
Handle both possible brew install paths

2 years agoFix getFileNameList when broken symlink present
Jeff Halter [Tue, 7 Jun 2022 02:46:43 +0000 (19:46 -0700)]
Fix getFileNameList when broken symlink present

2 years agoRefactor and cleanup to improve testability
Jeff Halter [Tue, 7 Jun 2022 02:41:07 +0000 (19:41 -0700)]
Refactor and cleanup to improve testability

2 years agoRevert change to effectiveFile func
Jeff Halter [Mon, 6 Jun 2022 23:48:52 +0000 (16:48 -0700)]
Revert change to effectiveFile func

2 years agoImprove handling of client config default path
Jeff Halter [Mon, 6 Jun 2022 23:46:10 +0000 (16:46 -0700)]
Improve handling of client config default path

2 years agoInclude tracker.preterhuman.net in default config
Jeff Halter [Mon, 6 Jun 2022 23:45:38 +0000 (16:45 -0700)]
Include tracker.preterhuman.net in default config

2 years agoFix overwrite of file during upload
Jeff Halter [Mon, 6 Jun 2022 23:45:27 +0000 (16:45 -0700)]
Fix overwrite of file during upload

2 years agoImprove tracker logging
Jeff Halter [Mon, 6 Jun 2022 23:44:57 +0000 (16:44 -0700)]
Improve tracker logging

2 years agoSeed the random number generator
Jeff Halter [Mon, 6 Jun 2022 15:36:18 +0000 (08:36 -0700)]
Seed the random number generator

2 years agoRemove version from sample config
Jeff Halter [Mon, 6 Jun 2022 14:43:16 +0000 (07:43 -0700)]
Remove version from sample config

2 years agoUse latest tag in docker run example
Jeff Halter [Mon, 6 Jun 2022 13:55:22 +0000 (06:55 -0700)]
Use latest tag in docker run example

2 years agominor: v0.5.0
Jeff Halter [Mon, 6 Jun 2022 00:39:40 +0000 (17:39 -0700)]
minor: v0.5.0

2 years agoFix handshake test
Jeff Halter [Mon, 6 Jun 2022 00:39:34 +0000 (17:39 -0700)]
Fix handshake test

2 years agoReplace unsafe conn.Read with io.ReadFull
Jeff Halter [Mon, 6 Jun 2022 00:36:23 +0000 (17:36 -0700)]
Replace unsafe conn.Read with io.ReadFull

2 years agoDRY up duplicate panic handler func
Jeff Halter [Mon, 6 Jun 2022 00:14:43 +0000 (17:14 -0700)]
DRY up duplicate panic handler func

2 years agoFollow symlinks in Files dir
Jeff Halter [Sun, 5 Jun 2022 23:44:18 +0000 (16:44 -0700)]
Follow symlinks in Files dir

2 years agoImplement some special case file descriptions
Jeff Halter [Sun, 5 Jun 2022 23:43:51 +0000 (16:43 -0700)]
Implement some special case file descriptions

2 years agoAdd -config flag to client
Jeff Halter [Sun, 5 Jun 2022 22:34:37 +0000 (15:34 -0700)]
Add -config flag to client

2 years agoFix some data races
Jeff Halter [Sun, 5 Jun 2022 22:27:54 +0000 (15:27 -0700)]
Fix some data races

2 years agoImplement file preview
Jeff Halter [Sun, 5 Jun 2022 22:27:48 +0000 (15:27 -0700)]
Implement file preview

2 years agoHandle zero length comment and file paths for Nostalgia compatibility
Jeff Halter [Sun, 5 Jun 2022 19:00:02 +0000 (12:00 -0700)]
Handle zero length comment and file paths for Nostalgia compatibility

2 years agominor: v0.4.0
Jeff Halter [Sun, 5 Jun 2022 04:58:48 +0000 (21:58 -0700)]
minor: v0.4.0

2 years agoImplement multi-account edit
Jeff Halter [Sun, 5 Jun 2022 03:14:16 +0000 (20:14 -0700)]
Implement multi-account edit

2 years agoUpdate Docker instructions
jhalter [Sun, 5 Jun 2022 01:18:12 +0000 (18:18 -0700)]
Update Docker instructions

2 years agoUse multi-stage build for smaller Docker image
jhalter [Sat, 4 Jun 2022 23:01:18 +0000 (16:01 -0700)]
Use multi-stage build for smaller Docker image

2 years agominor: v0.3.0
Jeff Halter [Sat, 4 Jun 2022 01:51:44 +0000 (18:51 -0700)]
minor: v0.3.0

2 years agoUpdate Dockerfile and README info
Jeff Halter [Sat, 4 Jun 2022 01:05:31 +0000 (18:05 -0700)]
Update Dockerfile and README info

2 years agoInitial implementation of file transfer resume
Jeff Halter [Sat, 4 Jun 2022 00:11:06 +0000 (17:11 -0700)]
Initial implementation of file transfer resume

2 years agoCleanup and backfill tests
Jeff Halter [Thu, 2 Jun 2022 22:22:11 +0000 (15:22 -0700)]
Cleanup and backfill tests

2 years agoImplement reply quoting
Jeff Halter [Thu, 2 Jun 2022 22:20:21 +0000 (15:20 -0700)]
Implement reply quoting

2 years agoUpdate dependencies
Jeff Halter [Tue, 31 May 2022 18:55:47 +0000 (11:55 -0700)]
Update dependencies

2 years agoRe-enable additional file types after fixing trailing whitespace
Jeff Halter [Tue, 31 May 2022 18:49:28 +0000 (11:49 -0700)]
Re-enable additional file types after fixing trailing whitespace

2 years agoBuffer file writes during upload
Jeff Halter [Tue, 31 May 2022 17:43:48 +0000 (10:43 -0700)]
Buffer file writes during upload

2 years agopatch: v0.2.3
Jeff Halter [Tue, 31 May 2022 16:06:56 +0000 (09:06 -0700)]
patch: v0.2.3

2 years agoTemporarily disable problematic file type codes
Jeff Halter [Tue, 31 May 2022 16:05:52 +0000 (09:05 -0700)]
Temporarily disable problematic file type codes

2 years agopatch: v0.2.2
Jeff Halter [Tue, 31 May 2022 15:51:14 +0000 (08:51 -0700)]
patch: v0.2.2

2 years agoRevert change to handler permissions
Jeff Halter [Tue, 31 May 2022 15:50:54 +0000 (08:50 -0700)]
Revert change to handler permissions

2 years agopatch: v0.2.1
Jeff Halter [Tue, 31 May 2022 04:38:51 +0000 (21:38 -0700)]
patch: v0.2.1

2 years agoFix and refactor file transfers to handle resource forks
Jeff Halter [Tue, 31 May 2022 04:37:19 +0000 (21:37 -0700)]
Fix and refactor file transfers to handle resource forks

2 years agoFix upload folder name pattern matching
Jeff Halter [Tue, 31 May 2022 04:32:50 +0000 (21:32 -0700)]
Fix upload folder name pattern matching

2 years agominor: v0.2.0
Jeff Halter [Sun, 29 May 2022 17:14:19 +0000 (10:14 -0700)]
minor: v0.2.0

2 years agoImplement handling of special case Dropbox and Upload folders
Jeff Halter [Sun, 29 May 2022 17:03:19 +0000 (10:03 -0700)]
Implement handling of special case Dropbox and Upload folders

2 years agoRefactor and cleanup
Jeff Halter [Sun, 29 May 2022 16:34:24 +0000 (09:34 -0700)]
Refactor and cleanup

2 years agoBackfill tests
Jeff Halter [Sun, 29 May 2022 16:31:48 +0000 (09:31 -0700)]
Backfill tests

2 years agoFix race in file upload handling that may cause panic
Jeff Halter [Sun, 29 May 2022 00:37:40 +0000 (17:37 -0700)]
Fix race in file upload handling that may cause panic

2 years agoMisc cleanup
Jeff Halter [Sat, 28 May 2022 18:35:50 +0000 (11:35 -0700)]
Misc cleanup

* Removed some unnecessary user of pointers
* Removed dead cruft
* Reorganized code

2 years agoImplement Make Alias transaction
Jeff Halter [Sat, 28 May 2022 18:12:00 +0000 (11:12 -0700)]
Implement Make Alias transaction

2 years agoFix issue with HL 1.5+ user flag unset
Jeff Halter [Fri, 27 May 2022 20:50:02 +0000 (13:50 -0700)]
Fix issue with HL 1.5+ user flag unset

This fixes an issue where it was not possible for users to unset the "Refuse private chat/messages" preference

2 years agoSimplify news article timestamping
Jeff Halter [Fri, 27 May 2022 17:55:57 +0000 (10:55 -0700)]
Simplify news article timestamping

2 years agoSimplify user idle check
Jeff Halter [Fri, 27 May 2022 17:44:52 +0000 (10:44 -0700)]
Simplify user idle check

2 years agopatch: v0.1.1
Jeff Halter [Fri, 27 May 2022 01:26:39 +0000 (18:26 -0700)]
patch: v0.1.1

2 years agoMerge pull request #13 from jhalter/fix_ghost_user_bug
jhalter [Fri, 27 May 2022 01:25:57 +0000 (18:25 -0700)]
Merge pull request #13 from jhalter/fix_ghost_user_bug

Fix multiple issues with v1.8+ login sequence

2 years agoFix multiple issues with v1.8+ login sequence
Jeff Halter [Fri, 27 May 2022 01:19:24 +0000 (18:19 -0700)]
Fix multiple issues with v1.8+ login sequence

Squashed bugs:
* A v1.8+ user that has connected but not agreed will show up in chat and the userlist as a blank user name
* Race condition where a v1.8+ user in connected but not agreed state duplicated the ID of the next user to connect
* A v1.8+ user that is connected but not agreed will receive the user list

2 years agoMerge pull request #12 from jhalter/fix_userlist_order
jhalter [Thu, 26 May 2022 23:54:00 +0000 (16:54 -0700)]
Merge pull request #12 from jhalter/fix_userlist_order

Fix inconsistent sorting of user list

2 years agoFix inconsistent sorting of user list
Jeff Halter [Thu, 26 May 2022 23:53:06 +0000 (16:53 -0700)]
Fix inconsistent sorting of user list

2 years agominor: v0.1.0
Jeff Halter [Thu, 26 May 2022 02:58:49 +0000 (19:58 -0700)]
minor: v0.1.0

2 years agoMerge pull request #11 from jhalter/remove_placeholder_todo_file_comment
jhalter [Thu, 26 May 2022 02:58:02 +0000 (19:58 -0700)]
Merge pull request #11 from jhalter/remove_placeholder_todo_file_comment

Remove placeholder file comment

2 years agoRemove placeholder file comment
Jeff Halter [Thu, 26 May 2022 02:57:23 +0000 (19:57 -0700)]
Remove placeholder file comment

2 years agoMerge pull request #10 from jhalter/implement_file_timestamps
jhalter [Thu, 26 May 2022 02:53:34 +0000 (19:53 -0700)]
Merge pull request #10 from jhalter/implement_file_timestamps

Add partial support for file create/modify timestamps

2 years agoAdd partial support for file create/modify timestamps
Jeff Halter [Thu, 26 May 2022 00:44:55 +0000 (17:44 -0700)]
Add partial support for file create/modify timestamps

This replaces hardcoded placeholder create/modify timestamps with the real times, mostly.  Create time is OS specific, so for now I'm ignoring it at using the modify time as a stand-in.

2 years agopatch: v0.0.16
Jeff Halter [Wed, 25 May 2022 22:13:10 +0000 (15:13 -0700)]
patch: v0.0.16

2 years agoMerge pull request #9 from jhalter/move_file_types_to_config_file
jhalter [Wed, 25 May 2022 22:11:52 +0000 (15:11 -0700)]
Merge pull request #9 from jhalter/move_file_types_to_config_file

Add more file extension -> type/creator code mappings

2 years agoAdd more file extension -> type/creator code mappings
Jeff Halter [Wed, 25 May 2022 22:03:54 +0000 (15:03 -0700)]
Add more file extension -> type/creator code mappings

2 years agopatch: v0.0.15
Jeff Halter [Tue, 24 May 2022 23:09:50 +0000 (16:09 -0700)]
patch: v0.0.15

2 years agoMerge pull request #8 from jhalter/fix_file_comment_file_corruption
jhalter [Tue, 24 May 2022 23:08:56 +0000 (16:08 -0700)]
Merge pull request #8 from jhalter/fix_file_comment_file_corruption

Fix file corruption bug for commented files

2 years agoFix file corruption bug for commented files
Jeff Halter [Tue, 24 May 2022 23:05:19 +0000 (16:05 -0700)]
Fix file corruption bug for commented files

This fixes a bug that happens when an uploaded file contains a file comment.  The bug happens because the comment byte length was not included when calculating the length of the information header, causing the comment bytes to be appendedto the file.

3 years agopatch: v0.0.14
Jeff Halter [Mon, 31 Jan 2022 05:41:28 +0000 (21:41 -0800)]
patch: v0.0.14

3 years agopatch: v0.0.13
Jeff Halter [Mon, 31 Jan 2022 05:31:44 +0000 (21:31 -0800)]
patch: v0.0.13

3 years agoRan go get -u && go mod tidy
Jeff Halter [Mon, 31 Jan 2022 05:28:01 +0000 (21:28 -0800)]
Ran go get -u && go mod tidy

3 years agoInitial permission handling refactor
Jeff Halter [Mon, 31 Jan 2022 04:59:47 +0000 (20:59 -0800)]
Initial permission handling refactor

3 years agoStart moving file io into mockable interface
Jeff Halter [Mon, 31 Jan 2022 04:59:35 +0000 (20:59 -0800)]
Start moving file io into mockable interface

3 years agoSanitize file path input to prevent directory traversal
Jeff Halter [Mon, 31 Jan 2022 04:56:04 +0000 (20:56 -0800)]
Sanitize file path input to prevent directory traversal

3 years agopatch: v0.0.12
Jeff Halter [Sun, 15 Aug 2021 17:40:34 +0000 (10:40 -0700)]
patch: v0.0.12

3 years agoTests and minor fixes
Jeff Halter [Sun, 15 Aug 2021 17:39:43 +0000 (10:39 -0700)]
Tests and minor fixes

3 years agoMore cleanup
Jeff Halter [Fri, 13 Aug 2021 02:00:13 +0000 (19:00 -0700)]
More cleanup

3 years agoAdd tests and clean up
Jeff Halter [Wed, 11 Aug 2021 01:52:46 +0000 (18:52 -0700)]
Add tests and clean up

3 years agoAdd keepalive to Client
Jeff Halter [Sat, 7 Aug 2021 23:49:12 +0000 (16:49 -0700)]
Add keepalive to Client

3 years agoPrune unused code
Jeff Halter [Sat, 7 Aug 2021 22:52:08 +0000 (15:52 -0700)]
Prune unused code

3 years agoHandle err
Jeff Halter [Sat, 7 Aug 2021 22:51:09 +0000 (15:51 -0700)]
Handle err