* Device type unification, support of removable media
* Added support for .hdr extension
* Removable flag cleanup
* Manpage update
* Enriched PbOperation with PbDevice
* Added file size to PbImageFile
* Added device list support
* Set image_file
* Make remote interface more robust by ignoring SIGPIPE
* Return status only once
* Fixed typo
* Error handling update
* When starting rascsi parse everything before attaching devices
* Added dry run mode
* Comment update
* Updated logging
* Added Device base class, Disk class inherits from it
* Renaming
* Use vectors for controllers and disks, as preparation for using maps
* Updated file support handling
* Comment update
* DaynaPort and Bridge inherit from Device instead of Disk
* ProcessCmd() now works with devices instead of disks
* Renaming
* Added DeviceFactory
* Improved factory
* Comment update
* protected disk_t
* Code cleanup, added translations
* Device name can be set for rascsi
* rasctl can set device name
* Manpage update
* Manpage update
* Formatting update
* Check for missing name
* Initialize fd
* Initialize type
* Fixed string length issue
* Updated capacity formatting
* Fixed typo
* Split PbDevice into device and device definition
* Added TODO
* Renaming
* Renaming
* Device types can be explicitly specified with -t (no FILE:TYPE syntax anymore)
* Fixed compile-time issue
* Removed unused Append mode, updated read-only handling
* Type handling and manpage update
* Cleanup
* rasctl parser cleanup
* Review
* Constructor update
* Added .hdr (SCRM) support to web interface, tested web interface
* Default folder can be set remotely
* Removed deprecated operation
* DETACH supports all parameters in order to detach all devices
* include cleanup
* Logging should not depend on NDEBUG, for RaSCSI it is not peformance-critical
* INFO is default log level
* Exception renaming
* Updated GetPaddedName()
* Inheritance update
* Added BlockDevice class
* Removed unused code
* Updated typedefs
* Revert "Updated typedefs"
This reverts commit 546b46215a.
* Removed unused code
* Fixed warnign
* Use standard C++ integer types, use streams to resolve printf data type issues
* Added TODOs
* Added TODO
* Renaming
* Added TODO
* Added TODO
* Improved dry-run
* Code cleanup
* Updated handling of unknown options, code review and cleanup
* Manpage update
* Added PrimaryDevice
* Include cleanup
* Added pure virtual methods
* Comment updates
* Split rasutil
* Replaced some occurrences of BOOL
* Removed obsolete RASCSI definition in xm6.h
* Removed unused code, updated TODOs, replaced BOOL
* Added capacity check (issue #192)
* Fixed (most likely) https://github.com/akuker/RASCSI/issues/191
* Fixed wrong error messages
* For root the default image folder is /home/pi/images, updated error handling
* Dynaport code review
* Improved error handling
* Implemented READ CAPACITY(16)
* Comment update
* Commands can be 16 bytes long
* Implemented READ/WRITE/VERIFY(16)
* Comment update
* Renamed method to reflect the name of the respective SCSI command
* Do not created devices during dryRun
* Fixed padding of SCSIHD_APPLE vendor and product
* Initial implementation
* Updated ReportLuns
* Byte count update
* Fixed typo
* Finalized REPORT LUNS
* Removed TODO
* Updated TODO
* TODO update
* Updated device factory
* Comment update
* 64 bit update, tested on Ubuntu 64 bit system
* Removed assertion
* SCSI hard disks always have Apple specific mode pages (resolves issue #193)
* Error messsage update, 64 bit cleanup
* Reduced streams usage
* Updated handling of device flags
* MOs are protectable
* Removed duplicate error code handling
* Removed duplicate code
* Fixed CmdReadToc buffer overflow (https://github.com/akuker/RASCSI/issues/194)
* Added naive implementation of GET EVENT STATUS NOTIFICATION to avoid wranings
* HD must set removable device bit if the media is removable
* Removed duplicate logging
* Updated daynaport additional length
* Removed broken daynaport REQUEST SENSE. Successfully tested with my Mac.
* EnableInterface should not always return TRUE
* Updated Inquiry
* Updated LUN handling
* Replaced incorrect free by delete
* Updated comments and write-protection handling
* Made default HD name consistent
* STATUS_NOERROR is default
* Fixed Eject
* More eject handling updates
* Manpage updates
* Logging update
* Changed debug level
* Logging update
* Log capacity of all media types
* Logging update
* Encapsulated disk.blocks
* Encapsulated sector size
* Added overrides
* Added more overrides
* Fixed error message
* Fixed typos
* Fixed logging
* Added logging
* Use PrimaryDevice when calling Inquiry
* Comment update
* Changed default buffer size for testing
* Reverted last change
* Removed debug output
* De-inlined methods because optimized code did not work with them inlined
* Web interface can attach Daynaport again
* Improved handling of read-only hard disks
* Fixed issue with "all" semantics of DETACH
* rasctl supports adding removable media devices without providing a filename
* Removed unused flag in PbDeviceDefinition
* Updated rasctl output for ecjected media (resolves issue #199)
* Validate default folder name when changing default folder
* Added support for explicit file type
* Check file type
* Manpage update
* Removed device file work-around, an explicit type can be used instead
Co-authored-by: akuker <akuker@gmail.com>
* Use ioexception for file open error handling
* Use standard string comparison functions
* Error message update
* Improved CD-ROM handling error messages
* PbDevice returns information on whether a device is removable
* Fixed log message
* Added additional status data (ejectable, protctable, removable)
* Assume ejectable == removable
* Removed obsolete fields
* Added locked/lockable to interface
* Code review
* Logging update
* The user should be allowed to also write protect hard disk drives
* Updated error handling
* Testing
* INSERT also has to search in the default file folder
* Added TODO
* Manpage update
* Message updates
* Moved some sanity checks to the server, so that they are run for any client
* Updated error handling
* Moved CR/LF handling to the client, the server should not format too much
* rascsi should not mention "rasctl" in its messages, there may be other clients
* Improved error messages
* Improved error handling by returning an error string
* Added TODO
* Moved check for duplicate ID to ProcessCmd()
* Removed debug output
* Moved include
* Removed obsolete includes, updated includes
* Reverted ready check
* Fixed error messages
* Added convenience method
* Simplified error handling
* Socket/error handling review
* "NO MEDIA" is added by the client, not by the server
* Added missing include
* Only check for duplicate ID when attaching a device
* Added type/string converters for PbDeviceType
* PbDevice indicates whether image files are supported
* Write-protecing a read-only devices is not treated as an error anymore
* Updated read-only check
* Made difference between read-only and protected more explicit
* Added comment
* Comment update
* Made hard disk drives write-protectable by the user
* Resolved https://github.com/akuker/RASCSI/issues/166
* Addressing compiler error - type needs to be initialized
Co-authored-by: akuker <akuker@gmail.com>
* Extended protobuf interface with rascsi server information
* Added default_image_folder (to be used in a different feature)
* Remember log level because not all versions of spdlog support get_log_level()
* Display enum names instead of values
* Added support for default image folder
* Added method that returns the available image files
* Added list of image files to protobuf interface
* Error handling update
* Filter image files
* Update setting up image file list
* Message update
* Replaced if/else cascade by switch
* Updated log level handling
* Renaming, sort rasctl list output
* Added -lstdc++fs (required by gcc 8.3.0)
* Changed option shortcut
* Sorted log levels by severity
* Fixed sorting of log levels
* Use map for storing available log levels
* Replaced explicit typ
* Revert "Replaced explicit typ"
This reverts commit 4106c15d6f.
* Revert "Use map for storing available log levels"
This reverts commit 505751e64a.
* Added comments
* Removed needless CR/LF when logging
Co-authored-by: akuker <akuker@gmail.com>
* Move to bjoern
* Stream upload
* wip
* Streams
* check for filename
* Allow easyinstall to be scripted
* Tell user we're done
* show help
* ignore hfdisk
* fix var
* Allow override of remote by setting GIT_REMOTE, default to origin
* Better handling of local changes
* Give user more info
* Fix#156 - show all supported types in web interface
* *.mos does not seem to be valid - ractl throws error
* Try some minor optomizations
Error handling
* Removed FASTCALL and INLINE, added translations, update Disk constructor
* Disk ID cannot be empty, ensured by assertion in constructor
* Disk ID cannot be empty, ensured by assertion in constructor
* Removed all BAREMETAL ifdefs
* Cleaned up subfolders
* Fixed regression
* Re-added underscores
* Fixed merge conflicts
* Assume RASCSI is always defined
* Fixed mege issue
* Re-added result message
* Added Devices message to protobuf interface
* Fixed typo
* Fixed include file names
* Updated files to be ignored by git
* Merge with develop branch
* Synchronized output with develop branch
* Fixed missing dependency, causing issues when running "make -j1"
* Fixed handling of connection errors
* Improved protobuf interface upwards compatibility
* Use -g instead of -s, this has less conflict potential with future options
* Made log level options consistent (rascsi and rasctl used a different option)
* Error() supports passing Sense Key and ASC, REQUEST SENSE returns these data
* Synchronized error handlign with sasidev_ctrl
* Added warning for missing sense key
* Logging and comment update
* Updated invalid LUN handling
* Updated REQUEST SENSE
* Revert "Updated REQUEST SENSE"
This reverts commit 61a1ecbca7.
* Report MEDIUM NOT PRESENT if capacity cannot be determined
* Updated handling of non-existing LUNs. This change results issue #124.
* Log a warning if drive capacity cannot be determined
* Added enums for sense keys and ASCs
* Updated Error() signature to use enums
* Fixed compiler warnings
* Merge with develop branch
* Removed useless assertions
* Finalized removal
* Pointer was passed instead of integer value
* Fixed data type issue on 64 bit compile platforms
* Added missing virtual destructor (gcc warning)
* Added option for setting log level at rascsi startup
* Report an error if only an extension without a basename is provided
* Improved device file support
* Unified command handling of SCSI command dispatcher
* Added missing cast
* Updated casts
* Comment update
* Moved enums to base class to reduce circular dependencies
* Added EXTRA_FLAGS to Makefile and fixed typo (#118)
* scsidev_ctrl inherited from sasidev without any need
* Reverted last change ...
* Removed unused include
* Added missing field initialization in constructor
* Formatting update
* Fixed command names used for logging
* Replaced SCSI command dispatch switch
* Source code formatting update
* Renaming
* Renaming
* Renaming
* Renaming
* For SCSI (scsidev_ctrl) the scsi_command enum is not relevant anymore
* Always log status code in status phase
* Log additional sense code (ASC)
* Updated scsimon to save data on a nano-second time scale, instead of micro-second
* Cleanup error messages and data types
Co-authored-by: Tony Kuker <akuker@gmail.com>
* gitignore
* New Web Interface
Fixed spacing/tabs in easy install
Added migration check
Fix update web not actually updating
Migrating from https://github.com/erichelgeson/RaSCSI-web
* Allow user to select multiple types when creating images
* Show all devices even if nothing is attached.
* If attaching an iso to a cd device, dont detach, just insert
* UI feedback and restart rascsi service
* Check for any non-0 exit code for apache2 detection
* Pretty/informative 502
* Add confirms to some actions. Works in netscape 4.7
* Fix order of params for create_new_image
* Move non-route method to service
* Add method for getting logs
* Move settings to single file
add ability to mock commands for local dev
* #7 Re-merge scsimon functionality with latest master. The old scsimon branch was waaaaay too out of date
* #7 Re-merge scsimon functionality with latest master. The old scsimon branch was waaaaay too out of date
* Added libspdlog-dev as a required package
* Cleanup from master re-base
* Updated to use GCC version 8, to match the raspberry pi
Co-authored-by: akuker <akuker@gmail.com>
* Fix nothing displayed with no images mounted.
This fixes the issue where nothing would show on the display unless an image is mounted.
* Fixed the indent
* Fixes not working when image attached issue
Original commit caused the display not to work when an image was attached. This has now been fixed.
* Fixed multiple images attached not working
Forgot to remove testing code that caused multiple image displays to break.
Changed "No device is installed." to "No images currently attached.". I think looking for currently attached images. The 'device' wording is confusing, even though it may be accurate.
* Corrected rascsi service and rsyslog configs. Updated makefile to install these configs
* Removed systemd service commands. Added a 'help' target that prints information about how to use this Makefile
Co-authored-by: akuker <akuker@gmail.com>