Commit Graph

841 Commits

Author SHA1 Message Date
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
ecf4da69af Merge tag 'v21.11.01'
RaSCSI version 21.11.1
2021-11-28 18:33:07 -06: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
Daniel Markstedt
111920edb0
Make rascsi-web port configurable (#471) 2021-11-15 20:00:32 +01:00
Daniel Markstedt
0f222df9a2
Make the OLED script work on Bullseye (#470)
* Add check for gcc 10+ and inject compiler flaggs

* Bump Python libraries
2021-11-14 19:48:46 -06:00
Daniel Markstedt
014ced6042
Http error strings makes it clear that they are thrown by the RaSCSI Web Interface (#468) 2021-11-14 14:07:08 -06:00
Daniel Markstedt
95808aca6b
Add check for root user to easyinstall + other fixes (#466)
* Add check for root user

* Avoid dirty rascsi.service files when easyinstall fails unexpectedly

* Clean up the use of sudo
2021-11-14 13:57:38 -06:00
akuker
c2aa1c0878
Fix daisychain board files (#462)
* Revert "Added STEP file and updated symbol and 3d model references to reference the correct gender of parts. Should be no functional change"

This reverts commit 479cc578b8.

* Delete rascsi_tester that didn't work

Co-authored-by: Tony Kuker <akuker@gmail.com>
2021-11-14 13:56:41 -06:00
Daniel Markstedt
e1a4a963ed
Updates for running on Bullseye (#469)
* Conditionally use compiler flags needed for gcc 10+

* Cleanup

* Remove deprecated systemd options

* Better message
2021-11-14 19:34:24 +01:00
Daniel Markstedt
df361f70d9
Make number of cores used for compilation a command line option for easyinstall.sh (#465) 2021-11-14 10:42:34 +01:00
Pacjunk
a3645dfecc
Update disk.cpp - modesense10 command length (#464)
Modesense(10) has 2 length bytes, therefore the size adjustment must be 2, not 1!
2021-11-14 10:41:34 +01:00
Pacjunk
641e7df64c
Update scsihd.cpp Inquiry data length (#463)
The inquiry command only returns up to the revision information, so don't return more data than this. This gives a total of 36 bytes returned, which is the required minimum in the spec.
2021-11-14 10:41:10 +01:00