Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package sane-airscan for openSUSE:Factory checked in at 2026-08-01 18:31:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sane-airscan (Old) and /work/SRC/openSUSE:Factory/.sane-airscan.new.16738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sane-airscan" Sat Aug 1 18:31:59 2026 rev:12 rq:1368727 version:0.99.38 Changes: -------- --- /work/SRC/openSUSE:Factory/sane-airscan/sane-airscan.changes 2026-03-17 19:07:22.295818039 +0100 +++ /work/SRC/openSUSE:Factory/.sane-airscan.new.16738/sane-airscan.changes 2026-08-01 18:35:08.235824725 +0200 @@ -1,0 +2,16 @@ +Fri Jul 31 05:22:10 UTC 2026 - [email protected] + +- Update to version 0.99.38: + * Add compability for Canon MF270 Series + * mdns: attempt to fix SIGSEGV (use-after-free) in mdns_query_callback (see #404) + * escl: reject eSCL 1.0 sources gracefully instead of asserting + * Add Canon MG5700 compatibility + * Document support for Brother MFC-J5730DW + * Fixed typos in airscan-discover.1 man page. Man pages regenerated. + * Fix grammatical error in configuration section + * Fix grammar in device configuration instructions + * Added Xerox C315 support information + * Add tests to meson.build +- Run upstream tests during build + +------------------------------------------------------------------- Old: ---- sane-airscan-0.99.37.tar.zst New: ---- sane-airscan-0.99.38.tar.zst ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sane-airscan.spec ++++++ --- /var/tmp/diff_new_pack.7yLdhq/_old 2026-08-01 18:35:09.267860262 +0200 +++ /var/tmp/diff_new_pack.7yLdhq/_new 2026-08-01 18:35:09.271860399 +0200 @@ -17,7 +17,7 @@ Name: sane-airscan -Version: 0.99.37 +Version: 0.99.38 Release: 0 Summary: Universal driver for Apple AirScan (eSCL) and WSD License: SUSE-GPL-2.0+-with-sane-exception @@ -55,15 +55,16 @@ %meson_install rm %{buildroot}%{_libdir}/sane/lib%{name}.so +%check +%meson_test + %files %license LICENSE COPYING %doc README.md -%{_bindir}/airscan-discover -%config(noreplace) %{_sysconfdir}/sane.d/airscan.conf %config %{_sysconfdir}/sane.d/dll.d/airscan +%config(noreplace) %{_sysconfdir}/sane.d/airscan.conf +%{_bindir}/airscan-discover %{_libdir}/sane/lib%{name}.so.1 -%{_mandir}/man?/{sane-airscan,airscan-discover}.?%{?ext_man} -%if 0%{?suse_version} == 1500 -%dir %{_sysconfdir}/sane.d/dll.d -%endif +%{_mandir}/man?/airscan-discover.?%{?ext_man} +%{_mandir}/man?/sane-airscan.?%{?ext_man} ++++++ _service ++++++ --- /var/tmp/diff_new_pack.7yLdhq/_old 2026-08-01 18:35:09.323862190 +0200 +++ /var/tmp/diff_new_pack.7yLdhq/_new 2026-08-01 18:35:09.327862328 +0200 @@ -2,7 +2,7 @@ <service name="tar_scm" mode="manual"> <param name="url">https://github.com/alexpevzner/sane-airscan.git</param> <param name="scm">git</param> - <param name="revision">0.99.37</param> + <param name="revision">0.99.38</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.7yLdhq/_old 2026-08-01 18:35:09.355863292 +0200 +++ /var/tmp/diff_new_pack.7yLdhq/_new 2026-08-01 18:35:09.359863430 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/alexpevzner/sane-airscan.git</param> - <param name="changesrevision">03eddd0d8058c482462bccabadad0e56e8400cb4</param></service></servicedata> + <param name="changesrevision">9da18d88c88f542671b24fc0433dd7d69dcb0132</param></service></servicedata> (No newline at EOF) ++++++ sane-airscan-0.99.37.tar.zst -> sane-airscan-0.99.38.tar.zst ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sane-airscan-0.99.37/README.md new/sane-airscan-0.99.38/README.md --- old/sane-airscan-0.99.37/README.md 2026-03-10 18:26:18.000000000 +0100 +++ new/sane-airscan-0.99.38/README.md 2026-07-21 19:59:23.000000000 +0200 @@ -76,6 +76,7 @@ | Brother MFC-J4620DW | No | Yes | | Brother MFC-J470DW | No | Yes | | Brother MFC-J485DW | Yes | | +| Brother MFC-J5730DW | Yes | Yes | | Brother MFC-J625DW | No | Yes | | Brother MFC-L2700DW | No | Yes | | Brother MFC-L2710DN series | No | Yes | @@ -103,6 +104,7 @@ | Canon MF110/910 | Yes | | | Canon MF240 Series | No | Yes<sup>[4](#note4)</sup> | | Canon MF260 Series | Yes | Yes<sup>[4](#note4)</sup> | +| Canon MF270 Series | Yes<sup>[11](#note11)</sup>| Yes<sup>[4](#note4)</sup> | | Canon MF410 Series | Yes | Yes | | Canon MF440 Series | Yes | Yes | | Canon MF645Cx | Yes | | @@ -111,6 +113,7 @@ | Canon MF745C/746C | Yes | Yes | | Canon MG5200 series | No | Yes | | Canon MG5300 series | No | Yes | +| Canon MG5700 series | Yes | | | Canon MX470 series | No | Yes | | Canon PIXMA G3000 series | No | Yes | | Canon PIXMA G4010 series | Yes<sup>[3](#note3)</sup> | | @@ -249,6 +252,7 @@ | Xerox B205 | Yes | Yes | | Xerox B215 | Yes | Yes<sup>[10](#note10)</sup>| | Xerox C235 | Yes | | +| Xerox C315 | Yes | Yes | | Xerox VersaLink B405 | Yes | | | Xerox WorkCentre 3025 | No | Yes | | Xerox WorkCentre 6027 | No | Yes<sup>[10](#note10)</sup>| @@ -299,6 +303,11 @@ <a name="note10"><sup>[10]</sup></a>: WSD scan is disabled by default. In the Embedded Web Server: Properties->Connectivity->Protocols->WSD->Enable +<a name="note11"><sup>[11]</sup></a>: requires manual activation of AirPrint +scanning on its web console: open web console, Click `[Settings/Registration]`, +Click `[Network Settings]`->`[TCP/IP Settings]`, Click `[Edit]` in `[Network Link Scan Settings]`, +enable `[Use Network Link Scan]` checkbox, Click `[OK]` + ### Distros that come with sane-airscan The following distros (in alphabetical order) include `sane-airscan` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sane-airscan-0.99.37/airscan-discover.1 new/sane-airscan-0.99.38/airscan-discover.1 --- old/sane-airscan-0.99.37/airscan-discover.1 2026-03-10 18:26:18.000000000 +0100 +++ new/sane-airscan-0.99.38/airscan-discover.1 2026-07-21 19:59:23.000000000 +0200 @@ -1,6 +1,6 @@ .\" generated with Ronn-NG/v0.10.1 .\" http://github.com/apjanke/ronn-ng/tree/0.10.1 -.TH "AIRSCAN\-DISCOVER" "1" "February 2024" "" "SANE Scanner Access Now Easy" +.TH "AIRSCAN\-DISCOVER" "1" "April 2026" "" "SANE Scanner Access Now Easy" .SH "NAME" \fBairscan\-discover\fR \- Discover sane\-airscan compatible scanners .SH "SYNOPSIS" @@ -14,10 +14,10 @@ .SH "OPTIONS" .TP \fB\-test\-fast\fR or \fB\-\-test\-fast\fR -Fast discovery mode (see ane\-airscan(5) for details) +Fast discovery mode (see sane\-airscan(5) for details) .TP \fB\-test\-auto\fR or \fB\-\-test\-auto\fR -Automatic protocol selection (see ane\-airscan(5) for details) +Automatic protocol selection (see sane\-airscan(5) for details) .TP \fB\-d\fR Print debug messages to console diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sane-airscan-0.99.37/airscan-discover.1.md new/sane-airscan-0.99.38/airscan-discover.1.md --- old/sane-airscan-0.99.37/airscan-discover.1.md 2026-03-10 18:26:18.000000000 +0100 +++ new/sane-airscan-0.99.38/airscan-discover.1.md 2026-07-21 19:59:23.000000000 +0200 @@ -19,10 +19,10 @@ ## OPTIONS * `-test-fast` or `--test-fast`: - Fast discovery mode (see ane-airscan(5) for details) + Fast discovery mode (see sane-airscan(5) for details) * `-test-auto` or `--test-auto`: - Automatic protocol selection (see ane-airscan(5) for details) + Automatic protocol selection (see sane-airscan(5) for details) * `-d`: Print debug messages to console diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sane-airscan-0.99.37/airscan-escl.c new/sane-airscan-0.99.38/airscan-escl.c --- old/sane-airscan-0.99.37/airscan-escl.c 2026-03-10 18:26:18.000000000 +0100 +++ new/sane-airscan-0.99.38/airscan-escl.c 2026-07-21 19:59:23.000000000 +0200 @@ -324,24 +324,6 @@ } xml_rd_leave(xml); - /* Validate results */ - if (err == NULL) { - src->colormodes &= DEVCAPS_COLORMODES_SUPPORTED; - if (src->colormodes == 0) { - return ERROR("no color modes detected"); - } - - src->formats &= DEVCAPS_FORMATS_SUPPORTED; - if (src->formats == 0) { - return ERROR("no image formats detected"); - } - - if (!(src->flags & (DEVCAPS_SOURCE_RES_DISCRETE| - DEVCAPS_SOURCE_RES_RANGE))){ - return ERROR("scan resolutions are not defined"); - } - } - return err; } @@ -444,6 +426,31 @@ goto DONE; } + /* Validate color modes, formats and resolutions. These are parsed from + * <scan:SettingProfiles> (eSCL 2.x). eSCL 1.0 devices don't have that + * node (their capabilities live under top-level <scan:ColorProfiles>), + * so a source can reach this point with none of them set. Reject such a + * source with an error here, rather than accepting it and later hitting + * the assertion in devopt_choose_colormode() (an unsupported eSCL 1.0 + * device must fail gracefully, not abort the whole backend). + */ + src->colormodes &= DEVCAPS_COLORMODES_SUPPORTED; + if (src->colormodes == 0) { + err = ERROR("no color modes detected"); + goto DONE; + } + + src->formats &= DEVCAPS_FORMATS_SUPPORTED; + if (src->formats == 0) { + err = ERROR("no image formats detected"); + goto DONE; + } + + if (!(src->flags & (DEVCAPS_SOURCE_RES_DISCRETE|DEVCAPS_SOURCE_RES_RANGE))) { + err = ERROR("scan resolutions are not defined"); + goto DONE; + } + if (src->max_wid_px != 0 && src->max_hei_px != 0) { /* Validate window size */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sane-airscan-0.99.37/airscan-mdns.c new/sane-airscan-0.99.38/airscan-mdns.c --- old/sane-airscan-0.99.37/airscan-mdns.c 2026-03-10 18:26:18.000000000 +0100 +++ new/sane-airscan-0.99.38/airscan-mdns.c 2026-07-21 19:59:23.000000000 +0200 @@ -1136,6 +1136,8 @@ return; } + avahi_host_name_resolver_free(r); + /* Handle event */ if (event == AVAHI_RESOLVER_FOUND) { ip_addr ip = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sane-airscan-0.99.37/meson.build new/sane-airscan-0.99.38/meson.build --- old/sane-airscan-0.99.37/meson.build 2026-03-10 18:26:18.000000000 +0100 +++ new/sane-airscan-0.99.38/meson.build 2026-07-21 19:59:23.000000000 +0200 @@ -99,3 +99,16 @@ install_data(dll_file, install_dir: join_paths(get_option('sysconfdir'), 'sane.d', 'dll.d') ) + +foreach name : [ + 'test-zeroconf.c', + 'test-uri.c', +] + test_exe = executable( + name + '.bin', + sources + [name], + dependencies: shared_deps, + build_by_default: false, + ) + test(name, test_exe, workdir: meson.current_source_dir()) +endforeach diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sane-airscan-0.99.37/sane-airscan.5 new/sane-airscan-0.99.38/sane-airscan.5 --- old/sane-airscan-0.99.37/sane-airscan.5 2026-03-10 18:26:18.000000000 +0100 +++ new/sane-airscan-0.99.38/sane-airscan.5 2026-07-21 19:59:23.000000000 +0200 @@ -1,6 +1,6 @@ .\" generated with Ronn-NG/v0.10.1 .\" http://github.com/apjanke/ronn-ng/tree/0.10.1 -.TH "SANE\-AIRSCAN" "5" "July 2025" "" "AirScan (eSCL) and WSD SANE backend" +.TH "SANE\-AIRSCAN" "5" "April 2026" "" "AirScan (eSCL) and WSD SANE backend" .SH "NAME" \fBsane\-airscan\fR \- SANE backend for AirScan (eSCL) and WSD scanners and MFP .SH "DESCRIPTION" @@ -32,7 +32,7 @@ .P Leading and trailing spaces of variable name and value are striped\. If you want to preserve them, put name or value into quotes ("like this")\. .SH "CONFIGURATION OF DEVICES" -If scanner and computer are connected to the same LAN segment, everything expected to "just work" out of box, without any need of manual configuration\. +If scanner and computer are connected to the same LAN segment, everything is expected to "just work" out of box, without any need of manual configuration\. .P However, in some cases manual configuration can be useful\. For example: .IP "" 4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sane-airscan-0.99.37/sane-airscan.5.md new/sane-airscan-0.99.38/sane-airscan.5.md --- old/sane-airscan-0.99.37/sane-airscan.5.md 2026-03-10 18:26:18.000000000 +0100 +++ new/sane-airscan-0.99.38/sane-airscan.5.md 2026-07-21 19:59:23.000000000 +0200 @@ -30,7 +30,7 @@ ## CONFIGURATION OF DEVICES -If scanner and computer are connected to the same LAN segment, everything +If scanner and computer are connected to the same LAN segment, everything is expected to "just work" out of box, without any need of manual configuration. However, in some cases manual configuration can be useful. For example:
