Compare commits

..

No commits in common. 'i10c-beta' and 'c9' have entirely different histories.

2
.gitignore vendored

@ -1,3 +1,3 @@
SOURCES/hp-laserjet_cp_1025nw.ppd.gz
SOURCES/hp-laserjet_professional_p_1102w.ppd.gz
SOURCES/hplip-3.23.12-repack.tar.gz
SOURCES/hplip-3.21.2-repack.tar.gz

@ -1,3 +1,3 @@
ab5f8109daf6ec9ccc9571a1155e2438d581e096 SOURCES/hp-laserjet_cp_1025nw.ppd.gz
653b9a1d89a5aecedc8a9a66835ac060d995dfa2 SOURCES/hp-laserjet_professional_p_1102w.ppd.gz
c3fe73535960f15f51fe4604747d943e4956cc3d SOURCES/hplip-3.23.12-repack.tar.gz
6523daf5be0a41a0b40a24cf54ca5e03bcefd9ba SOURCES/hplip-3.21.2-repack.tar.gz

@ -1,17 +1,16 @@
diff --git a/Makefile.am b/Makefile.am
index f65afea..12317dc 100644
--- a/Makefile.am
+++ b/Makefile.am
diff -up hplip-3.21.2/Makefile.am.libimageprocessor-removal hplip-3.21.2/Makefile.am
--- hplip-3.21.2/Makefile.am.libimageprocessor-removal 2021-02-24 12:38:31.707900421 +0100
+++ hplip-3.21.2/Makefile.am 2021-02-24 12:38:31.735900172 +0100
@@ -167,7 +167,7 @@ if !HPLIP_CLASS_DRIVER
dist_hplip_SCRIPTS = hpssd.py __init__.py hpdio.py
endif #HPLIP_CLASS_DRIVER
-dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template prnt/hpcups/libImageProcessor-x86_64.so prnt/hpcups/libImageProcessor-x86_32.so
+dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template
dist_noinst_DATA += prnt/ipp-usb/HPLIP.conf
dist_noinst_SCRIPTS += dat2drv.py install.py hplip-install init-suse-firewall init-iptables-firewall class_rpm_build.sh hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
@@ -597,7 +597,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hp
if !HPLIP_CLASS_DRIVER
@@ -595,7 +595,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilte
prnt/hpcups/ImageProcessor.h
hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
@ -20,7 +19,7 @@ index f65afea..12317dc 100644
#else
#hpcupsdir = $(cupsfilterdir)
#hpcups_PROGRAMS = hpcups
@@ -687,16 +687,6 @@ endif #HPLIP_CLASS_DRIVER
@@ -685,16 +685,6 @@ endif #HPLIP_CLASS_DRIVER
install-data-hook:
if HPLIP_BUILD
@ -34,6 +33,80 @@ index f65afea..12317dc 100644
- chmod 775 $(libdir)/libImageProcessor-x86_32.so ; \
- ln -sf $(libdir)/libImageProcessor-x86_32.so $(libdir)/libImageProcessor.so ; \
- fi
if [ -d "/usr/share/ipp-usb/quirks/" ]; then \
echo "ipp-usb directory exists"; \
cp prnt/ipp-usb/HPLIP.conf /usr/share/ipp-usb/quirks/ ; \
if !HPLIP_CLASS_DRIVER
# If scanner build, add hpaio entry to sane dll.conf.
if [ "$(scan_build)" = "yes" ]; then \
diff -up hplip-3.21.2/prnt/hpcups/HPCupsFilter.cpp.libimageprocessor-removal hplip-3.21.2/prnt/hpcups/HPCupsFilter.cpp
--- hplip-3.21.2/prnt/hpcups/HPCupsFilter.cpp.libimageprocessor-removal 2021-02-24 12:38:31.701900474 +0100
+++ hplip-3.21.2/prnt/hpcups/HPCupsFilter.cpp 2021-02-24 12:42:49.445720549 +0100
@@ -31,7 +31,6 @@
\*****************************************************************************/
#include "HPCupsFilter.h"
-#include "ImageProcessor.h"
#include <signal.h>
#include <sys/wait.h>
@@ -659,21 +658,8 @@ int HPCupsFilter::processRasterData(cups
snprintf(hpPreProcessedRasterFile, sizeof (hpPreProcessedRasterFile), "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name);
- image_processor_t* imageProcessor=NULL;
- IMAGE_PROCESSOR_ERROR result;
- //added if condition to check if pinter language is "ljzjstream"
- //If so, then bypass imageprocessing functions while running HPCUPS filter.
- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0){
- imageProcessor = imageProcessorCreate();
- }
while (cupsRasterReadHeader2(cups_raster, &cups_header))
{
- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0){
- result = imageProcessorStartPage(imageProcessor, &cups_header);
- if (result != IPE_SUCCESS){
- dbglog("DEBUG: imageProcessorStartPage failed result = %d\n", result);
- }
- }
current_page_number++;
if (current_page_number == 1) {
@@ -772,14 +758,6 @@ int HPCupsFilter::processRasterData(cups
color_raster = rgbRaster;
black_raster = kRaster;
- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0)
- {
- result = imageProcessorProcessLine(imageProcessor, m_pPrinterBuffer, cups_header.cupsBytesPerLine);
- if (result != IPE_SUCCESS){
- dbglog("DEBUG: imageProcessorProcessLine failed result = %d\n", result);
- }
- }
-
if ((y == 0) && !is_ljmono) {
//For ljmono, make sure that first line is not a blankRaster line.Otherwise printer
//may not skip blank lines before actual data
@@ -809,14 +787,6 @@ int HPCupsFilter::processRasterData(cups
}
} // for() loop end
- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0)
- {
- result = imageProcessorEndPage(imageProcessor);
- if (result != IPE_SUCCESS){
- dbglog("DEBUG: imageProcessorEndPage failed result = %d\n", result);
- }
- }
-
m_Job.NewPage();
if (err != NO_ERROR) {
break;
@@ -832,10 +802,6 @@ int HPCupsFilter::processRasterData(cups
}
- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0)
- {
- imageProcessorDestroy(imageProcessor);
- }
unlink(hpPreProcessedRasterFile);
return ret_status;
}

