Commit Graph

589 Commits

Author SHA1 Message Date
Troy
40432c9de0
All Sense/ASC/ASCQ data is cleared properly (#367)
* All Sense/ASC/ASCQ data is cleared properly

* Forgot to guard the status clear for REQUEST SENSE

Co-authored-by: Troy <jokker@gmail.com>
2021-10-22 20:16:37 +02:00
Daniel Markstedt
39bd6b7ee9 Bring back manual unzip, remove automatic unzip on upload, and show only relevant controls for zip files 2021-10-22 06:42:28 -07:00
Uwe Seimet
ac4abbbe73
Unlink created image file if fallocate() or copying failed (#363)
* Unlink created image file if fallocate() failed

* Also delete destination file after copying if something goes wrong
2021-10-21 18:17:58 -07:00
Daniel Markstedt
e059432402 Clean up config files after error 2021-10-21 17:10:25 -07:00
Daniel Markstedt
192bbb6391 Add checks for running services before stopping + stop&start monitor_rascsi when installing rascsi proper 2021-10-20 22:06:00 -07:00
Daniel Markstedt
269b718ec7
Configurable OLED screen rotation (#359)
* Read rotation from the 1st command line arg

* Configure screen rotation during installation

* Better argument validation + use human readable arguments

* Cleanup
2021-10-20 21:33:06 -05:00
Uwe Seimet
dbaf5dcd30
rasctl output update (#357) 2021-10-20 19:55:48 -05:00
Daniel Markstedt
a47588ab22
Scroll the OLED screen output vertically when overflowing (#358)
* Show only the two last chars of type to save space

* Display rascsi version

* Show more relevant info on removable and bridge devices; Also cleanup

* MO is also removable

* Special handling for BR device

* OLED screen output scrolls vertically when overflowing
2021-10-20 19:55:09 -05:00
Daniel Markstedt
3856fd853b
Remove legacy device status logging (#355) 2021-10-20 18:21:08 -05:00
Daniel Markstedt
7ce84aac6c
Script for installing OLED Screen software (#348)
* Script for installing OLED Screen software

* Reboot is required

* Compile protobuf lib

* Reboot only when kernel config has changed
2021-10-19 22:16:11 -05:00
Daniel Markstedt
cbe3642054
OLED Monitor: use venv and leverage start script in systemd service (#347)
* Add start script for oled monitor

* systemd service definition for oled monitor

* Remove superfluous file

* Bump library versions to avoid erroring out

* Revert mistaken changes

* Revert mistaken changes
2021-10-19 20:01:32 -05:00
Daniel Markstedt
e10a99c24c
OLED Screen: Inquire device status over the protobuf interface (#349)
* Inquire device status over the protobuf interface

* Correct docstring

* Direct URL to make website

* Add protobuf lib to gitignore
2021-10-19 19:59:04 -05:00
Daniel Markstedt
8ab16a1fb2
Restart monitor_rascsi from the Web UI (#341) 2021-10-19 17:58:30 -07:00
Daniel Markstedt
1cae11bcac
Tweak help text and disk status message in Web UI (#337)
* Bring back data important to the user to a more prominent location

* Tweak labels

* More help text

* Tweak messages shown in UI to better align with current develop
2021-10-19 19:44:16 -05:00
Daniel Markstedt
84ba78327b
Feature afpshare in rascsi-web (#333)
* Define afp_dir

* Implement generic download_to_dir() method

* Display AFP share download only when netatalk is running

* Make url input required

* Better help text

* Fix server error

* Better error handling

* Typo fix

* Tweak helptext

* Show number of afpd processes running

* Tweak label
2021-10-19 19:43:15 -05:00
Uwe Seimet
00e8855e41
Fixed capacity calculation for small drives (#346) 2021-10-19 08:45:41 -07:00
Daniel Markstedt
b8722efe0b
Graceful shutdown of rascsi in the systemd service (#338) 2021-10-18 08:43:57 -07:00
Daniel Markstedt
542f9b6905
Script for installing Netatalk (#336)
* Script for installing Netatalk

* Fix errors

* Tweak labels

* Improve script

* Fix error

* Fix error

* Fix error

* Fix errors

* Fix errors

* Add message

* Clean up old config files

* Cleanup

* Fix errors

* Cleanup

* Avoid erroring out of script

* Improve help text

* Improve help text

* Flesh out help text

* Improve help text
2021-10-17 18:31:17 -07:00
Uwe Seimet
62a104f75d
Added SHUT_DOWN command, split rascsi.cpp (#334)
* Added TERMINATE command

* Help text update

* Created ras_util namespace

* Created protobuf_util namespace

* Extracted RascsiImage from rascsi for better modularity

* Fixed wrong filenames (class name differed)

* No need for response handler to be a singleton

* Class renaming

* Renaming

* Moved code

* Moved code

* Image folder handling optimizations

* Updated device factory handling

* DeviceFactory constructor should be private (singleton)

* Renamed TERMINATE to SHUT_DOWN

* Fixed capacity calculation for INQUIRY data

* ATTACH and DETACH return the resulting device list for convenience

* Interface comment update

* Moved code, check fd

* Use new command when returning result for ATTACH/DETACH

* Updated interface comments
2021-10-17 08:51:14 +02:00
Daniel Markstedt
641b176f93
More form validation (#332)
* Add required properties to more text fields

* Tweak input field
2021-10-16 21:31:34 -07:00
Daniel Markstedt
8fb8a42825
Hide controls when appropriate (#327)
* Hide image file controls when it is attached

* Hide device actions when no device is attached
2021-10-14 19:49:06 -05:00
Daniel Markstedt
8e0e0c89ac
Fix image dir paths that was broken by refactoring (#329)
* Fix image download that was broken by images dir refactoring

* Fix two more instances of image dir path construction
2021-10-14 19:47:33 -05:00
Daniel Markstedt
156367a827
Update handling for CD property creation, and deletion (#326) 2021-10-14 19:47:02 -05:00
Daniel Markstedt
992095ffd5
Config saving/loading validation (#331)
* Add validation for config loading/deleting

* Disallow saving an empty config

* Typo fix

* Update help text for clarity

* Consistent capitalization
2021-10-14 19:46:25 -05:00
Uwe Seimet
84f40c7fe9
Issue 319, detach all devices on SIGKILL/SIGTERM (#328)
* Removed size validation for MOs

* rasctl -D detaches all devices

* Detach all devices on Ctrl-C (KILL signal)

* Added comment

* Also detach all devices on SIGTERM
2021-10-14 13:25:10 -07:00
akuker
2cc9efc1a0
Disable the rpi build for develop and master (#330) 2021-10-14 13:20:57 -07:00
Daniel Markstedt
e0f5a7e17c
Change properties file name pattern to include the original file ending; other cleanup (#325) 2021-10-13 20:51:45 -05:00
Daniel Markstedt
9535a2e001
Text field validation (#324) 2021-10-13 20:30:30 -05:00
Daniel Markstedt
34f5bc99b7
Easyinstall fixups (#305)
* Fix minor errors in easyinstall.sh and start.sh

* Make easyinstall directory portable

* Make RASCSI-web directory portable in easyinstall.sh

* Remove directory check from easyinstall.sh

* Fix failed merge

* Fix copy of web files

* Fix VIRTUAL_DRIVER_PATH

* Revert to fixed checkout dir

* Simplify rascsi-web.service installation

* Fix bugs

* Better iptables-persistent check

* Revert line commented out for testing

* Fix unintentional indentation

* Add check for the existance of a remote branch

* Add echo message when detecing local branch

* Fallback name and email for git stash command

* Add quotation marks

* Add set -x for testing

* Avoid script to exit out when sudoIsReady check fails

* Tweak conditional check

* Pass argument with -S

* Options for testing

* Testing

* Testing

* Reset stdin for suspicious actions

* Reset stdin for suspicious actions

* Testing

* Testing

* Stop testing

Co-authored-by: Jonathan karras <karrots@users.noreply.github.com>
2021-10-13 20:01:13 -05:00
Daniel Markstedt
e58f96318a
Add client side image size validation (#322) 2021-10-13 20:00:41 -05:00
Daniel Markstedt
e34529fa2c
Remove image padding (#312)
* Remove special handling of CD image padding

* Remove image padding, since it is no longer needed
2021-10-13 18:00:31 -07:00
Daniel Markstedt
f2d889aca1
Show image size under DEVICE INFO (#314) 2021-10-13 19:56:53 -05:00
Daniel Markstedt
9bd0b9802b
Detach all devices when shutting down/restarting (#323)
* Detach all before shutting down / restarting

* Additional message
2021-10-13 19:55:25 -05:00
Daniel Markstedt
fa12f49078
Inquire the server about current image dir (#313) 2021-10-13 19:54:29 -05:00
Uwe Seimet
c68c17e366
File size filtering update (#320)
* Updated logging

* Updated logging

* Updated logging

* Updated ID/LUN parsing

* Updated handling of max_id

* The -HD option sets type to SAHD

* Replaced is_sasi by device type

* Updated logging

* Logging update

* Improved LUN evaluation

* Check LUN against UnitMax

* Comment update

* LUN parsing update

* Logging update

* Logging update

* Updated ReportLuns

* Updated REPORT LUNS

* Cleanup

* Updated REPORT LUNS

* Updated Execute()

* Updated LUN handling

* Check for consecutive LUNs

* Added LUN check for remotely attached devices

* Remember LUN selected by IDENTIFY

* Evaluate LUN from IDENTIFY message

* Added comment

* Updated REPORT LUNS

* Initlize LUN

* Logging update

* Support 32 LUNs

* rasctl display update

* Updated LUN check for LUNSs > 7

* Simplified LUN validation

* Fixed wrong ID/LUN handling with values > 9

* Log level update

* Manpage update

* rascsi parser update

* Updated error handling

* Updated error handling

* Updated LUN setup validation

* Updated logging

* Improved validation of consecutive LUNs

* Renaming

* Detach all LUNs equal to or higher than the one specified

* File size is not required anymore to be a multiple of the block size

* Renaming
2021-10-13 09:41:21 -07:00
Uwe Seimet
89d66ef02b
Support for multiple SCSI LUNs (#318)
* Updated logging

* Updated logging

* Updated logging

* Updated ID/LUN parsing

* Updated handling of max_id

* The -HD option sets type to SAHD

* Replaced is_sasi by device type

* Updated logging

* Logging update

* Improved LUN evaluation

* Check LUN against UnitMax

* Comment update

* LUN parsing update

* Logging update

* Logging update

* Updated ReportLuns

* Updated REPORT LUNS

* Cleanup

* Updated REPORT LUNS

* Updated Execute()

* Updated LUN handling

* Check for consecutive LUNs

* Added LUN check for remotely attached devices

* Remember LUN selected by IDENTIFY

* Evaluate LUN from IDENTIFY message

* Added comment

* Updated REPORT LUNS

* Initlize LUN

* Logging update

* Support 32 LUNs

* rasctl display update

* Updated LUN check for LUNSs > 7

* Simplified LUN validation

* Fixed wrong ID/LUN handling with values > 9

* Log level update

* Manpage update

* rascsi parser update

* Updated error handling

* Updated error handling

* Updated LUN setup validation

* Updated logging

* Improved validation of consecutive LUNs

* Renaming

* Detach all LUNs equal to or higher than the one specified

* Add support for LUN in the device list

* Add ability to show device info for LUNs

* Make it possible to detach and eject LUNs

* Show full path to prop file

* Show only LUN columns when non-0 LUNs present

* Support for attaching LUNs

* Add helptext

* Fix handling of removable media

* Retain the previous behavior of recommending the next unoccupied id

* SCSI ID validation no longer needed due to changed logic

* Make use of recommended id everywhere

* Docstring

Co-authored-by: Daniel Markstedt <markstedt@gmail.com>
2021-10-13 11:03:31 +02:00
Uwe Seimet
be090de0cc
Fix block size handling (512 bytes) for CDs (#316)
* Replaced code that assumes CDs having 2048 bytes per sector

* Comment update

* Logging update

* Logging update

* Set sector size before calling Open()
2021-10-10 00:03:51 -07:00
Uwe Seimet
dd5cad616f
Updated/Removed CD-ROM size checks (#315) 2021-10-08 14:59:23 -07:00
Uwe Seimet
f5a6f5dce2
Removed ISO CD block size check, optionally set r/o status when copying a file (#311)
* Removed ISO CD-ROM block size check

* Removed CD size checks

* Replicate read-only status when copying an image file

* Cleanup

* Copied images can optionally be created read-only

* Check path of default image folder

* Comment update

* Updated error message
2021-10-08 04:05:57 -07:00
Jonathan Karras
5bd8807c9e
Fix script errors in easyinstall.sh (#297)
* Fix minor errors in easyinstall.sh and start.sh

* Make easyinstall directory portable

* Remove directory check from easyinstall.sh

* Revert to requiring the checkout dir to be /home/pi/RASCSI

Co-authored-by: Daniel Markstedt <markstedt@gmail.com>
2021-10-07 18:00:49 -07:00
Uwe Seimet
f7cdc917ad
Sector size must be set before Open() (#307) 2021-10-07 06:31:42 -07:00
Uwe Seimet
a638fec8a8
Feature interface granularity (#304)
* Added VERSION_INFO

* Added LOG_LEVEL_INFO

* Added RESERVED_IDS_INFO

* Renaming

* Renaming

* Split rasctl

* Code cleanup

* Removed unused method

* Include cleanup

* More cleanup

* More cleanup

* Simplified sending commands

* Fully set up command

* Further simplified sending commands

* Moved code

* Include cleanup

* Reject reserving an ID that is in use

* Update rascsi-web for the changes in protobuf interface

Co-authored-by: Daniel Markstedt <markstedt@gmail.com>
2021-10-06 23:25:43 +02:00
akuker
95607cd603
Github action to create a raspberry pi image (#302)
Co-authored-by: Tony Kuker <akuker@gmail.com>
2021-10-06 13:42:52 -05:00
Daniel Markstedt
c3aede9873
Fix calls to list_files() (#303) 2021-10-05 21:42:48 -05:00
Daniel Markstedt
5727f3ba0f
Feature image padding (#269)
* Implement pad_image method

* Reintroduce list_files method, rename the other to list_images

* Add iso file padding UI

* HDD image UI

* Tweak label

* Store padded image in the right dir

* Show only images that need padding

* Support padding MO images

* Cleanup

* UI flow to show drive properites (#270)

* Adjust MO padding to align with current develop

* Add docstrings

* Fix image padding code

* Tweak labels
2021-10-05 21:12:51 -05:00
Daniel Markstedt
7717890b5f
Feature config dir (#299)
* Define a separate config directory

* Create config dir when installing

* Fix typo

* Introduce delete_file method for deleting non-image files

* Add docstring
2021-10-05 20:58:49 -05:00
Daniel Markstedt
8f09f97d30
Cleanup rascsi-web mocking for current develop (#301) 2021-10-05 20:39:26 -05:00
Uwe Seimet
b79fd17f6f
Reserved IDs should only have an effect on ATTACH (#298)
* Reserved IDs should only have an effect on ATTACH

* Updated evaluation of reserved ID string
2021-10-04 14:22:32 -07:00
Daniel Markstedt
80e746b209
Feature show drive properties in webui (#290)
* Implement pad_image method

* Reintroduce list_files method, rename the other to list_images

* Add iso file padding UI

* HDD image UI

* Tweak label

* Store padded image in the right dir

* Show only images that need padding

* Support padding MO images

* Cleanup

* UI flow to show drive properites (#270)

* Adjust MO padding to align with current develop

* Add docstrings

* Remove image padding code

* Cleanup

* Cleanup
2021-10-02 09:33:31 -07:00
Eric Helgeson
d34c85d103
Merge pull request #293 from akuker/fix_hardcoded_filetypes
Query rascsi for the supported file endings to be used in the Web UI
2021-10-02 10:39:39 -05:00