304 Commits

Author SHA1 Message Date
cf901b11b0 cleanup
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2025-03-25 13:00:51 -05:00
08a3b63fbe refactor 2025-03-25 12:58:50 -05:00
e8a2731bba refactor 2025-03-25 12:58:09 -05:00
9a9986afe7 cleanup 2025-03-25 12:52:48 -05:00
0a0edb76f0 cleanup on unlock 2025-03-25 12:50:35 -05:00
c172b3c83e removed debug statements 2025-03-25 12:43:04 -05:00
613c501911 refactor locks 2025-03-25 11:21:28 -05:00
124f17b084 refactor locks 2025-03-25 11:19:20 -05:00
ad7a557601 refactor locks 2025-03-25 11:16:03 -05:00
e82fc08365 refactor locks 2025-03-25 09:40:37 -05:00
dc3bb025bf delete lock data when not active and mount location is empty 2025-03-25 07:40:59 -05:00
0e0eb9e729 updated CHANGELOG.md
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-24 22:04:37 -05:00
62c89394db refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-24 21:51:34 -05:00
1df0a2cfd2 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-24 21:24:39 -05:00
4d5e261cb8 fork changes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-24 21:07:48 -05:00
c9904603df fix mount state
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-24 20:42:56 -05:00
ed59cbb91e refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-24 19:50:59 -05:00
b051acfb64 enter handling
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-24 19:47:14 -05:00
a079192e87 icon
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-24 19:34:45 -05:00
2042f1606f changed icon
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-24 19:30:27 -05:00
efcb15e2e3 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-24 19:18:52 -05:00
aa23decaff layout changes 2025-03-24 19:08:28 -05:00
0174be3e6d refactor 2025-03-24 19:03:29 -05:00
f8f2c1dd08 refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-24 19:03:05 -05:00
1164b99e2b added edit location
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-24 19:01:52 -05:00
96827c007d added tooltip
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-24 13:30:21 -05:00
bbd4cc0eed changed icon
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-24 13:19:20 -05:00
c3dca76690 layout fixes 2025-03-24 13:13:36 -05:00
7607fe68e2 refactor 2025-03-24 13:02:59 -05:00
2496679165 added clear mount location 2025-03-24 13:00:55 -05:00
89507bd0bd added clear mount location 2025-03-24 12:57:47 -05:00
9841c3f29c refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-24 11:59:06 -05:00
b72baf2c65 fix 2025-03-24 11:53:03 -05:00
6244a587db fix 2025-03-24 11:50:52 -05:00
cd41e026ee return available drive letters on windows 2025-03-24 11:35:36 -05:00
10829fc9d9 return available drive letters on windows 2025-03-24 11:23:36 -05:00
4f69ec5f10 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-23 18:24:37 -05:00
5dc3a0239f fix release
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-23 10:05:31 -05:00
6b18a72b95 fix missing method
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2025-03-23 07:19:37 -05:00
0e8e56ad90 fix available port detection
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2025-03-23 06:24:21 -05:00
e53acf799a prevent overlapping api ports 2025-03-22 16:39:32 -05:00
c2eaa92f4a formatting 2025-03-22 15:53:23 -05:00
13eab49207 release global lock before elevating process 2025-03-22 15:52:30 -05:00
616dca89ca acquire global lock first 2025-03-22 15:50:43 -05:00
9626f383d3 refactor 2025-03-22 15:48:29 -05:00
a262a79eb2 fix 2025-03-22 15:45:46 -05:00
f9ec02bf3f fix 2025-03-22 15:43:45 -05:00
e6793f0d6c fix 2025-03-22 15:38:43 -05:00
0d972b0b75 fix 2025-03-22 15:34:55 -05:00
60f0e3dbc1 refactor 2025-03-22 15:29:08 -05:00
630c3463d8 prevent overlapping api ports 2025-03-22 15:27:50 -05:00
e3d036fcb8 clear mount location if in use
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-22 13:12:32 -05:00
143a41588f fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-22 10:57:46 -05:00
9fd5b7c03f clear mount list on login failure
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-22 09:50:24 -05:00
6137b69bd3 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-22 09:24:40 -05:00
c52c919607 remove advanced from add
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-22 07:38:16 -05:00
58841986f3 added logoff button
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-22 07:37:09 -05:00
874f5319fd layout changes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-22 07:25:15 -05:00
c05b4f6652 fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-22 02:52:48 -05:00
aad26b8529 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-22 02:23:13 -05:00
e4f59dadfb refactoring
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-22 02:20:03 -05:00
f8b1b8ad37 return unauthorized when decryption fails 2025-03-22 01:47:40 -05:00
03c8f3461e continue authentication 2025-03-22 01:42:20 -05:00
5b09333f0d partial logon support
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-22 01:25:30 -05:00
40e57f3262 remove debug logging
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-21 22:31:36 -05:00
959d904961 fork() on linux
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-21 22:30:11 -05:00
d301e8d871 prefer execvp and _spawnv
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-21 22:04:45 -05:00
1cc3e6baf0 added show/hide password buttons
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-21 17:56:31 -05:00
f5b912b16f updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-21 17:39:39 -05:00
29f7a78dcc fix password
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-21 17:29:58 -05:00
56d5a57831 fix add mount
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-21 10:48:10 -05:00
972927b2ac refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-20 22:06:22 -05:00
42c25b73e7 removed debugPrint 2025-03-20 22:00:00 -05:00
ea876bd55c refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-20 21:56:22 -05:00
6d2023ba1b fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-20 21:52:18 -05:00
164f8ffc7c fix mount settings encrypt
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-20 20:53:36 -05:00
a28151068a refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-20 18:39:42 -05:00
674a5a6fe1 prompt for password once 2025-03-20 18:37:03 -05:00
d9b8a60055 prompt for password once 2025-03-20 18:36:10 -05:00
6570438872 fix 2025-03-20 18:19:59 -05:00
12ef6910ed fix 2025-03-20 18:15:31 -05:00
225a5cedc5 don't decrypt empty values
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-20 17:56:11 -05:00
b42dc4e942 fix 2025-03-20 17:51:21 -05:00
b72744716d prompt password
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-20 17:33:32 -05:00
1b6237b9fc fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-20 17:04:13 -05:00
bdb8f0aac9 fix
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2025-03-20 13:49:11 -05:00
29fb70149c encrypt/decrypt secret data 2025-03-20 12:59:23 -05:00
4b45e71193 encrypt/decrypt secret data 2025-03-20 12:54:43 -05:00
0101e92d97 fix 2025-03-20 11:39:35 -05:00
ba5bde24e1 fix 2025-03-20 09:33:10 -05:00
40d71223ae remove passwords from api calls 2025-03-20 09:12:50 -05:00
e73fb02101 remove passwords from api calls 2025-03-20 08:55:10 -05:00
7f300b33c8 remove passwords from api calls 2025-03-20 08:51:50 -05:00
c4c509790d remove passwords from api calls 2025-03-20 08:32:20 -05:00
1ac64c9d82 remove passwords from api calls 2025-03-20 08:09:45 -05:00
c037fd5657 remove passwords from api calls 2025-03-20 08:08:43 -05:00
9b9929e69d remove passwords from api calls 2025-03-20 08:05:00 -05:00
5104af84dc added sodium support
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-19 09:01:05 -05:00
ab42289792 formatting
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-19 08:38:05 -05:00
0e4ebd7742 added sodium support 2025-03-19 08:34:34 -05:00
ea912b38a3 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-19 08:20:15 -05:00
f015647b71 refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-19 08:17:04 -05:00
bced895ea1 fix mounting across multiple instances
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-19 08:13:14 -05:00
901000a085 refactor 2025-03-19 07:44:07 -05:00
d5242c2e6c refactor 2025-03-19 07:43:47 -05:00
7c4cba6797 fix json parsing 2025-03-19 07:41:59 -05:00
10a0e926ad fix 2025-03-18 14:11:48 -05:00
9fcc50fcc3 wait for mount/unmount to complete
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-18 07:47:40 -05:00
d57fa022d8 wait for mount/unmount to complete 2025-03-18 07:30:54 -05:00
ee1638e1dd return null
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-17 13:51:09 -05:00
d125cb47d6 fix route 2025-03-17 13:35:08 -05:00
16bb4fe472 mount status fix 2025-03-17 13:18:36 -05:00
984f4e0bc9 windows fixes 2025-03-17 13:08:01 -05:00
439be1dea8 windows fixes 2025-03-17 12:54:38 -05:00
c9281c9bcd windows fixes 2025-03-17 12:50:16 -05:00
b15393bacf updated README.md
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-16 16:44:22 -05:00
f3c0f4978f updated README.md
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-16 16:42:42 -05:00
78ba8553a9 updated README.md
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-16 16:41:46 -05:00
2cc646390a revert image 2025-03-16 16:35:38 -05:00
87f5b0f953 updated README.md 2025-03-16 16:34:47 -05:00
c60bb651df revert 2025-03-16 16:33:23 -05:00
6fb8053e43 updated README.md 2025-03-16 16:32:50 -05:00
4c18088bd1 updated README.md 2025-03-16 16:31:00 -05:00
a5eb168032 updated README.md
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-16 16:29:21 -05:00
187e2454ca updated README.md
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-16 16:23:34 -05:00
931c861850 remove mount locations
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-16 15:56:22 -05:00
2a1abd0bb0 save ui settings
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-16 15:52:46 -05:00
c75ce9ad21 save ui settings 2025-03-16 15:41:50 -05:00
9afc8e3cb6 save ui settings 2025-03-16 15:31:34 -05:00
56beeacbb3 updated CHANGELOG.md
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-16 09:50:35 -05:00
4253700fe7 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-16 08:16:00 -05:00
2d638d6335 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-16 08:13:41 -05:00
7823627340 added portal settings screen 2025-03-16 08:11:04 -05:00
e7accd1cc1 added portal settings screen 2025-03-16 08:09:42 -05:00
9b5d642106 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-16 07:09:10 -05:00
e167079e5d layout changes
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-16 07:08:02 -05:00
1081ff0b19 added setting description
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-16 06:53:06 -05:00
c720181208 refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build started...
2025-03-16 06:27:37 -05:00
d7a0fd9d8c fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 23:45:19 -05:00
2a7a409506 fix 2025-03-15 23:38:00 -05:00
97310e2ba9 handle reset
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-15 23:28:52 -05:00
54fe6d7bab fix 2025-03-15 23:24:51 -05:00
f70044b9a8 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 23:10:30 -05:00
ea30396e49 refactor 2025-03-15 23:09:04 -05:00
985e503c21 updated CHANGELOG.md 2025-03-15 23:07:34 -05:00
b959af26c4 refactor 2025-03-15 23:04:18 -05:00
0add5ec944 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 22:56:23 -05:00
cd9ad1e322 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 22:50:33 -05:00
ca8de7f87d refactor 2025-03-15 22:45:26 -05:00
2ff72eebce refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 22:31:21 -05:00
97fce78370 refactor 2025-03-15 22:22:28 -05:00
21af9be9a8 refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-15 22:20:38 -05:00
23de275e11 remote mount provider support
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 22:18:42 -05:00
28cfcc0344 remote mount provider support 2025-03-15 22:01:29 -05:00
30a91e1cb2 remote mount provider support 2025-03-15 21:56:10 -05:00
b2d4baa903 remote mount provider support 2025-03-15 21:52:01 -05:00
d3070ffee1 ui changes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 21:37:47 -05:00
abd7e24b5e refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 19:20:58 -05:00
462ebe6fcf detect port availability 2025-03-15 19:18:35 -05:00
b93e2978b0 cleanup
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 19:01:29 -05:00
ece002f25b fixes 2025-03-15 19:00:17 -05:00
b9f5f774e2 display error if mount location is not found 2025-03-15 18:43:43 -05:00
52d210974b display error if mount location is not found 2025-03-15 18:34:49 -05:00
7605be809c per-instance locking
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 18:25:03 -05:00
d0f2f78698 handle mount location not found 2025-03-15 18:14:21 -05:00
69c574b906 ignore existing
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 13:31:08 -05:00
67a669ee17 refactor 2025-03-15 13:24:36 -05:00
c82f07056d refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-15 13:20:53 -05:00
196d721005 reset on error
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 13:17:54 -05:00
532dd3c417 ui changes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 11:35:15 -05:00
c4b4bc9b49 ui changes 2025-03-15 11:33:00 -05:00
343ac025d5 cleanup 2025-03-15 11:25:51 -05:00
d08fd52e51 refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-15 11:22:03 -05:00
05f323665a refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-15 10:59:01 -05:00
349bede3b3 fixes 2025-03-15 10:57:56 -05:00
1a7dc51c4b fixes 2025-03-15 09:13:18 -05:00
d209b52848 prevent duplicates 2025-03-15 08:42:11 -05:00
492ccfbdfb fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-14 21:20:35 -05:00
678dfd6c8b fix 2025-03-14 21:17:37 -05:00
bc146a48a7 fix 2025-03-14 21:12:10 -05:00
04523df564 refactor 2025-03-14 21:03:30 -05:00
b1a31b230a refactor 2025-03-14 20:59:45 -05:00
fe08e274ec don't allow mount until state is determined 2025-03-14 20:57:44 -05:00
33e0066b4c synchronous command 2025-03-14 20:49:14 -05:00
ce814e96a6 mount fixes
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-14 20:46:30 -05:00
7dd56cf715 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-14 20:38:21 -05:00
79262ef862 update default credentials
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-14 20:13:32 -05:00
e270867bf2 fix 2025-03-14 20:07:05 -05:00
6b629b81b4 removed logging
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-14 19:59:13 -05:00
812f68422b fix 2025-03-14 19:57:16 -05:00
76c105286f Create management portal in Flutter #39 2025-03-14 19:55:32 -05:00
cd9ac4a02f add mount via ui 2025-03-14 19:33:05 -05:00
6d09b2549e layout changes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-14 19:19:36 -05:00
69f27b2e69 Create management portal in Flutter #39
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-14 19:08:44 -05:00
7cbf1a3937 Create management portal in Flutter #39 2025-03-14 19:06:25 -05:00
dc817797f3 Create management portal in Flutter #39
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-14 18:57:33 -05:00
71789f6cdb Create management portal in Flutter #39 2025-03-14 18:57:04 -05:00
6e8f843252 Create management portal in Flutter #39 2025-03-14 18:54:31 -05:00
f72f86d8ae Create management portal in Flutter #39
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-14 18:48:34 -05:00
45ea5bab8f Create management portal in Flutter #39 2025-03-14 18:41:53 -05:00
9d083a1d93 Create management portal in Flutter #39
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-14 16:18:35 -05:00
85beb3dfea refactor 2025-03-14 16:17:25 -05:00
3eb4ad85d3 revert 2025-03-14 15:53:45 -05:00
e45119bbbf Create management portal in Flutter #39 2025-03-14 15:52:09 -05:00
4326169186 Create management portal in Flutter #39 2025-03-14 15:48:37 -05:00
e32233a936 Create management portal in Flutter #39 2025-03-14 15:45:07 -05:00
6e8273f9bc Create management portal in Flutter #39 2025-03-14 15:43:33 -05:00
863e316b8a Create management portal in Flutter #39 2025-03-14 15:40:14 -05:00
07311cd710 Create management portal in Flutter #39 2025-03-14 15:28:56 -05:00
637f123c24 Create management portal in Flutter #39 2025-03-14 15:24:01 -05:00
6602e7eff6 Create management portal in Flutter #39 2025-03-14 15:22:07 -05:00
0fd2dc3ddb Create management portal in Flutter #39
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-14 14:54:40 -05:00
d920a55fc0 Create management portal in Flutter #39 2025-03-14 14:47:23 -05:00
edd27e3e34 Create management portal in Flutter #39 2025-03-14 14:33:55 -05:00
6a8a163d0a update
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-14 11:02:16 -05:00
99fa7ffc15 update
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2025-03-14 10:54:34 -05:00
957c1f5256 update 2025-03-14 10:53:35 -05:00
0214bcff6d updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2025-03-14 10:33:26 -05:00
9173ff8d4d updates
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2025-03-14 10:07:28 -05:00
302cd43a03 update 2025-03-14 10:07:20 -05:00
fe51811b39 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-07 12:32:23 -06:00
35e52d50a7 Create management portal in Flutter #39 2025-03-07 12:31:33 -06:00
eb7bfdddd1 Create management portal in Flutter #39 2025-03-07 12:31:00 -06:00
be6ee3ba07 refactor 2025-03-07 11:39:01 -06:00
4dbe4a30b4 refactor 2025-03-07 11:38:42 -06:00
1d37822451 Create management portal in Flutter #39 2025-03-07 11:36:43 -06:00
5ed74aa5af refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-06 15:13:35 -06:00
94073fe1f1 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-06 14:05:11 -06:00
992a02a6ee refactor 2025-03-06 14:04:05 -06:00
6f45848db4 refactor 2025-03-06 13:46:39 -06:00
918d7172ec refactor 2025-03-06 12:51:29 -06:00
8da6008e29 Create management portal in Flutter #39 2025-03-06 12:50:31 -06:00
d2065af398 Create management portal in Flutter #39 2025-03-06 11:58:18 -06:00
b4fd093e7c Create management portal in Flutter #39 2025-03-06 11:51:39 -06:00
5e47cdb861 Create management portal in Flutter #39 2025-03-06 11:40:08 -06:00
eb8f66ebe9 Create management portal in Flutter #39 2025-03-06 11:32:25 -06:00
72a2567c83 Create management portal in Flutter #39 2025-03-06 10:03:35 -06:00
c1e5bd6b0b Create management portal in Flutter #39 2025-03-06 08:53:36 -06:00
02157d21ea Create management portal in Flutter #39 2025-03-06 08:44:17 -06:00
0318489b6c Create management portal in Flutter #39 2025-03-06 08:19:30 -06:00
847bf68f85 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-05 20:38:15 -06:00
6e42899dd3 Create management portal in Flutter #39 2025-03-05 20:26:44 -06:00
35a794106b Create management portal in Flutter #39
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-03-05 20:25:51 -06:00
c54838ad6f fix display
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-05 20:21:51 -06:00
58fde34cfe Create management portal in Flutter #39 2025-03-05 20:19:42 -06:00
3a72563a5c Create management portal in Flutter #39 2025-03-05 19:59:49 -06:00
9e2ad81cff updates
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-05 14:43:42 -06:00
18a66953f2 fix initial file creation
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-05 14:34:31 -06:00
b2c0f44a7d fix initial file creation 2025-03-05 14:24:17 -06:00
791472455a create root directory 2025-03-05 14:11:30 -06:00
8638de87f9 save on error 2025-03-05 14:10:09 -06:00
9409622fef Create management portal in Flutter #39 2025-03-05 14:03:11 -06:00
f2db24b239 Create management portal in Flutter #39 2025-03-05 10:46:00 -06:00
199aea55be Create management portal in Flutter #39 2025-03-05 10:41:25 -06:00
8a18e7a4c9 Create management portal in Flutter #39 2025-03-05 10:31:18 -06:00
dce856b2be Require --name,-na option for encryption provider 2025-03-05 09:45:50 -06:00
51ee46e279 Create management portal in Flutter #39 2025-03-05 09:34:57 -06:00
a0bf5ec3d2 Require --name,-na option for encryption provider 2025-03-05 08:20:24 -06:00
b74160bfb3 Create management portal in Flutter #39 2025-03-05 08:17:27 -06:00
e35f43af97 Create management portal in Flutter #39
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-04 19:45:43 -06:00
e9d65bb566 Create management portal in Flutter #39 2025-03-04 19:43:17 -06:00
15f6b116cc Create management portal in Flutter #39 2025-03-04 19:42:13 -06:00
71f3567375 Create management portal in Flutter #39
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-04 14:48:37 -06:00
865ed5f0c1 Create management portal in Flutter #39 2025-03-04 14:02:28 -06:00
661f57d599 refactor 2025-03-04 13:34:02 -06:00
badd098fe0 Create management portal in Flutter #39 2025-03-04 13:32:15 -06:00
820617b3ff refactor 2025-03-04 13:06:23 -06:00
717b461eaf Create management portal in Flutter #39 2025-03-04 12:57:59 -06:00
4b3890809d updated CHANGELOG.md
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-03 19:58:15 -06:00
d9cd2aa88a Create management portal in Flutter (#40)
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
Reviewed-on: #40
2025-03-03 19:56:56 -06:00
c59c846856 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-03-01 11:22:49 -06:00
1a400cac8d updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2025-03-01 11:18:01 -06:00
57b956b60c updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2025-02-28 18:29:32 -06:00
b95d69ccb8 updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-02-28 17:44:08 -06:00
d90a0eab3d updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2025-02-28 17:35:05 -06:00
c6448cc64c updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2025-02-28 15:01:54 -06:00
514e9535e2 updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2025-02-28 13:37:36 -06:00
14cee39a20 fix
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2025-02-28 12:10:32 -06:00
2c510346f2 updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2025-02-28 11:06:47 -06:00
1560804df8 fixed config name
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-24 09:49:26 -06:00
cc3c0febc3 updated README.md
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-23 18:23:04 -06:00
0458f12e17 Update README.md 2025-02-23 18:21:57 -06:00
ae43cedb45 Update README.md 2025-02-23 18:21:15 -06:00
191eb1620b Update README.md
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-02-23 18:20:52 -06:00
9c648583fb Complete initial v2.0 documentation #33
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-23 18:19:52 -06:00
14d78d0b65 cleanup
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-23 16:34:12 -06:00
54efde0497 Complete initial v2.0 documentation #33
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-23 16:31:33 -06:00
5f593ab86d Complete initial v2.0 documentation #33 2025-02-23 16:30:23 -06:00
feb09746f5 Complete initial v2.0 documentation #33
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-23 11:19:16 -06:00
faad98c11e Complete initial v2.0 documentation #33
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-23 11:18:18 -06:00
12f04c6064 revert
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-23 00:32:04 -06:00
ca307c3bf2 update
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-23 00:29:44 -06:00
ac6f4bcade Complete initial v2.0 documentation #33
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2025-02-23 00:27:11 -06:00
9d48cd97e3 Complete initial v2.0 documentation #33
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-23 00:20:51 -06:00
6c6fb0554f updated CHANGELOG.md
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-23 00:01:24 -06:00
a134f01436 updated CHANGELOG.md
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-22 23:56:21 -06:00
44c33652fa cleanup 2025-02-22 23:55:46 -06:00
131c36415d Complete initial v2.0 documentation #33
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-22 23:06:38 -06:00
9456c8b1d2 Complete initial v2.0 documentation #33
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-22 23:00:26 -06:00
b8c62612d8 refactor 2025-02-22 22:01:37 -06:00
521874a56f Complete initial v2.0 documentation #33
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-22 19:59:22 -06:00
f41ad47262 updated CHANGES.md
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-22 11:36:20 -06:00
8bb2eeb88c updated CHANGELOG.md
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2025-02-22 10:07:52 -06:00
b1aca46034 updated version 2025-02-22 09:58:57 -06:00
8 changed files with 48 additions and 65 deletions

View File

@@ -4,6 +4,9 @@
### Issues ### Issues
* ~~\#12 [Unit Test] Complete all providers unit tests~~
* ~~\#21 [Unit Test] Complete WinFSP unit tests~~
* ~~\#22 [Unit Test] Complete FUSE unit tests~~
* \#39 Create management portal in Flutter * \#39 Create management portal in Flutter
### Changes from v2.0.4-rc ### Changes from v2.0.4-rc
@@ -11,7 +14,6 @@
* Continue documentation updates * Continue documentation updates
* Fixed `-status` command erasing active mount information * Fixed `-status` command erasing active mount information
* Fixed overlapping HTTP REST API port's * Fixed overlapping HTTP REST API port's
* Refactored/fixed instance locking
* Removed passwords and secret key values from API calls * Removed passwords and secret key values from API calls
* Renamed setting `ApiAuth` to `ApiPassword` * Renamed setting `ApiAuth` to `ApiPassword`
* Require `--name,-na` option for encryption provider * Require `--name,-na` option for encryption provider

View File

@@ -26,7 +26,7 @@
namespace repertory { namespace repertory {
[[nodiscard]] auto create_lock_id(provider_type prov, [[nodiscard]] auto create_lock_id(provider_type prov,
std::string_view unique_id)->std::string; std::string_view unique_id);
} }
#if defined(_WIN32) #if defined(_WIN32)

View File

@@ -30,7 +30,7 @@ class i_provider;
class lock_data final { class lock_data final {
public: public:
lock_data(provider_type prov, std::string_view unique_id); explicit lock_data(const provider_type &prov, std::string unique_id);
lock_data(const lock_data &) = delete; lock_data(const lock_data &) = delete;
lock_data(lock_data &&) = delete; lock_data(lock_data &&) = delete;
@@ -42,21 +42,19 @@ public:
private: private:
std::string mutex_id_; std::string mutex_id_;
int lock_fd_;
private:
int handle_{};
int lock_status_{EWOULDBLOCK}; int lock_status_{EWOULDBLOCK};
private: private:
[[nodiscard]] static auto get_state_directory() -> std::string; [[nodiscard]] static auto get_state_directory() -> std::string;
[[nodiscard]] auto get_lock_data_file() const -> std::string; [[nodiscard]] static auto get_lock_data_file() -> std::string;
[[nodiscard]] auto get_lock_file() const -> std::string; [[nodiscard]] auto get_lock_file() -> std::string;
private: private:
[[nodiscard]] static auto wait_for_lock(int handle, [[nodiscard]] static auto wait_for_lock(int fd,
std::uint8_t retry_count = 30U) std::uint8_t retry_count = 30u)
-> int; -> int;
public: public:

View File

@@ -23,6 +23,7 @@
#include "platform/platform.hpp" #include "platform/platform.hpp"
#include "app_config.hpp"
#include "events/event_system.hpp" #include "events/event_system.hpp"
#include "events/types/filesystem_item_added.hpp" #include "events/types/filesystem_item_added.hpp"
#include "providers/i_provider.hpp" #include "providers/i_provider.hpp"
@@ -35,14 +36,14 @@
#include "utils/unix.hpp" #include "utils/unix.hpp"
namespace repertory { namespace repertory {
lock_data::lock_data(provider_type prov, std::string_view unique_id) lock_data::lock_data(const provider_type &prov, std::string unique_id)
: mutex_id_(create_lock_id(prov, unique_id)) { : mutex_id_(create_lock_id(prov, unique_id)) {
handle_ = open(get_lock_file().c_str(), O_CREAT | O_RDWR, S_IWUSR | S_IRUSR); lock_fd_ = open(get_lock_file().c_str(), O_CREAT | O_RDWR, S_IWUSR | S_IRUSR);
} }
lock_data::~lock_data() { release(); } lock_data::~lock_data() { release(); }
auto lock_data::get_lock_data_file() const -> std::string { auto lock_data::get_lock_data_file() -> std::string {
auto dir = get_state_directory(); auto dir = get_state_directory();
if (not utils::file::directory(dir).create_directory()) { if (not utils::file::directory(dir).create_directory()) {
throw startup_exception("failed to create directory|sp|" + dir + "|err|" + throw startup_exception("failed to create directory|sp|" + dir + "|err|" +
@@ -55,7 +56,7 @@ auto lock_data::get_lock_data_file() const -> std::string {
}); });
} }
auto lock_data::get_lock_file() const -> std::string { auto lock_data::get_lock_file() -> std::string {
auto dir = get_state_directory(); auto dir = get_state_directory();
if (not utils::file::directory(dir).create_directory()) { if (not utils::file::directory(dir).create_directory()) {
throw startup_exception("failed to create directory|sp|" + dir + "|err|" + throw startup_exception("failed to create directory|sp|" + dir + "|err|" +
@@ -69,31 +70,19 @@ auto lock_data::get_lock_file() const -> std::string {
} }
auto lock_data::get_mount_state(json &mount_state) -> bool { auto lock_data::get_mount_state(json &mount_state) -> bool {
auto handle = open(get_lock_data_file().c_str(), O_RDWR, S_IWUSR | S_IRUSR); auto fd =
if (handle == -1) { open(get_lock_data_file().c_str(), O_CREAT | O_RDWR, S_IWUSR | S_IRUSR);
mount_state = { if (fd == -1) {
{"Active", false}, return false;
{"Location", ""},
{"PID", -1},
};
return true;
} }
auto ret{false}; auto ret{false};
if (wait_for_lock(handle) == 0) { if (wait_for_lock(fd) == 0) {
ret = utils::file::read_json_file(get_lock_data_file(), mount_state); ret = utils::file::read_json_file(get_lock_data_file(), mount_state);
if (ret && mount_state.empty()) { flock(fd, LOCK_UN);
mount_state = {
{"Active", false},
{"Location", ""},
{"PID", -1},
};
}
flock(handle, LOCK_UN);
} }
close(handle); close(fd);
return ret; return ret;
} }
@@ -101,18 +90,18 @@ auto lock_data::get_state_directory() -> std::string {
#if defined(__APPLE__) #if defined(__APPLE__)
return utils::path::absolute("~/Library/Application Support/" + return utils::path::absolute("~/Library/Application Support/" +
std::string{REPERTORY_DATA_NAME} + "/state"); std::string{REPERTORY_DATA_NAME} + "/state");
#else // !defined(__APPLE__) #else
return utils::path::absolute("~/.local/" + std::string{REPERTORY_DATA_NAME} + return utils::path::absolute("~/.local/" + std::string{REPERTORY_DATA_NAME} +
"/state"); "/state");
#endif // defined(__APPLE__) #endif
} }
auto lock_data::grab_lock(std::uint8_t retry_count) -> lock_result { auto lock_data::grab_lock(std::uint8_t retry_count) -> lock_result {
if (handle_ == -1) { if (lock_fd_ == -1) {
return lock_result::failure; return lock_result::failure;
} }
lock_status_ = wait_for_lock(handle_, retry_count); lock_status_ = wait_for_lock(lock_fd_, retry_count);
switch (lock_status_) { switch (lock_status_) {
case 0: case 0:
return lock_result::success; return lock_result::success;
@@ -124,20 +113,20 @@ auto lock_data::grab_lock(std::uint8_t retry_count) -> lock_result {
} }
void lock_data::release() { void lock_data::release() {
if (handle_ == -1) { if (lock_fd_ == -1) {
return; return;
} }
if (lock_status_ == 0) { if (lock_status_ == 0) {
[[maybe_unused]] auto success{utils::file::file{get_lock_file()}.remove()}; utils::file::file{get_lock_file()}.delete();
flock(handle_, LOCK_UN); flock(lock_fd_, LOCK_UN);
} }
close(handle_); close(lock_fd_);
handle_ = -1; lock_fd_ = -1;
} }
auto lock_data::set_mount_state(bool active, std::string_view mount_location, auto lock_data::set_mount_state(bool active, const std::string &mount_location,
int pid) -> bool { int pid) -> bool {
REPERTORY_USES_FUNCTION_NAME(); REPERTORY_USES_FUNCTION_NAME();
@@ -161,7 +150,7 @@ auto lock_data::set_mount_state(bool active, std::string_view mount_location,
((mount_state.find("Location") == mount_state.end()) || ((mount_state.find("Location") == mount_state.end()) ||
(mount_state["Location"].get<std::string>() != mount_location)))) { (mount_state["Location"].get<std::string>() != mount_location)))) {
if (mount_location.empty() && not active) { if (mount_location.empty() && not active) {
ret = utils::file::file{get_lock_data_file()}.remove(); ret = utils::file::file{get_lock_data_file()}.delete();
} else { } else {
ret = utils::file::write_json_file( ret = utils::file::write_json_file(
get_lock_data_file(), get_lock_data_file(),
@@ -182,13 +171,13 @@ auto lock_data::set_mount_state(bool active, std::string_view mount_location,
return ret; return ret;
} }
auto lock_data::wait_for_lock(int handle, std::uint8_t retry_count) -> int { auto lock_data::wait_for_lock(int fd, std::uint8_t retry_count) -> int {
static constexpr const std::uint32_t max_sleep{100U}; static constexpr const std::uint32_t max_sleep{100U};
auto lock_status{EWOULDBLOCK}; auto lock_status{EWOULDBLOCK};
auto remain{static_cast<std::uint32_t>(retry_count * max_sleep)}; auto remain{static_cast<std::uint32_t>(retry_count * max_sleep)};
while ((remain > 0) && (lock_status == EWOULDBLOCK)) { while ((remain > 0) && (lock_status == EWOULDBLOCK)) {
lock_status = flock(handle, LOCK_EX | LOCK_NB); lock_status = flock(fd, LOCK_EX | LOCK_NB);
if (lock_status == -1) { if (lock_status == -1) {
lock_status = errno; lock_status = errno;
if (lock_status == EWOULDBLOCK) { if (lock_status == EWOULDBLOCK) {
@@ -243,7 +232,7 @@ auto provider_meta_handler(i_provider &provider, bool directory,
file.changed_date, file.creation_date, directory, getgid(), file.key, file.changed_date, file.creation_date, directory, getgid(), file.key,
directory ? S_IFDIR | S_IRUSR | S_IWUSR | S_IXUSR directory ? S_IFDIR | S_IRUSR | S_IWUSR | S_IXUSR
: S_IFREG | S_IRUSR | S_IWUSR, : S_IFREG | S_IRUSR | S_IWUSR,
file.modified_date, 0U, 0U, file.file_size, file.source_path, getuid(), file.modified_date, 0u, 0u, file.file_size, file.source_path, getuid(),
file.modified_date); file.modified_date);
auto res = provider.set_item_meta(file.api_path, meta); auto res = provider.set_item_meta(file.api_path, meta);
if (res == api_error::success) { if (res == api_error::success) {

View File

@@ -29,7 +29,9 @@
#include "events/types/service_stop_end.hpp" #include "events/types/service_stop_end.hpp"
#include "events/types/unmount_requested.hpp" #include "events/types/unmount_requested.hpp"
#include "rpc/common.hpp" #include "rpc/common.hpp"
#include "utils/base64.hpp"
#include "utils/error_utils.hpp" #include "utils/error_utils.hpp"
#include "utils/string.hpp"
namespace repertory { namespace repertory {
server::server(app_config &config) : config_(config) {} server::server(app_config &config) : config_(config) {}
@@ -142,17 +144,13 @@ void server::start() {
initialize(*server_); initialize(*server_);
server_thread_ = std::make_unique<std::thread>([this]() { server_thread_ = std::make_unique<std::thread>([this]() {
#ifdef _WIN32
server_->set_socket_options([](auto &&sock) { server_->set_socket_options([](auto &&sock) {
#if defined(_WIN32) int enable = 1;
int enable{1};
setsockopt(sock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, setsockopt(sock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE,
reinterpret_cast<const char *>(&enable), sizeof(enable)); reinterpret_cast<const char *>(&enable), sizeof(enable));
#else // !defined(_WIN32)
linger opt{1, 0};
setsockopt(sock, SOL_SOCKET, SO_LINGER,
reinterpret_cast<const char *>(&opt), sizeof(opt));
#endif // defined(_WIN32)
}); });
#endif // _WIN32
server_->listen("127.0.0.1", config_.get_api_port()); server_->listen("127.0.0.1", config_.get_api_port());
}); });

View File

@@ -24,7 +24,7 @@
#include "app_config.hpp" #include "app_config.hpp"
namespace repertory { namespace repertory {
auto create_lock_id(provider_type prov, std::string_view unique_id)->std::string { auto create_lock_id(provider_type prov, std::string_view unique_id) {
return fmt::format("{}_{}_{}", REPERTORY_DATA_NAME, return fmt::format("{}_{}_{}", REPERTORY_DATA_NAME,
app_config::get_provider_name(prov), unique_id); app_config::get_provider_name(prov), unique_id);
} }

View File

@@ -109,17 +109,13 @@ handlers::handlers(mgmt_app_config *config, httplib::Server *server)
server_(server) { server_(server) {
REPERTORY_USES_FUNCTION_NAME(); REPERTORY_USES_FUNCTION_NAME();
#ifdef _WIN32
server_->set_socket_options([](auto &&sock) { server_->set_socket_options([](auto &&sock) {
#if defined(_WIN32) int enable = 1;
int enable{1};
setsockopt(sock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, setsockopt(sock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE,
reinterpret_cast<const char *>(&enable), sizeof(enable)); reinterpret_cast<const char *>(&enable), sizeof(enable));
#else // !defined(_WIN32)
linger opt{1, 0};
setsockopt(sock, SOL_SOCKET, SO_LINGER,
reinterpret_cast<const char *>(&opt), sizeof(opt));
#endif // defined(_WIN32)
}); });
#endif // _WIN32
server_->set_pre_routing_handler( server_->set_pre_routing_handler(
[this](const httplib::Request &req, [this](const httplib::Request &req,

View File

@@ -25,8 +25,8 @@
#include "utils/string.hpp" #include "utils/string.hpp"
namespace repertory::utils { namespace repertory::utils {
auto compare_version_strings(std::string version1, std::string version2) auto compare_version_strings(std::string version1,
-> std::int32_t { std::string version2) -> std::int32_t {
if (utils::string::contains(version1, "-")) { if (utils::string::contains(version1, "-")) {
version1 = utils::string::split(version1, '-', true)[0U]; version1 = utils::string::split(version1, '-', true)[0U];
@@ -157,7 +157,7 @@ auto get_next_available_port(std::uint16_t first_port,
++check_port; ++check_port;
continue; continue;
} }
acceptor.set_option(boost::asio::ip::tcp::acceptor::linger(true, 0));
acceptor.bind({tcp::v4(), static_cast<std::uint16_t>(check_port)}, acceptor.bind({tcp::v4(), static_cast<std::uint16_t>(check_port)},
error_code); error_code);
if (error_code) { if (error_code) {