Unverified Commit 57428640 authored by Alois Wohlschlager's avatar Alois Wohlschlager
Browse files

hplip: 3.23.8 -> 3.24.4

Remove a patch that does no longer apply and seems to be not needed any more.
parent ac20a96e
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -14,16 +14,16 @@
let

  pname = "hplip";
  version = "3.23.8";
  version = "3.24.4";

  src = fetchurl {
    url = "mirror://sourceforge/hplip/${pname}-${version}.tar.gz";
    hash = "sha256-98wF9ijAz9dQ5UrkFDHB390p6XaC8YtcW6XLLFtLG0Y=";
    hash = "sha256-XXZDgxiTpeKt351C1YGl2/5arwI2Johrh2LFZF2g8fs=";
  };

  plugin = fetchurl {
    url = "https://developers.hp.com/sites/default/files/${pname}-${version}-plugin.run";
    hash = "sha256-frsgye3f0M3HE2trKRlfFvMnDEwe+z74IumCdVPrcSY=";
    hash = "sha256-Hzxr3SVmGoouGBU2VdbwbwKMHZwwjWnI7P13Z6LQxao=";
  };

  hplipState = substituteAll {
@@ -106,9 +106,6 @@ python311Packages.buildPythonApplication {
      url = "https://web.archive.org/web/20230226174550/https://sources.debian.org/data/main/h/hplip/3.22.10+dfsg0-1/debian/patches/0028-Remove-ImageProcessor-binary-installs.patch";
      sha256 = "sha256:18njrq5wrf3fi4lnpd1jqmaqr7ph5d7jxm7f15b1wwrbxir1rmml";
    })

    # Revert changes that break compilation under -Werror=format-security
    ./revert-snprintf-change.patch
  ];

  postPatch = ''
+0 −61
Original line number Diff line number Diff line
commit f103a260215016fc035bc1399c8accabf83b0264
Author: Claudio Bley <claudio.bley@gmail.com>
Date:   Fri Jul 1 22:29:05 2022 +0200

    Revert change to hp_ipp.c from 3.22.{4 -> 6}
    
    This fails compilation:
    ```
    protocol/hp_ipp.c: In function ‘addCupsPrinter’:
    protocol/hp_ipp.c:113:9: error: format not a string literal and no format arguments [-Werror=format-security]
      113 |         snprintf( info,sizeof(info), name );
          |         ^~~~~~~~
    ```

diff --git a/protocol/hp_ipp.c b/protocol/hp_ipp.c
index 97d827d..af7013b 100644
--- a/protocol/hp_ipp.c
+++ b/protocol/hp_ipp.c
@@ -110,7 +110,7 @@ int addCupsPrinter(char *name, char *device_uri, char *location, char *ppd_file,
      }
 
      if ( info == NULL )
-        snprintf( info,sizeof(info), name );
+        strcpy( info, name );
 
      sprintf( printer_uri, "ipp://localhost/printers/%s", name );
 
@@ -511,27 +511,27 @@ int __parsePrinterAttributes(ipp_t *response, printer_t **printer_list)
 
              if ( strcmp(attr_name, "printer-name") == 0 &&
                                         val_tag == IPP_TAG_NAME ) {
-                  snprintf(t_printer->name, sizeof(t_printer->name),ippGetString(attr, 0, NULL) );
+                  strcpy(t_printer->name, ippGetString(attr, 0, NULL) );
              }
              else if ( strcmp(attr_name, "device-uri") == 0 &&
                                          val_tag == IPP_TAG_URI ) {
-                  snprintf(t_printer->device_uri,sizeof(t_printer->device_uri), ippGetString(attr, 0, NULL) );
+                  strcpy(t_printer->device_uri, ippGetString(attr, 0, NULL) );
              }
              else if ( strcmp(attr_name, "printer-uri-supported") == 0 &&
                                                  val_tag == IPP_TAG_URI ) {
-                  snprintf(t_printer->printer_uri,sizeof(t_printer->printer_uri), ippGetString(attr, 0, NULL) );
+                  strcpy(t_printer->printer_uri, ippGetString(attr, 0, NULL) );
              }
              else if ( strcmp(attr_name, "printer-info") == 0 &&
                                         val_tag == IPP_TAG_TEXT ) {
-                  snprintf(t_printer->info,sizeof(t_printer->info), ippGetString(attr, 0, NULL) );
+                  strcpy(t_printer->info, ippGetString(attr, 0, NULL) );
              }
              else if ( strcmp(attr_name, "printer-location") == 0 &&
                                            val_tag == IPP_TAG_TEXT ) {
-                  snprintf(t_printer->location,sizeof(t_printer->location),ippGetString(attr, 0, NULL) );
+                  strcpy(t_printer->location, ippGetString(attr, 0, NULL) );
              }
              else if ( strcmp(attr_name, "printer-make-and-model") == 0 &&
                                                   val_tag == IPP_TAG_TEXT ) {
-                  snprintf(t_printer->make_model,sizeof(t_printer->make_model),ippGetString(attr, 0, NULL) );
+                  strcpy(t_printer->make_model, ippGetString(attr, 0, NULL) );
              } 
              else if ( strcmp(attr_name, "printer-state") == 0 &&
                                              val_tag == IPP_TAG_ENUM ) {