Commit Graph

704 Commits

Author SHA1 Message Date
Benjamin Zeiss bab1556a4a The protobuf proxy prototype didn't exist in the previous proxy branch for some reason. It's currently broken and needs to be rewritten to work with the python restructuring from the last release. So currently not a working version (but one that used to kinda work to some degree with some old version). 2022-02-18 00:40:55 +01: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 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
Benjamin Zeiss 089dc302e5
restructuring towards python client library #455 (#613)
* python client library clean branch for PR. #455

* removed superfluous file. #455

* removed one more superfluous file. #455

* README.md, .pylintrc and pylint based fixes. #455

* updated wrt. to the review comments. #455

* removed pylint documentation duplication. #455
2022-01-21 15:08:29 -08:00
Uwe Seimet 7f362c9308
MODE SENSE: Fixed wrong ALLOCATION LENGTH handling (#617)
* Log PCF

* Code cleanup

* Logging update

* Updated error handling

* Updated setting of MODE SENSE return data size

* Added comments

* Removed useless assertions

* Updated logging

* Comment update

* Updated logging

* Formatting update

* Comment update
2022-01-20 09:04:59 -06:00
akuker b7db82ab71
Delete old, broken RaSCSI revision (#616) 2022-01-16 21:42:42 -08:00
akuker 2784a02c9e
Generate PDF of schematic (#615) 2022-01-16 21:42:08 -08:00
Benjamin Zeiss 03e7007d3a
Missing oled systemd file caused the service installed/running detection to fail. (#612) 2022-01-16 21:11:21 -08:00
Daniel Markstedt 423ba573cd
Fix a few malformed gettext calls (#609) 2022-01-14 22:58:32 -06:00
akuker 78a9bcd2df
Updated Github Sponsors (#608) 2022-01-14 20:34:46 -08:00
Daniel Markstedt 89fae8fdd5
Bumps pillow from 8.4.0 to 9.0.0. As recommended by dependabot. (#607) 2022-01-14 09:47:57 -06:00
Benjamin Zeiss dd830c2cbc
Merge pull request #601 from akuker/bzeiss_restructure_project_folders
Restructure project folders for python #455
2022-01-10 20:07:33 +01:00
Benjamin Zeiss 17497cf1fe clean squashed restructuring branch. #455 2022-01-09 20:22:19 +01:00
akuker b52abbfdc7
Output higher-level report from scsimon (#596)
* Output JSON file for post-processing

* Debug utility for parsing the SCSI data

* Prototype app for parsing scsi captures

* correct arg parsing

* output html

* Cleanupt html output

* Add missing include

* Allow compilation on non-Linux platforms

* Refactored scsimon to be in multiple files

* Refactored away

* Restructured scsimon into smaller pieces

* Added ability to read in pre-generated .json file and re-parse it

* Delete scsiparse.cpp

* Fix argument parsing and code cleanup

* Ran vscode c++ formatting utility

* Restore the -Wno-psabi flag for Linux only

* Address compiler warnings

* Updated to use C++ style ostreams

* Cleanup conversion to c++ style ostreams

* Updated to use ofstream instead of fprintf

* Delete src/raspberrypi/scsimon directory

Co-authored-by: akuker <akuker@gmail.com>
2022-01-07 12:17:44 -06:00
Daniel Markstedt 1c84bb34f9
Shorten file names when downloading to AFP (#592) 2022-01-04 21:08:28 -06:00
n4al a240198123
N4al/spanish localisation (#594)
* Adding Spanish localisation to localizer.cpp

* Addind Spanish localisation for the Web Interface
2022-01-04 16:04:54 +01:00
RaSCSI User 7e1ca6a7c9 Update version for next development version 2022-01-01 20:49:50 +00:00
RaSCSI User 3cc04a8dcf Update revision for release 2022-01-01 20:48:30 +00:00
Daniel Markstedt 5befff28e6
Improve token auth and oled monitor install scripts; better venv cleanup logic (#587)
* Trigger installation of the oled monitor script after installing rascsi; break out the token auth code and clarify wordings.

* Better logic for venv cleanup
2022-01-01 11:38:10 -06:00
Daniel Markstedt 3af3f3e2de
Bump macproxy version to 21.12.3 (#586) 2021-12-31 22:07:17 -06:00
cvictor c5ed2b5b67
Cvictor update german (#585)
* Added german translations

* German translations edited header

* Fixed typo

Co-authored-by: Uwe Seimet <Uwe.Seimet@seimet.de>
2021-12-30 17:34:41 -08:00