Daniel Markstedt
da02eccb2e
Improve logic for the get_logs() method. Add rascsi-ctrlboard service. ( #714 )
2022-02-28 09:49:48 -08:00
Uwe Seimet
0e8d89e827
Code cleanup, in particular related to MODE SENSE ( #699 )
...
* Replace member functions
* Fixed TODO
* Added TODOs
* Added TODOs
* Removed duplicate code
* Fixed return value
* CD-ROM mode pages are provided by the CD-ROM implementation
* MO mode pages are provided by the MO implementation
* Comment update
* Removed duplicate code
* Removed more duplicate code
* Optimization
* Updated mode page size handling
* Addec TODO
* Started more flexible mode page handling
* Map mode pages
* Page 0 must be last
* Error handling update
* Updated size handling
* Updated map handling
* Use map references
* Move superclass call
* Added comment
* Host services also support mode page 0x3f (all pages)
* Updated handling of page 0
* Removed duplicate code
* Updated buffer size handling
* Code cleanup
* Removed duplicate code
* Use calloc()
* Removed duplicate code
* Comment update
* Fixed buffer offset
* Fixed TODO
* Added buffer size check
* Comment udpate
* Logging update
* Updated logging
* Avoid potential memory leak
* Updated handling of page 0
* Added TODO
* Comment update
* Fixed error message
* Use vector instead of byte array
* Optimization
* More optimizations
* Removed duplicate code
* Do not try to add more pages when buffer is full
* Updated error message
* Comment update, fixed host services message length handling
* Code cleanup, optimizations
* Updated payload handling for page 0
* Fixed TODO
* Updated handling of PS field
* Fixed offsets
* Updated handling for page 0
* Code cleanup
* More cleanup
* Updated block descriptor handling
* Result of REPORT LUNS must not depend on whether a device is ready or not
* Printer uses a dynamically allocated buffer
* Use realloc
* Updated memory handling
* Added assertion
* Comment update
* Fixed initialization
* Reset byte transfer flag
* Updated usage of realloc
* Reverted some changes
* Re-added buffer size check
* Renaming
* Inquiry for hard disk must also work when drive is not ready
* Primary device checks EVPD
* Added page code check to Inquiry
* Explicitly set response level format
* Added comment
* Removed useless cast
* Fixed inconsistencies in setting the additional length
* Logging uodate
* Updated logging
* Made methods const
* Moved code
* Added TODO
* Added vendor page
* Reduced visibility
* Code cleanup
* Mark override
* Removed duplicate cast
* Synchronized host services mode page handling with other code
* Added TODO
* Signature update
* Moved code
* Removed duplicate code
* Fixed TODO
* Removed duplicate code
* Added buffer size check
* Improved buffer size check
* Code cleanup
* Removed useless assertions
* Cleanup
* Renaming
* Added overrides
* Removed unnecessary casts
* Cleanup
* Added TODO
* Removed obsolete memset
* Removed duplicate code
* Logging update
* Logging update
* Assertion update
* Removed useless comments
* Code cleanup
* Removed obsolete casts
* User super typedef
* Updated log messages
* Fixed #712
* Updated error handling
* Removed useless assertions
* Reduced casts to Disk*
* Updated sector size list argument
* Removed obsolete casts
* Removed comment
2022-02-27 15:58:01 -06:00
Uwe Seimet
33bfe42017
Replaced zlib by internal crc32() method ( #698 )
2022-02-27 15:24:50 -06:00
Daniel Markstedt
e8f392c3f1
Create SysCmds common class, and refactor Python codebase ( #697 )
...
* Move the oled script's PiCmds module to common, and rename it SysCmds.
* Use sys_cmds.get_ip_and_host() in web UI code.
* Move the auth_active() method to device_utils
* Rename device_utils to web_utils. Make auth_active() method take the group as argument.
* Migrate all pi_cmds methods to the SysCmds common class.
* Display hostname and ip in Web UI.
* Resolve or suppress pylint warnings.
* Resolve a pylint warning.
* Resolve or suppress pylint warnings.
* Import libraries at the top level for readability. In my testing on a Pi3B+, this leads to ~1.5k more memory being used by the python3 process.
* Change page title as requested by akuker.
* Reenable the import-outside-toplevel pylint rule.
* Resolve pylint warnings.
* Fix error following refactoring.
* Minor UI tweaks.
* Cleanup.
* Break out bridge config validation into a utility method.
* Move the dropzonejs method into the web_utils package
* Move get_logs method into SysCmds class.
* Improve get logs UI.
* Resolve pylint warning.
* Standardize class instance name.
2022-02-26 21:46:35 -08:00
Benjamin Zeiss
4178d4b845
Small installation fixes when upgrading an existing device. ( #707 )
2022-02-25 17:42:56 -08:00
Benjamin Zeiss
cd0da558c3
Initial version of the Control Board UI ( #687 )
...
Initial version of the Control Board UI (#687 )
2022-02-25 21:03:36 +01:00
Uwe Seimet
f5f5c002aa
Added reboot support ( #696 )
2022-02-22 19:08:22 -08:00
Uwe Seimet
7290803ace
Removed untested/unsupported NetBSD-related code ( #694 )
2022-02-22 19:07:06 -08:00
Daniel Markstedt
cd0baa4676
Forgot to update the oled script after renaming class method. ( #693 )
2022-02-22 09:29:35 +01:00
Uwe Seimet
ba8ad2e7f5
Fixed missing media change handling ( #690 )
...
* Remember media change
* Added comment
* Added TODO
* Updated SCSI level for host services to SPC-5
* Manpage update
2022-02-21 21:01:17 +01:00
Daniel Markstedt
5d92590877
Use the word Release in the context of making a SCSI ID available for use, rather than the word Unreserve which is poor English. ( #692 )
2022-02-21 20:31:38 +01:00
Daniel Markstedt
4252d46844
Inquire the backend for device capabilities instead of Web UI assumptions ( #688 )
...
* Add capabilities to RaCtlCmds.get_device_types() to return the image file support boolean, and list of supported block sizes.
* Inquire rascsi backend about the min block size rather than hard coding values in the web UI.
* Add class methods for getting lists of certain device types.
* Use the new class methods to get lists of device types in the web ui.
* Make use of the new class methods in the oled script.
* Remove now unused constants, and simplify logic in common_settings
* Improve device name mapping to extend the existing dictionary rather than creating a new data structure.
* Use jinja2 sort filters instead of sorting in python code. Removing redundant variables.
* Introduce the get_device_name() utility method which returns the translated name for a device acronym. Use the new method to display device name when attaching devices.
* Fix typo
* Rename Support Device to Periperal Device. General tweaks to UI strings.
* Tweak UI string.
* Fix error.
2022-02-21 09:27:31 -08:00
Daniel Markstedt
01e1aaae3e
Make the support device UI entirely procedurally generated ( #686 )
...
* Make the support device UI entirely procedurally generated, removing the special case network device UI flow.
* Clean up helptext.
2022-02-20 09:49:23 -08:00
Uwe Seimet
2beb78727f
Added support for new interfaces syntax ( #684 )
...
* Added support for new interfaces syntax
* rasctl output update
* Added operation parameters
* Fixed typo
* Manpage update
* Added deprecation warning
* Moved parser
* Updated parser
* Updated parameter override
* Removed debug code
* Made netmask handling more flexible
* Updated logging
* Logging update
* Logging update
* Comment update
* Removed unused field
* Replaced BOOL by bool
* Moved code
* Logging update
* Removed useless comments
* Added TODZ
* Logging update
* Logging update
* Logging update
* No need to report that an error is an error twice
* Removed duplicate logging
* Updated error handling
* Updated error handling
* Fixed typo
* Removed magic constant
* Fixed 32 bit platform issue
* Signature update
* Fixed message string
* Comment update
* Fixed SCSI command opcode
* Updated StopPrint
* Logging update
* Removed obsolete casts
* Renaming
* Removed duplicate logging
* Updated flushing caches
* Added FlushCache() method
* Reduced visibility
* Reduced visibility
* Reduced visibility
* Code cleanup, removed useless comments
* Removed useless comments
* Updated error handling
* Removed duplicate code
* Manpage update
2022-02-20 18:40:30 +01:00
Daniel Markstedt
2184992ce7
Tentative Web UI for the Printer device. ( #676 )
...
* Tentative Web UI for the Printer device.
* timeout must be a positive value
* Change the attach device class method to accept a dict with arbitrary key value pairs of parameters to be passed to the protobuf interface, rather than hard coded ones. Also renames the RaCtlCmds.attach_image() class method to attach_device().
* Make download_to_iso() use the new attach interface.
* Dynamically get the form items for support devices.
* Change the data structure returned by RaCtlCmds.get_device_types() to a dict, which contains the supported parameters and their default values. Leverage this data in the web ui to derive the form fields from the capabilities of rascsi.
* Tweak UI labels.
* Update FileCmds.read_config() to work with the new RaCtlCmds.attach_device() method.
* Check for numeric value.
* Streamline the UI for support devices.
* Handle support devices better by the oled screen.
* Clean up html.
* Dynamically adjust form field size based on data length.
2022-02-19 09:04:14 +01:00
Uwe Seimet
81ca3c0ce8
Added filename placeholder, execute print command as lp, fixed memory leaks ( #677 )
...
* Added filename placeholder
* Comment update
* Execute print command as lp user
* Comment update
* Comment update
* Added operaton parameters
* Sort parameter output by name
* Removed assertion
* Revert "Removed assertion"
This reverts commit f9ab582ddc
.
* Include cleanup
* Code cleanup
* Updated SCSI reset
* Fixed memory leak
* Revert "Fixed memory leak"
This reverts commit 2dbbdcd192
.
* Fixed memory leak
* Fixed memory leak
* Updated operation count check
* Fixed memory leaks
* Delete temporary PbOperationInfo
2022-02-18 12:06:33 -08:00
Uwe Seimet
e13cf1ebb4
Resolved TODO, rascsi guarantees that LUN 0 is always present ( #681 )
2022-02-18 12:04:07 -08:00
Uwe Seimet
2281a7e53b
Bridge is not yet ready to not subclass Disk ( #679 )
2022-02-18 12:03:22 -08:00
Uwe Seimet
419dca3c4c
Added support for SCSI printer device (SCLP) ( #670 )
...
* Fixed buster compile-time issue
* Host services inherit from ModePageDevice
* Call base class
* Visibility update
* Updated includes
* Updated dispatcher
* Added TODOs
* Logging update
* Code cleanup
* Use namespace instead of class for ScsiDefs
* Renaming
* Cleanup
* Use dispatcher template in order to remove duplicate code
* Updated all dispatchers
* Clean up commands
* Removed duplicate code
* Removed duplicate code
* Updated template definition
* Fixed typo
* Fixed warning
* Code cleanup
* Device list must be static
* Cleanup
* Logging update
* Added comments
* Cleanup
* Base class update
* SCSIBR is not a subclass of Disk anymore, but of PrimaryDevice
* Updated includes
* Fixed compile-time issue on the Pi
* Header file cleanup
* Interface cleanup
* Removed wrong override
* include file cleanup
* Removed obsolete usage of streams
* Removed more stream usages
* Stream usage cleanup
* Include cleanup
* Renaming
* Include cleanup
* Interface update
* SCLP device skeleton
* Initial RELEASE/RESERVE UNIT
* Added full set of commands
* Extracted command phase code
* Stripped SCSI controller code
* Removed unused code
* Commented out code
* Initial naive implementation
* Added debug output
* Disable printing for now
* Updated file handling
* Updated DataOut()
* Added comment
* Updated assertion
* Comment update
* Updated assertion
* Code cleanup
* Reset bytes to transfer
* Reverted change
* Refactoring
* Moved assertion
* Updated ReceiveBytes()
* Removed override
* Added interface
* Code cleanup
* Updated TEST UNIT READY
* Added flag for byte-oriented transfer
* Updated TEST UNIT READY
* Length handling update
* Updated bytecount handling
* Fixed warning
* Added TODO
* Updated assertion
* Enabled priting
* Updated error handling
* Code cleanup
* Logging update
* First working version
* Use temporary file
* Logging update
* Handle parameters
* Updated format string
* Updated logging
* File handling update
* Code cleanup
* Fixed buffer size
* Updated file handling
* Manpage update
* Initial reservation handling
* Updated reservation handling
* Initial reservation testing
* Remember initiator ID
* Extract initiator ID
* Updated SCSI initiator ID handling
* Logging update
* Added reservation timeout
* Updated timeout handling
* Code cleanup
* Only pass initiator ID to *SCSI* controller
* Added comments
* Added comment
* Implemented STOP PRINT
* Comment update
* Comment update
* Comment update
* Added comment
* Comment update
* Removed useless comments
* Updated printer parameter handling
* Updated parameter handling
* Manpage update
* Manpage update
* Comment update
* Default printer product name update
* Renaming
* Updated logging
* Logging update
* Logging update
* Comment update
* Code cleanup
* Added printer shortcut
* Comment update
* Comment update
* Output formatting update
* Updated error handling
* Code cleanup
* More cleanup
* Revert "More cleanup"
This reverts commit 05708986ee
.
* Output formatting update
* Output format update
* Sort parameters
* Comment update
* Improved parsing of parameters
* Manpage update
* Updated SCSI level
* Removed magic constants
* Removed magic constant
* Template update
* Template usage update
* Get rid of SASIDEV for printer
* Get rid of SASIDEV for host services
* Moved initiator_id field
* Moved field
* Moved field
* Added comment
* Error handling must use effective LUN
* Removed obsolete casts
* Removed unused method declarations
* Comment update
* Code cleanup
* More code cleanup
* Optimization
* Removed duplicate code
* Logging update
* Fixed warning
* Code cleanup
* Added TODOs
* TODO update
* Backwards compatibility update
* Comment update
2022-02-16 20:04:42 -06:00
Uwe Seimet
511c55a720
Added work-around for the Atari Daynaport driver ( #665 )
2022-02-15 18:13:22 -08:00
Daniel Markstedt
b3bdd07fa7
Web UI and OLED: adding Support Devices ( #666 )
...
* Use the comparison operator that Python3 likes.
* Add SUPPORT_DEVICE_TYPES category, and add Host Service to it.
* Add webapp UI for attaching a support device.
* Make the OLED screen aware of the support device type.
* Tweak test to make it clear that this is experimental functionality.
* Tweak device type names
2022-02-15 13:06:27 +01:00
Daniel Markstedt
46d23a0d5d
Proper cleanup of old python protobuf libraries. ( #667 )
2022-02-14 15:30:33 -08:00
Uwe Seimet
45cd5e58d1
Inheritance hierarchy improvements, reduced dependencies to Disk class ( #662 )
...
* Fixed buster compile-time issue
* Host services inherit from ModePageDevice
* Call base class
* Visibility update
* Updated includes
* Updated dispatcher
* Added TODOs
* Logging update
* Code cleanup
* Use namespace instead of class for ScsiDefs
* Renaming
* Cleanup
* Use dispatcher template in order to remove duplicate code
* Updated all dispatchers
* Clean up commands
* Removed duplicate code
* Removed duplicate code
* Updated template definition
* Fixed typo
* Fixed warning
* Code cleanup
* Device list must be static
* Cleanup
* Logging update
* Added comments
* Cleanup
* Base class update
* SCSIBR is not a subclass of Disk anymore, but of PrimaryDevice
* Updated includes
* Fixed compile-time issue on the Pi
* Header file cleanup
* Interface cleanup
* Removed wrong override
* include file cleanup
* Removed obsolete usage of streams
* Removed more stream usages
* Stream usage cleanup
* Include cleanup
* Renaming
* Include cleanup
* Interface update
2022-02-13 13:30:02 -06:00
Daniel Markstedt
25b9b4ada2
Further improve the dynamic device info web UI ( #657 )
...
* Improve the device type selection UI
* Extend the image_files data structure with human readable device name, instead of having complex for loops in the jinja2 template.
* Leverage device type constants in the OLED monitor script
* Fix typo
* Generate the list of valid network devices that can be attached programmatically
* Fix typo
2022-02-13 10:28:50 -06:00
n4al
f96ade9149
Updating the README to reflect the new file system layout ( #658 )
...
* Updating the README to reflect the new file system layout (and dependencies)
* Compressing two environment variables into a single one
* Adding named arguments
Co-authored-by: Nemanja Lukic <nemanja.lukic@forgerock.com>
2022-02-11 16:29:48 -08:00
Uwe Seimet
5622694701
Host services (SCHS) with realtime clock and shutdown, improved device inheritance ( #647 )
...
* Initial RTC skeleton
* Added device info
* Added TEST UNIT READY
* Fixed command dispatcher
* First untested naive implementation
* Comment update
* Code cleanup
* More code cleanup
* Updated date/time encoding
* Updated versioning
* Use standard RaSCSI INQUIRY version for SCRT device
* Manpage update
* Added shortcut for SCRT type
* Added support for rtc "filename"
* RTC supports LUNs > 0
* Fixed LUN count
* Renaming
* Renaming
* Manpage update
* Initial naive implementation
* SCRA is removable
* Updated command list
* Added controller field
* Shut down works, bus free phase is not yet entered
* Clear caches on shutdown
* Expose BusFree()
* Moved code
* Logging update
* Moved code
* Moved code
* Added comment
* Logging update
* Code cleanup
* Service device is not removable anymore (was only needed for testing)
* Manpage update
* Added comment
* Comment update
* Version update
* Renaming
* Comment update
* Comment update
* Renaming
* Fixed typo
* Added convenience method
* Property handling optimization
* Code cleanup
* Code cleanup
* Code cleanup, introduced base class
* Added TODO
* More code cleanup
* Removed unnecessary assignments
* Moved code
* Removed forward declaration
* Added base class
* INclude cleanup
* Moved scsi_command enum
* Fixed warnings
* Addressing circular dependencies
* Removed duplicate enum
* include file cleanup
* Include cleanup
* Reduced dependencies to Disk class (replaced by Device), fixed TODO
* Include cleanup
* PrimaryDevice implements ReportLuns
* Inheritance update
* Removed duplicate code
* Moved code to base class
* Cleanup
* Removed duplicate field
* Updated command dispatchign
* Comment update
* Moved code
* Updated method visibilities
* Moved MODE SENSE/MODE SELECT base code
2022-02-10 12:54:48 -06:00
Daniel Markstedt
91cc0e836a
Create a mapping of human-readable and internationalized device names. Use this in the image file management UI instead of the internal acronyms. Also remove the hard-coded helptext for device types. ( #655 )
2022-02-07 18:48:55 -06:00
Daniel Markstedt
5c0d6fc7e9
Make the network adapter UI in the web interface able to choose LUN and device type. ( #653 )
2022-02-07 18:47:21 -06:00
Uwe Seimet
0a55680a50
Fixed segfault ( #654 )
2022-02-07 16:11:44 -08:00
Tony Kuker
6b7673e641
Merge tag 'v22.02.01'
...
RaSCSI version 22.02.01
2022-02-06 20:01:16 +00:00
Tony Kuker
c80e010196
Update version for next development version
2022-02-06 20:00:48 +00:00
Tony Kuker
87865d2f38
Update revision number for release
2022-02-06 19:57:43 +00:00
Uwe Seimet
9d0d78a643
Flush the cache on STOP UNIT ( #644 )
2022-02-06 13:44:28 -06:00
Uwe Seimet
36cadd78fc
Flush the RaSCSI write cache on SYNCHRONIZE CACHE ( #645 )
2022-02-06 13:43:50 -06:00
Daniel Markstedt
afb23586d0
Fix typo in the Netatalk install script ( #643 )
2022-02-06 10:30:06 +01:00
Uwe Seimet
d9b4e1fc1f
Support ICD (Atari ACSI) command semantics ( #640 )
...
* Initial ICD support
* Comment update
* Comment update
* Comment update
* Update README.md
2022-02-04 19:45:10 -06:00
Daniel Markstedt
38f8191a45
Try to prevent frequent sudo timeout after compiling rascsi ( #636 )
...
* Try to prevent frequent sudo timeout after compiling rascsi
* Fix typo
2022-02-03 19:40:15 -06:00
Daniel Markstedt
7c1020a40b
Use Netatalk 2.x v220101 ( #631 )
...
* Use Netatalk 2.x v220101
* Correct removal of existing copy
* Add missing libavahi-client-dev
* Improve cleanup of previous Netatalk installation
* Print out systemd status after starting the services
* Add CUPS installation
2022-02-03 19:39:25 -06:00
Daniel Markstedt
2a47924a74
Revert workaround for Netatalk long file name bug, since the bug was fixed in Netatalk itself. ( #629 )
2022-02-03 19:37:58 -06:00
Uwe Seimet
cb2553a9eb
Permit LUNs > 0 for SCDP and SCBR ( #641 )
2022-02-03 19:37:31 -06:00
Uwe Seimet
ed46262cca
Added configurable network interface name support to rascsi ( #635 )
...
* Added support for explicit network interface name to rascsi
* Fixed patch_version for development build
2022-02-01 20:52:49 -08:00
n4al
0e6e710e52
Updating README.md to reflect the project file structure ( #633 )
...
* Updating README.md to reflect the changes made to the project file structure
* Added corrections as per comments
Co-authored-by: Nemanja Lukic <nemanja.lukic@forgerock.com>
2022-02-01 20:51:51 -08:00
n4al
651aa456bd
Adding headers to Spanish version of messages.po ( #634 )
...
* Adding headers to Spanish version of messages.po
* Added corrections as per comments
Co-authored-by: Nemanja Lukic <nemanja.lukic@forgerock.com>
2022-01-31 10:29:54 -08:00
Benjamin Zeiss
c200b327e3
removed python typing for debian buster compatibility. ( #632 )
2022-01-30 19:15:35 -08:00
Daniel Markstedt
d58d86342f
Improve Swedish wordings ( #627 )
2022-01-30 09:45:01 -08:00
Daniel Markstedt
83ad97e577
Use Locale class methods to get the localized language name for display ( #628 )
2022-01-29 14:22:39 -08:00
n4al
fc615b5335
Correcting one fuzzy translation in Spanish ( #626 )
...
* Correcting one fuzzy translation
* Removing 'fuzzy'
2022-01-29 12:12:45 -08:00
Benjamin Zeiss
ffb0aa61b4
fix for #621 . ( #624 )
2022-01-29 11:06:10 -08:00
Benjamin Zeiss
4536666544
return code mapper gettext extract fix ( #622 )
...
* fix for the wrong extraction of the return_code line.
* second try for the wrong extraction of the return_code line.
2022-01-29 09:42:16 -08:00
Daniel Markstedt
31309a8ee3
Make the default config load on rascsi-web startup without having to load it in a browser. ( #620 )
2022-01-29 09:41:39 -08:00