Commit Graph

682 Commits

Author SHA1 Message Date
Uwe Seimet
e2580d77cf
Feature shutdown improvement (#556)
* Use init instead of reboot for shutdown and restart

* Include file update
2021-12-22 09:21:07 +01:00
Uwe Seimet
94786aec54
Added support for operation meta data, code cleanup (#534)
* Added messages

* Comment update

* Interface update

* Support for localized descriptions

* Sort operations

* Completed meta data

* rasctl -s returns operation meta data

* Manpage update

* Type update

* Comment update

* Description updates

* Comment update

* Added convenience method

* Added convenience method

* Code cleanup

* Comment update

* Display permitted values

* For completeness sake added permitted boolean values

* Added support for default value

* Removed redundant message field

* Description update

* Description upddate

* Squashed commit of the following:

commit 8171c6ea27982c736c30c0db69a7fdde07ee10ce
Author: Uwe Seimet <Uwe.Seimet@seimet.de>
Date:   Sat Dec 18 12:43:14 2021 +0100

    The data type is implicit

commit fb01dc9d82e8ff7456b05a0cb9d08069adacc64c
Author: Uwe Seimet <Uwe.Seimet@seimet.de>
Date:   Sat Dec 18 12:37:49 2021 +0100

    Renaming

commit 057dbf1aca7be3f7e76a5ff89a582a276b6d3089
Author: Uwe Seimet <Uwe.Seimet@seimet.de>
Date:   Sat Dec 18 12:29:54 2021 +0100

    Comment update

commit 5f699aad2f835f72accdb445d1e59f094aeb108f
Author: Uwe Seimet <Uwe.Seimet@seimet.de>
Date:   Sat Dec 18 12:24:25 2021 +0100

    Signature update

commit cbcf8b09f9d1ba7b82f816269bcfe91d9f00eb6e
Author: Uwe Seimet <Uwe.Seimet@seimet.de>
Date:   Sat Dec 18 12:22:45 2021 +0100

    Signature update

commit a8148ef802ca809e5a305d2caa69856c9033d932
Author: Uwe Seimet <Uwe.Seimet@seimet.de>
Date:   Sat Dec 18 12:16:46 2021 +0100

    Comment update

commit ce685a92d4827e131d80d10ecd56e2b3baf173f8
Author: Uwe Seimet <Uwe.Seimet@seimet.de>
Date:   Sat Dec 18 12:15:46 2021 +0100

    Use map instead of list

commit 454c0438f3589904f5dbe5253963dd200ea416dd
Author: Uwe Seimet <Uwe.Seimet@seimet.de>
Date:   Sat Dec 18 10:47:36 2021 +0100

    Updated size check

commit b386dbba4b0262f4f6f02aecb2a1daeffd41f4a2
Author: Uwe Seimet <Uwe.Seimet@seimet.de>
Date:   Sat Dec 18 01:23:43 2021 +0100

    Initial improvements

* Default value update

* Comment update

* Comment update

* Map operations by ordinal

* Added safeguard against unknown operations

* Added cast

* Data type update

* Sort map by operation name

* Renaming

* Code cleanup

* Comment update

* Renaming

* Comment update

* Description updates

* Fixed typo

* Added operation

* Logging update

* Interface comment update

* Fixed typo

* Aded operation parameters

* Updated handling of mandatory parameters

* Updated assertion handling

* Added missing condition

* Removed duplicate cod3

* Code cleanup

* Logging update

* Removed duplicate code

* Code cleanup

* Squashed commit of the following:

commit 4ae273ccbd
Author: akuker <34318535+akuker@users.noreply.github.com>
Date:   Sun Dec 19 22:30:22 2021 -0600

    Loopback tester pcb (#545)

commit 46c5c1966f
Author: akuker <34318535+akuker@users.noreply.github.com>
Date:   Sun Dec 19 22:29:59 2021 -0600

    RaSCSI Zero version 1.0 (#546)

commit d09df31d67
Author: Daniel Markstedt <markstedt@gmail.com>
Date:   Sun Dec 19 20:25:23 2021 -0800

    Remove redundant code from OLED script (#547)

commit d8828da690
Author: akuker <34318535+akuker@users.noreply.github.com>
Date:   Sun Dec 19 21:02:50 2021 -0600

    Added list of sponsors

commit bcd7e8396d
Author: Daniel Markstedt <markstedt@gmail.com>
Date:   Sun Dec 19 15:51:45 2021 -0800

    Second attempt at properly creating the manpage dir (#542)

commit c887edfc8c
Author: Daniel Markstedt <markstedt@gmail.com>
Date:   Sun Dec 19 15:50:03 2021 -0800

    Remove special elevated privileges for the Web Interface (#536)

    * Use the pi_shutdown method to restart the rascsi service

    * Use the pi_shutdown method to restart the rascsi service

    * Remove modifications to sudoers no longer needed

    * Introduce sleeps attempting to connect to socket; reduce overall number of retries

    * Remove systemd helped methods and the functionality that depends on it

    * Attempts to speed up splash code

    * Remove unneccessary verbosity

    * Attempt to optimize service definition

commit 801aebfb96
Author: Daniel Markstedt <markstedt@gmail.com>
Date:   Sun Dec 19 15:47:22 2021 -0800

    More readable message when downloading a file (#531)

commit 29cf58288f
Author: Daniel Markstedt <markstedt@gmail.com>
Date:   Sun Dec 19 15:47:03 2021 -0800

    Add a warning notice when ejecting removable media (#526)

commit 7efa895239
Author: Daniel Markstedt <markstedt@gmail.com>
Date:   Sun Dec 19 15:46:22 2021 -0800

    Unzip zipfiles before storing to iso (#525)

    * Unzip zipfiles before storing to iso

    * Add helptext

    * Skip unzip for MacZip format

    * Should not be an fstring

commit 39bc485671
Author: Daniel Markstedt <markstedt@gmail.com>
Date:   Sun Dec 19 15:28:22 2021 -0800

    Add pip3 to global dependencies; remove duplicates from monitor_rascs… (#523)

    * Add pip3 to global dependencies; remove duplicates from monitor_rascsi dependencies

    * Cleanup

* Shutdown functionality is only available if started with root permissions

* Only restrict shutdown parameters, not everything if not root

* Updated operation count check
2021-12-21 08:43:21 +01:00
Daniel Markstedt
693ade2967
Bump Macproxy version to 21.12.2 (#550) 2021-12-20 21:04:23 +01:00
akuker
958fb95908
Adjust bus settle delay to match SCSI standard (#544)
* Move the GCC v10 compiler flags into makefile instead of easyinstall.sh

* #504 - Update the bus settle time to match the SCSI standard

Co-authored-by: RaSCSI User <user@rascsi.com>
2021-12-20 19:50:14 +01:00
Daniel Markstedt
200bc7251f
More helpful error message when IP does not resolve for OLED screen (#541)
* More helpful error message

* Remove confusing fallback IP

* Tweak message
2021-12-20 08:20:22 -06:00
akuker
4ae273ccbd
Loopback tester pcb (#545) 2021-12-19 22:30:22 -06:00
akuker
46c5c1966f
RaSCSI Zero version 1.0 (#546) 2021-12-19 22:29:59 -06:00
Daniel Markstedt
d09df31d67
Remove redundant code from OLED script (#547) 2021-12-19 22:25:23 -06:00
akuker
d8828da690
Added list of sponsors 2021-12-19 21:02:50 -06:00
Daniel Markstedt
bcd7e8396d
Second attempt at properly creating the manpage dir (#542) 2021-12-19 17:51:45 -06:00
Daniel Markstedt
c887edfc8c
Remove special elevated privileges for the Web Interface (#536)
* Use the pi_shutdown method to restart the rascsi service

* Use the pi_shutdown method to restart the rascsi service

* Remove modifications to sudoers no longer needed

* Introduce sleeps attempting to connect to socket; reduce overall number of retries

* Remove systemd helped methods and the functionality that depends on it

* Attempts to speed up splash code

* Remove unneccessary verbosity

* Attempt to optimize service definition
2021-12-19 17:50:03 -06:00
Daniel Markstedt
801aebfb96
More readable message when downloading a file (#531) 2021-12-19 17:47:22 -06:00
Daniel Markstedt
29cf58288f
Add a warning notice when ejecting removable media (#526) 2021-12-19 17:47:03 -06:00
Daniel Markstedt
7efa895239
Unzip zipfiles before storing to iso (#525)
* Unzip zipfiles before storing to iso

* Add helptext

* Skip unzip for MacZip format

* Should not be an fstring
2021-12-19 17:46:22 -06:00
Daniel Markstedt
39bc485671
Add pip3 to global dependencies; remove duplicates from monitor_rascs… (#523)
* Add pip3 to global dependencies; remove duplicates from monitor_rascsi dependencies

* Cleanup
2021-12-19 17:28:22 -06:00
Uwe Seimet
ec31198d83
Optional authentication by access token (#529)
* Added authentication by access token

* No authentication is required for getting the rascsi version

* Added comment

* Interface description update

* Manpage update

* Added error code

* Enum value update (backwards compatible)

* Error code update

* Error code update

* Added CHECK_AUTHENTICATION

* Comment update

* VERSION_INFO also requires authentication

* rasctl: Made token an optional parameter for -P

* Fixed interface comment
2021-12-19 11:54:10 +01:00
Uwe Seimet
e32211ef73
Recursive image file scan and image file filter (#532)
* Extracted code

* Initial support for (optional) recursive image file listings

* Manpage update

* Added support for image file filter

* Updated filtering

* Made image scan depth configurable
2021-12-19 11:49:17 +01:00
Daniel Markstedt
39c65beb99
Better Pi shutdown handling in Web Interface (#522)
* Add shutdown method

* Use shutdown method

* Use proto shutdown commands; remove old shell commands

* Add explicit monitor_rascsi shutdown

* Better method name

* Add code comment

* Fix bug
2021-12-13 19:37:28 -08:00
Daniel Markstedt
0eb9e50d18
Rename image file in web interface (#521)
* Introduce rename_image method

* Introduce rename endpoint

* Better prompt text

* Fix bug

* Make renaming properties files work

* Have current file name prefilled

* Add login_required decorator

* Remove unused code
2021-12-13 20:50:36 -06:00
Daniel Markstedt
986116f8d9
Introduce wrapper method for enabling auth for endpoints (#518) 2021-12-12 18:54:15 -06:00
Daniel Markstedt
01bc198d4c
Pipe only stdout to /dev/null when checking pip return code (#517)
* Piping stderr to /dev/null was a bad idea

* Piping stderr to /dev/null was a bad idea
2021-12-12 18:53:08 -06:00
Daniel Markstedt
7dce1bc3b9
The ability to create ISO images of various types (#520)
* Better error handling

* Ability to create ISO images of various types

* Remove ISO v2 option, since I couldn't test that it works

* Add help text

* Fix typo
2021-12-12 18:52:35 -06:00
Daniel Markstedt
aa0e5a287b
Error handling in subprocess run (#516) 2021-12-12 11:13:19 -06:00
Uwe Seimet
0abbff200e
Support for RaSCSI shutdown, system shutdown or reboot (#515)
* Initial reboot support

* Moved code

* Fixed typo

* Shutdown update

* rasctl passes mode "rascsi"

* Use reboot() instead of syscall()

* Fixed typo

* Renaming

* Comment update

* Error message update

* Updated error handling

* Error message update

* Added comment
2021-12-10 16:03:01 -06:00
Daniel Markstedt
916cf2c72c
Fix startup check for broken venv (logic was the wrong way around) (#513)
* I got the logic the wrong way around

* Explicitly use pip3 to avoid certain error scenarios
2021-12-09 19:45:54 -06:00
Daniel Markstedt
8f1cc95195
Small fixes for HFS formatted drive creation in easyinstall (#511)
* More descriptive messages for creating drive images

* Revert back to using hda file extension for created drives
2021-12-08 17:59:17 -06:00
Daniel Markstedt
824a9c5ecd
Bump to Macproxy release 21.12.1 (#509)
* Bump Macproxy version to 21.12.1

* Add functions for starting and stopping macproxy service; rename start script

* Remove superfluous step

* Fix bugs
2021-12-06 20:41:46 -06:00
Daniel Markstedt
0cc0ee9094
Add checks for bad venv, and delete if detected (#510)
* Add checks for two known bad venv states

* More sturdy replacement operator
2021-12-06 20:38:41 -06:00
Uwe Seimet
5ec5a5f730
Link rasctl with -lpthread, updated cross-compiler default setting (#508)
* Link rasctl with -lpthread, as -lprotobuf may require it

* Made non-cross compiling the default setting

* Comment update

* No need for initial definition of CROSS_COMPILE

* Update
2021-12-06 11:45:44 -08:00
Daniel Markstedt
47717ad0e0
Check for iptables, and install if missing (#506) 2021-12-04 20:07:17 +01:00
Uwe Seimet
b9f2d3d448
Logging update (#505) 2021-12-03 10:25:36 -08:00
Daniel Markstedt
df3387b178
Stop submit event if prompt cancel is clicked (#495) 2021-12-02 19:20:00 -06:00
Daniel Markstedt
267625d1e8
Handle corner case scenarios in easyinstall when compilation of rascsi failed (#502)
* Backup rascsi.service AFTER compilation to avoid disabling the service when compilation fails

* Rename constant to match naming convention

* Introduce SYSTEMD_PATH global constant

* Rename constant to match naming convention

* Change method of checking for existing systemd services, to handle a corner case scenario where the service previously existed but the .service file had been removed unexpectedly
2021-12-02 19:18:45 -06:00
Daniel Markstedt
d4f30a4e34
Remove DSPDLOG_FMT_EXTERNAL from gcc 10+ compiler flags, since it caused errors on 64-bit systems, and it seems to work without it on 32-bit systems. (#501) 2021-12-01 10:16:59 +01:00
Tony Kuker
5775cd1fb2 Update version for next development version 2021-11-28 18:27:56 -06:00
Daniel Markstedt
c3a4bf876f
Handle error for invalid zip file (#494) 2021-11-28 14:09:31 -06:00
Daniel Markstedt
b682655e56
Scroll to top of page when long process is initiated (#493)
* Scroll to top of page when long process is initiated. Reduce code duplication.

* Add script type
2021-11-27 20:23:37 -06:00
Daniel Markstedt
8dfe9d1b5e
Use a byte size the Floptical driver recognizes. Remove the 21MB profile as it doesn't work. (#492) 2021-11-27 20:22:50 -06:00
Daniel Markstedt
a2af7623af
Make the restart rascsi service endpoint actually check for systemd s… (#487)
* Make the restart rascsi service endpoint actually check for systemd service status before doing anything. Introduced error handling and more verbose messages.

* Cleanup
2021-11-27 19:17:36 -06:00
Daniel Markstedt
7818552ca9
Resolve pylint warnings (#488)
* Suppress the import outside toplevel pylint rule -- I think we want to save memory

* Resolve pylint warnings
2021-11-27 14:11:59 -06:00
Daniel Markstedt
fff0a748b3
Change wiki link (#491) 2021-11-27 14:10:45 -06:00
Daniel Markstedt
5b397229cd
Introduce async operations in webapp (#485)
* Introduce run_async for system processes

* Remove redundant code for system shutdown and reboot endpoints

* Use async process with systemd_service

* Modify innerHTML to show progress messages

* Add docstring
2021-11-26 20:59:25 -08:00
akuker
a24a07508e
Updated message in easyinstall (#486) 2021-11-26 20:49:45 -08:00
Daniel Markstedt
5346d110a9
User authentication in the Web Interface (#483)
* Add flask-login library

* Add simplepam lib to requirements

* We don't use flask-login after all

* User authentication in the web app using simplepam

* Allow only users in the sudo group to log in

* Tweak string

* This way to enforce authenticated state doesn't work here

* Open links to github in new tab

* Disallow uploads when not authenticated

* Check for the rascsi group on the system to enable webapp auth. Allow only users in the rascsi group to authenticate.

* Make the AUTH_GROUP a global constant.

* Add easyinstall option for web interface auth

* Make AUTH_GROUP a constant

* More accurate change scope
2021-11-26 22:41:10 -06:00
Uwe Seimet
1ad1242fad
Feature READ/WRITE LONG(10/16) (#481)
* Partial implementation of READ/WRITE LONG(10)

* Comment update

* Comment update

* Fixed typo

* Updated dispatcher table

* Added READ/LONG(16)

* Added 16 byte opcode

* Updated flushing

* Logging update

* Fixed typo

* Check start sector

* Renaming
2021-11-26 22:29:21 -06:00
Daniel Markstedt
4287145615
Create the manpage dir if it doesn't exist (#482) 2021-11-24 21:27:17 -06:00
Daniel Markstedt
ba7647da12
Introduce easyinstall options for installing stand-alone rascsi (#472)
* Introduce advanced options for installing stand-alone rascsi and rascsi-web

* Add usage notes message after configuration

* Adds code comments

* Separate function for managing the cfg dir

* Add code comments

* Update easyinstall.sh

* Add sudoCheck function to prompt for user password with a contextual message, and error out when not in sudoers group

* Up-front messages on the changes that will be made to the system

* Web service message

* Message about manpage installs

* One more manpage notice

* Update manpage targets

* Use a more sturdy parameter expansion syntax

* Use a more sturdy parameter expansion syntax
2021-11-18 20:17:24 -06:00
Uwe Seimet
d0b3c54700
Updated manpath path to /usr/local/man/man1 (#474) 2021-11-18 19:41:33 -06:00
Daniel Markstedt
53d38077f1
Include file name in delete modal (#476) 2021-11-18 19:24:59 -06:00
Uwe Seimet
f46453bbd2
Various DaynaPort related logging updates (#477)
* Removed duplicate CDB logging

* Updated logging

* Logging update

* Log level update

* Removed more duplicate logging

* Logging update

* Logging update

* Comment update

* Logging update

* Removed assertion

* Removed dummy method (doing nothing)

* Logging update
2021-11-18 19:24:36 -06:00