Commit Graph

600 Commits

Author SHA1 Message Date
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
Pacjunk
62cd8df11b
Add profiles for DEC SCSI floppy drives (#441)
* Add files via upload

* Fix wording for RRD42.
2021-11-09 17:48:25 -08:00
Daniel Markstedt
c8b6ac409b
Indicator of a running macproxy daemon in the webapp (#436)
* Support for downloading properties files

* Show extra message when unzipping properties file

* Add logic to unzip method

* Move unzipped properties into CFG_DIR

* Better status message

* Cleanup

* Generic process introspection method

* Show macproxy status in the webapp
2021-11-08 19:11:27 -08:00
Daniel Markstedt
08e7531bb6
Special handling of properties files (#432)
* Support for downloading properties files

* Show extra message when unzipping properties file

* Add logic to unzip method

* Move unzipped properties into CFG_DIR

* Better status message

* Cleanup

* Fix bugs
2021-11-08 19:10:52 -08:00
Daniel Markstedt
8aa7ab5401
Install script for macproxy + cleanup (#430)
* Script for installing macproxy

* Fix errors

* Add friendly message after installing

* Improve labels and remove scsi id reservation
2021-11-08 20:58:30 -06:00
Daniel Markstedt
088e7951f1
Inline attaching of removable media in the device list (#421)
* Clean up constant name

* Inline removable media insertion

* Add missing code

* Revert mistaken change
2021-11-08 20:55:04 -06:00
Daniel Markstedt
59e9d8584c
Check for network bridge configuration before attaching daynaport (#428) 2021-11-08 20:34:49 -06:00
Daniel Markstedt
988a2ffe1a
Make rascsi, rascsi-web and easyinstall.sh portable (#426)
* Make install script portable

* Modify rascsi-web service to accommodate portability

* Remove initialChecks call

* Introduce USER global variable

* Make the web app portable

* Make netatalk installation script portable

* Cleanup

* Cleanup

* Configure default image dir in rascsi.service
2021-11-08 20:33:33 -06:00
joshua stein
b54977daa6
DaynaPort: Remove scsi_cmd_read_6_t struct, it was not correct (#435)
The DWORDs in `cdb *` are not raw packed data from the wire, they
are manually copied in a previous function.  Trying to cast that
unpacked, aligned-on-byte-boundary data into the packed
scsi_cmd_read_6_t structure is not correct and does not put the
correct DWORDs into the proper fields.

Just do away with this struct and refer to the 2 cdb DWORDs (opcode
and length) manually.
2021-11-08 22:56:18 +01:00
joshua stein
f2b5d86fa0
DaynaPort: Ignore commands with a bogus control value (#433)
All traffic from the DaynaPort will have a control value of 0xc0 or
0x80, so any commands that don't should be ignored.

This helps the Mac Plus which will try to READ(6) from the DaynaPort
device if it's attached at boot and then try to interpret the
ethernet packet as hard drive data and crash.

See issue akuker#419
2021-11-08 22:42:54 +01:00
Uwe Seimet
f7ec0de834
Fix clang warnings (#423)
* Fixed clang compiler warnings

* Removed unused code

* Reset compiler
2021-11-07 21:30:21 +01:00
Uwe Seimet
817c1cde31
Fix issue 422 (#425)
* Use the effective filename when checking for duplicates

* Fixed check for asynchronous notifications

* Added additional filename check

* Applied fix also for attach
2021-11-07 21:18:58 +01:00
Daniel Markstedt
7e546e2cb8
ID reservation in Web UI (#416)
* Remove dead code

* Clean up indentation

* Cleanup

* Move socket commands into its own file

* Move non-rascsi command methods into its own file

* Refactoring

* Bring back list_config_files

* Cleanup

* Cleanup of status messages

* Remove unused libraries

* Resolve pylint warnings

* Resolve pylint warnings

* Remove unused library

* Resolve pylint warnings

* Clean up status messages

* Add requests lib to requirements.txt

* Clean up status messages

* Resolve interpolation warnings for logging

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Cleanup

* Add html/head/body tags to the base document

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Add .pylintrc and suppress warnings for the generated protobuf module

* Resolve pylint warnings

* Clean up docstrings

* Fix error

* Cleanup

* Add info on pylint to README

* Store .pylintrc in parent dir to allow other Python packages to use it

* Tidy index.html

* Cleanup

* Resolve jinja-ninja warnings

* Cleanup

* Cleanup

* Cleanup

* Cleanup

* Cleanup

* Save and load id reservations in config file

* Reserve and unreserve in the web ui

* TODO

* Add backwards compatibility with 21.10 config files

* Comment cleanup

* Save and load reservation memos into the config file

* Cleanup

* Resolve pylint warnings

* Fix bugs

* Fix bug

* Fix bugs

* Cleanup

* Fix typo

* Fix successful return clause

* Cleanup

* Fix bugs
2021-11-06 21:11:17 -05:00
Daniel Markstedt
54b3e480a5
Web UI code cleanup and refactoring (#409)
* Remove dead code

* Clean up indentation

* Cleanup

* Move socket commands into its own file

* Move non-rascsi command methods into its own file

* Refactoring

* Bring back list_config_files

* Cleanup

* Cleanup of status messages

* Remove unused libraries

* Resolve pylint warnings

* Resolve pylint warnings

* Remove unused library

* Resolve pylint warnings

* Clean up status messages

* Add requests lib to requirements.txt

* Clean up status messages

* Resolve interpolation warnings for logging

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Cleanup

* Add html/head/body tags to the base document

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Resolve pylint warnings

* Add .pylintrc and suppress warnings for the generated protobuf module

* Resolve pylint warnings

* Clean up docstrings

* Fix error

* Cleanup

* Add info on pylint to README

* Store .pylintrc in parent dir to allow other Python packages to use it

* Tidy index.html

* Cleanup

* Resolve jinja-ninja warnings

* Cleanup

* Cleanup

* Cleanup

* Cleanup

* Cleanup

* Fix wording
2021-11-06 19:25:02 -05:00
Daniel Markstedt
092cb60702
Handle the screen rotation parameter better, fixing an error when no parameter was specified (#418) 2021-11-06 19:23:53 -05:00
Daniel Markstedt
562f1f0d6a
Create a generic README markdown file, remove the font specific one (#415) 2021-11-02 20:24:07 -05:00