* Clean exit on errors
* Avoid unnecessary scrolling
* Fix bug where removable media wasn't updated
* Add signal handler, solution from https://stackoverflow.com/questions/1112343/how-do-i-capture-sigint-in-python
* Display a splash screen on startup
* Introduce stop splash
* Add parameters to enable the SIGTERM handling to take effect
* Change to a less busy stop splash
* Less busy start splash
* Iterate on splash bitmaps
* Iterate on splash bitmap
* Add check for libopenjp2-7-dev in the start script
* Iterate on splash bitmap
* Iterate on splash bitmap
* Read rotation from the 1st command line arg
* Configure screen rotation during installation
* Better argument validation + use human readable arguments
* Cleanup
* 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
* 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
* 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
* 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
* 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>
* 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
* 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>
* 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>
* 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
* 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
* Fixed compile time issues
* Fix compile time error in sasidump.cpp
* Fix comment in Makefile
* Fix compile time error in sasidump.cpp
* Restore rasdump and sasidump to BIN_ALL
* Fix typo
* Install rasdump and sasidump
* manpage for rasdump
* Create manpage for sasidump
Co-authored-by: Uwe Seimet <Uwe.Seimet@seimet.de>
* Fixed compile time issues
* Fix compile time error in sasidump.cpp
* Fix comment in Makefile
* Fix compile time error in sasidump.cpp
* Restore rasdump and sasidump to BIN_ALL
Co-authored-by: Daniel Markstedt <markstedt@gmail.com>
* Translate code comments
* Remove documentation that is contained in wiki
* Translate code comments
* Remove documentation that is contained in wiki
* Translate configuration file
* Remove documentation that is covered by wiki
* Translate code comments
* Translate strings and code comments
* Cleanup
* Fixed issue with attaching protected devices
* Fixed same issue when inserting a file
* Added IMAGE_FILE_INFO command
* rasctl output update
* Added file mode and type
* Datat type update
* Reverted change
* Update web ui for protobuf changes
Co-authored-by: Daniel Markstedt <markstedt@gmail.com>
* Added MAPPING_INFO command, returning the mapping of extensions to types
* Updated help message
* Set explicit vendor/product/revision for .hda extension
* Added leading blanks to vendor and product for .hda
* Product string update
* Fixed typo in help string
* Manpage update
* Spoof hda as a Quantum Fireball
Co-authored-by: Daniel Markstedt <markstedt@gmail.com>
* Issue 232 -- will not generate PC98 emulator image formats
* Introducing dropdown for selecting device type which defaults to a recommendation based on file ending, while removing the quiet logic to autodetect type on the frond end side
* Added device type to PbImageFile
* Comment update
* Code cleanup
* More code cleanup
* Extraced methods
* Extracted methods
* Renaming
* Moved code
* Visility update
* Updated error handling
* Removed duplicate error handling
* Removed duplicate code
* Code cleanup
* Moved code
* Moved code
* Leverage new device type field for files in protobuf interface
* Tweak label
* Tweak template
* Fix bug
* Add types legend
* Add tip about renaming image files
Co-authored-by: Uwe Seimet <Uwe.Seimet@seimet.de>
* Handle a case where reserved ids on the Web UI side are not actually reserved on the backend side
* Better error handling when no device is found in list_devices
* Better warning message
* Tag message as error
* Fix device_info
* Get reserved ids from the server instead of storing a client side state, which caused front and backend to get out of sync in certain cases.
* Initial implementation of sidecar configuration reading and writing
* Use bytes for drive image creation internally
* Add named drive section
* Move header to base.html
* Create the disk profile list page
* Make lists of HDDs, CDRs, and Removable drives
* Implement disk image + sidecar creation
* Implement CD-ROM device sidecar creation method
* Add more device configurations
* Add disclaimer
* Hide URL if none is provided
* Make the web ui use the new protobuf parameter maps
* Make daynaport attaching UI more flexible
* Use the protobuf interface to create image files
* Use new create image method for the sidecar flow as well
* Move file deletion logic to protobuf commands; Refactor saving/loading config files
* Update disk image creation
* Fix error
* Disk images the script makes are in Mac format
* Add blurb about the risks with using Lido driver (issue#40) to the easyinstall script, while pushing less for using that feature.
* Make shutdown and reboot async operations
* More informative footer contents
* Wordsmith the Mac drive options
* Link to relevant section in the wiki
* Added GET_IMAGE_FILES
* Added default folder to GET_IMAGE_FILES
* Renaming
* Updated setting image folder
* Lists available net interfaces as a drop down when attaching daynaport
* Macs should use the hds image file ending
* Fixed default image folder handling
* Refer to device properties, instead of sidecars
* Added NETWORK_INTERFACES_INFO
* Filter "lo"
* Use PF_INET in favor of PF_INET6
* Added network interfaces to server info
* Drive property file ending defined in one place; Add handling of common urllib and file system exceptions.
* Use protobuf interface to get network interface info
* Use protobuf interface for list_files
* Repeated field cleanup
* Renaming
* Added DEVICE_TYPES_INFO
* Comment update
* Added -y option to rasctl
* Add the remaining recommended drive profiles provided by rpajarola
* Fix typos
* Add warnings to CD-ROM descriptions
* Add more recommended Sun drives
* Add capacity to name
* Move footer into base.html
* Handle removable drive insertion in the attach method (easy to do with protobuf)
* Limit which arguments to pass to an image injection command
* Cleanup
* Sort image and config files alphabetically
* Make compatible with updated protobuf interface
* Sort drives alphabetically by name
* Decriptive text for CD-ROM section
* Better description
* Hyperlink to disks page instead of button
Co-authored-by: Uwe Seimet <Uwe.Seimet@seimet.de>
* Added GET_IMAGE_FILES
* Added default folder to GET_IMAGE_FILES
* Renaming
* Updated setting image folder
* Fixed default image folder handling
* Added NETWORK_INTERFACES_INFO
* Filter "lo"
* Use PF_INET in favor of PF_INET6
* Added network interfaces to server info
* Filter rascsi_bridge
* Use list of available network interfaces as default parameters
* Making saving and loading config files work with protobuf
* Formatted the Status column, and fixed the available ID logic
* Updated handling of removed status for devices without image file support
* Comment update
* Fixed typo
* Updated logging
* Updated handling of removed status for devices without image file support
* Comment update
* Fixed typo
* Updated logging
* Better handling of device status
* Updated parameter handling
* Updated setting default interfaces
* Revert "Updated setting default interfaces"
This reverts commit 210abc775d.
* Revert "Updated parameter handling"
This reverts commit 35302addd5.
* Abort with a 404 if rascsi is not running. Use any protobuf response to determine whether rascsi is running (should hardly be required anymore due to the other change, but just in case).
* Move id reservation back into __main__
* Remove check for device type when validating Removed image
* Leverage device property data for better status messages
* Remove redundant string sanitation when reading config csv file
* Clean up device list generation
* Cleanup
* Remove duplicates before building valid scsi id list
* Fully translated cfilesystem.h code comments to English; partially translated cfilesystem.cpp
* rascsi supports reserving IDs
* Updated help message
* Replaced BOOL by bool
* Logging update
* Logging update
* Cleanup
* Restructure the easyinstall.sh script to combine the install/update flows, and disallow installing the webapp by itself
* Remove redundant steps handled in Makefile
* Add the functionality to specify connect_type through a parameter
* Add validation to the argument parser allowing only STANDARD and FULLSPEC as options
* Complete translation of code comments for cfilesystem.h; partial translation for cfilesystem.cpp
* Cleanup
* Merge parts of the Network Assistant script by sonique6784; fix the run_choice startup parameter
* Improve on the network setup messages
* Fix routing address
* Add checks for previous configuration; cleanup
* Cleanup
* Remove redundant step in wired setup. Improve messages.
* Cleanup
* Added default parameters to device properties
* Return parameters a device was set up with
* Add flows for configuring custom network settings; adopting some logic by sonique6784
* Improved device initialization
* Updated default parameter handling
* Updated default parameter handling
* Fixed typo
* Comment updates
* Comment update
* Make iso generation work again, and add error handling to urllib actions
* Manage default parameters in the respective device
* Print available network interfaces. Clean up step and improve descriptive messages.
* Make the script clean up previous configurations
* Make the script only show relevant interfaces
* Partial translation of cfilesystem.cpp
* Do not pass empty parameter string
* Added supports_params flag
* Completely translate code comments in cfilesystem.cpp
* Show rascsi-web status after installing
* Refactoring
* Made comparisons more consistent
* Updated error handling
* Updated exception handling
* Made comparisons more consistent
* Updated error handling
* Overlooked code comment translation
* Renaming
* Better error handling for socket connection
* Disable two NEC hd image types due to issue#232
* Comment update
* NEC sectors size must be 512 bytes
* Updated logging
* Updated vendor name handling
* Updated handling of media loading/unloading
* Comment update
* NEC sectors size must be 512 bytes
* Updated logging
* Updated vendor name handling
* Updated handling of media loading/unloading
* Better handling of removable disks in the web ui
* Added stoppable property and stopped status
* Made MO stoppable
* Removed duplicate code
* Removed duplicate code
* Copy read-only property
* Renaming
* Add an assistant for reserving scsi ids
* Don't show action if no device attached
* Implement a device_info app path, and cut down on device columns always shown
* Cleanup
* Removed duplicate code, added START/STOP
* Improved default parameter handling
* Updated load/eject handling
* Logging update
* Fixed typo
* Verified START/STOP UNIT
* Updated logging
* Updated status handling
* Updated status handling
* More status handling updates
* Logging update
* Made instance fields local variables
* Removed duplicate code, added START/STOP
* Improved default parameter handling
* Updated load/eject handling
* Logging update
* Fixed typo
* Verified START/STOP UNIT
* Updated logging
* Updated status handling
* Updated status handling
* More status handling updates
* Logging update
* Made instance fields local variables
* Made disk_t private
* Made some data structures private
* Fixed ARM compile issue
* Fast forward instead of rebase existing git repo
* Fixed ctapdriver initialization issue
* Reset read-only status when opening an image file
* Cleanup
* Cleanup
* Made logging more consistent
* Updated log level
* Cleanup
* Log load/eject on error level for testing
* Revert "Log load/eject on error level for testing"
This reverts commit d35a15ea8e.
* Assume drive is not ready after having been stopped
* Updated status handling
* Make the csv config files store all relevant device data for reading
* Read 9 column csv config files
* Fixed typo
* Rebuild manpage
* Fixed issue #234 (MODE SENSE (10) returns wrong mode parameter header)
* Removed unused code
* Enum data type update
* Removed duplicate range check
* Removed duplicate code
* Removed more duplicate code
* Logging update
* SCCD sector size was not meant to be configurable
* Better error handling for csv reading and writing
* Updated configurable sector size properties
* Removed assertion
* Improved error handling
* Updated error handling
* Re-added special error handling only relevant for SASI
* Added TODOs
* Comment update
* Added override modifier
* Removed obsolete debug flag (related code was not called)
* Comment and logging updates
* Removed obsolete try/catch
* Revert "Removed obsolete try/catch"
This reverts commit 39ca12d8b1.
* Comment update
* Removed duplicate code
* Updated error messages, use more foreach loops
* Avoid storing RaSCSI generated product info in config file
* Updated logging
* Logging update
* Save config files in json instead of csv
* Fix bugs with json config loading
* Refactoring & remove unused code
* Refactoring
* Display upper case file endings in file management list
* Only show product vendor for non-RaSCSI devices in the device list
* Translate code comment
* Refactoring
* Fix bad identation
* Improve valid file extension handling
* Add validation when attaching removable media
* Display valid file endings under the file list
* Cleanup
* Don't store 0 block size
* Fix indentation
* Read and write config files in key:pair format
* Add section for controlling logging
* README update
* Added block_count
* Cleanup, fix typos
* Support attaching CD-ROM with custom block size
* Evaluate block size when inserting a media
* rasctl display capacity if available
* Info message update
* Use kwargs for device attachment
* Fix bugs in attach_image kwargs; make config file more readable
* POC for attaching device with profile
* Only list product types valid for the particular image file
* Perform validation of HDD image size based on the product profile
* Implement sidecar config files for drive images.
* Added missing product name to NEC vital product data
* MO block size depends on capacity only
* Better error handling for device sidecar config loading
* Extended property/status display
* Property display update
* Updated error handling
* Handle image sizes in bytes internally
* Revert change
* Resolve bad merge
Co-authored-by: Uwe Seimet <Uwe.Seimet@seimet.de>