Commit Graph

615 Commits

Author SHA1 Message Date
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
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
Daniel Markstedt
133eab068c
Use the 21.11 release tarball for Macproxy; allow you to specify port number (#450)
* Tweak UI strings

* Pull a stable macproxy release tarball

* Add option to customize port
2021-11-13 19:45:40 -06:00
Daniel Markstedt
1446664310
Add Iomega Floptical profiles (#453) 2021-11-13 19:44:53 -06:00
Daniel Markstedt
70d58118fd
Transliterate non-ASCII for display on the screen (#449) 2021-11-13 19:44:09 -06:00
Daniel Markstedt
61c4534eab
Add support for 64px OLED screen height (#448)
* Add support for 64px screen height

* Handle case when only one argument is passed

* Simplify arg parsing

* Update install script to handle screen height selection

* Cleanup

* Update README

* Add blurb on running start.sh standalone

* Format

* Global constant for LINE_SPACING

* Make FONT_SIZE a global constant; improve code comments
2021-11-13 19:40:49 -06:00
Daniel Markstedt
65d0a9b2e6
Improved properties unzip handling (#447)
* Attempt to unzip a properties file when unzipping individual files

* Don't show the unzip button for properties files

* Hide properties files in zip files, and show an asterisk for images with associated properties

* Cleanup

* Have properties files expand below images in archives

* Hide bullets

* Improve layout
2021-11-13 19:38:01 -06:00
Uwe Seimet
41c3405b99
Code cleanup (#442)
* Fixed clang warnings

* Removed obsolete logging

* Collection usage cleanup

* Use sorted collections

* Updated sorting, added comments

* Improved locality of code

* Simplified vector initialization

* Fixed typo

* Collection usage cleanup

* Removed useless comments and assertions

* Removed useless comments, removed code inconsistencies

* Removed useless comments, renaming

* Replaced cast by a more explicit logical operation

* Removed target with hard-coded paths

* Include file cleanup

* Use more standard includes

* Fixed log level name

* Updated switch

* Fixed typo

* Improvoded locality of code, removed useless comments
2021-11-13 19:36:35 -06:00
Uwe Seimet
5abd403c78
IMAGE_FILE_INFO used hostname instead of filename (#457) 2021-11-12 20:28:40 -08:00
Uwe Seimet
492c7331cf
Feature parallel make, -j $(nproc) (#446)
* Use make $(nproc)

* Fixed option
2021-11-09 18:20:55 -08:00