@ -1,108 +1,45 @@
diff -up hplip-3.23.3/ui5/devmgr5.py.qmsgbox-typos-fix hplip-3.23.3/ui5/devmgr5.py
--- hplip-3.23.3/ui5/devmgr5.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui5/devmgr5.py 2023-05-29 13:48:48.429731297 +0200
@@ -144,8 +144,7 @@ class PluginInstall(QObject):
install_plugin = QMessageBox.warning(self.parent,
self.parent.windowTitle(),
self.__tr("<b>The HPLIP plugin is already installed.</b><p>Do you want to continue and re-install it?"),
- QMessageBox.Yes,
- QMessageBox.No,
+ QMessageBox.Yes | QMessageBox.No,
QMessageBox.NoButton) == QMessageBox.Yes
if install_plugin:
@@ -154,8 +153,7 @@ class PluginInstall(QObject):
QMessageBox.critical(self.parent,
self.parent.windowTitle(),
self.__tr("<b>Unable to find an appropriate su/sudo utility to run hp-plugin.</b><p>Install kdesu, gnomesu, or gksu.</p>"),
- QMessageBox.Ok,
- QMessageBox.NoButton,
+ QMessageBox.Ok | QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui5/fabwindow.py.qmsgbox-typos-fix hplip-3.23.3/ui5/fabwindow.py
--- hplip-3.23.3/ui5/fabwindow.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui5/fabwindow.py 2023-05-29 13:48:48.429731297 +0200
@@ -344,7 +344,7 @@ class FABWindow(QMainWindow, Ui_MainWin
new_name = to_unicode(self.NameLineEdit.text())
if new_name != self.name:
if QMessageBox.question(self, self.__tr("Rename?"), "Rename '%s' to '%s'?"%(self.name,new_name), \
- QMessageBox.Yes | QMessageBox.No) == QMessageBox.Yes:
+ QMessageBox.Yes | QMessageBox.No, QMessageBox.No) == QMessageBox.Yes:
self.db.rename(self.name, new_name)
log.debug("Rename %s to %s" % (self.name, new_name))
diff -up hplip-3.23.3/ui5/nodevicesdialog.py.qmsgbox-typos-fix hplip-3.23.3/ui5/nodevicesdialog.py
--- hplip-3.23.3/ui5/nodevicesdialog.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui5/nodevicesdialog.py 2023-05-29 13:48:48.429731297 +0200
@@ -64,8 +64,7 @@ class NoDevicesDialog(QDialog, Ui_NoDevi
QMessageBox.critical(self,
self.windowTitle(),
self.__tr("<b>An error occurred.</b><p>Please re-start the Device Manager and try again."),
- QMessageBox.Ok,
- QMessageBox.NoButton,
+ QMessageBox.Ok | QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui5/plugindialog.py.qmsgbox-typos-fix hplip-3.23.3/ui5/plugindialog.py
--- hplip-3.23.3/ui5/plugindialog.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui5/plugindialog.py 2023-05-29 13:48:48.429731297 +0200
@@ -252,7 +252,7 @@ class PluginDialog(QDialog, Ui_Dialog):
if QMessageBox.question(self, " ",
self.__tr("<b>%s</b><p>Without this, it is not possible to authenticate and validate the plug-in prior to installation.</p>Do you still want to install the plug-in?" %error_str),
- QMessageBox.Yes | QMessageBox.No) != QMessageBox.Yes:
+ QMessageBox.Yes | QMessageBox.No, QMessageBox.No) != QMessageBox.Yes:
self.pluginObj.deleteInstallationFiles(download_plugin_file)
self.close()
diff -up hplip-3.23.3/ui5/queuesconf.py.qmsgbox-typos-fix hplip-3.23.3/ui5/queuesconf.py
--- hplip-3.23.3/ui5/queuesconf.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui5/queuesconf.py 2023-05-29 13:48:48.430731291 +0200
@@ -245,7 +245,7 @@ class QueuesDiagnose(QDialog, Ui_Dialog)
if QMessageBox.question(self, " ",
self.__tr("<b>%s</b><p>Without this, it is not possible to authenticate and validate this tool prior to installation.</p>Do you still want to run Smart Install disabler?" %error_str),
- QMessageBox.Yes | QMessageBox.No) == QMessageBox.Yes:
+ QMessageBox.Yes | QMessageBox.No, QMessageBox.No) == QMessageBox.Yes:
# Disabling without verification.
sts, out = utils.run("sh %s"%smart_install_run)
diff -up hplip-3.23.3/ui5/setupdialog.py.qmsgbox-typos-fix hplip-3.23.3/ui5/setupdialog.py
--- hplip-3.23.3/ui5/setupdialog.py.qmsgbox-typos-fix 2023-05-29 13:48:48.430731291 +0200
+++ hplip-3.23.3/ui5/setupdialog.py 2023-05-29 13:54:03.236851925 +0200
@@ -886,7 +886,7 @@ class SetupDialog(QDialog, Ui_Dialog):
self.windowTitle(),
warn_text,
QMessageBox.Yes |
- QMessageBox.No |
+ QMessageBox.No,
QMessageBox.NoButton) == QMessageBox.Yes):
i = 2
while True:
@@ -1171,7 +1171,7 @@ class SetupDialog(QDialog, Ui_Dialog):
if QMessageBox.critical(self,
self.windowTitle(),
error_text,
- QMessageBox.Retry | QMessageBox.Default,
+ QMessageBox.Retry | QMessageBox.Default |\
QMessageBox.Cancel | QMessageBox.Escape,
QMessageBox.NoButton) == QMessageBox.Cancel:
break
@@ -1223,7 +1223,7 @@ class SetupDialog(QDialog, Ui_Dialog):
if QMessageBox.critical(self,
self.windowTitle(),
error_text,
- QMessageBox.Retry | QMessageBox.Default,
+ QMessageBox.Retry | QMessageBox.Default |\
QMessageBox.Cancel | QMessageBox.Escape,
QMessageBox.NoButton) == QMessageBox.Cancel:
break
diff -up hplip-3.23.3/ui/devmgr4.py.qmsgbox-typos-fix hplip-3.23.3/ui/devmgr4.py
--- hplip-3.23.3/ui/devmgr4.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/devmgr4.py 2023-05-29 13:48:48.424731328 +0200
From 95a73bbc9bd65602a0f9411469ab511bc80a01d0 Mon Sep 17 00:00:00 2001
From: Till Kamppeter <till.kamppeter@gmail.com>
Date: Wed, 3 Oct 2018 15:13:00 +0200
Subject: Call QMessageBox constructors of PyQT5 with the correct parameters
The whole Python source code of HPLIP contains 40 incorrect calls of
the QMessageBox constructurs, mostly the list of buttons was given as
separate arguments instead of a bitwise OR of each button's
representation value. If the flow of the code hits one of these
calls (usually when some error or warnings message should be
displayed or an "Are you sure?" question asked) the GUI app crashes.
See https://pythonspot.com/pyqt5-messagebox/ for QMessageBox
documentation.
This patch corrects all these calls.
Bug-Debian: https://bugs.debian.org/912768
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1745383
---
ui/devmgr4.py | 16 ++++++++--------
ui/faxaddrbookform.py | 6 +++---
ui/faxsendjobform.py | 6 +++---
ui/firmwaredialog.py | 2 +-
ui/makecopiesform.py | 4 ++--
ui/nodevicesform.py | 2 +-
ui/pluginform2.py | 4 ++--
ui/printerform.py | 2 +-
ui/settingsdialog.py | 4 ++--
ui/setupform.py | 10 +++++-----
ui/unloadform.py | 2 +-
ui/upgradeform.py | 4 ++--
ui5/devmgr5.py | 6 ++----
ui5/fabwindow.py | 2 +-
ui5/nodevicesdialog.py | 3 +--
ui5/plugindialog.py | 2 +-
ui5/queuesconf.py | 2 +-
ui5/setupdialog.py | 6 +++---
18 files changed, 40 insertions(+), 43 deletions(-)
diff --git a/ui/devmgr4.py b/ui/devmgr4.py
index cc2552f91..a868ccac0 100644
--- a/ui/devmgr4.py
+++ b/ui/devmgr4.py
@@ -1422,7 +1422,7 @@ class DevMgr4(DevMgr4_base):
QMessageBox.critical(self,
self.caption(),
@ -175,10 +112,11 @@ diff -up hplip-3.23.3/ui/devmgr4.py.qmsgbox-typos-fix hplip-3.23.3/ui/devmgr4.py
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/faxaddrbookform.py.qmsgbox-typos-fix hplip-3.23.3/ui/faxaddrbookform.py
--- hplip-3.23.3/ui/faxaddrbookform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/faxaddrbookform.py 2023-05-29 13:48:48.424731328 +0200
@@ -228,7 +228,7 @@ class FaxAddrBookGroupsForm(FaxAddrBookG
diff --git a/ui/faxaddrbookform.py b/ui/faxaddrbookform.py
index 109462207..b23364410 100644
--- a/ui/faxaddrbookform.py
+++ b/ui/faxaddrbookform.py
@@ -228,7 +228,7 @@ class FaxAddrBookGroupsForm(FaxAddrBookGroupsForm_base):
x = QMessageBox.critical(self,
self.caption(),
self.__tr("<b>Annoying Confirmation: Are you sure you want to delete this group?</b>"),
@ -187,7 +125,7 @@ diff -up hplip-3.23.3/ui/faxaddrbookform.py.qmsgbox-typos-fix hplip-3.23.3/ui/fa
QMessageBox.No | QMessageBox.Default,
QMessageBox.NoButton)
if x == QMessageBox.Yes:
@@ -421,7 +421,7 @@ class FaxAddrBookForm(FaxAddrBookForm_ba
@@ -421,7 +421,7 @@ class FaxAddrBookForm(FaxAddrBookForm_base):
if QMessageBox.critical(self,
self.caption(),
self.__tr("<b>Annoying Confirmation: Are you sure you want to delete this address book entry?</b>"),
@ -196,7 +134,7 @@ diff -up hplip-3.23.3/ui/faxaddrbookform.py.qmsgbox-typos-fix hplip-3.23.3/ui/fa
QMessageBox.No | QMessageBox.Default,
QMessageBox.NoButton) == QMessageBox.Yes:
db.delete(self.current.entry['name'])
@@ -451,7 +451,7 @@ class FaxAddrBookForm(FaxAddrBookForm_ba
@@ -451,7 +451,7 @@ class FaxAddrBookForm(FaxAddrBookForm_base):
QMessageBox.critical(self,
self.caption(),
QString(error_text),
@ -205,9 +143,10 @@ diff -up hplip-3.23.3/ui/faxaddrbookform.py.qmsgbox-typos-fix hplip-3.23.3/ui/fa
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/faxsendjobform.py.qmsgbox-typos-fix hplip-3.23.3/ui/faxsendjobform.py
--- hplip-3.23.3/ui/faxsendjobform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/faxsendjobform.py 2023-05-29 13:48:48.424731328 +0200
diff --git a/ui/faxsendjobform.py b/ui/faxsendjobform.py
index 106215c5e..69f424c42 100644
--- a/ui/faxsendjobform.py
+++ b/ui/faxsendjobform.py
@@ -210,7 +210,7 @@ class FaxSendJobForm(QMainWindow):
QMessageBox.information(self,
self.caption(),
@ -235,10 +174,11 @@ diff -up hplip-3.23.3/ui/faxsendjobform.py.qmsgbox-typos-fix hplip-3.23.3/ui/fax
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/firmwaredialog.py.qmsgbox-typos-fix hplip-3.23.3/ui/firmwaredialog.py
--- hplip-3.23.3/ui/firmwaredialog.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/firmwaredialog.py 2023-05-29 13:48:48.424731328 +0200
@@ -109,7 +109,7 @@ class FirmwareDialog(QDialog, FirmwareDi
diff --git a/ui/firmwaredialog.py b/ui/firmwaredialog.py
index 16b313374..0bcee1164 100644
--- a/ui/firmwaredialog.py
+++ b/ui/firmwaredialog.py
@@ -109,7 +109,7 @@ class FirmwareDialog(QDialog, FirmwareDialog_Base):
QMessageBox.critical(self,
self.caption(),
error_text,
@ -247,9 +187,10 @@ diff -up hplip-3.23.3/ui/firmwaredialog.py.qmsgbox-typos-fix hplip-3.23.3/ui/fir
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/makecopiesform.py.qmsgbox-typos-fix hplip-3.23.3/ui/makecopiesform.py
--- hplip-3.23.3/ui/makecopiesform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/makecopiesform.py 2023-05-29 13:48:48.424731328 +0200
diff --git a/ui/makecopiesform.py b/ui/makecopiesform.py
index 27f144b36..0fbb573e3 100644
--- a/ui/makecopiesform.py
+++ b/ui/makecopiesform.py
@@ -156,7 +156,7 @@ class MakeCopiesForm(QMainWindow):
QMessageBox.critical(self,
self.caption(),
@ -268,9 +209,10 @@ diff -up hplip-3.23.3/ui/makecopiesform.py.qmsgbox-typos-fix hplip-3.23.3/ui/mak
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/nodevicesform.py.qmsgbox-typos-fix hplip-3.23.3/ui/nodevicesform.py
--- hplip-3.23.3/ui/nodevicesform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/nodevicesform.py 2023-05-29 13:48:48.424731328 +0200
diff --git a/ui/nodevicesform.py b/ui/nodevicesform.py
index 01f6ae53b..57a696375 100644
--- a/ui/nodevicesform.py
+++ b/ui/nodevicesform.py
@@ -67,7 +67,7 @@ class NoDevicesForm(NoDevicesForm_base):
QMessageBox.critical(self,
self.caption(),
@ -280,9 +222,10 @@ diff -up hplip-3.23.3/ui/nodevicesform.py.qmsgbox-typos-fix hplip-3.23.3/ui/node
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/pluginform2.py.qmsgbox-typos-fix hplip-3.23.3/ui/pluginform2.py
--- hplip-3.23.3/ui/pluginform2.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/pluginform2.py 2023-05-29 13:48:48.424731328 +0200
diff --git a/ui/pluginform2.py b/ui/pluginform2.py
index 64e64aa77..76cb0238b 100644
--- a/ui/pluginform2.py
+++ b/ui/pluginform2.py
@@ -173,7 +173,7 @@ class PluginForm2(PluginForm2_base):
QMessageBox.critical(self,
self.caption(),
@ -301,9 +244,10 @@ diff -up hplip-3.23.3/ui/pluginform2.py.qmsgbox-typos-fix hplip-3.23.3/ui/plugin
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/printerform.py.qmsgbox-typos-fix hplip-3.23.3/ui/printerform.py
--- hplip-3.23.3/ui/printerform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/printerform.py 2023-05-29 13:48:48.425731321 +0200
diff --git a/ui/printerform.py b/ui/printerform.py
index 0c6c4f39e..7c10ab07b 100644
--- a/ui/printerform.py
+++ b/ui/printerform.py
@@ -154,7 +154,7 @@ class PrinterForm(QMainWindow):
QMessageBox.critical(self,
self.caption(),
@ -313,10 +257,11 @@ diff -up hplip-3.23.3/ui/printerform.py.qmsgbox-typos-fix hplip-3.23.3/ui/printe
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/settingsdialog.py.qmsgbox-typos-fix hplip-3.23.3/ui/settingsdialog.py
--- hplip-3.23.3/ui/settingsdialog.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/settingsdialog.py 2023-05-29 13:48:48.425731321 +0200
@@ -146,7 +146,7 @@ class SettingsDialog(SettingsDialog_base
diff --git a/ui/settingsdialog.py b/ui/settingsdialog.py
index 92da22546..24f02fd84 100644
--- a/ui/settingsdialog.py
+++ b/ui/settingsdialog.py
@@ -146,7 +146,7 @@ class SettingsDialog(SettingsDialog_base):
## QMessageBox.warning(self,
## self.caption(),
## self.__tr("<b>One or more email addresses are missing.</b><p>Please enter this information and try again."),
@ -325,7 +270,7 @@ diff -up hplip-3.23.3/ui/settingsdialog.py.qmsgbox-typos-fix hplip-3.23.3/ui/set
## QMessageBox.NoButton,
## QMessageBox.NoButton)
## return
@@ -163,7 +163,7 @@ class SettingsDialog(SettingsDialog_base
@@ -163,7 +163,7 @@ class SettingsDialog(SettingsDialog_base):
## QMessageBox.information(self,
## self.caption(),
## self.__tr("<p><b>Please check your email for a test message.</b><p>If the message doesn't arrive, please check your settings and try again."),
@ -334,9 +279,10 @@ diff -up hplip-3.23.3/ui/settingsdialog.py.qmsgbox-typos-fix hplip-3.23.3/ui/set
## QMessageBox.NoButton,
## QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/setupform.py.qmsgbox-typos-fix hplip-3.23.3/ui/setupform.py
--- hplip-3.23.3/ui/setupform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/setupform.py 2023-05-29 13:48:48.425731321 +0200
diff --git a/ui/setupform.py b/ui/setupform.py
index 307917b02..78863fdd8 100644
--- a/ui/setupform.py
+++ b/ui/setupform.py
@@ -602,7 +602,7 @@ class SetupForm(SetupForm_base):
if ( QMessageBox.warning(self,
self.caption(),
@ -382,9 +328,10 @@ diff -up hplip-3.23.3/ui/setupform.py.qmsgbox-typos-fix hplip-3.23.3/ui/setupfor
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/unloadform.py.qmsgbox-typos-fix hplip-3.23.3/ui/unloadform.py
--- hplip-3.23.3/ui/unloadform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/unloadform.py 2023-05-29 13:48:48.425731321 +0200
diff --git a/ui/unloadform.py b/ui/unloadform.py
index 8397a689c..ae363e01e 100644
--- a/ui/unloadform.py
+++ b/ui/unloadform.py
@@ -135,7 +135,7 @@ class UnloadForm(QMainWindow):
QMessageBox.critical(self,
self.caption(),
@ -394,9 +341,10 @@ diff -up hplip-3.23.3/ui/unloadform.py.qmsgbox-typos-fix hplip-3.23.3/ui/unloadf
QMessageBox.NoButton,
QMessageBox.NoButton)
diff -up hplip-3.23.3/ui/upgradeform.py.qmsgbox-typos-fix hplip-3.23.3/ui/upgradeform.py
--- hplip-3.23.3/ui/upgradeform.py.qmsgbox-typos-fix 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/ui/upgradeform.py 2023-05-29 13:48:48.425731321 +0200
diff --git a/ui/upgradeform.py b/ui/upgradeform.py
index 6b9acf5cc..d0b418419 100644
--- a/ui/upgradeform.py
+++ b/ui/upgradeform.py
@@ -118,7 +118,7 @@ class UpgradeForm(UpgradeForm_base):
QMessageBox.critical(self,
self.caption(),
@ -415,3 +363,111 @@ diff -up hplip-3.23.3/ui/upgradeform.py.qmsgbox-typos-fix hplip-3.23.3/ui/upgrad
QMessageBox.NoButton,
QMessageBox.NoButton)
diff --git a/ui5/devmgr5.py b/ui5/devmgr5.py
index 495883f72..0ca016820 100644
--- a/ui5/devmgr5.py
+++ b/ui5/devmgr5.py
@@ -139,8 +139,7 @@ class PluginInstall(QObject):
install_plugin = QMessageBox.warning(self.parent,
self.parent.windowTitle(),
self.__tr("<b>The HPLIP plugin is already installed.</b><p>Do you want to continue and re-install it?"),
- QMessageBox.Yes,
- QMessageBox.No,
+ QMessageBox.Yes | QMessageBox.No,
QMessageBox.NoButton) == QMessageBox.Yes
if install_plugin:
@@ -149,8 +148,7 @@ class PluginInstall(QObject):
QMessageBox.critical(self.parent,
self.parent.windowTitle(),
self.__tr("<b>Unable to find an appropriate su/sudo utility to run hp-plugin.</b><p>Install kdesu, gnomesu, or gksu.</p>"),
- QMessageBox.Ok,
- QMessageBox.NoButton,
+ QMessageBox.Ok | QMessageBox.NoButton,
QMessageBox.NoButton)
diff --git a/ui5/fabwindow.py b/ui5/fabwindow.py
index 488b6bbd5..0b95c94f1 100644
--- a/ui5/fabwindow.py
+++ b/ui5/fabwindow.py
@@ -344,7 +344,7 @@ class FABWindow(QMainWindow, Ui_MainWindow):
new_name = to_unicode(self.NameLineEdit.text())
if new_name != self.name:
if QMessageBox.question(self, self.__tr("Rename?"), "Rename '%s' to '%s'?"%(self.name,new_name), \
- QMessageBox.Yes | QMessageBox.No) == QMessageBox.Yes:
+ QMessageBox.Yes | QMessageBox.No, QMessageBox.No) == QMessageBox.Yes:
self.db.rename(self.name, new_name)
log.debug("Rename %s to %s" % (self.name, new_name))
diff --git a/ui5/nodevicesdialog.py b/ui5/nodevicesdialog.py
index 6083f6d4b..ca86bfcda 100644
--- a/ui5/nodevicesdialog.py
+++ b/ui5/nodevicesdialog.py
@@ -64,8 +64,7 @@ class NoDevicesDialog(QDialog, Ui_NoDevicesDialog_base):
QMessageBox.critical(self,
self.windowTitle(),
self.__tr("<b>An error occurred.</b><p>Please re-start the Device Manager and try again."),
- QMessageBox.Ok,
- QMessageBox.NoButton,
+ QMessageBox.Ok | QMessageBox.NoButton,
QMessageBox.NoButton)
diff --git a/ui5/plugindialog.py b/ui5/plugindialog.py
index e3007f911..1c6b33868 100644
--- a/ui5/plugindialog.py
+++ b/ui5/plugindialog.py
@@ -252,7 +252,7 @@ class PluginDialog(QDialog, Ui_Dialog):
if QMessageBox.question(self, " ",
self.__tr("<b>%s</b><p>Without this, it is not possible to authenticate and validate the plug-in prior to installation.</p>Do you still want to install the plug-in?" %error_str),
- QMessageBox.Yes | QMessageBox.No) != QMessageBox.Yes:
+ QMessageBox.Yes | QMessageBox.No, QMessageBox.No) != QMessageBox.Yes:
self.pluginObj.deleteInstallationFiles(download_plugin_file)
self.close()
diff --git a/ui5/queuesconf.py b/ui5/queuesconf.py
index cf2206490..e3c2a0278 100644
--- a/ui5/queuesconf.py
+++ b/ui5/queuesconf.py
@@ -245,7 +245,7 @@ class QueuesDiagnose(QDialog, Ui_Dialog):
if QMessageBox.question(self, " ",
self.__tr("<b>%s</b><p>Without this, it is not possible to authenticate and validate this tool prior to installation.</p>Do you still want to run Smart Install disabler?" %error_str),
- QMessageBox.Yes | QMessageBox.No) == QMessageBox.Yes:
+ QMessageBox.Yes | QMessageBox.No, QMessageBox.No) == QMessageBox.Yes:
# Disabling without verification.
sts, out = utils.run("sh %s"%smart_install_run)
diff --git a/ui5/setupdialog.py b/ui5/setupdialog.py
index fbfe5ac9b..120ee1587 100644
--- a/ui5/setupdialog.py
+++ b/ui5/setupdialog.py
@@ -873,7 +873,7 @@ class SetupDialog(QDialog, Ui_Dialog):
self.windowTitle(),
warn_text,
QMessageBox.Yes|\
- QMessageBox.No|\
+ QMessageBox.No,
QMessageBox.NoButton) == QMessageBox.Yes ):
i = 2
while True:
@@ -1108,7 +1108,7 @@ class SetupDialog(QDialog, Ui_Dialog):
if QMessageBox.critical(self,
self.windowTitle(),
error_text,
- QMessageBox.Retry | QMessageBox.Default,
+ QMessageBox.Retry | QMessageBox.Default |\
QMessageBox.Cancel | QMessageBox.Escape,
QMessageBox.NoButton) == QMessageBox.Cancel:
break
@@ -1138,7 +1138,7 @@ class SetupDialog(QDialog, Ui_Dialog):
if QMessageBox.critical(self,
self.windowTitle(),
error_text,
- QMessageBox.Retry | QMessageBox.Default,
+ QMessageBox.Retry | QMessageBox.Default |\
QMessageBox.Cancel | QMessageBox.Escape,
QMessageBox.NoButton) == QMessageBox.Cancel:
break

@ -1,62 +0,0 @@
#!/usr/bin/bash
# get version from base hplip rpm - it is always in the second column
VER=$(@bindir@/rpm -q hplip | @bindir@/awk -F '-' '{print $2}')
if test "x$VER" = "x"
then
@bindir@/echo "Version was not acquired - exiting..."
exit 1
fi
# plugin name
PLUGIN_FILE="hplip-${VER}-plugin.run"
download()
{
SOURCE="$1"
@bindir@/curl --create-dirs -O --output-dir ~/.hplip ${SOURCE}
}
# link to the plugin
PLUGIN_SOURCE="https://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${PLUGIN_FILE}"
FALLBACK_SOURCE="https://developers.hp.com/sites/default/files/${PLUGIN_FILE}"
# create a hidden hplip dir to store a file indicating the plugin version after successful install
# the directory can be used by other hplip tools, so we don't have to remove it if the failure happens
if [ ! -d ~/.hplip ]
then
@bindir@/mkdir ~/.hplip || (@bindir@/echo "Cannot create the ~/.hplip dir, exiting" && exit 1)
fi
for link in ${PLUGIN_SOURCE} ${FALLBACK_SOURCE}
do
download ${link}
if test "x$(file --mime ~/.hplip/${PLUGIN_FILE} | grep 'text/x-shellscript')" = "xtext/x-shellscript"
then
break
fi
done
if test "x$(file --mime ~/.hplip/${PLUGIN_FILE} | grep 'text/x-shellscript')" = "x"
then
@bindir@/echo "The downloaded file does not exist or is not a shell script - error during downloading, exiting..."
exit 1
fi
@bindir@/bash ~/.hplip/${PLUGIN_FILE}
if [ $? -ne 0 ]
then
@bindir@/echo "Plugin installation failed, exiting..."
@bindir@/rm -f ~/.hplip/${PLUGIN_FILE} &> /dev/null
exit 1
fi
@bindir@/rm -f ~/.hplip/${PLUGIN_FILE} &> /dev/null
@bindir@/rm -f ~/.hplip/plugin-installed-* &> /dev/null
@bindir@/touch ~/.hplip/plugin-installed-$VER
exit 0

@ -1,7 +1,8 @@
diff -up hplip-3.23.3/setup.py.add-ppd-crash hplip-3.23.3/setup.py
--- hplip-3.23.3/setup.py.add-ppd-crash 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/setup.py 2023-05-29 13:55:03.443497903 +0200
@@ -553,6 +553,9 @@ else: # INTERACTIVE_MODE
diff --git a/setup.py b/setup.py
index 976a42c..3604dd7 100755
--- a/setup.py
+++ b/setup.py
@@ -558,6 +558,9 @@ else: # INTERACTIVE_MODE
if file_path.endswith('.gz'):
nickname = gzip.GzipFile(file_path, 'r').read(4096)
@ -11,17 +12,17 @@ diff -up hplip-3.23.3/setup.py.add-ppd-crash hplip-3.23.3/setup.py
else:
nickname = open(file_path, 'r').read(4096)
diff -up hplip-3.23.3/ui5/setupdialog.py.add-ppd-crash hplip-3.23.3/ui5/setupdialog.py
--- hplip-3.23.3/ui5/setupdialog.py.add-ppd-crash 2023-05-29 13:55:03.443497903 +0200
+++ hplip-3.23.3/ui5/setupdialog.py 2023-05-29 13:57:19.014700721 +0200
@@ -765,10 +765,9 @@ class SetupDialog(QDialog, Ui_Dialog):
pass
diff --git a/ui5/setupdialog.py b/ui5/setupdialog.py
index ac45357..a6dacf0 100644
--- a/ui5/setupdialog.py
+++ b/ui5/setupdialog.py
@@ -772,9 +772,9 @@ class SetupDialog(QDialog, Ui_Dialog):
def OtherPPDButton_clicked(self, b):
- ppd_file = to_unicode(QFileDialog.getOpenFileName(self, self.__tr("Select PPD File"),
- sys_conf.get(
- 'dirs', 'ppd'),
- self.__tr("PPD Files (*.ppd *.ppd.gz);;All Files (*)")))
- sys_conf.get('dirs', 'ppd'),
- self.__tr("PPD Files (*.ppd *.ppd.gz);;All Files (*)")))
+ ppd_file = QFileDialog.getOpenFileName(self, self.__tr("Select PPD File"),
+ sys_conf.get('dirs', 'ppd'),
+ self.__tr("PPD Files (*.ppd *.ppd.gz);;All Files (*)"))[0]

@ -1,17 +1,16 @@
diff --git a/installer/core_install.py b/installer/core_install.py
index a6654e2..0bd1e9c 100644
--- a/installer/core_install.py
+++ b/installer/core_install.py
@@ -362,9 +362,9 @@ class CoreInstall(object):
diff -up hplip-3.17.11/installer/core_install.py.check-cups hplip-3.17.11/installer/core_install.py
--- hplip-3.17.11/installer/core_install.py.check-cups 2017-12-07 15:34:24.855761874 +0100
+++ hplip-3.17.11/installer/core_install.py 2017-12-07 15:38:44.749568860 +0100
@@ -349,9 +349,9 @@ class CoreInstall(object):
'automake': (True, ['prnt'], AUTOMAKE_STR, self.check_automake, DEPENDENCY_RUN_AND_COMPILE_TIME, '-', None, GENERALDEP),
'libjpeg': (True, ['base', 'prnt'], JPEG_STR, self.check_libjpeg, DEPENDENCY_RUN_AND_COMPILE_TIME, '-', None, GENERALDEP),
'libtool': (True, ['base', 'prnt'], LIBTOOL_STR, self.check_libtool, DEPENDENCY_COMPILE_TIME, '-', 'libtool --version', COMPILEDEP),
- 'cups': (True, ['base', 'prnt'], CUPS_STR, self.check_cups, DEPENDENCY_RUN_TIME, '1.1', 'cups-config --version', EXTERNALDEP),
- 'cups-devel': (True, ['base', 'prnt'], CUPS_DEV_STR, self.check_cups_devel, DEPENDENCY_COMPILE_TIME, '-', 'cups-config --version', GENERALDEP),
- 'cups-image': (True, ['base', 'prnt'], CUPS_IMG_STR, self.check_cups_image, DEPENDENCY_COMPILE_TIME, '-', 'cups-config --version', GENERALDEP),
+ 'cups': (True, ['base', 'prnt'], CUPS_STR, self.check_cups, DEPENDENCY_RUN_TIME, '-', None, EXTERNALDEP),
+ 'cups-devel': (True, ['base', 'prnt'], CUPS_DEV_STR, self.check_cups_devel, DEPENDENCY_COMPILE_TIME, '1.1', 'pkgconf --modversion cups', GENERALDEP),
+ 'cups-image': (True, ['base', 'prnt'], CUPS_IMG_STR, self.check_cups_image, DEPENDENCY_COMPILE_TIME, '1.1', 'pkgconf --modversion cups', GENERALDEP),
+ 'cups': (True, ['base', 'prnt'], CUPS_STR, self.check_cups, DEPENDENCY_RUN_TIME, '1.1', 'lpstat -r', EXTERNALDEP),
+ 'cups-devel': (True, ['base', 'prnt'], CUPS_DEV_STR, self.check_cups_devel, DEPENDENCY_COMPILE_TIME, '-', 'lpstat -r', GENERALDEP),
+ 'cups-image': (True, ['base', 'prnt'], CUPS_IMG_STR, self.check_cups_image, DEPENDENCY_COMPILE_TIME, '-', 'lpstat -r', GENERALDEP),
'gcc': (True, ['base', 'prnt'], GCC_STR, self.check_gcc, DEPENDENCY_COMPILE_TIME, '-', 'gcc --version', COMPILEDEP),
'make': (True, ['base', 'prnt'], MAKE_STR, self.check_make, DEPENDENCY_COMPILE_TIME, '3.0', 'make --version', COMPILEDEP),
'libpthread': (True, ['base', 'prnt'], THREAD_STR, self.check_libpthread, DEPENDENCY_RUN_AND_COMPILE_TIME, '-', 'FUNC#get_libpthread_version', GENERALDEP),

@ -0,0 +1,33 @@
diff --git a/base/password.py b/base/password.py
index bd68f2a..bff9f80 100644
--- a/base/password.py
+++ b/base/password.py
@@ -157,6 +157,28 @@ class Password(object):
log.warn("%s distro is not found in AUTH_TYPES" % distro_name)
self.__authType = 'su'
+ # check if caller is in wheel group - use 'su' if he isnt -
+ # or if the caller is root (just for showing 'root' username)
+ # in the prompt
+ import os
+ from grp import getgrnam
+
+ user = os.getenv('USER')
+
+ try:
+ members = getgrnam('wheel').gr_mem
+ except KeyError:
+ try:
+ members = getgrnam('sudo').gr_mem
+ except:
+ return
+
+ if user in members:
+ self.__authType = 'sudo'
+ else:
+ self.__authType = 'su'
+
+
def __getPasswordDisplayString(self):
if self.__authType == "su":
return "Please enter the root/superuser password: "

@ -28,8 +28,8 @@ diff -up hplip-3.20.9/configure.in.configure-python hplip-3.20.9/configure.in
+ AC_MSG_ERROR([Cannot get Python libs via python3-config], 6)
+fi
+
+SAVE_CFLAGS="$CFLAGS"
+SAVE_LIBS="$LIBS"
+SAVE_CFLAGS=$CFLAGS
+SAVE_LIBS=$LIBS
+
+CFLAGS="$CFLAGS $PYTHON_INCLUDES"
+LIBS="$LIBS $PYTHON_LIBS"

@ -1,6 +1,38 @@
diff -up hplip-3.23.3/common/utils.c.covscan hplip-3.23.3/common/utils.c
--- hplip-3.23.3/common/utils.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/common/utils.c 2023-05-29 13:58:10.969395214 +0200
diff --git a/Makefile.am b/Makefile.am
index 62a25d3..2c4d6f8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,7 +3,7 @@
#
# (c) 2004-2015 Copyright HP Development Company, LP
# Author: David Suffield, Naga Samrat Chowdary Narla, Sarbeswar Meher
-INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs -Icommon/
+INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs -Icommon/ -Iprotocol
CFLAGS+= -DCONFDIR=\"$(hplip_confdir)\"
CXXFLAGS+= -DCONFDIR=\"$(hplip_confdir)\"
@@ -304,7 +304,7 @@ dist_pcard_DATA = pcard/__init__.py pcard/photocard.py
pcardextdir = $(pyexecdir)
pcardext_LTLIBRARIES = pcardext.la
pcardext_la_LDFLAGS = -module -avoid-version
-pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c
+pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c pcard/pcardext/pcardext.h
pcardext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
# prnt
@@ -316,7 +316,7 @@ lib_LTLIBRARIES += libhpipp.la
#hpipp_LTLIBRARIES = hpipp.la
#hpipp_la_LDFLAGS = -module -avoid-version
libhpipp_la_SOURCES = protocol/hp_ipp.c protocol/hp_ipp.h protocol/hp_ipp_i.h
-libhpipp_la_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\"
+libhpipp_la_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\" -D_GNU_SOURCE
libhpipp_la_LDFLAGS = -version-info 0:1:0
libhpipp_la_LIBADD = libhpmud.la
diff --git a/common/utils.c b/common/utils.c
index d8ecee9..def4e47 100644
--- a/common/utils.c
+++ b/common/utils.c
@@ -1,5 +1,9 @@
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
@ -12,10 +44,11 @@ diff -up hplip-3.23.3/common/utils.c.covscan hplip-3.23.3/common/utils.c
#include <dlfcn.h>
#include <sys/stat.h>
#include <errno.h>
diff -up hplip-3.23.3/io/hpmud/hpmud.c.covscan hplip-3.23.3/io/hpmud/hpmud.c
--- hplip-3.23.3/io/hpmud/hpmud.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/io/hpmud/hpmud.c 2023-05-29 13:58:10.970395208 +0200
@@ -759,6 +759,7 @@ enum HPMUD_RESULT hpmud_get_dstat(HPMUD_
diff --git a/io/hpmud/hpmud.c b/io/hpmud/hpmud.c
index 0eb6fff..358f279 100644
--- a/io/hpmud/hpmud.c
+++ b/io/hpmud/hpmud.c
@@ -759,6 +759,7 @@ enum HPMUD_RESULT hpmud_get_dstat(HPMUD_DEVICE dd, struct hpmud_dstat *ds)
}
strncpy(ds->uri, msp->device[dd].uri, sizeof(ds->uri));
@ -23,9 +56,10 @@ diff -up hplip-3.23.3/io/hpmud/hpmud.c.covscan hplip-3.23.3/io/hpmud/hpmud.c
ds->io_mode = msp->device[dd].io_mode;
ds->channel_cnt = msp->device[dd].channel_cnt;
ds->mlc_up = msp->device[dd].mlc_up;
diff -up hplip-3.23.3/io/hpmud/jd.c.covscan hplip-3.23.3/io/hpmud/jd.c
--- hplip-3.23.3/io/hpmud/jd.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/io/hpmud/jd.c 2023-05-29 13:58:10.970395208 +0200
diff --git a/io/hpmud/jd.c b/io/hpmud/jd.c
index 06f5072..20df27a 100644
--- a/io/hpmud/jd.c
+++ b/io/hpmud/jd.c
@@ -31,6 +31,7 @@
#endif
@ -34,9 +68,10 @@ diff -up hplip-3.23.3/io/hpmud/jd.c.covscan hplip-3.23.3/io/hpmud/jd.c
#include "hpmud.h"
#include "hpmudi.h"
diff -up hplip-3.23.3/io/hpmud/model.c.covscan hplip-3.23.3/io/hpmud/model.c
--- hplip-3.23.3/io/hpmud/model.c.covscan 2023-05-29 13:58:10.958395279 +0200
+++ hplip-3.23.3/io/hpmud/model.c 2023-05-29 13:58:10.970395208 +0200
diff --git a/io/hpmud/model.c b/io/hpmud/model.c
index 4ea8990..a917d69 100644
--- a/io/hpmud/model.c
+++ b/io/hpmud/model.c
@@ -117,6 +117,7 @@ static int ReadConfig()
if (rcbuf[0] == '[')
{
@ -53,10 +88,11 @@ diff -up hplip-3.23.3/io/hpmud/model.c.covscan hplip-3.23.3/io/hpmud/model.c
break; /* done */
}
}
diff -up hplip-3.23.3/io/hpmud/musb.c.covscan hplip-3.23.3/io/hpmud/musb.c
--- hplip-3.23.3/io/hpmud/musb.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/io/hpmud/musb.c 2023-05-29 13:58:10.970395208 +0200
@@ -776,7 +776,7 @@ static int device_id(int fd, unsigned ch
diff --git a/io/hpmud/musb.c b/io/hpmud/musb.c
index 6e99c15..755493e 100644
--- a/io/hpmud/musb.c
+++ b/io/hpmud/musb.c
@@ -775,7 +775,7 @@ static int device_id(int fd, unsigned char *buffer, int size)
len = size-1; /* leave byte for zero termination */
if (len > 2)
len -= 2;
@ -65,10 +101,11 @@ diff -up hplip-3.23.3/io/hpmud/musb.c.covscan hplip-3.23.3/io/hpmud/musb.c
buffer[len]=0;
DBG("read actual device_id successfully fd=%d len=%d\n", fd, len);
diff -up hplip-3.23.3/io/hpmud/pp.c.covscan hplip-3.23.3/io/hpmud/pp.c
--- hplip-3.23.3/io/hpmud/pp.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/io/hpmud/pp.c 2023-05-29 13:58:10.970395208 +0200
@@ -632,7 +632,7 @@ static int device_id(int fd, char *buffe
diff --git a/io/hpmud/pp.c b/io/hpmud/pp.c
index 74c5fdc..021d627 100644
--- a/io/hpmud/pp.c
+++ b/io/hpmud/pp.c
@@ -632,7 +632,7 @@ static int device_id(int fd, char *buffer, int size)
len = size-1; /* leave byte for zero termination */
if (len > 2)
len -= 2;
@ -77,39 +114,10 @@ diff -up hplip-3.23.3/io/hpmud/pp.c.covscan hplip-3.23.3/io/hpmud/pp.c
buffer[len]=0;
DBG("read actual device_id successfully fd=%d len=%d\n", fd, len);
diff -up hplip-3.23.3/Makefile.am.covscan hplip-3.23.3/Makefile.am
--- hplip-3.23.3/Makefile.am.covscan 2023-05-29 13:58:10.944395361 +0200
+++ hplip-3.23.3/Makefile.am 2023-05-29 13:58:10.969395214 +0200
@@ -3,7 +3,7 @@
#
# (c) 2004-2015 Copyright HP Development Company, LP
# Author: David Suffield, Naga Samrat Chowdary Narla, Sarbeswar Meher
-INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs -Icommon/
+INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs -Icommon/ -Iprotocol
CFLAGS+= -DCONFDIR=\"$(hplip_confdir)\"
CXXFLAGS+= -DCONFDIR=\"$(hplip_confdir)\"
@@ -310,7 +310,7 @@ dist_pcard_DATA = pcard/__init__.py pcar
pcardextdir = $(pyexecdir)
pcardext_LTLIBRARIES = pcardext.la
pcardext_la_LDFLAGS = -module -avoid-version
-pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c
+pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c pcard/pcardext/pcardext.h
pcardext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
# prnt
@@ -322,7 +322,7 @@ lib_LTLIBRARIES += libhpipp.la
#hpipp_LTLIBRARIES = hpipp.la
#hpipp_la_LDFLAGS = -module -avoid-version
libhpipp_la_SOURCES = protocol/hp_ipp.c protocol/hp_ipp.h protocol/hp_ipp_i.h
-libhpipp_la_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\"
+libhpipp_la_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\" -D_GNU_SOURCE
libhpipp_la_LDFLAGS = -version-info 0:1:0
libhpipp_la_LIBADD = libhpmud.la
diff -up hplip-3.23.3/pcard/fat.c.covscan hplip-3.23.3/pcard/fat.c
--- hplip-3.23.3/pcard/fat.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/pcard/fat.c 2023-05-29 13:58:10.971395203 +0200
diff --git a/pcard/fat.c b/pcard/fat.c
index caa383f..e1425c0 100644
--- a/pcard/fat.c
+++ b/pcard/fat.c
@@ -519,14 +519,17 @@ int FatFreeSpace(void)
int FatDiskAttributes( PHOTO_CARD_ATTRIBUTES * pa )
@ -139,9 +147,48 @@ diff -up hplip-3.23.3/pcard/fat.c.covscan hplip-3.23.3/pcard/fat.c
cwd.StartSector = ConvertClusterToSector(fa.StartCluster);
cwd.CurrSector = cwd.StartSector;
cwd.StartCluster = fa.StartCluster;
diff -up hplip-3.23.3/prnt/hpijs/context2.cpp.covscan hplip-3.23.3/prnt/hpijs/context2.cpp
--- hplip-3.23.3/prnt/hpijs/context2.cpp.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/prnt/hpijs/context2.cpp 2023-05-29 13:58:10.971395203 +0200
diff --git a/prnt/hpcups/genPCLm.cpp b/prnt/hpcups/genPCLm.cpp
index c0cdc73..4db4bde 100644
--- a/prnt/hpcups/genPCLm.cpp
+++ b/prnt/hpcups/genPCLm.cpp
@@ -1237,11 +1237,16 @@ void PCLmGenerator::writeJobTicket()
char orientation[256];
char duplex[256];
char colorthemes[256];
- strncpy(colorthemes,getColorThemesString(m_pPCLmSSettings->colorTheme),256);
- strncpy(inputBin,getInputBinString(m_pPCLmSSettings->userInputBin),256);
- strncpy(outputBin,getOutputBin(m_pPCLmSSettings->userOutputBin),256);
- strncpy(orientation,getOrientationString(m_pPCLmSSettings->userOrientation),256);
- strncpy(duplex,getDuplexString(currDuplexDisposition),256);
+ strncpy(colorthemes,getColorThemesString(m_pPCLmSSettings->colorTheme), sizeof(colorthemes));
+ colorthemes[sizeof(colorthemes)-1] = '\0';
+ strncpy(inputBin,getInputBinString(m_pPCLmSSettings->userInputBin), sizeof(inputBin));
+ inputBin[sizeof(inputBin)-1] = '\0';
+ strncpy(outputBin,getOutputBin(m_pPCLmSSettings->userOutputBin), sizeof(outputBin));
+ outputBin[sizeof(outputBin)-1] = '\0';
+ strncpy(orientation,getOrientationString(m_pPCLmSSettings->userOrientation), sizeof(orientation));
+ orientation[sizeof(orientation)-1] = '\0';
+ strncpy(duplex,getDuplexString(currDuplexDisposition), sizeof(duplex));
+ duplex[sizeof(duplex)-1] = '\0';
snprintf(pOutStr,OUT_STR_SIZE,"%% genPCLm (Ver: %f)\n",PCLM_Ver); writeStr2OutBuff(pOutStr);
snprintf(pOutStr,OUT_STR_SIZE,"%%============= Job Ticket =============\n"); writeStr2OutBuff(pOutStr);
@@ -1635,7 +1640,10 @@ int PCLmGenerator::StartPage(PCLmPageSetup *PCLmPageContent, void **pOutBuffer,
}
if(strlen(PCLmPageContent->mediaSizeName))
- strncpy(currMediaName,PCLmPageContent->mediaSizeName,256);
+ {
+ strncpy(currMediaName,PCLmPageContent->mediaSizeName, sizeof(currMediaName));
+ currMediaName[sizeof(currMediaName)-1] = '\0';
+ }
currStripHeight=PCLmPageContent->stripHeight;
if(!currStripHeight)
diff --git a/prnt/hpijs/context2.cpp b/prnt/hpijs/context2.cpp
index c3df482..19490b1 100644
--- a/prnt/hpijs/context2.cpp
+++ b/prnt/hpijs/context2.cpp
@@ -1302,6 +1302,7 @@ DRIVER_ERROR PrintContext::SelectDevice
if(0 == strnlen((const char *)pSS->strDevID, DevIDBuffSize))
{
@ -150,10 +197,11 @@ diff -up hplip-3.23.3/prnt/hpijs/context2.cpp.covscan hplip-3.23.3/prnt/hpijs/co
}
thePrinter = pPFI->CreatePrinter (pSS, familyHandle);
if (thePrinter->constructor_error != NO_ERROR)
diff -up hplip-3.23.3/prnt/hpijs/systemservices.cpp.covscan hplip-3.23.3/prnt/hpijs/systemservices.cpp
--- hplip-3.23.3/prnt/hpijs/systemservices.cpp.covscan 2023-03-28 09:26:27.000000000 +0200
+++ hplip-3.23.3/prnt/hpijs/systemservices.cpp 2023-05-29 13:58:10.971395203 +0200
@@ -396,7 +396,10 @@ void SystemServices::AdjustIO(IO_MODE IM
diff --git a/prnt/hpijs/systemservices.cpp b/prnt/hpijs/systemservices.cpp
index 95f5a64..f5b4bb5 100644
--- a/prnt/hpijs/systemservices.cpp
+++ b/prnt/hpijs/systemservices.cpp
@@ -396,7 +396,10 @@ void SystemServices::AdjustIO(IO_MODE IM, const char* model)
IOMode.bDevID =IM.bDevID && IOMode.bDevID;
if (model)
@ -164,10 +212,11 @@ diff -up hplip-3.23.3/prnt/hpijs/systemservices.cpp.covscan hplip-3.23.3/prnt/hp
}
APDK_END_NAMESPACE
diff -up hplip-3.23.3/prnt/hpps/hppsfilter.c.covscan hplip-3.23.3/prnt/hpps/hppsfilter.c
--- hplip-3.23.3/prnt/hpps/hppsfilter.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/prnt/hpps/hppsfilter.c 2023-05-29 13:58:10.972395197 +0200
@@ -274,13 +274,13 @@ static void WriteHeader(char **argument)
diff --git a/prnt/hpps/hppsfilter.c b/prnt/hpps/hppsfilter.c
index 5879a70..d246041 100644
--- a/prnt/hpps/hppsfilter.c
+++ b/prnt/hpps/hppsfilter.c
@@ -230,13 +230,13 @@ static void WriteHeader(char **argument)
/* Writing Header Information
argument[1] = JOB ID , argument[2]= USERNAME, argument[3] = TITLE */
hpwrite("\x1b%-12345X@PJL JOBNAME=", strlen("\x1b%-12345X@PJL JOBNAME="));
@ -184,24 +233,25 @@ diff -up hplip-3.23.3/prnt/hpps/hppsfilter.c.covscan hplip-3.23.3/prnt/hpps/hpps
hpwrite(buffer, strlen(buffer));
fprintf(stderr, "HP PS filter func = WriteHeader : WRITING PJL HEADER INFO\n");
return;
diff -up hplip-3.23.3/protocol/hp_ipp.h.covscan hplip-3.23.3/protocol/hp_ipp.h
--- hplip-3.23.3/protocol/hp_ipp.h.covscan 2023-05-29 13:58:10.972395197 +0200
+++ hplip-3.23.3/protocol/hp_ipp.h 2023-05-29 13:59:03.645085468 +0200
@@ -168,6 +168,11 @@ HPIPP_RESULT parseResponseHeader(char* h
HPIPP_RESULT prepend_http_header(raw_ipp *raw_request,const char *resource);
diff --git a/protocol/hp_ipp.h b/protocol/hp_ipp.h
index 3853f84..de76202 100644
--- a/protocol/hp_ipp.h
+++ b/protocol/hp_ipp.h
@@ -166,5 +166,10 @@ int getCupsPrinters(printer_t **printer_list);
HPIPP_RESULT parseResponseHeader(char* header, int *content_length, int *chunked, int* header_size);
HPIPP_RESULT prepend_http_header(raw_ipp *raw_request);
enum HPMUD_RESULT sendUSBRequest(char *buf, int size, raw_ipp *responseptr, char * device_uri);
enum HPMUD_RESULT sendUSBFileRequest(char *buf, int size, int fileHandle,raw_ipp *responseptr, char *device_uri);
+void _releaseCupsInstance();
+int addCupsPrinter(char *name, char *device_uri, char *location, char *ppd_file, char *model, char *info);
+int delCupsPrinter(char *pr_name);
+int setDefaultCupsPrinter(char *pr_name);
+int controlCupsPrinter(char *pr_name, int op);
ipp_t * createFaxDetailRequest(const char *printer_name);
ipp_t * getDeviceFaxModemAttributes(char* device_uri,char* printer_name, int *count);
diff -up hplip-3.23.3/scan/sane/bb_ledm.c.covscan hplip-3.23.3/scan/sane/bb_ledm.c
--- hplip-3.23.3/scan/sane/bb_ledm.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/scan/sane/bb_ledm.c 2023-05-29 13:58:10.972395197 +0200
# endif //_IPP_H
diff --git a/scan/sane/bb_ledm.c b/scan/sane/bb_ledm.c
index b233d1e..7ba0edf 100644
--- a/scan/sane/bb_ledm.c
+++ b/scan/sane/bb_ledm.c
@@ -26,6 +26,7 @@
# include "http.h"
# include "xml.h"
@ -210,9 +260,10 @@ diff -up hplip-3.23.3/scan/sane/bb_ledm.c.covscan hplip-3.23.3/scan/sane/bb_ledm
# include <stdint.h>
diff -up hplip-3.23.3/scan/sane/common.h.covscan hplip-3.23.3/scan/sane/common.h
--- hplip-3.23.3/scan/sane/common.h.covscan 2023-05-29 13:58:10.727396637 +0200
+++ hplip-3.23.3/scan/sane/common.h 2023-05-29 13:58:10.972395197 +0200
diff --git a/scan/sane/common.h b/scan/sane/common.h
index 0f67542..e496a74 100644
--- a/scan/sane/common.h
+++ b/scan/sane/common.h
@@ -36,7 +36,7 @@
#define _STRINGIZE(x) #x
#define STRINGIZE(x) _STRINGIZE(x)
@ -222,10 +273,11 @@ diff -up hplip-3.23.3/scan/sane/common.h.covscan hplip-3.23.3/scan/sane/common.h
#define BUG_DUMP(data, size) bugdump((data), (size))
#define BUG_SZ(args...) {syslog(LOG_ERR, args); DBG(2, args);}
diff -up hplip-3.23.3/scan/sane/escl.c.covscan hplip-3.23.3/scan/sane/escl.c
--- hplip-3.23.3/scan/sane/escl.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/scan/sane/escl.c 2023-05-29 13:58:10.972395197 +0200
@@ -849,7 +849,7 @@ SANE_Status escl_control_option(SANE_Han
diff --git a/scan/sane/escl.c b/scan/sane/escl.c
index af45bff..4f59b21 100644
--- a/scan/sane/escl.c
+++ b/scan/sane/escl.c
@@ -795,7 +795,7 @@ SANE_Status escl_control_option(SANE_Handle handle, SANE_Int option, SANE_Action
//DBG8("escl_control_option (option=%s) action=%d\n", ps->option[option].name, action);
if (stat != SANE_STATUS_GOOD)
{
@ -234,7 +286,7 @@ diff -up hplip-3.23.3/scan/sane/escl.c.covscan hplip-3.23.3/scan/sane/escl.c
}
return stat;
@@ -1159,7 +1159,7 @@ void escl_close(SANE_Handle handle)
@@ -1102,7 +1102,7 @@ void escl_close(SANE_Handle handle)
if (ps == NULL || ps != session)
{
@ -243,9 +295,10 @@ diff -up hplip-3.23.3/scan/sane/escl.c.covscan hplip-3.23.3/scan/sane/escl.c
return;
}
diff -up hplip-3.23.3/scan/sane/http.c.covscan hplip-3.23.3/scan/sane/http.c
--- hplip-3.23.3/scan/sane/http.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/scan/sane/http.c 2023-05-29 13:58:10.973395191 +0200
diff --git a/scan/sane/http.c b/scan/sane/http.c
index 800df91..45668cd 100644
--- a/scan/sane/http.c
+++ b/scan/sane/http.c
@@ -36,6 +36,7 @@
#include <string.h>
#include <syslog.h>
@ -254,10 +307,11 @@ diff -up hplip-3.23.3/scan/sane/http.c.covscan hplip-3.23.3/scan/sane/http.c
#include "hpmud.h"
#include "http.h"
diff -up hplip-3.23.3/scan/sane/io.c.covscan hplip-3.23.3/scan/sane/io.c
--- hplip-3.23.3/scan/sane/io.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/scan/sane/io.c 2023-05-29 13:58:10.973395191 +0200
@@ -50,7 +50,7 @@ int __attribute__ ((visibility ("hidden"
diff --git a/scan/sane/io.c b/scan/sane/io.c
index 4508458..7bbddea 100755
--- a/scan/sane/io.c
+++ b/scan/sane/io.c
@@ -50,7 +50,7 @@ int __attribute__ ((visibility ("hidden"))) InitDbus(void)
if (dbus_error_is_set(&dbus_err))
{
@ -266,7 +320,7 @@ diff -up hplip-3.23.3/scan/sane/io.c.covscan hplip-3.23.3/scan/sane/io.c
dbus_error_free(&dbus_err);
}
@@ -79,7 +79,7 @@ int __attribute__ ((visibility ("hidden"
@@ -79,7 +79,7 @@ int __attribute__ ((visibility ("hidden"))) SendScanEvent(char *device_uri, int
if (NULL == msg)
{
@ -275,7 +329,7 @@ diff -up hplip-3.23.3/scan/sane/io.c.covscan hplip-3.23.3/scan/sane/io.c
return 0;
}
@@ -94,7 +94,7 @@ int __attribute__ ((visibility ("hidden"
@@ -94,7 +94,7 @@ int __attribute__ ((visibility ("hidden"))) SendScanEvent(char *device_uri, int
if (!dbus_connection_send(dbus_conn, msg, NULL))
{
@ -284,10 +338,11 @@ diff -up hplip-3.23.3/scan/sane/io.c.covscan hplip-3.23.3/scan/sane/io.c
return 0;
}
diff -up hplip-3.23.3/scan/sane/ledm.c.covscan hplip-3.23.3/scan/sane/ledm.c
--- hplip-3.23.3/scan/sane/ledm.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/scan/sane/ledm.c 2023-05-29 13:58:10.973395191 +0200
@@ -813,7 +813,7 @@ SANE_Status ledm_control_option(SANE_Han
diff --git a/scan/sane/ledm.c b/scan/sane/ledm.c
index 9a1ff02..07ab5b0 100644
--- a/scan/sane/ledm.c
+++ b/scan/sane/ledm.c
@@ -802,7 +802,7 @@ SANE_Status ledm_control_option(SANE_Handle handle, SANE_Int option, SANE_Action
if (stat != SANE_STATUS_GOOD)
{
@ -296,7 +351,7 @@ diff -up hplip-3.23.3/scan/sane/ledm.c.covscan hplip-3.23.3/scan/sane/ledm.c
}
return stat;
@@ -1078,7 +1078,7 @@ void ledm_close(SANE_Handle handle)
@@ -1067,7 +1067,7 @@ void ledm_close(SANE_Handle handle)
if (ps == NULL || ps != session)
{
@ -305,10 +360,11 @@ diff -up hplip-3.23.3/scan/sane/ledm.c.covscan hplip-3.23.3/scan/sane/ledm.c
return;
}
diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell.c
--- hplip-3.23.3/scan/sane/marvell.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/scan/sane/marvell.c 2023-05-29 13:58:10.976395173 +0200
@@ -134,7 +134,7 @@ static int get_ip_data(struct marvell_se
diff --git a/scan/sane/marvell.c b/scan/sane/marvell.c
index ad267a3..236f7c9 100644
--- a/scan/sane/marvell.c
+++ b/scan/sane/marvell.c
@@ -134,7 +134,7 @@ static int get_ip_data(struct marvell_session *ps, SANE_Byte *data, SANE_Int max
if (!ps->ip_handle)
{
@ -317,7 +373,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
goto bugout;
}
@@ -335,7 +335,7 @@ static struct marvell_session *create_se
@@ -335,7 +335,7 @@ static struct marvell_session *create_session()
if ((ps = malloc(sizeof(struct marvell_session))) == NULL)
{
@ -326,7 +382,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
return NULL;
}
memset(ps, 0, sizeof(struct marvell_session));
@@ -402,7 +402,7 @@ SANE_Status marvell_open(SANE_String_Con
@@ -402,7 +402,7 @@ SANE_Status marvell_open(SANE_String_Const device, SANE_Handle *handle)
if (session)
{
@ -335,7 +391,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
return SANE_STATUS_DEVICE_BUSY;
}
@@ -431,7 +431,7 @@ SANE_Status marvell_open(SANE_String_Con
@@ -431,7 +431,7 @@ SANE_Status marvell_open(SANE_String_Const device, SANE_Handle *handle)
if (hpmud_open_device(session->uri, ma.mfp_mode, &session->dd) != HPMUD_R_OK)
{
@ -344,7 +400,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
goto bugout;
free(session);
@@ -441,7 +441,7 @@ SANE_Status marvell_open(SANE_String_Con
@@ -441,7 +441,7 @@ SANE_Status marvell_open(SANE_String_Const device, SANE_Handle *handle)
if (hpmud_open_channel(session->dd, HPMUD_S_MARVELL_SCAN_CHANNEL, &session->cd) != HPMUD_R_OK)
{
@ -362,7 +418,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
return;
}
@@ -849,7 +849,7 @@ SANE_Status marvell_control_option(SANE_
@@ -849,7 +849,7 @@ SANE_Status marvell_control_option(SANE_Handle handle, SANE_Int option, SANE_Act
stat = SANE_STATUS_GOOD;
break;
}
@ -371,7 +427,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
}
else
{ /* Set default. */
@@ -866,7 +866,7 @@ SANE_Status marvell_control_option(SANE_
@@ -866,7 +866,7 @@ SANE_Status marvell_control_option(SANE_Handle handle, SANE_Int option, SANE_Act
if (stat != SANE_STATUS_GOOD)
{
@ -380,7 +436,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto");
}
@@ -905,7 +905,7 @@ SANE_Status marvell_start(SANE_Handle ha
@@ -905,7 +905,7 @@ SANE_Status marvell_start(SANE_Handle handle)
if (set_extents(ps))
{
@ -389,7 +445,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
ps->currentTlx, ps->currentTly, ps->currentBrx, ps->currentBry, ps->min_width, ps->min_height, ps->tlxRange.max, ps->tlyRange.max);
stat = SANE_STATUS_INVAL;
goto bugout;
@@ -963,7 +963,7 @@ SANE_Status marvell_start(SANE_Handle ha
@@ -963,7 +963,7 @@ SANE_Status marvell_start(SANE_Handle handle)
/* Open image processor. */
if ((ret = ipOpen(pXform-xforms, xforms, 0, &ps->ip_handle)) != IP_DONE)
{
@ -398,7 +454,7 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
stat = SANE_STATUS_INVAL;
goto bugout;
}
@@ -1023,7 +1023,7 @@ SANE_Status marvell_read(SANE_Handle han
@@ -1023,7 +1023,7 @@ SANE_Status marvell_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength
if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR))
{
@ -407,9 +463,10 @@ diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell
goto bugout;
}
diff -up hplip-3.23.3/scan/sane/sclpml.c.covscan hplip-3.23.3/scan/sane/sclpml.c
--- hplip-3.23.3/scan/sane/sclpml.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/scan/sane/sclpml.c 2023-05-29 13:58:10.976395173 +0200
diff --git a/scan/sane/sclpml.c b/scan/sane/sclpml.c
index 9a5975f..dc8b32c 100644
--- a/scan/sane/sclpml.c
+++ b/scan/sane/sclpml.c
@@ -30,6 +30,7 @@
#include <unistd.h>
#include <fcntl.h>
@ -427,10 +484,11 @@ diff -up hplip-3.23.3/scan/sane/sclpml.c.covscan hplip-3.23.3/scan/sane/sclpml.c
return;
}
diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
--- hplip-3.23.3/scan/sane/soap.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/scan/sane/soap.c 2023-05-29 13:58:10.977395167 +0200
@@ -142,7 +142,7 @@ static int get_ip_data(struct soap_sessi
diff --git a/scan/sane/soap.c b/scan/sane/soap.c
index 07106fe..0d22e52 100644
--- a/scan/sane/soap.c
+++ b/scan/sane/soap.c
@@ -142,7 +142,7 @@ static int get_ip_data(struct soap_session *ps, SANE_Byte *data, SANE_Int maxLen
if (!ps->ip_handle)
{
@ -439,7 +497,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
goto bugout;
}
@@ -219,7 +219,7 @@ static struct soap_session *create_sessi
@@ -219,7 +219,7 @@ static struct soap_session *create_session()
if ((ps = malloc(sizeof(struct soap_session))) == NULL)
{
@ -448,7 +506,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
return NULL;
}
memset(ps, 0, sizeof(struct soap_session));
@@ -418,7 +418,7 @@ SANE_Status soap_open(SANE_String_Const
@@ -418,7 +418,7 @@ SANE_Status soap_open(SANE_String_Const device, SANE_Handle *handle)
if (session)
{
@ -457,7 +515,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
return SANE_STATUS_DEVICE_BUSY;
}
@@ -434,7 +434,7 @@ SANE_Status soap_open(SANE_String_Const
@@ -434,7 +434,7 @@ SANE_Status soap_open(SANE_String_Const device, SANE_Handle *handle)
if (hpmud_open_device(session->uri, ma.mfp_mode, &session->dd) != HPMUD_R_OK)
{
@ -475,7 +533,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
return;
}
@@ -824,7 +824,7 @@ SANE_Status soap_control_option(SANE_Han
@@ -824,7 +824,7 @@ SANE_Status soap_control_option(SANE_Handle handle, SANE_Int option, SANE_Action
if (stat != SANE_STATUS_GOOD)
{
@ -484,7 +542,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto");
}
@@ -862,7 +862,7 @@ SANE_Status soap_start(SANE_Handle handl
@@ -862,7 +862,7 @@ SANE_Status soap_start(SANE_Handle handle)
ps->user_cancel = 0;
if (set_extents(ps))
{
@ -493,7 +551,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
ps->currentTlx, ps->currentTly, ps->currentBrx, ps->currentBry, ps->min_width, ps->min_height, ps->tlxRange.max, ps->tlyRange.max);
stat = SANE_STATUS_INVAL;
goto bugout;
@@ -913,7 +913,7 @@ SANE_Status soap_start(SANE_Handle handl
@@ -913,7 +913,7 @@ SANE_Status soap_start(SANE_Handle handle)
/* Open image processor. */
if ((ret = ipOpen(pXform-xforms, xforms, 0, &ps->ip_handle)) != IP_DONE)
{
@ -502,7 +560,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
stat = SANE_STATUS_INVAL;
goto bugout;
}
@@ -955,7 +955,7 @@ SANE_Status soap_start(SANE_Handle handl
@@ -955,7 +955,7 @@ SANE_Status soap_start(SANE_Handle handle)
if (ret & (IP_INPUT_ERROR | IP_FATAL_ERROR | IP_DONE))
{
@ -511,7 +569,7 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
stat = SANE_STATUS_IO_ERROR;
goto bugout;
}
@@ -1007,7 +1007,7 @@ SANE_Status soap_read(SANE_Handle handle
@@ -1007,7 +1007,7 @@ SANE_Status soap_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength, S
if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR))
{
@ -520,10 +578,11 @@ diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c
goto bugout;
}
diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
--- hplip-3.23.3/scan/sane/soapht.c.covscan 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/scan/sane/soapht.c 2023-05-29 13:58:10.977395167 +0200
@@ -136,7 +136,7 @@ static int get_ip_data(struct soap_sessi
diff --git a/scan/sane/soapht.c b/scan/sane/soapht.c
index 269ab21..139100d 100644
--- a/scan/sane/soapht.c
+++ b/scan/sane/soapht.c
@@ -136,7 +136,7 @@ static int get_ip_data(struct soap_session *ps, SANE_Byte *data, SANE_Int maxLen
if (!ps->ip_handle)
{
@ -532,7 +591,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
goto bugout;
}
@@ -435,7 +435,7 @@ static struct soap_session *create_sessi
@@ -435,7 +435,7 @@ static struct soap_session *create_session()
if ((ps = malloc(sizeof(struct soap_session))) == NULL)
{
@ -541,7 +600,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
return NULL;
}
memset(ps, 0, sizeof(struct soap_session));
@@ -459,7 +459,7 @@ SANE_Status soapht_open(SANE_String_Cons
@@ -459,7 +459,7 @@ SANE_Status soapht_open(SANE_String_Const device, SANE_Handle *handle)
if (session)
{
@ -550,7 +609,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
return SANE_STATUS_DEVICE_BUSY;
}
@@ -475,7 +475,7 @@ SANE_Status soapht_open(SANE_String_Cons
@@ -475,7 +475,7 @@ SANE_Status soapht_open(SANE_String_Const device, SANE_Handle *handle)
if (hpmud_open_device(session->uri, ma.mfp_mode, &session->dd) != HPMUD_R_OK)
{
@ -568,7 +627,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
return;
}
@@ -904,7 +904,7 @@ SANE_Status soapht_control_option(SANE_H
@@ -904,7 +904,7 @@ SANE_Status soapht_control_option(SANE_Handle handle, SANE_Int option, SANE_Acti
if (stat != SANE_STATUS_GOOD)
{
@ -577,7 +636,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto");
}
@@ -946,7 +946,7 @@ SANE_Status soapht_start(SANE_Handle han
@@ -946,7 +946,7 @@ SANE_Status soapht_start(SANE_Handle handle)
if (set_extents(ps))
{
@ -586,7 +645,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
ps->currentTlx, ps->currentTly, ps->currentBrx, ps->currentBry, ps->min_width, ps->min_height, ps->tlxRange.max, ps->tlyRange.max);
stat = SANE_STATUS_INVAL;
goto bugout;
@@ -1032,7 +1032,7 @@ SANE_Status soapht_start(SANE_Handle han
@@ -1032,7 +1032,7 @@ SANE_Status soapht_start(SANE_Handle handle)
/* Open image processor. */
if ((ret = ipOpen(pXform-xforms, xforms, 0, &ps->ip_handle)) != IP_DONE)
{
@ -595,7 +654,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
stat = SANE_STATUS_INVAL;
goto bugout;
}
@@ -1075,7 +1075,7 @@ SANE_Status soapht_start(SANE_Handle han
@@ -1075,7 +1075,7 @@ SANE_Status soapht_start(SANE_Handle handle)
if (ret & (IP_INPUT_ERROR | IP_FATAL_ERROR | IP_DONE))
{
@ -604,7 +663,7 @@ diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c
stat = SANE_STATUS_IO_ERROR;
goto bugout;
}
@@ -1124,7 +1124,7 @@ SANE_Status soapht_read(SANE_Handle hand
@@ -1124,7 +1124,7 @@ SANE_Status soapht_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength,
if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR))
{

@ -2,6 +2,15 @@ diff --git a/ui5/devmgr5.py b/ui5/devmgr5.py
index c23957a..48b248f 100644
--- a/ui5/devmgr5.py
+++ b/ui5/devmgr5.py
@@ -2247,7 +2247,7 @@ class PasswordDialog(QDialog):
self.prompt = prompt
Layout= QGridLayout(self)
- Layout.setMargin(11)
+ Layout.setContentsMargins(11, 11, 11, 11)
Layout.setSpacing(6)
self.PromptTextLabel = QLabel(self)
@@ -2300,14 +2300,15 @@ class PasswordDialog(QDialog):
# XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

@ -32,3 +32,47 @@ index fdb48e8..345ed82 100644
self.cleanup(EVENT_PCARD_UNABLE_TO_MOUNT)
return False
diff --git a/ui4/wifisetupdialog.py b/ui4/wifisetupdialog.py
index 9fd1786..4d36f83 100644
--- a/ui4/wifisetupdialog.py
+++ b/ui4/wifisetupdialog.py
@@ -256,7 +256,7 @@ class WifiSetupDialog(QDialog, Ui_Dialog):
try:
self.dev = device.Device(self.device_uri)
except Error as e:
- FailureUI(self, self.__tr("<b>Error opening device:</b><p>%s</p><p>(%s)</p>") %(self.device_uri, QString(e[0])))
+ FailureUI(self, self.__tr("<b>Error opening device:</b><p>%s</p><p>(%s)</p>") %(self.device_uri, QString(e.msg)))
if self.dev is not None:
self.dev.close()
@@ -834,7 +834,7 @@ class WifiSetupDialog(QDialog, Ui_Dialog):
def showIOError(self, e):
- FailureUI(self, self.__tr("<b>An I/O error occurred.</b><p>Please check the USB connection to your printer and try again.</p>(%s)" % QString(e[0])))
+ FailureUI(self, self.__tr("<b>An I/O error occurred.</b><p>Please check the USB connection to your printer and try again.</p>(%s)" % QString(e.msg)))
if self.dev is not None:
self.dev.close()
diff --git a/ui5/wifisetupdialog.py b/ui5/wifisetupdialog.py
index e0c7aee..74cc0ef 100644
--- a/ui5/wifisetupdialog.py
+++ b/ui5/wifisetupdialog.py
@@ -259,7 +259,7 @@ class WifiSetupDialog(QDialog, Ui_Dialog):
try:
self.dev = device.Device(self.device_uri)
except Error as e:
- FailureUI(self, self.__tr("<b>Error opening device:</b><p>%s</p><p>(%s)</p>") %(self.device_uri, str(e[0])))
+ FailureUI(self, self.__tr("<b>Error opening device:</b><p>%s</p><p>(%s)</p>") %(self.device_uri, str(e.msg)))
if self.dev is not None:
self.dev.close()
@@ -840,7 +840,7 @@ class WifiSetupDialog(QDialog, Ui_Dialog):
def showIOError(self, e):
- FailureUI(self, self.__tr("<b>An I/O error occurred.</b><p>Please check the USB connection to your printer and try again.</p>(%s)" % str(e[0])))
+ FailureUI(self, self.__tr("<b>An I/O error occurred.</b><p>Please check the USB connection to your printer and try again.</p>(%s)" % str(e.msg)))
if self.dev is not None:
self.dev.close()

@ -0,0 +1,13 @@
diff --git a/ui5/fabwindow.py b/ui5/fabwindow.py
index 0b95c94..631727c 100644
--- a/ui5/fabwindow.py
+++ b/ui5/fabwindow.py
@@ -518,7 +518,7 @@ class FABWindow(QMainWindow, Ui_MainWindow):
self.__tr("Import fax addresses from LDIF or vCard"),
#user_conf.workingDirectory(),
self.user_settings.working_dir,
- "vCard (*.vcf);;LDIF (*.ldif *.ldi)"))
+ "vCard (*.vcf);;LDIF (*.ldif *.ldi)")[0])
if result:
working_directory = to_unicode(os.path.dirname(result))

@ -1,3 +1,14 @@
--- hplip-3.20.3/prnt/hpps/hppsfilter.c.orig 2020-03-25 01:09:51.585129957 +0000
+++ hplip-3.20.3/prnt/hpps/hppsfilter.c 2020-03-25 01:10:15.610058293 +0000
@@ -104,7 +104,7 @@ static void open_tempbookletfile(char *m
if(ptempbooklet_file == NULL)
{
fprintf(stderr, "ERROR: Unable to open temp file %s\n", temp_filename);
- return 1;
+ return;
}
chmod(temp_filename, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
--- hplip-3.20.3/scan/sane/hpaio.c.orig 2020-03-25 01:24:15.558732638 +0000
+++ hplip-3.20.3/scan/sane/hpaio.c 2020-03-25 02:48:36.097054366 +0000
@@ -406,20 +406,34 @@ extern SANE_Status sane_hpaio_open(SANE_

@ -1,13 +0,0 @@
diff --git a/base/queues.py b/base/queues.py
index 2f56c8a..0818574 100755
--- a/base/queues.py
+++ b/base/queues.py
@@ -101,7 +101,7 @@ def parseQueues(mode):
try:
match = LPSTAT_PATTERN.search(p)
printer_name = match.group(1)
- device_uri = match.group(2)
+ device_uri = match.group(3)
cups_printers.append((printer_name, device_uri))
except AttributeError:
pass

@ -1,13 +0,0 @@
diff --git a/base/validation.py b/base/validation.py
index 96e65be..35f22eb 100644
--- a/base/validation.py
+++ b/base/validation.py
@@ -58,7 +58,7 @@ class GPG_Verification(DigiSign_Verification):
if not os.path.exists(self.__gpg_dir):
try:
- os.mkdir(self.__gpg_dir, 0o755)
+ os.mkdir(self.__gpg_dir, 0o700)
except OSError:
log.error("Failed to create %s" % self.__gpg_dir)
self.__change_owner()

@ -1,114 +0,0 @@
diff --git a/scan/sane/hpaio.c b/scan/sane/hpaio.c
index 57d1dde..3475929 100644
--- a/scan/sane/hpaio.c
+++ b/scan/sane/hpaio.c
@@ -379,7 +379,7 @@ extern SANE_Status sane_hpaio_get_devices(const SANE_Device ***deviceList, SANE_
ResetDeviceList(&DeviceList);
DevDiscovery(localOnly);
*deviceList = (const SANE_Device **)DeviceList;
- SANE_Device*** devList;
+ const SANE_Device*** devList;
orblite_get_devices(devList, localOnly);
return SANE_STATUS_GOOD;
diff --git a/scan/sane/orblite.c b/scan/sane/orblite.c
index 2eb7aba..4eaa468 100644
--- a/scan/sane/orblite.c
+++ b/scan/sane/orblite.c
@@ -64,28 +64,28 @@ SANE_Option_Descriptor DefaultOrbOptions[] = {
SANE_NAME_SCAN_TL_X, SANE_TITLE_SCAN_TL_X, SANE_DESC_SCAN_TL_X, // name, title, desc
SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, unit, size
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
- SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeLeft // constraint_type, constraint
+ SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeLeft // constraint_type, constraint
},
{
SANE_NAME_SCAN_TL_Y, SANE_TITLE_SCAN_TL_Y, SANE_DESC_SCAN_TL_Y, // name, title, desc
SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, unit, size
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
- SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeTop // constraint_type, constraint
+ SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeTop // constraint_type, constraint
},
{
SANE_NAME_SCAN_BR_X, SANE_TITLE_SCAN_BR_X, SANE_DESC_SCAN_BR_X, // name, title, desc
SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, unit, size
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
- SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeRight // constraint_type, constraint
+ SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeRight // constraint_type, constraint
},
{
SANE_NAME_SCAN_BR_Y, SANE_TITLE_SCAN_BR_Y, SANE_DESC_SCAN_BR_Y, // name, title, desc
SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, unit, size
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
- SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeBottom // constraint_type, constraint
+ SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeBottom // constraint_type, constraint
},
// optResolution, // resolution group
@@ -93,7 +93,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = {
SANE_NAME_SCAN_RESOLUTION, SANE_TITLE_SCAN_RESOLUTION, SANE_DESC_SCAN_RESOLUTION, // name, title, desc
SANE_TYPE_INT, SANE_UNIT_DPI, sizeof(SANE_Word), // type, unit, size,
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
- SANE_CONSTRAINT_WORD_LIST, (SANE_Char**)SANE_resolutions // constraint type, constraint
+ SANE_CONSTRAINT_WORD_LIST, (const SANE_Char**)SANE_resolutions // constraint type, constraint
},
// optMode, // color/depth group
@@ -101,7 +101,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = {
SANE_NAME_SCAN_MODE, SANE_TITLE_SCAN_MODE, SANE_DESC_SCAN_MODE, // name, title, desc
SANE_TYPE_STRING, SANE_UNIT_NONE, 256, // type, unit, size,
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
- SANE_CONSTRAINT_STRING_LIST, (SANE_Char**)SANE_modes // constraint type, constraint
+ SANE_CONSTRAINT_STRING_LIST, (const SANE_Char**)SANE_modes // constraint type, constraint
},
// optSource,
@@ -109,7 +109,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = {
SANE_NAME_SCAN_SOURCE, SANE_TITLE_SCAN_SOURCE, SANE_DESC_SCAN_SOURCE, // name, title, desc
SANE_TYPE_STRING, SANE_UNIT_NONE, 256, // type, unit, size,
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
- SANE_CONSTRAINT_STRING_LIST, (SANE_Char**)SANE_sources // constraint type, constraint
+ SANE_CONSTRAINT_STRING_LIST, (const SANE_Char**)SANE_sources // constraint type, constraint
},
// optPaperSize,
@@ -117,7 +117,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = {
SANE_NAME_PAPER_SIZE, SANE_TITLE_PAPER_SIZE, SANE_DESC_PAPER_SIZE, // name, title, desc
SANE_TYPE_STRING, SANE_UNIT_NONE, 256, // type, unit, size,
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
- SANE_CONSTRAINT_STRING_LIST, (SANE_Char**)SANE_paper_sizes // constraint type, constraint
+ SANE_CONSTRAINT_STRING_LIST, (const SANE_Char**)SANE_paper_sizes // constraint type, constraint
},
// optPaperSize,
@@ -125,7 +125,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = {
SANE_NAME_PAPER_SIZE, SANE_TITLE_PAPER_SIZE, SANE_DESC_PAPER_SIZE, // name, title, desc
SANE_TYPE_INT, SANE_UNIT_DPI, sizeof(SANE_Word), // type, unit, size,
SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
- SANE_CONSTRAINT_WORD_LIST, (SANE_Char**)SANE_resolutions // constraint type, constraint
+ SANE_CONSTRAINT_WORD_LIST, (const SANE_Char**)SANE_resolutions // constraint type, constraint
},
#ifdef NOTDEF
// default template
@@ -274,6 +274,7 @@ orblite_open (SANE_String_Const devicename, SANE_Handle * handle)
SANE_Auth_Callback authorize;
const SANE_Device *** device_list;
SANE_Bool local_only;
+ void * temp_handle;
// Allocate handle, set all handle values to zero
@@ -305,7 +306,9 @@ orblite_open (SANE_String_Const devicename, SANE_Handle * handle)
if (stat != SANE_STATUS_GOOD)
return stat;
- stat = g_handle->bb_orblite_open(devicename, &g_handle);
+ temp_handle = g_handle;
+ stat = g_handle->bb_orblite_open(devicename, &temp_handle);
+ g_handle = temp_handle;
if (stat == SANE_STATUS_GOOD)
*handle = g_handle;

@ -1,24 +0,0 @@
diff --git a/config_usb_printer.py b/config_usb_printer.py
index 946a2d4..8db097e 100755
--- a/config_usb_printer.py
+++ b/config_usb_printer.py
@@ -28,6 +28,7 @@ __doc__ = "Udev invokes this tool. Tool detects the plugin, Smart Install (C/DVD
# Std Lib
import sys
import os
+import time
# Local
from base.g import *
@@ -181,9 +182,10 @@ try:
# ******************************* RUNNING FIRMWARE DOWNLOAD TO DEVICE FOR SUPPORTED PRINTER'S
fw_download_req = mq.get('fw-download', False)
if fw_download_req:
- fw_cmd = "hp-firmware -y3 -s %s"%param
+ fw_cmd = "hp-firmware -n -y3 -s %s"%param
log.info(fw_cmd)
fw_sts, fw_out = utils.run(fw_cmd)
+ time.sleep(5)
if fw_sts == 0:
log.debug("Firmware downloaded to %s "%device_uri)
else:

@ -1,6 +1,7 @@
diff -up hplip-3.23.3/setup.py.hpsetup-noscanjets hplip-3.23.3/setup.py
--- hplip-3.23.3/setup.py.hpsetup-noscanjets 2023-05-29 14:16:26.148133678 +0200
+++ hplip-3.23.3/setup.py 2023-05-29 14:16:26.220133253 +0200
diff --git a/setup.py b/setup.py
index 5d48aaa..88e663f 100755
--- a/setup.py
+++ b/setup.py
@@ -399,9 +399,19 @@ else: # INTERACTIVE_MODE
#log.warning("Cannot setup fax - device does not have fax feature.")
setup_fax = False
@ -22,12 +23,13 @@ diff -up hplip-3.23.3/setup.py.hpsetup-noscanjets hplip-3.23.3/setup.py
plugin = mq.get('plugin', PLUGIN_NONE)
if ignore_plugin_check is False and plugin > PLUGIN_NONE:
diff -up hplip-3.23.3/ui5/setupdialog.py.hpsetup-noscanjets hplip-3.23.3/ui5/setupdialog.py
--- hplip-3.23.3/ui5/setupdialog.py.hpsetup-noscanjets 2023-05-29 14:16:26.220133253 +0200
+++ hplip-3.23.3/ui5/setupdialog.py 2023-05-29 14:18:12.475041454 +0200
@@ -1391,6 +1391,18 @@ class SetupDialog(QDialog, Ui_Dialog):
back_end, is_hp, bus, model, serial, dev_file, host, zc, port = device.parseDeviceURI(
self.device_uri)
diff --git a/ui5/setupdialog.py b/ui5/setupdialog.py
index c6f234b..a5041c1 100644
--- a/ui5/setupdialog.py
+++ b/ui5/setupdialog.py
@@ -1326,6 +1326,18 @@ class SetupDialog(QDialog, Ui_Dialog):
self.mq = device.queryModelByURI(self.device_uri)
back_end, is_hp, bus, model, serial, dev_file, host, zc, port = device.parseDeviceURI(self.device_uri)
self.model = models.normalizeModelName(model).lower()
+ if 'scanjet' in self.model:
+ FailureUI(self,

@ -1,7 +1,6 @@
diff --git a/base/tui.py b/base/tui.py
index 99bda7b..0f90f92 100644
--- a/base/tui.py
+++ b/base/tui.py
diff -up hplip-3.20.3/base/tui.py.keyserver hplip-3.20.3/base/tui.py
--- hplip-3.20.3/base/tui.py.keyserver 2020-03-10 09:01:53.000000000 +0100
+++ hplip-3.20.3/base/tui.py 2020-04-07 08:44:44.319710001 +0200
@@ -241,6 +241,7 @@ class ProgressMeter(object):
sys.stdout.write(y)
@ -10,25 +9,30 @@ index 99bda7b..0f90f92 100644
self.prev_length = len(y)
self.spinner_pos = (self.spinner_pos + 1) % 8
diff --git a/base/validation.py b/base/validation.py
index ee6b05a..5e955dc 100644
--- a/base/validation.py
+++ b/base/validation.py
diff -up hplip-3.20.3/base/validation.py.keyserver hplip-3.20.3/base/validation.py
--- hplip-3.20.3/base/validation.py.keyserver 2020-03-10 09:01:53.000000000 +0100
+++ hplip-3.20.3/base/validation.py 2020-04-07 08:45:46.657132415 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# -*- coding: utf-8 -*-
#
# (c) Copyright 2015 HP Development Company, L.P.
@@ -42,8 +42,11 @@ class DigiSign_Verification(object):
class GPG_Verification(DigiSign_Verification):
- def __init__(self, pgp_site = 'pgp.mit.edu', key = 0x4ABA2F66DBD5A95894910E0673D770CDA59047B9):
- self.__pgp_site = pgp_site
+ def __init__(self, keyservers = ['keyserver.ubuntu.com',
+ 'pgp.surf.nl',
+ 'pgp.mit.edu'],
+ def __init__(self, keyservers = ['pool.sks-keyservers.net',
+ 'keyserver.ubuntu.com',
+ 'sks-keyservers.net', 'pgp.mit.edu'],
+ key = 0x4ABA2F66DBD5A95894910E0673D770CDA59047B9):
+ self.__keyservers = keyservers
self.__key = key
self.__gpg = utils.which('gpg',True)
@@ -82,13 +85,18 @@ class GPG_Verification(DigiSign_Verification):
@@ -82,13 +85,18 @@ class GPG_Verification(DigiSign_Verifica
def __acquire_gpg_key(self):

@ -1,18 +1,18 @@
diff -up hplip-3.21.12/prnt/hpcups/HPCupsFilter.cpp.logdir hplip-3.21.12/prnt/hpcups/HPCupsFilter.cpp
--- hplip-3.21.12/prnt/hpcups/HPCupsFilter.cpp.logdir 2022-01-12 11:27:25.509348511 +0100
+++ hplip-3.21.12/prnt/hpcups/HPCupsFilter.cpp 2022-01-12 11:29:11.507661838 +0100
@@ -669,7 +669,7 @@ int HPCupsFilter::processRasterData(cups
diff -up hplip-3.21.2/prnt/hpcups/HPCupsFilter.cpp.logdir hplip-3.21.2/prnt/hpcups/HPCupsFilter.cpp
--- hplip-3.21.2/prnt/hpcups/HPCupsFilter.cpp.logdir 2021-02-19 07:46:48.334843864 +0100
+++ hplip-3.21.2/prnt/hpcups/HPCupsFilter.cpp 2021-02-19 07:48:18.052963216 +0100
@@ -656,7 +656,7 @@ int HPCupsFilter::processRasterData(cups
char hpPreProcessedRasterFile[MAX_FILE_PATH_LEN]; //temp file needed to store raster data with swaped pages.
- sprintf(hpPreProcessedRasterFile, "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name);
+ snprintf(hpPreProcessedRasterFile, sizeof (hpPreProcessedRasterFile), "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name);
#ifndef DISABLE_IMAGEPROCESSOR
image_processor_t* imageProcessor=NULL;
IMAGE_PROCESSOR_ERROR result;
diff -up hplip-3.21.12/prnt/hpcups/SystemServices.cpp.logdir hplip-3.21.12/prnt/hpcups/SystemServices.cpp
--- hplip-3.21.12/prnt/hpcups/SystemServices.cpp.logdir 2021-12-13 10:07:36.000000000 +0100
+++ hplip-3.21.12/prnt/hpcups/SystemServices.cpp 2022-01-12 11:27:25.509348511 +0100
image_processor_t* imageProcessor=NULL;
IMAGE_PROCESSOR_ERROR result;
diff -up hplip-3.21.2/prnt/hpcups/SystemServices.cpp.logdir hplip-3.21.2/prnt/hpcups/SystemServices.cpp
--- hplip-3.21.2/prnt/hpcups/SystemServices.cpp.logdir 2021-02-15 00:55:21.000000000 +0100
+++ hplip-3.21.2/prnt/hpcups/SystemServices.cpp 2021-02-19 07:46:48.334843864 +0100
@@ -38,7 +38,7 @@ SystemServices::SystemServices(int iLogL
if (iLogLevel & SAVE_OUT_FILE)
{

@ -1,25 +1,25 @@
diff -up hplip-3.22.2/cups_drv.inc.missing-drivers hplip-3.22.2/cups_drv.inc
--- hplip-3.22.2/cups_drv.inc.missing-drivers 2022-02-23 08:42:29.000000000 +0100
+++ hplip-3.22.2/cups_drv.inc 2022-03-10 09:11:00.337315604 +0100
@@ -411,6 +411,7 @@ cups_ppd_printers = \
diff -up hplip-3.20.6/cups_drv.inc.missing-drivers hplip-3.20.6/cups_drv.inc
--- hplip-3.20.6/cups_drv.inc.missing-drivers 2020-06-09 13:23:14.000000000 +0200
+++ hplip-3.20.6/cups_drv.inc 2020-06-17 13:49:39.110952720 +0200
@@ -407,6 +407,7 @@ cups_ppd_printers = \
ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \
ppd/hpcups/hp-laserjet_m1005.ppd.gz \
ppd/hpcups/hp-laserjet_m101-m106.ppd.gz \
ppd/hpcups/hp-laserjet_m109-m112.ppd.gz \
@@ -527,6 +528,7 @@ cups_ppd_printers = \
ppd/hpcups/hp-laserjet_m1120_mfp.ppd.gz \
@@ -520,6 +521,7 @@ cups_ppd_printers = \
ppd/hpcups/hp-laserjet_professional_p1607dn.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz \
+ ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \
ppd/hpcups/hp-laserjet_tank_1020.ppd.gz \
ppd/hpcups/hp-laserjet_tank_150x.ppd.gz \
diff -up hplip-3.22.2/data/models/models.dat.missing-drivers hplip-3.22.2/data/models/models.dat
--- hplip-3.22.2/data/models/models.dat.missing-drivers 2022-03-10 09:10:13.601066235 +0100
+++ hplip-3.22.2/data/models/models.dat 2022-03-10 09:10:13.622066347 +0100
ppd/hpcups/hp-mopier_240-pcl3.ppd.gz \
ppd/hpcups/hp-mopier_320-pcl3.ppd.gz \
diff -up hplip-3.20.6/data/models/models.dat.missing-drivers hplip-3.20.6/data/models/models.dat
--- hplip-3.20.6/data/models/models.dat.missing-drivers 2020-06-17 13:49:39.080953000 +0200
+++ hplip-3.20.6/data/models/models.dat 2020-06-17 13:49:39.120952626 +0200
@@ -2104,7 +2104,7 @@ usb-pid=411
usb-vid=3f0
wifi-config=0
@ -532,45 +532,45 @@ diff -up hplip-3.22.2/data/models/models.dat.missing-drivers hplip-3.22.2/data/m
[hp_laserjet_professional_p1102]
align-type=0
clean-type=0
diff -up hplip-3.22.2/Makefile.in.missing-drivers hplip-3.22.2/Makefile.in
--- hplip-3.22.2/Makefile.in.missing-drivers 2022-02-23 08:42:31.000000000 +0100
+++ hplip-3.22.2/Makefile.in 2022-03-10 09:11:45.915558795 +0100
@@ -1613,6 +1613,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-lase
diff -up hplip-3.20.6/Makefile.in.missing-drivers hplip-3.20.6/Makefile.in
--- hplip-3.20.6/Makefile.in.missing-drivers 2020-06-09 13:23:20.000000000 +0200
+++ hplip-3.20.6/Makefile.in 2020-06-17 13:49:39.110952720 +0200
@@ -1571,6 +1571,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-lase
ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \
ppd/hpcups/hp-laserjet_m1005.ppd.gz \
ppd/hpcups/hp-laserjet_m101-m106.ppd.gz \
ppd/hpcups/hp-laserjet_m109-m112.ppd.gz \
@@ -1729,6 +1730,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-lase
ppd/hpcups/hp-laserjet_professional_p1607dn.ppd.gz \
ppd/hpcups/hp-laserjet_m1120_mfp.ppd.gz \
@@ -1685,6 +1686,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-lase
ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz \
+ ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \
ppd/hpcups/hp-laserjet_tank_1020.ppd.gz \
ppd/hpcups/hp-laserjet_tank_150x.ppd.gz \
@@ -4090,6 +4092,7 @@ dist_unrel_DATA =
+ ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \
ppd/hpcups/hp-mopier_240-pcl3.ppd.gz \
ppd/hpcups/hp-mopier_320-pcl3.ppd.gz \
ppd/hpcups/hp-neverstop_laser_100x.ppd.gz \
@@ -3961,6 +3963,7 @@ dist_unrel_DATA =
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cp1025.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \
+@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_m1005.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_m101-m106.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_m109-m112.ppd.gz \
@@ -4206,6 +4209,7 @@ dist_unrel_DATA =
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_m1120_mfp.ppd.gz \
@@ -4074,6 +4077,7 @@ dist_unrel_DATA =
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1607dn.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz \
+@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_tank_1020.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_tank_150x.ppd.gz \
diff -up hplip-3.22.2/prnt/drv/hpcups.drv.in.missing-drivers hplip-3.22.2/prnt/drv/hpcups.drv.in
--- hplip-3.22.2/prnt/drv/hpcups.drv.in.missing-drivers 2022-03-10 09:10:13.554065984 +0100
+++ hplip-3.22.2/prnt/drv/hpcups.drv.in 2022-03-10 09:10:13.629066384 +0100
@@ -22693,6 +22693,14 @@ Group "RLT/HP Real Life Technologies"
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-mopier_240-pcl3.ppd.gz \
@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-mopier_320-pcl3.ppd.gz \
diff -up hplip-3.20.6/prnt/drv/hpcups.drv.in.missing-drivers hplip-3.20.6/prnt/drv/hpcups.drv.in
--- hplip-3.20.6/prnt/drv/hpcups.drv.in.missing-drivers 2020-06-17 13:49:39.009953663 +0200
+++ hplip-3.20.6/prnt/drv/hpcups.drv.in 2020-06-17 13:51:49.576733820 +0200
@@ -22319,6 +22319,14 @@ Group "RLT/HP Real Life Technologies"
Attribute "Product" "" "(HP LaserJet Professional p1102s Printer)"
}
{
@ -585,7 +585,7 @@ diff -up hplip-3.22.2/prnt/drv/hpcups.drv.in.missing-drivers hplip-3.22.2/prnt/d
ModelName "HP LaserJet Professional p1106"
Attribute "NickName" "" "HP LaserJet Professional p1106, hpcups $Version"
Attribute "ShortNickName" "" "HP LJ Pro p1106 hpijs"
@@ -23126,6 +23134,14 @@ Group "RLT/HP Real Life Technologies"
@@ -22752,6 +22760,14 @@ Group "RLT/HP Real Life Technologies"
PCFileName "hp-laserjet_cp1025nw.ppd"
Attribute "Product" "" "(HP LaserJet Pro cp1025nw Color Printer Series)"
}

@ -1,8 +1,9 @@
diff -up hplip-3.21.12/installer/pluginhandler.py.missing-links hplip-3.21.12/installer/pluginhandler.py
--- hplip-3.21.12/installer/pluginhandler.py.missing-links 2022-01-12 16:55:39.761934879 +0100
+++ hplip-3.21.12/installer/pluginhandler.py 2022-01-12 17:22:33.367435334 +0100
@@ -167,7 +167,7 @@ class PluginHandle(object):
continue
diff --git a/installer/pluginhandler.py b/installer/pluginhandler.py
index 4d7c1b8..1af8d85 100755
--- a/installer/pluginhandler.py
+++ b/installer/pluginhandler.py
@@ -164,7 +164,7 @@ class PluginHandle(object):
for src, trg, link in copies:
if link != "":
if not utils.check_library(link):
- self.__plugin_state = PLUGIN_FILES_CORRUPTED

@ -1,108 +0,0 @@
diff --git a/scan/sane/escl.c b/scan/sane/escl.c
index 9fbbcaf..bc9e0b5 100644
--- a/scan/sane/escl.c
+++ b/scan/sane/escl.c
@@ -37,18 +37,12 @@ static int bb_load(struct escl_session *ps, const char *so)
int stat=1;
/* Load hpmud manually with symbols exported. Otherwise the plugin will not find it. */
- if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
- {
- if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
- goto bugout;
- }
+ if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
+ goto bugout;
/* Load math library manually with symbols exported (Ubuntu 8.04). Otherwise the plugin will not find it. */
- if ((ps->math_handle = load_library("libm.so")) == NULL)
- {
- if ((ps->math_handle = load_library("libm.so.6")) == NULL)
- goto bugout;
- }
+ if ((ps->math_handle = load_library("libm.so.6")) == NULL)
+ goto bugout;
if ((ps->bb_handle = load_plugin_library(UTILS_SCAN_PLUGIN_LIBRARY, so)) == NULL)
{
SendScanEvent(ps->uri, EVENT_PLUGIN_FAIL);
diff --git a/scan/sane/marvell.c b/scan/sane/marvell.c
index 236f7c9..793104c 100644
--- a/scan/sane/marvell.c
+++ b/scan/sane/marvell.c
@@ -60,18 +60,12 @@ static int bb_load(struct marvell_session *ps, const char *so)
int stat=1;
/* Load hpmud manually with symbols exported. Otherwise the plugin will not find it. */
- if ((ps->hpmud_handle = load_library("libhpmud.so")) == NULL)
- {
- if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
- goto bugout;
- }
+ if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
+ goto bugout;
/* Load math library manually with symbols exported (Ubuntu 8.04). Otherwise the plugin will not find it. */
- if ((ps->math_handle = load_library("libm.so")) == NULL)
- {
- if ((ps->math_handle = load_library("libm.so.6")) == NULL)
- goto bugout;
- }
+ if ((ps->math_handle = load_library("libm.so.6")) == NULL)
+ goto bugout;
if ((ps->bb_handle = load_plugin_library(UTILS_SCAN_PLUGIN_LIBRARY, so)) == NULL)
{
diff --git a/scan/sane/soap.c b/scan/sane/soap.c
index 0d22e52..dcd8c7c 100644
--- a/scan/sane/soap.c
+++ b/scan/sane/soap.c
@@ -68,18 +68,12 @@ static int bb_load(struct soap_session *ps, const char *so)
int stat=1;
/* Load hpmud manually with symbols exported. Otherwise the plugin will not find it. */
- if ((ps->hpmud_handle = load_library("libhpmud.so")) == NULL)
- {
- if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
- goto bugout;
- }
+ if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
+ goto bugout;
/* Load math library manually with symbols exported (Ubuntu 8.04). Otherwise the plugin will not find it. */
- if ((ps->math_handle = load_library("libm.so")) == NULL)
- {
- if ((ps->math_handle = load_library("libm.so.6")) == NULL)
- goto bugout;
- }
+ if ((ps->math_handle = load_library("libm.so.6")) == NULL)
+ goto bugout;
if ((ps->bb_handle = load_plugin_library(UTILS_SCAN_PLUGIN_LIBRARY, so)) == NULL)
{
diff --git a/scan/sane/soapht.c b/scan/sane/soapht.c
index 139100d..74e8391 100644
--- a/scan/sane/soapht.c
+++ b/scan/sane/soapht.c
@@ -62,18 +62,12 @@ static int bb_load(struct soap_session *ps, const char *so)
int stat=1;
/* Load hpmud manually with symbols exported. Otherwise the plugin will not find it. */
- if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
- {
- if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
- goto bugout;
- }
+ if ((ps->hpmud_handle = load_library("libhpmud.so.0")) == NULL)
+ goto bugout;
/* Load math library manually with symbols exported (Ubuntu 8.04). Otherwise the plugin will not find it. */
- if ((ps->math_handle = load_library("libm.so")) == NULL)
- {
- if ((ps->math_handle = load_library("libm.so.6")) == NULL)
- goto bugout;
- }
+ if ((ps->math_handle = load_library("libm.so.6")) == NULL)
+ goto bugout;
if ((ps->bb_handle = load_plugin_library(UTILS_SCAN_PLUGIN_LIBRARY, so)) == NULL)
{

@ -1,26 +0,0 @@
diff --git a/base/g.py b/base/g.py
index 0aa0e2e..96b3131 100644
--- a/base/g.py
+++ b/base/g.py
@@ -128,7 +128,7 @@ class ConfigBase(object):
try:
fp = open(self.filename, "r")
try:
- self.conf.readfp(fp)
+ self.conf.read_file(fp, self.filename)
except configparser.MissingSectionHeaderError:
print("")
log.error("Found No Section in %s. Please set the http proxy for root and try again." % self.filename)
diff --git a/ui5/devmgr5.py b/ui5/devmgr5.py
index 3110a0f..3761f89 100644
--- a/ui5/devmgr5.py
+++ b/ui5/devmgr5.py
@@ -1072,7 +1072,7 @@ class DevMgr5(Ui_MainWindow_Derived, Ui_MainWindow, QMainWindow):
hplip_conf = configparser.ConfigParser()
fp = open("/etc/hp/hplip.conf", "r")
- hplip_conf.readfp(fp)
+ hplip_conf.read_file(fp, "/etc/hp/hplip.conf")
fp.close()
try:

@ -1,7 +1,7 @@
diff -up hplip-3.23.3/Makefile.am.no-ernie hplip-3.23.3/Makefile.am
--- hplip-3.23.3/Makefile.am.no-ernie 2023-05-29 13:15:58.008610471 +0200
+++ hplip-3.23.3/Makefile.am 2023-05-29 13:15:58.134609689 +0200
@@ -562,7 +562,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilte
diff -up hplip-3.17.4/Makefile.am.no-ernie hplip-3.17.4/Makefile.am
--- hplip-3.17.4/Makefile.am.no-ernie 2017-04-26 16:28:35.398099978 +0200
+++ hplip-3.17.4/Makefile.am 2017-04-26 16:29:02.235879035 +0200
@@ -519,7 +519,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilte
prnt/hpcups/Mode2.cpp prnt/hpcups/Mode2.h prnt/hpcups/Mode3.cpp prnt/hpcups/Mode3.h \
prnt/hpcups/Mode9.cpp prnt/hpcups/Mode9.h prnt/hpcups/Mode10.cpp prnt/hpcups/Mode10.h \
prnt/hpcups/ModeDeltaPlus.cpp prnt/hpcups/ModeDeltaPlus.h prnt/hpcups/ModeJbig.cpp prnt/hpcups/ModeJbig.h \
@ -10,9 +10,9 @@ diff -up hplip-3.23.3/Makefile.am.no-ernie hplip-3.23.3/Makefile.am
prnt/hpcups/Encapsulator.cpp prnt/hpcups/Encapsulator.h prnt/hpcups/Pcl3.cpp prnt/hpcups/Pcl3.h \
prnt/hpcups/Pcl3Gui.cpp prnt/hpcups/Pcl3Gui.h prnt/hpcups/Pcl3Gui2.cpp prnt/hpcups/Pcl3Gui2.h \
prnt/hpcups/LJMono.cpp prnt/hpcups/LJMono.h prnt/hpcups/LJColor.cpp prnt/hpcups/LJColor.h \
diff -up hplip-3.23.3/prnt/hpcups/Pcl3Gui2.cpp.no-ernie hplip-3.23.3/prnt/hpcups/Pcl3Gui2.cpp
--- hplip-3.23.3/prnt/hpcups/Pcl3Gui2.cpp.no-ernie 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/prnt/hpcups/Pcl3Gui2.cpp 2023-05-29 13:17:02.468210361 +0200
diff -up hplip-3.17.4/prnt/hpcups/Pcl3Gui2.cpp.no-ernie hplip-3.17.4/prnt/hpcups/Pcl3Gui2.cpp
--- hplip-3.17.4/prnt/hpcups/Pcl3Gui2.cpp.no-ernie 2017-04-26 16:28:39.525066003 +0200
+++ hplip-3.17.4/prnt/hpcups/Pcl3Gui2.cpp 2017-04-26 16:29:46.987510614 +0200
@@ -30,7 +30,6 @@
#include "CommonDefinitions.h"
@ -26,7 +26,7 @@ diff -up hplip-3.23.3/prnt/hpcups/Pcl3Gui2.cpp.no-ernie hplip-3.23.3/prnt/hpcups
{
speed_mech_enabled = true;
- m_run_ernie_filter = true;
crd_type = eCrd_color_only; // pcl3 printers support RGB only ref:hplip-1701
crd_type = eCrd_both;
strcpy(m_szLanguage, "PCL3GUI");
}
@@ -59,21 +57,6 @@ DRIVER_ERROR Pcl3Gui2::Configure(Pipelin
@ -51,9 +51,9 @@ diff -up hplip-3.23.3/prnt/hpcups/Pcl3Gui2.cpp.no-ernie hplip-3.23.3/prnt/hpcups
if (crd_type != eCrd_black_only) {
Mode10 *pMode10;
diff -up hplip-3.23.3/prnt/hpcups/Pcl3Gui2.h.no-ernie hplip-3.23.3/prnt/hpcups/Pcl3Gui2.h
--- hplip-3.23.3/prnt/hpcups/Pcl3Gui2.h.no-ernie 2023-03-28 09:26:11.000000000 +0200
+++ hplip-3.23.3/prnt/hpcups/Pcl3Gui2.h 2023-05-29 13:15:58.134609689 +0200
diff -up hplip-3.17.4/prnt/hpcups/Pcl3Gui2.h.no-ernie hplip-3.17.4/prnt/hpcups/Pcl3Gui2.h
--- hplip-3.17.4/prnt/hpcups/Pcl3Gui2.h.no-ernie 2017-04-26 16:28:43.277035115 +0200
+++ hplip-3.17.4/prnt/hpcups/Pcl3Gui2.h 2017-04-26 16:30:05.826355522 +0200
@@ -60,7 +60,6 @@ private:
DRIVER_ERROR encapsulateRaster(BYTE *input_raster, unsigned int num_bytes, COLORTYPE c_type);
bool speed_mech_enabled;

@ -1,34 +0,0 @@
The pcardext Python extension cannot be loaded because it has not been
ported to Python 3:
>>> import pcardext
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /usr/lib64/python3.11/site-packages/pcardext.so: undefined symbol: PyString_AsStringAndSize
>>>
Stop building this extension because it breaks the build if the
compiler lacks support for implicit function declarations.
Bug: <https://bugzilla.redhat.com/show_bug.cgi?id=2148210>
Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
diff --git a/Makefile.am b/Makefile.am
index ddac16a9dd514008..15d953af9150c09e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -306,13 +306,6 @@ if !HPLIP_CLASS_DRIVER
pcarddir = $(hplipdir)/pcard
dist_pcard_DATA = pcard/__init__.py pcard/photocard.py
-# pcardext
-pcardextdir = $(pyexecdir)
-pcardext_LTLIBRARIES = pcardext.la
-pcardext_la_LDFLAGS = -module -avoid-version
-pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c pcard/pcardext/pcardext.h
-pcardext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
-
# prnt
prntdir = $(hplipdir)/prnt
dist_prnt_DATA = prnt/cups.py prnt/__init__.py prnt/ldl.py prnt/pcl.py prnt/colorcal.py

@ -1,58 +0,0 @@
diff --git a/installer/pluginhandler.py b/installer/pluginhandler.py
index 56683fb..031ceec 100755
--- a/installer/pluginhandler.py
+++ b/installer/pluginhandler.py
@@ -185,14 +185,16 @@ class PluginHandle(object):
if self.__plugin_conf_file.startswith('file://'):
status, filename = utils.download_from_network(self.__plugin_conf_file, local_conf, True)
else:
- wget = utils.which("wget", True)
- if wget:
- status, output = utils.run("%s --tries=3 --timeout=60 --output-document=%s %s --cache=off" %(wget, local_conf, self.__plugin_conf_file))
+ curl = utils.which("curl", True)
+ if curl:
+ cmd = "%s --retry 3 --max-time 10 --output %s --location %s" %(curl, local_conf, self.__plugin_conf_file)
+ log.debug(cmd)
+ status, output = utils.run(cmd)
if status:
log.error("Plugin download failed with error code = %d" %status)
return status, url, check_sum
else:
- log.error("Please install wget package to download the plugin.")
+ log.error("Please install curl package to download the plugin.")
return status, url, check_sum
except IOError as e:
log.error("I/O Error: %s" % e.strerror)
@@ -284,18 +284,18 @@ class PluginHandle(object):
if src.startswith('file://'):
status, filename = utils.download_from_network(src, plugin_file, True)
else:
- wget = utils.which("wget", True)
- if wget:
- cmd = "%s --cache=off -P %s %s" % (wget,self.__plugin_path,src)
+ curl = utils.which("curl", True)
+ if curl:
+ cmd = "%s --create-dirs -O --output-dir %s %s" % (curl,self.__plugin_path,src)
log.debug(cmd)
status, output = utils.run(cmd)
- log.debug("wget returned: %d" % status)
+ log.debug("curl returned: %d" % status)
#Check whether plugin is accessible in Openprinting.org website otherwise dowload plugin from alternate location.
if status != 0 or os_utils.getFileSize(plugin_file) <= 0:
src = os.path.join(PLUGIN_FALLBACK_LOCATION, self.__plugin_name)
log.info("Plugin is not accessible. Trying to download it from fallback location: [%s]" % src)
- cmd = "%s --cache=off -P %s %s" % (wget,self.__plugin_path,src)
+ cmd = "%s --create-dirs -O --output-dir %s %s" % (curl,self.__plugin_path,src)
log.debug(cmd)
status, output = utils.run(cmd)
@@ -323,7 +323,7 @@ class PluginHandle(object):
if digsig_url.startswith('file://'):
status, filename = utils.download_from_network(digsig_url, digsig_file, True)
else:
- cmd = "%s --cache=off -P %s %s" % (wget,self.__plugin_path,digsig_url)
+ cmd = "%s --create-dirs -O --output-dir %s %s" % (curl, self.__plugin_path,digsig_url)
log.debug(cmd)
status, output = utils.run(cmd)
except IOError as e:

@ -1,28 +0,0 @@
diff --git a/Makefile.am b/Makefile.am
index bb4195c..ddac16a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -680,6 +680,12 @@ if HPLIP_CLASS_DRIVER
filterdir=$(cupsfilterdir)
printpluginsdir=$(cupsfilterdir)
+#
+# HP Plugin
+#
+
+pkgplugindir=$(bindir)
+pkgplugin_DATA=hp-plugin
dist_filter_DATA = hpcups hpps dat2drv
dist_printplugins_DATA = prnt/plugins/hbpl1-arm32.so prnt/plugins/hbpl1-arm64.so prnt/plugins/hbpl1-x86_32.so prnt/plugins/hbpl1-x86_64.so prnt/plugins/lj-arm32.so prnt/plugins/lj-arm64.so prnt/plugins/lj-x86_32.so prnt/plugins/lj-x86_64.so
diff --git a/configure.in b/configure.in
index f8f1a28..7fa5d12 100644
--- a/configure.in
+++ b/configure.in
@@ -801,5 +801,5 @@ AC_SUBST(udev_sysfs_rules)
AC_SUBST(epm_class_driver)
AC_SUBST(epm_class_install)
-AC_CONFIG_FILES(Makefile hplip.conf hplip.desktop hp-uiscan.desktop hplip-systray.desktop prnt/drv/hpijs.drv prnt/drv/hpcups.drv hplip.list data/policykit/com.hp.hplip.service)
+AC_CONFIG_FILES(Makefile hplip.conf hplip.desktop hp-uiscan.desktop hplip-systray.desktop prnt/drv/hpijs.drv prnt/drv/hpcups.drv hplip.list data/policykit/com.hp.hplip.service hp-plugin)
AC_OUTPUT

@ -1,26 +0,0 @@
diff --git a/installer/pluginhandler.py b/installer/pluginhandler.py
index 1af8d85..5c498ab 100755
--- a/installer/pluginhandler.py
+++ b/installer/pluginhandler.py
@@ -403,7 +403,20 @@ class PluginHandle(object):
log.error("Target file %s does not exist. File copy failed." % trg)
continue
else:
- os.chmod(trg, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
+ if trg == '/etc/udev/rules.d/S99-2000S1.rules' or \
+ trg == '/etc/udev/rules.d/40-libsane.rules':
+ os.chmod(trg, 0o644)
+ with open(trg, 'r') as udev_f:
+ content = udev_f.read()
+
+ content = content.replace('libsane_rules_end', 'libsane_usb_rules_end')
+ content = content.replace('GROUP="scanner", ', '')
+
+ with open(trg, 'w') as udev_f:
+ udev_f.write(content)
+
+ else:
+ os.chmod(trg, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
if link:
if os.path.exists(link):

@ -1,17 +0,0 @@
prnt/pserror.c: Replace an implicit int with an explicit int
Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
diff --git a/prnt/hpps/pserror.c b/prnt/hpps/pserror.c
index 114d7e1b5fa364fb..493b49c27917a7e6 100644
--- a/prnt/hpps/pserror.c
+++ b/prnt/hpps/pserror.c
@@ -24,7 +24,7 @@ extern char *program ; /* Defined by main program, giving program name */
void message(int flags, char *format, ...)
{
va_list args ;
- static column = 0 ; /* current screen column for message wrap */
+ static int column = 0 ; /* current screen column for message wrap */
char msgbuf[MAX_MESSAGE] ; /* buffer in which to put the message */
char *bufptr = msgbuf ; /* message buffer pointer */

@ -57,8 +57,8 @@ diff -up hplip-3.15.2/fax/filters/pstotiff.pstotiff-is-rubbish hplip-3.15.2/fax/
+TMPFILE=`mktemp /tmp/pstotiff.XXXXXX` || exit 1
+gs -I/usr/share/cups/fonts -sDEVICE=tiffg4 -dMaxStripSize=0 -r204x196 \
+ -dNOPAUSE -dBATCH -dSAFER -dPARANOIDSAFER \
+ -dSHORTERRORS -dGHOSTSCRIPT -sstdout=%stderr \
+ -sOutputFile="$TMPFILE" "$IN"
+ -dSHORTERRORS -dWRITESYSTEMDICT -dGHOSTSCRIPT \
+ -sstdout=%stderr -sOutputFile="$TMPFILE" "$IN"
+RET=$?
+cat "$TMPFILE"
+rm -f "$TMPFILE"

@ -12,21 +12,11 @@ fi
# extract the original tarball
tar -xaf hplip-$VERSION.tar.gz || exit 1
# remove unwanted files - license-related ones reported here https://bugs.launchpad.net/hplip/+bug/2028938
rm hplip-$VERSION/locatedriver
# remove unwanted files
rm hplip-$VERSION/prnt/hpcups/ErnieFilter.{cpp,h} hplip-$VERSION/prnt/hpijs/ernieplatform.h || exit 1
# compress into a new tarball
tar -cjvf hplip-$VERSION-repack.tar.gz hplip-$VERSION || exit 1
# check whether plugin is available
wget -O hplip-plugin.run https://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/hplip-$1-plugin.run || wget -O hplip-plugin.run https://developers.hp.com/sites/default/files/hplip-$1-plugin.run || exit 1
# check whether the file is sane
file --mime hplip-plugin.run | grep 'x-shellscript' || exit 1
echo "hplip-${VERSION}-repack.tar.gz is prepared for uploading..."
exit 0
# upload a new source tarball
#fedpkg new-sources hplip-$VERSION-repack.tar.gz || exit 1

@ -1,19 +0,0 @@
scam/sane/hpaio.c: Include orblite.h for more function prototypes
Otherwise the build fails with compilers which do not support
implicit function declarations.
Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
diff --git a/scan/sane/hpaio.c b/scan/sane/hpaio.c
index d342626822fc2190..57d1ddea32fb5816 100644
--- a/scan/sane/hpaio.c
+++ b/scan/sane/hpaio.c
@@ -50,6 +50,7 @@
#include "sclpml.h"
#include "escl.h"
#include "io.h"
+#include "orblite.h"
#include "orblitei.h"

@ -1,21 +0,0 @@
diff --git a/scan/sane/orblite.c b/scan/sane/orblite.c
index ba86640..2eb7aba 100644
--- a/scan/sane/orblite.c
+++ b/scan/sane/orblite.c
@@ -20,6 +20,7 @@
#include "orblitei.h"
#include "orblite.h"//Added New
#include <math.h>
+#include <dlfcn.h>
#include "utils.h"
#include "io.h"
@@ -195,7 +196,7 @@ bugout:
static int bb_unload(SANE_THandle ps)
{
- _DBG("Calling orblite bb_unload: \n");
+ DBG("Calling orblite bb_unload: \n");
if (ps->bb_handle)
{
dlclose(ps->bb_handle);

@ -1,16 +0,0 @@
Switch the whole libsane-hpaio to get proper definition of strcasestr() used in
sclpml.c
diff --git a/Makefile.am b/Makefile.am
index 15d953a..7105f74 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -73,7 +73,7 @@ endif
# The following is a interlibrary dependency that must be compiled first.
libsane_hpaio_la_LIBADD = libhpip.la libhpmud.la libhpipp.la $(DBUS_LIBS) -lcups -ldl
#libsane_hpaio_la_CFLAGS = -DWITH_NONAMESPACES -DSOAP_DEBUG
-libsane_hpaio_la_CFLAGS = $(DBUS_CFLAGS) -Iprotocol
+libsane_hpaio_la_CFLAGS = $(DBUS_CFLAGS) -Iprotocol -D_GNU_SOURCE
if NETWORK_BUILD
libsane_hpaio_la_LIBADD += libhpdiscovery.la

@ -0,0 +1,93 @@
diff --git a/copier/copier.py b/copier/copier.py
index a595baa..7794f48 100644
--- a/copier/copier.py
+++ b/copier/copier.py
@@ -73,13 +73,13 @@ class PMLCopyDevice(device.Device):
def isCopyActive(self):
if self.copy_thread is not None:
- return self.copy_thread.isAlive()
+ return self.copy_thread.is_alive()
else:
return False
def waitForCopyThread(self):
if self.copy_thread is not None and \
- self.copy_thread.isAlive():
+ self.copy_thread.is_alive():
self.copy_thread.join()
diff --git a/fax/fax.py b/fax/fax.py
index 3d69226..0878a64 100644
--- a/fax/fax.py
+++ b/fax/fax.py
@@ -478,13 +478,13 @@ class FaxDevice(device.Device):
def isSendFaxActive(self):
if self.send_fax_thread is not None:
- return self.send_fax_thread.isAlive()
+ return self.send_fax_thread.is_alive()
else:
return False
def waitForSendFaxThread(self):
if self.send_fax_thread is not None and \
- self.send_fax_thread.isAlive():
+ self.send_fax_thread.is_alive():
try:
self.send_fax_thread.join()
diff --git a/fax/pmlfax.py b/fax/pmlfax.py
index b68ff6a..b1020d0 100644
--- a/fax/pmlfax.py
+++ b/fax/pmlfax.py
@@ -179,13 +179,13 @@ class PMLFaxDevice(FaxDevice):
def isUploadLogActive(self):
if self.upload_log_thread is not None:
- return self.upload_log_thread.isAlive()
+ return self.upload_log_thread.is_alive()
else:
return False
def waitForUploadLogThread(self):
if self.upload_log_thread is not None and \
- self.upload_log_thread.isAlive():
+ self.upload_log_thread.is_alive():
self.upload_log_thread.join()
diff --git a/scan/sane.py b/scan/sane.py
index b6c4acd..e8f8db8 100755
--- a/scan/sane.py
+++ b/scan/sane.py
@@ -378,14 +378,14 @@ class ScanDevice:
def isScanActive(self):
if self.scan_thread is not None:
- return self.scan_thread.isAlive() and self.scan_thread.scan_active
+ return self.scan_thread.is_alive() and self.scan_thread.scan_active
else:
return False
def waitForScanDone(self):
if self.scan_thread is not None and \
- self.scan_thread.isAlive() and \
+ self.scan_thread.is_alive() and \
self.scan_thread.scan_active:
try:
@@ -398,9 +398,9 @@ class ScanDevice:
#time.sleep(0.5)
if self.scan_thread is not None:
while True:
- #print self.scan_thread.isAlive()
+ #print self.scan_thread.is_alive()
#print self.scan_thread.scan_active
- if self.scan_thread.isAlive() and \
+ if self.scan_thread.is_alive() and \
self.scan_thread.scan_active:
return

@ -0,0 +1,12 @@
diff --git a/prnt/hpcups/CommonDefinitions.h b/prnt/hpcups/CommonDefinitions.h
index 082aec9..86763d4 100644
--- a/prnt/hpcups/CommonDefinitions.h
+++ b/prnt/hpcups/CommonDefinitions.h
@@ -48,7 +48,6 @@
#include <syslog.h>
#include <assert.h>
#include <time.h>
-#include <sys/timeb.h>
#include <string.h>
#ifndef _GNU_SOURCE

@ -27,7 +27,7 @@ index 98437a3..9b8813b 100644
+ import ui4
+ except ImportError:
+ try:
+ import ui5.setupdialog
+ import ui5
+ except ImportError as e:
+ log.warn(e)
+ return False
@ -58,7 +58,7 @@ index 98437a3..9b8813b 100644
- return False
+ try:
+ import PyQt5
+ import ui5.setupdialog
+ import ui5
+ except ImportError:
+ log.debug('GUI not available.')
+ return False

@ -1,398 +0,0 @@
diff --git a/base/LedmWifi.py b/base/LedmWifi.py
index f63a050..074d5a2 100644
--- a/base/LedmWifi.py
+++ b/base/LedmWifi.py
@@ -31,7 +31,7 @@ from .g import *
from . import device, utils
from .sixext import to_bytes_utf8
-http_result_pat = re.compile("""HTTP/\d.\d\s(\d+)""", re.I)
+http_result_pat = re.compile(r"""HTTP/\d.\d\s(\d+)""", re.I)
HTTP_OK = 200
HTTP_ACCEPTED = 202
HTTP_NOCONTENT = 204
diff --git a/base/device.py b/base/device.py
index fbe6c34..a551403 100644
--- a/base/device.py
+++ b/base/device.py
@@ -47,7 +47,7 @@ from . import models, mdns, slp, avahi
from .strings import *
from .sixext import PY3, to_bytes_utf8, to_unicode, to_string_latin, to_string_utf8, xStringIO
-http_result_pat = re.compile("""HTTP/\d.\d\s(\d+)""", re.I)
+http_result_pat = re.compile(r"""HTTP/\d.\d\s(\d+)""", re.I)
HTTP_OK = 200
HTTP_ERROR = 500
diff --git a/base/g.py b/base/g.py
index 96b3131..023aeea 100644
--- a/base/g.py
+++ b/base/g.py
@@ -302,7 +302,7 @@ prop.hpcups_build = to_bool(sys_conf.get('configure', 'hpcups-install', '0'))
prop.hpijs_build = to_bool(sys_conf.get('configure', 'hpijs-install', '0'))
# Spinner, ala Gentoo Portage
-spinner = "\|/-\|/-"
+spinner = r"\|/-\|/-"
spinpos = 0
enable_spinner = True
@@ -352,7 +352,7 @@ def check_extension_module_env(ext_mod):
log.error('%s not present in the system. Please re-install HPLIP.' %ext_mod)
sys.exit(1)
- m = re.search('python(\d(\.\d){0,2})', ext_path) #get the python version where the .so file is found
+ m = re.search(r'python(\d(\.\d){0,2})', ext_path) #get the python version where the .so file is found
ext_ver = xint(m.group(1))
if ext_ver[0] == 3:
diff --git a/base/logger.py b/base/logger.py
index dd92a9c..68e4f13 100644
--- a/base/logger.py
+++ b/base/logger.py
@@ -437,10 +437,10 @@ class Logger(object):
start = start + " "
number_chars = number_chars + 1
try:
- elem_start = re.findall("(\<\W{0,1}\w+) ?", line)[0]
- elem_finished = re.findall("([?|\]\]]*\>)", line)[0]
+ elem_start = re.findall(r"(\<\W{0,1}\w+) ?", line)[0]
+ elem_finished = re.findall(r"([?|\]\]]*\>)", line)[0]
#should not have *
- attrs = re.findall("(\S*?\=\".*?\")", line)
+ attrs = re.findall(r"(\S*?\=\".*?\")", line)
#output.write(start + elem_start)
self.log(start+elem_start, level, False)
number_chars = len(start + elem_start)
diff --git a/base/models.py b/base/models.py
index dc6cc39..48dd2ef 100644
--- a/base/models.py
+++ b/base/models.py
@@ -35,7 +35,7 @@ except ImportError:
datetime = None
-pat_prod_num = re.compile("""(\d+)""", re.I)
+pat_prod_num = re.compile(r"""(\d+)""", re.I)
TYPE_UNKNOWN = 0
TYPE_STRING = 1
@@ -427,25 +427,25 @@ class ModelData:
}
self.RE_FIELD_TYPES = {
- re.compile('^r(\d+)-agent(\d+)-kind', re.IGNORECASE) : TYPE_INT,
- re.compile('^r(\d+)-agent(\d+)-type', re.IGNORECASE) : TYPE_INT,
- re.compile('^r(\d+)-agent(\d+)-sku', re.IGNORECASE) : TYPE_STR,
- re.compile('^agent(\d+)-desc', re.IGNORECASE) : TYPE_STR,
- re.compile('^agent(\d+)-virgin', re.IGNORECASE) : TYPE_BOOL,
- re.compile('^agent(\d+)-dvc', re.IGNORECASE) : TYPE_INT,
- re.compile('^agent(\d+)-kind', re.IGNORECASE) : TYPE_INT,
- re.compile('^agent(\d+)-type', re.IGNORECASE) : TYPE_INT,
- re.compile('^agent(\d+)-id', re.IGNORECASE) : TYPE_INT,
- re.compile('^agent(\d+)-hp-ink', re.IGNORECASE) : TYPE_BOOL,
- re.compile('^agent(\d+)-health-desc', re.IGNORECASE) : TYPE_STR,
- re.compile('^agent(\d+)-health$', re.IGNORECASE) : TYPE_INT,
- re.compile('^agent(\d+)-known', re.IGNORECASE) : TYPE_BOOL,
- re.compile('^agent(\d+)-level', re.IGNORECASE) : TYPE_INT,
- re.compile('^agent(\d+)-ack', re.IGNORECASE) : TYPE_BOOL,
- re.compile('^agent(\d+)-sku', re.IGNORECASE) : TYPE_STR,
- re.compile('^in-tray(\d+)', re.IGNORECASE) : TYPE_BOOL,
- re.compile('^out-tray(\d+)', re.IGNORECASE) : TYPE_BOOL,
- re.compile('^model(\d+)', re.IGNORECASE) : TYPE_STR,
+ re.compile(r'^r(\d+)-agent(\d+)-kind', re.IGNORECASE) : TYPE_INT,
+ re.compile(r'^r(\d+)-agent(\d+)-type', re.IGNORECASE) : TYPE_INT,
+ re.compile(r'^r(\d+)-agent(\d+)-sku', re.IGNORECASE) : TYPE_STR,
+ re.compile(r'^agent(\d+)-desc', re.IGNORECASE) : TYPE_STR,
+ re.compile(r'^agent(\d+)-virgin', re.IGNORECASE) : TYPE_BOOL,
+ re.compile(r'^agent(\d+)-dvc', re.IGNORECASE) : TYPE_INT,
+ re.compile(r'^agent(\d+)-kind', re.IGNORECASE) : TYPE_INT,
+ re.compile(r'^agent(\d+)-type', re.IGNORECASE) : TYPE_INT,
+ re.compile(r'^agent(\d+)-id', re.IGNORECASE) : TYPE_INT,
+ re.compile(r'^agent(\d+)-hp-ink', re.IGNORECASE) : TYPE_BOOL,
+ re.compile(r'^agent(\d+)-health-desc', re.IGNORECASE) : TYPE_STR,
+ re.compile(r'^agent(\d+)-health$', re.IGNORECASE) : TYPE_INT,
+ re.compile(r'^agent(\d+)-known', re.IGNORECASE) : TYPE_BOOL,
+ re.compile(r'^agent(\d+)-level', re.IGNORECASE) : TYPE_INT,
+ re.compile(r'^agent(\d+)-ack', re.IGNORECASE) : TYPE_BOOL,
+ re.compile(r'^agent(\d+)-sku', re.IGNORECASE) : TYPE_STR,
+ re.compile(r'^in-tray(\d+)', re.IGNORECASE) : TYPE_BOOL,
+ re.compile(r'^out-tray(\d+)', re.IGNORECASE) : TYPE_BOOL,
+ re.compile(r'^model(\d+)', re.IGNORECASE) : TYPE_STR,
}
self.TYPE_CACHE = {}
diff --git a/base/password.py b/base/password.py
index 259bf82..a4ed107 100644
--- a/base/password.py
+++ b/base/password.py
@@ -167,8 +167,8 @@ class Password(object):
elif i == 1: # TIMEOUT
if('true' in cmd and self.__password_prompt_str == ""): # sudo true or su -c "true"
- cb = cb.replace("[", "\[")
- cb = cb.replace("]", "\]")
+ cb = cb.replace("[", r"\[")
+ cb = cb.replace("]", r"\]")
self.__password_prompt_str = cb
try:
diff --git a/base/queues.py b/base/queues.py
index 0818574..8625f53 100755
--- a/base/queues.py
+++ b/base/queues.py
@@ -46,7 +46,7 @@ HPPS = 3
HPOTHER = 4
DEVICE_URI_PATTERN = re.compile(r"""(.*):/(.*?)/(\S*?)\?(?:serial=(\S*)|device=(\S*)|ip=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}[^&]*)|zc=(\S+))(?:&port=(\d))?""", re.I)
-NICKNAME_PATTERN = re.compile(b'''\*NickName:\s*\"(.*)"''', re.MULTILINE)
+NICKNAME_PATTERN = re.compile(r'''\*NickName:\s*\"(.*)"''', re.MULTILINE)
NET_PATTERN = re.compile(r"""(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})""")
NET_ZC_PATTERN = re.compile(r'''zc=(.*)''',re.IGNORECASE)
NET_OTHER_PATTERN = re.compile(r'''(.*)://(.*)''',re.IGNORECASE)
@@ -149,7 +149,7 @@ def parseQueues(mode):
desc=''
else:
try:
- desc = to_string_utf8( NICKNAME_PATTERN.search(fileptr).group(1) )
+ desc = to_string_utf8( NICKNAME_PATTERN.search(fileptr.decode('utf-8')).group(1) )
except AttributeError:
desc = ''
diff --git a/base/status.py b/base/status.py
index 37c774e..01f455d 100644
--- a/base/status.py
+++ b/base/status.py
@@ -1341,7 +1341,7 @@ def MapPJLErrorCode(error_code, str_code=None):
return status_code
-pjl_code_pat = re.compile("""^CODE\s*=\s*(\d.*)$""", re.IGNORECASE)
+pjl_code_pat = re.compile(r"""^CODE\s*=\s*(\d.*)$""", re.IGNORECASE)
diff --git a/base/tui.py b/base/tui.py
index 0f90f92..3b36c65 100644
--- a/base/tui.py
+++ b/base/tui.py
@@ -217,7 +217,7 @@ class ProgressMeter(object):
self.progress = 0
self.prompt = prompt
self.prev_length = 0
- self.spinner = "\|/-\|/-*"
+ self.spinner = r"\|/-\|/-*"
self.spinner_pos = 0
self.max_size = ttysize()[1] - len(prompt) - 25
self.update(0)
diff --git a/base/utils.py b/base/utils.py
index 2b631ce..2fb57c4 100644
--- a/base/utils.py
+++ b/base/utils.py
@@ -148,7 +148,7 @@ def get_cups_systemgroup_list():
return lis
try:
- lis = ((re.findall('SystemGroup [\w* ]*',fp.read()))[0].replace('SystemGroup ','')).split(' ')
+ lis = ((re.findall(r'SystemGroup [\w* ]*',fp.read()))[0].replace('SystemGroup ','')).split(' ')
except IndexError:
return lis
@@ -1597,7 +1597,7 @@ def mixin(cls):
# ------------------------- Usage Help
USAGE_OPTIONS = ("[OPTIONS]", "", "heading", False)
USAGE_LOGGING1 = ("Set the logging level:", "-l<level> or --logging=<level>", 'option', False)
-USAGE_LOGGING2 = ("", "<level>: none, info\*, error, warn, debug (\*default)", "option", False)
+USAGE_LOGGING2 = ("", r"<level>: none, info\*, error, warn, debug (\*default)", "option", False)
USAGE_LOGGING3 = ("Run in debug mode:", "-g (same as option: -ldebug)", "option", False)
USAGE_LOGGING_PLAIN = ("Output plain text only:", "-t", "option", False)
USAGE_ARGS = ("[PRINTER|DEVICE-URI]", "", "heading", False)
@@ -1605,13 +1605,13 @@ USAGE_ARGS2 = ("[PRINTER]", "", "heading", False)
USAGE_DEVICE = ("To specify a device-URI:", "-d<device-uri> or --device=<device-uri>", "option", False)
USAGE_PRINTER = ("To specify a CUPS printer:", "-p<printer> or --printer=<printer>", "option", False)
USAGE_BUS1 = ("Bus to probe (if device not specified):", "-b<bus> or --bus=<bus>", "option", False)
-USAGE_BUS2 = ("", "<bus>: cups\*, usb\*, net, bt, fw, par\* (\*defaults) (Note: bt and fw not supported in this release.)", 'option', False)
+USAGE_BUS2 = ("", r"<bus>: cups\*, usb\*, net, bt, fw, par\* (\*defaults) (Note: bt and fw not supported in this release.)", 'option', False)
USAGE_HELP = ("This help information:", "-h or --help", "option", True)
USAGE_SPACE = ("", "", "space", False)
USAGE_EXAMPLES = ("Examples:", "", "heading", False)
USAGE_NOTES = ("Notes:", "", "heading", False)
USAGE_STD_NOTES1 = ("If device or printer is not specified, the local device bus is probed and the program enters interactive mode.", "", "note", False)
-USAGE_STD_NOTES2 = ("If -p\* is specified, the default CUPS printer will be used.", "", "note", False)
+USAGE_STD_NOTES2 = (r"If -p\* is specified, the default CUPS printer will be used.", "", "note", False)
USAGE_SEEALSO = ("See Also:", "", "heading", False)
USAGE_LANGUAGE = ("Set the language:", "--loc=<lang> or --lang=<lang>. Use --loc=? or --lang=? to see a list of available language codes.", "option", False)
USAGE_LANGUAGE2 = ("Set the language:", "--lang=<lang>. Use --lang=? to see a list of available language codes.", "option", False)
@@ -1839,7 +1839,7 @@ encoding: utf8
elif typ == 'man':
log.info('.TH "%s" 1 "%s" Linux "User Manuals"' % (crumb, version))
- log.info(".SH NAME\n%s \- %s" % (crumb, title))
+ log.info(r".SH NAME\n%s \- %s" % (crumb, title))
for line in text_list:
text1, text2, format, trailing_space = line
@@ -1938,7 +1938,7 @@ def unescape(text):
except KeyError:
pass
return text # leave as is
- return re.sub("&#?\w+;", fixup, text)
+ return re.sub(r"&#?\w+;", fixup, text)
# Adds HTML or XML character references and entities from a text string
@@ -1991,7 +1991,7 @@ def Is_HPLIP_older_version(installed_version, available_version):
log.debug("HPLIP Installed_version=%s Available_version=%s"%(installed_version,available_version))
cnt = 0
Is_older = False
- pat=re.compile('''(\d{1,})([a-z]{1,})''')
+ pat=re.compile(r'''(\d{1,})([a-z]{1,})''')
try:
while cnt <len(installed_array) and cnt <len(available_array):
diff --git a/check.py b/check.py
index 284b88e..86ca832 100755
--- a/check.py
+++ b/check.py
@@ -627,7 +627,7 @@ class DependenciesCheck(object):
status, output = utils.run("%s -d03f0:" % lsusb)
if output:
- lsusb_pat = re.compile("""^Bus\s([0-9a-fA-F]{3,3})\sDevice\s([0-9a-fA-F]{3,3}):\sID\s([0-9a-fA-F]{4,4}):([0-9a-fA-F]{4,4})(.*)""", re.IGNORECASE)
+ lsusb_pat = re.compile(r"""^Bus\s([0-9a-fA-F]{3,3})\sDevice\s([0-9a-fA-F]{3,3}):\sID\s([0-9a-fA-F]{4,4}):([0-9a-fA-F]{4,4})(.*)""", re.IGNORECASE)
log.debug(output)
try:
hpmudext = utils.import_ext('hpmudext')
@@ -682,7 +682,7 @@ class DependenciesCheck(object):
out =''
for g in getfacl_out_list:
- if 'getfacl' not in g and '' is not g and 'file' not in g:
+ if 'getfacl' not in g and '' != g and 'file' not in g:
pat = re.compile('''.*:(.*)''')
if pat.search(g):
out = out +' '+ pat.search(g).group(1)
diff --git a/fax/soapfax.py b/fax/soapfax.py
index 9865726..344cb34 100644
--- a/fax/soapfax.py
+++ b/fax/soapfax.py
@@ -42,7 +42,7 @@ from base.sixext import to_bytes_utf8
# **************************************************************************** #
-http_result_pat = re.compile("""HTTP/\d.\d\s(\d+)""", re.I)
+http_result_pat = re.compile(r"""HTTP/\d.\d\s(\d+)""", re.I)
TIME_FORMAT_AM_PM = 1
diff --git a/installer/dcheck.py b/installer/dcheck.py
index a1a4f02..4dbee59 100644
--- a/installer/dcheck.py
+++ b/installer/dcheck.py
@@ -33,8 +33,8 @@ from base.g import *
from base import utils, services
from base.sixext import to_bytes_utf8
-ver1_pat = re.compile("""(\d+\.\d+\.\d+)""", re.IGNORECASE)
-ver_pat = re.compile("""(\d+.\d+)""", re.IGNORECASE)
+ver1_pat = re.compile(r"""(\d+\.\d+\.\d+)""", re.IGNORECASE)
+ver_pat = re.compile(r"""(\d+.\d+)""", re.IGNORECASE)
PID = 0
CMDLINE = 1
@@ -358,7 +358,7 @@ def get_xsane_version():
if output:
- xsane_ver_pat =re.compile('''xsane-(\d{1,}\.\d{1,}).*''')
+ xsane_ver_pat =re.compile(r'''xsane-(\d{1,}\.\d{1,}).*''')
xsane_ver_info = output.splitlines()[0]
if xsane_ver_pat.search(xsane_ver_info):
installed_ver = xsane_ver_pat.search(xsane_ver_info).group(1)
diff --git a/makeuri.py b/makeuri.py
index 4a10de8..6343e31 100755
--- a/makeuri.py
+++ b/makeuri.py
@@ -46,7 +46,7 @@ USAGE = [ (__doc__, "", "name", True),
("DEVNODE (parallel only):", '"/dev/parportX", X=0,1,2,...', "option", False),
("SERIAL NO. (usb and parallel only):", '"serial no."', "option", True),
utils.USAGE_OPTIONS,
- ("To specify the port on a multi-port JetDirect:", "-p<port> or --port=<port> (Valid values are 1\*, 2, and 3. \*default)", "option", False),
+ ("To specify the port on a multi-port JetDirect:", r"-p<port> or --port=<port> (Valid values are 1\*, 2, and 3. \*default)", "option", False),
("Show the CUPS URI only (quiet mode):", "-c or --cups", "option", False),
("Show the SANE URI only (quiet mode):", "-s or --sane", "option", False),
("Show the HP Fax URI only (quiet mode):", "-f or --fax", "option", False),
diff --git a/prnt/cups.py b/prnt/cups.py
index 1ea3099..78b8adc 100644
--- a/prnt/cups.py
+++ b/prnt/cups.py
@@ -168,7 +168,7 @@ CUPS_ERROR_BAD_NAME = 0x0f00
CUPS_ERROR_BAD_PARAMETERS = 0x0f01
nickname_pat = re.compile(r'''\*NickName:\s*\"(.*)"''', re.MULTILINE)
-pat_cups_error_log = re.compile("""^loglevel\s?(debug|debug2|warn|info|error|none)""", re.I)
+pat_cups_error_log = re.compile(r"""^loglevel\s?(debug|debug2|warn|info|error|none)""", re.I)
ppd_pat = re.compile(r'''.*hp-(.*?)(-.*)*\.ppd.*''', re.I)
ppd_pat1 = re.compile(r'''.*hp-(.*?)(_.*)*\.ppd.*''', re.I)
diff --git a/probe.py b/probe.py
index 2041fb6..2b43ece 100755
--- a/probe.py
+++ b/probe.py
@@ -42,11 +42,11 @@ USAGE = [(__doc__, "", "name", True),
("Usage: %s [OPTIONS]" % __mod__, "", "summary", True),
utils.USAGE_OPTIONS,
("Bus to probe:", "-b<bus> or --bus=<bus>", "option", False),
- ("", "<bus>: cups, usb\*, net, bt, fw, par (\*default) (Note: bt and fw not supported in this release.)", "option", False),
+ ("", r"<bus>: cups, usb\*, net, bt, fw, par (\*default) (Note: bt and fw not supported in this release.)", "option", False),
("Set Time to Live (TTL):", "-t<ttl> or --ttl=<ttl> (Default is 4).", "option", False),
("Set timeout:", "-o<timeout in secs.> or --timeout=<timeout is secs.>", "option", False),
("Filter by functionality:", "-e<filter list> or --filter=<filter list>", "option", False),
- ("", "<filter list>: comma separated list of one or more of: scan, pcard, fax, copy, or none\*. (\*none is the default)", "option", False),
+ ("", r"<filter list>: comma separated list of one or more of: scan, pcard, fax, copy, or none\*. (\*none is the default)", "option", False),
("Search:", "-s<search re> or --search=<search re>", "option", False),
("", "<search re> must be a valid regular expression (not case sensitive)", "option", False),
("Network discovery method:", "-m<method> or --method=<method>: <method> is 'slp'* or 'mdns'.", "option", False),
diff --git a/scan.py b/scan.py
index 0bfa6f5..27b8c2e 100755
--- a/scan.py
+++ b/scan.py
@@ -249,9 +249,9 @@ try:
extra_options=[utils.USAGE_SPACE,
("[OPTIONS] (General)", "", "header", False),
("Scan destinations:", "-s<dest_list> or --dest=<dest_list>", "option", False),
- ("", "where <dest_list> is a comma separated list containing one or more of: 'file'\*, ", "option", False),
+ ("", r"where <dest_list> is a comma separated list containing one or more of: 'file'\*, ", "option", False),
("", "'viewer', 'editor', 'pdf', or 'print'. Use only commas between values, no spaces.", "option", False),
- ("Scan mode:", "-m<mode> or --mode=<mode>. Where <mode> is 'gray'\*, 'color' or 'lineart'.", "option", False),
+ ("Scan mode:", r"-m<mode> or --mode=<mode>. Where <mode> is 'gray'\*, 'color' or 'lineart'.", "option", False),
("Scanning resolution:", "-r<resolution_in_dpi> or --res=<resolution_in_dpi> or --resolution=<resolution_in_dpi>", "option", False),
("", "where 300 is default.", "option", False),
("Image resize:", "--resize=<scale_in_%> (min=1%, max=400%, default=100%)", "option", False),
@@ -268,7 +268,7 @@ try:
utils.USAGE_SPACE,
("[OPTIONS] (Scan area)", "", "header", False),
("Specify the units for area/box measurements:", "-t<units> or --units=<units>", "option", False),
- ("", "where <units> is 'mm'\*, 'cm', 'in', 'px', or 'pt' ('mm' is default).", "option", False),
+ ("", r"where <units> is 'mm'\*, 'cm', 'in', 'px', or 'pt' ('mm' is default).", "option", False),
("Scan area:", "-a<tlx>,<tly>,<brx>,<bry> or --area=<tlx>,<tly>,<brx>,<bry>", "option", False),
("", "Coordinates are relative to the upper left corner of the scan area.", "option", False),
("", "Units for tlx, tly, brx, and bry are specified by -t/--units (default is 'mm').", "option", False),
diff --git a/setup.py b/setup.py
index 98f57fd..1a74d6d 100755
--- a/setup.py
+++ b/setup.py
@@ -79,11 +79,11 @@ USAGE = [ (__doc__, "", "name", True),
utils.USAGE_SPACE,
utils.USAGE_OPTIONS,
("Automatic mode:", "-a or --auto (-i mode only)", "option", False),
- ("To specify the port on a multi-port JetDirect:", "--port=<port> (Valid values are 1\*, 2, and 3. \*default)", "option", False),
+ ("To specify the port on a multi-port JetDirect:", r"--port=<port> (Valid values are 1\*, 2, and 3. \*default)", "option", False),
("No testpage in automatic mode:", "-x (-i mode only)", "option", False),
("To specify a CUPS printer queue name:", "-p<printer> or --printer=<printer> (-i mode only)", "option", False),
("To specify a CUPS fax queue name:", "-f<fax> or --fax=<fax> (-i mode only)", "option", False),
- ("Type of queue(s) to install:", "-t<typelist> or --type=<typelist>. <typelist>: print*, fax\* (\*default) (-i mode only)", "option", False),
+ ("Type of queue(s) to install:", r"-t<typelist> or --type=<typelist>. <typelist>: print*, fax\* (\*default) (-i mode only)", "option", False),
("To specify the device URI to install:", "-d<device> or --device=<device> (--qt4 mode only)", "option", False),
("Remove printers or faxes instead of setting-up:", "-r or --rm or --remove", "option", False),
utils.USAGE_LANGUAGE,

@ -1,12 +1,12 @@
diff -up hplip-3.23.3/ui5/wifisetupdialog.py.wifisetup-bad-call-fix hplip-3.23.3/ui5/wifisetupdialog.py
--- hplip-3.23.3/ui5/wifisetupdialog.py.wifisetup-bad-call-fix 2023-05-29 13:45:35.830961640 +0200
+++ hplip-3.23.3/ui5/wifisetupdialog.py 2023-05-29 13:48:05.939993288 +0200
@@ -665,7 +665,7 @@ class WifiSetupDialog(QDialog, Ui_Dialog
diff -up hplip-3.19.6/ui5/wifisetupdialog.py.wifisetup-bad-call-fix hplip-3.19.6/ui5/wifisetupdialog.py
--- hplip-3.19.6/ui5/wifisetupdialog.py.wifisetup-bad-call-fix 2019-07-12 08:46:56.873167869 +0200
+++ hplip-3.19.6/ui5/wifisetupdialog.py 2019-07-12 08:49:36.813769803 +0200
@@ -570,7 +570,7 @@ class WifiSetupDialog(QDialog, Ui_Dialog
try:
self.ip,_,addressmode, subnetmask, gateway, pridns, sec_dns= self.wifiObj.getIPConfiguration(self.dev, self.adapterName)
if self.ip == "0.0.0.0":
if not self.wifiObj == CdmWifi:
- self.ip, subnetmask, gateway, pri_dns, sec_dns, addressmode = self.wifiObj.getwifiotherdetails(self.dev,self.adapterName)
+ self.ip, subnetmask, gateway, pridns, sec_dns, addressmode = self.wifiObj.getwifiotherdetails(self.dev,self.adapterName)
- self.ip, subnetmask, gateway, pri_dns, sec_dns, addressmode = self.wifiObj.getwifiotherdetails(self.dev,self.adapterName)
+ self.ip, subnetmask, gateway, pridns, sec_dns, addressmode = self.wifiObj.getwifiotherdetails(self.dev,self.adapterName)
vsa_codes = self.wifiObj.getVSACodes(self.dev, self.adapterName)
ss_max, ss_min, ss_val, ss_dbm = self.wifiObj.getSignalStrength(self.dev, self.adapterName,self.network, self.adaptor_id)
self.hn = self.wifiObj.getHostname(self.dev)

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014 Richard Hughes <richard@hughsie.com> -->
<component type="desktop">
<id>hplip.desktop</id>
<component type="desktop-application">
<id>HP-hplip.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+</project_license>
<project_license>GPL-2.0 and MIT and BSD-2-Clause</project_license>
<name>HPLIP Graphic Tools</name>
<summary>HPLIP GUI tools and GUI part of other HPLIP tools</summary>
<description>

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save