Commit Graph

1293 Commits

Author SHA1 Message Date
dependabot[bot] aa2f03fd6d Bump black from 25.9.0 to 25.11.0 in /python
Bumps [black](https://github.com/psf/black) from 25.9.0 to 25.11.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/25.9.0...25.11.0)

---
updated-dependencies:
- dependency-name: black
  dependency-version: 25.11.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 19:55:52 +01:00
dependabot[bot] 2d1128ab27 Bump watchdog from 4.0.0 to 6.0.0 in /python
Bumps [watchdog](https://github.com/gorakhargosh/watchdog) from 4.0.0 to 6.0.0.
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](https://github.com/gorakhargosh/watchdog/compare/v4.0.0...v6.0.0)

---
updated-dependencies:
- dependency-name: watchdog
  dependency-version: 6.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 19:55:17 +01:00
dependabot[bot] 694c91bc82 Bump stylelint from 16.25.0 to 16.26.0 in /python/web
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.25.0 to 16.26.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.25.0...16.26.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.26.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 19:54:27 +01:00
Daniel Markstedt a872333458 Move python resources into the common package
Reduces duplication of these binary files across multiple clients
2025-11-24 12:58:29 +01:00
Daniel Markstedt a152252a9e macproxy classic uses port 5001 2025-11-24 01:37:28 +01:00
Daniel Markstedt 8d26537afb Web UI: use a dropdown select instead of hyperlinks to change theme
Brings consistency in the settings page UX
2025-11-24 01:37:28 +01:00
Daniel Markstedt 9feed77752 add a simple integration test for web form upload 2025-11-23 16:40:17 +01:00
Daniel Markstedt d93621229c touch up docstrings for file upload functions 2025-11-23 16:40:17 +01:00
Daniel Markstedt 0fa816d0c5 remove unused properties in no-js upload form 2025-11-23 16:40:17 +01:00
Daniel Markstedt a1f784f919 check for fork before pushing a container to GHCR 2025-11-23 15:58:13 +01:00
dependabot[bot] 8a734911c3 Bump pillow from 11.2.1 to 11.3.0 in /python/oled
Bumps [pillow](https://github.com/python-pillow/Pillow) from 11.2.1 to 11.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/11.2.1...11.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 11.3.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-23 10:39:21 +01:00
Daniel Markstedt c532c3965a don't push to GHCR when originator is dependabot 2025-11-23 10:33:18 +01:00
stinkerton18 29057750ee web UI: fallback no-js web form for file uploads (#1364) (#1560)
This makes it possible to upload files from a vintage browser, for
instance

Note that you have to explicitly turn off javascript in the user agent
to get the fallback form
2025-11-23 00:54:31 -08:00
stinkerton18 9447610189 easyinstall: remove legacy data cleanup routines (#1562)
The script has a bunch of steps for renaming or removing user data
originating in the era when the project was called RaSCSI

It's been 3 years now since the renaming to PiSCSI, so it's time to
simplify the script

If someone needs to migrate old data, they should do an upgrade to an
intermediate release first, and then to the latest release
2025-11-23 00:53:21 -08:00
Daniel Markstedt a78f44ff32 easyinstall: remove legacy data cleanup routines
The script has a bunch of steps for renaming or removing user data originating in the era when the project was called RaSCSI

It's been 3 years now since the renaming to PiSCSI, so it's time to simplify the script

If someone needs to migrate old data, they should do an upgrade to an intermediate release first, and then to the latest release
2025-11-23 09:45:03 +01:00
Daniel Markstedt b75f621548 cleanup of GitHub workflow trigger configurations
- consistently use branch triggers
- trigger on PR reopened event
- remove redundant workflow dispatch trigger
- consistent sort order of everything
- remove discarded release image workflow
2025-11-23 09:27:35 +01:00
Daniel Markstedt 552506bd4b easyinstall: don't mess with the git repo
The easyinstall script tries to do some clever git operations for every time you build piscsi to make sure you're always on the latest revision of your branch

However I think this is unintuitive and dangerous to do in a script; better to leave it up to the user to run git commands before easyinstall

It also makes it impossible to use the script when you're on a work branch that can't be fast forwarded to the remote state
2025-11-23 09:27:00 +01:00
Daniel Markstedt 965c1b4cd6 migrate to netatalk 4.3.2
Use the latest v4 release tarball to build, which can be installed on top of an older v2 installation

Removed the "cores" option since meson is much better at doing dynamic multi threaded compilation

Also, the netatalk webmin module installation is now part of the netatalk build system proper
2025-11-23 09:26:19 +01:00
Daniel Markstedt fec898f899 bump to Macproxy Classic v25.11.1 2025-11-23 09:26:00 +01:00
Daniel Markstedt cf0b016e67 Update README with SonarCloud badges
Use the latest Sonar metrics rather than a simple static badge
2025-11-23 09:24:49 +01:00
Daniel Markstedt 2f25bd1563 use ghcr to store backend containers instead of docker hub 2025-11-23 09:05:18 +01:00
Daniel Markstedt 3a9bb6d1c2 Refactor Eject test to use parameterized data
Additional fixes:
- add support for SCTP to the attach test
- remove device_props test data that was ignored
2025-11-23 09:05:18 +01:00
Daniel Markstedt f26fd6567a Override Eject function for Streamer device (#1538)
In order for the Eject command to properly release the image and reset the status,
we need to override the Eject function with the appropriate logic

The other removable disk drive devices inherit the Disk class,
and hence do not need this
2025-11-23 09:05:18 +01:00
Daniel Markstedt 55a8f518bb web UI: fallback no-js web form for file uploads (#1364)
This makes it possible to upload files from a vintage browser, for instance

Note that you have to explicitly turn off javascript in the user agent to get the fallback form
2025-11-22 23:49:01 +01:00
nucleogenic e844d73741 Update log levels in broken web API tests 2025-11-21 17:58:13 +01:00
Chris Hooper 25718e0887 Add support for drives larger than 2 TB (Closes: #1551)
Mode Sense (6) supports a 32-bit number for the maximum block count, where Mode Sense (10) supports a 64-bit number for the count. The Seagate SCSI Commands Reference Manual from 2016, has this to say about a "Short LBA mode parameter block descriptor" as returned by Mode Sense (6):

>  On a MODE SENSE command, if the number of logical blocks on the
>  medium exceeds the maximum value that is able to be specified in
>  the NUMBER OF LOGICAL BLOCKS field, the device server shall return
>  a value of FFFFFFFh.

Similarly, the Read Capacity (10) command should return FFFFFFFFh if the capacity of the drive exceeds 2^32 sectors, and that a driver should then know to use Read Capacity (16) if it supports that command.

There may be an unexpected side-effect if presenting a drive of more than 2^32 sectors to a legacy host that does not support devices that large. The Read Capacity commands specify the value returned as the last addressable sector on the device. This means that typically, an application which uses the value returned by that command is going to add 1 to it to get the actual number of blocks on a given device. If the program is not aware of Read Capacity (16), and is not using greater than 32-bit math, then it might report to the user that the total number of sectors on the drive as 0. I don't view this as a huge problem, however. In that case, the legacy driver wouldn't correctly support the capacity of the drive anyway, so providing that driver with a device that is 2 ^ 32 sectors or larger wouldn't make sense from the user perspective.
2025-11-18 21:03:26 +01:00
dependabot[bot] ba713861e8 Bump pillow from 11.2.1 to 11.3.0 in /python/ctrlboard
Bumps [pillow](https://github.com/python-pillow/Pillow) from 11.2.1 to 11.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/11.2.1...11.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 11.3.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-18 20:45:57 +01:00
Daniel Markstedt f5cfe66fcf freeze python requirements with python 3.9.2
Drop the versions for a handful of libraries to restore python 3.9 compatibility
2025-11-18 20:42:54 +01:00
dependabot[bot] 27e8e77d75 Bump js-yaml from 4.1.0 to 4.1.1 in /python/web
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-15 12:40:56 +01:00
dependabot[bot] a61856f8cb Bump werkzeug from 3.0.6 to 3.1.3 in /python
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.0.6 to 3.1.3.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/3.0.6...3.1.3)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-version: 3.1.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 22:08:53 +01:00
dependabot[bot] 1a921944c2 Bump adafruit-circuitpython-ssd1306 from 2.12.11 to 2.12.22 in /python
Bumps [adafruit-circuitpython-ssd1306](https://github.com/adafruit/Adafruit_CircuitPython_SSD1306) from 2.12.11 to 2.12.22.
- [Release notes](https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/releases)
- [Commits](https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/compare/2.12.11...2.12.22)

---
updated-dependencies:
- dependency-name: adafruit-circuitpython-ssd1306
  dependency-version: 2.12.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 20:12:41 +01:00
dependabot[bot] 05b5038217 Bump pytest from 8.1.1 to 9.0.0 in /python
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.1.1 to 9.0.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.1.1...9.0.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 20:11:34 +01:00
dependabot[bot] fb7cfc06ff Bump typing-extensions from 4.8.0 to 4.15.0 in /python
Bumps [typing-extensions](https://github.com/python/typing_extensions) from 4.8.0 to 4.15.0.
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.8.0...4.15.0)

---
updated-dependencies:
- dependency-name: typing-extensions
  dependency-version: 4.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 20:00:28 +01:00
dependabot[bot] 4636fab6f5 Bump markupsafe from 2.1.3 to 3.0.3 in /python
Bumps [markupsafe](https://github.com/pallets/markupsafe) from 2.1.3 to 3.0.3.
- [Release notes](https://github.com/pallets/markupsafe/releases)
- [Changelog](https://github.com/pallets/markupsafe/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/markupsafe/compare/2.1.3...3.0.3)

---
updated-dependencies:
- dependency-name: markupsafe
  dependency-version: 3.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 19:55:51 +01:00
Daniel Markstedt c642592551 Use generic SCSI TAPE product name and add more SCTP profiles 2025-11-10 19:51:57 +01:00
Daniel Markstedt cc72fae224 Add section for tape drives to the Web UI drives page
The tape drives need their own section in the Jinja2 template

Also fixes a bug where the drive properties define a block size,
which is illegal for a SCTP device

One more fix: Filter tap/tar image files for the attach UI
2025-11-10 19:51:57 +01:00
Daniel Markstedt 567dca9cc3 Add device type shorthand 't' for Tape, and change printer to 'p'
The scsictl command parser looks for single letter shorthands for each device type;
this adds 't' for SCTP and changes SCLP to 'p'

Now you can do '-t tape' and '-t printer' for an easy to remember command

Also moves the SCTP default product/vendor into the device factory,
updates the unit tests, and an overhauls the man pages
2025-11-10 19:51:57 +01:00
Daniel Markstedt 7f57c9e28d Introduce option to set the minimum execution time of SCSI commands (#741)
For the Status, DataIn, and DataOut phases, piscsi has a 50 microsecond
sleep implemented, which has proven a stabilizing factor for the bus
on most SCSI initiators

However, Akai S1100 and other samplers of a similar vintage need a longer
sleep time for reliable operation, so a -s option for piscsi has been
introduced to set the value to an artbitrary number at runtime
2025-11-09 09:37:33 +01:00
Daniel Markstedt b7e7c4e529 Remove bitrotted X68000 host bridge device
The X68000 host bridge and associated host file system module
has not been functional for many years, as reported by multiple users

Removing the code will reduce complexity for users -
the SCBR device has caused some misunderstandings in the past -
while eliminating code that has been flagged as insecure by SonarQube
2025-11-09 08:45:56 +01:00
BogDan Vatra 18bb9548a7 Use same notation as scsi2pi 2025-11-07 18:20:31 +01:00
dependabot[bot] 945e049615 Bump pyusb from 1.2.1 to 1.3.1 in /python
Bumps [pyusb](https://github.com/pyusb/pyusb) from 1.2.1 to 1.3.1.
- [Release notes](https://github.com/pyusb/pyusb/releases)
- [Commits](https://github.com/pyusb/pyusb/compare/v1.2.1...v1.3.1)

---
updated-dependencies:
- dependency-name: pyusb
  dependency-version: 1.3.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-07 12:49:57 +01:00
dependabot[bot] 166d3b6e94 Bump babel from 2.13.1 to 2.17.0 in /python
Bumps [babel](https://github.com/python-babel/babel) from 2.13.1 to 2.17.0.
- [Release notes](https://github.com/python-babel/babel/releases)
- [Changelog](https://github.com/python-babel/babel/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-babel/babel/compare/v2.13.1...v2.17.0)

---
updated-dependencies:
- dependency-name: babel
  dependency-version: 2.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-07 12:49:29 +01:00
dependabot[bot] a0f683777f Bump smbus2 from 0.4.3 to 0.5.0 in /python
Bumps [smbus2](https://github.com/kplindegaard/smbus2) from 0.4.3 to 0.5.0.
- [Release notes](https://github.com/kplindegaard/smbus2/releases)
- [Changelog](https://github.com/kplindegaard/smbus2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kplindegaard/smbus2/compare/0.4.3...0.5.0)

---
updated-dependencies:
- dependency-name: smbus2
  dependency-version: 0.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-07 12:49:08 +01:00
dependabot[bot] d2fd7b1cef Bump adafruit-circuitpython-typing from 1.9.5 to 1.12.3 in /python
Bumps [adafruit-circuitpython-typing](https://github.com/adafruit/Adafruit_CircuitPython_Typing) from 1.9.5 to 1.12.3.
- [Release notes](https://github.com/adafruit/Adafruit_CircuitPython_Typing/releases)
- [Commits](https://github.com/adafruit/Adafruit_CircuitPython_Typing/compare/1.9.5...1.12.3)

---
updated-dependencies:
- dependency-name: adafruit-circuitpython-typing
  dependency-version: 1.12.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-07 12:48:45 +01:00
dependabot[bot] 46db5c4fcf Bump luma-oled from 3.8.1 to 3.14.0 in /python
Bumps [luma-oled](https://github.com/rm-hull/luma.oled) from 3.8.1 to 3.14.0.
- [Changelog](https://github.com/rm-hull/luma.oled/blob/main/CHANGES.rst)
- [Commits](https://github.com/rm-hull/luma.oled/compare/3.8.1...3.14.0)

---
updated-dependencies:
- dependency-name: luma-oled
  dependency-version: 3.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-07 12:48:19 +01:00
Daniel Markstedt 56f44413b2 Bump python libs in common package 2025-11-07 12:44:50 +01:00
BogDan Vatra a985fc83e4 Say hello to Streamer (tape) device support
Implements the mandatory and a few optional commands for tandberd see
https://bitsavers.org/pdf/tandbergData/TDC4100/6047-1_TDC-4100_SCSI-2_Interface_Functional_Specification_Aug1991.pdf
for more info.

Fixed #480
2025-11-07 07:43:21 +01:00
dependabot[bot] 65e2729190 Bump adafruit-circuitpython-requests from 2.0.2 to 4.1.15 in /python
Bumps [adafruit-circuitpython-requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests) from 2.0.2 to 4.1.15.
- [Release notes](https://github.com/adafruit/Adafruit_CircuitPython_Requests/releases)
- [Commits](https://github.com/adafruit/Adafruit_CircuitPython_Requests/compare/2.0.2...4.1.15)

---
updated-dependencies:
- dependency-name: adafruit-circuitpython-requests
  dependency-version: 4.1.15
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-07 07:42:47 +01:00
dependabot[bot] 9ac14e9059 Bump pluggy from 1.4.0 to 1.6.0 in /python
Bumps [pluggy](https://github.com/pytest-dev/pluggy) from 1.4.0 to 1.6.0.
- [Changelog](https://github.com/pytest-dev/pluggy/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pluggy/compare/1.4.0...1.6.0)

---
updated-dependencies:
- dependency-name: pluggy
  dependency-version: 1.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-07 07:25:35 +01:00
dependabot[bot] 2f09dbc352 Bump adafruit-circuitpython-busdevice from 5.2.6 to 5.2.14 in /python
Bumps [adafruit-circuitpython-busdevice](https://github.com/adafruit/Adafruit_CircuitPython_BusDevice) from 5.2.6 to 5.2.14.
- [Release notes](https://github.com/adafruit/Adafruit_CircuitPython_BusDevice/releases)
- [Commits](https://github.com/adafruit/Adafruit_CircuitPython_BusDevice/compare/5.2.6...5.2.14)

---
updated-dependencies:
- dependency-name: adafruit-circuitpython-busdevice
  dependency-version: 5.2.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-07 07:24:50 +01:00