Bug 178987

Summary: [patch] fix printing failure in print/cups-client
Product: Ports & Packages Reporter: r4721 <r4721>
Component: Individual Port(s)Assignee: Eitan Adler <eadler>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description r4721@tormail.org 2013-05-26 10:30:00 UTC
when a connection to the print server is established over tcp and times out
after 5 minutes of inactivity, printing after this will silently fail. most
applications only initiate the connection when the print dialog is opened, but
libreoffice opens it on startup so it is most noticable there as a failure to
print after it has been open for > 5 minutes without printing.

new file: print/cups-base/files/patch-client-reconnect

this is a backported patch from cups 1.6 which fixes the issue. it should be
deleted once the port is updated to 1.6.

Fix: Patch attached with submission follows:
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-05-26 10:30:07 UTC
Maintainer of print/cups-client,

Please note that PR ports/178987 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/178987

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2013-05-26 10:30:08 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 3 Chris Petrik 2013-05-26 17:36:44 UTC
This patch can be approved.
Comment 4 Eitan Adler freebsd_committer freebsd_triage 2013-06-02 13:09:44 UTC
Responsible Changed
From-To: freebsd-ports-bugs->eadler

I'll take it.
Comment 5 dfilter service freebsd_committer freebsd_triage 2013-06-02 13:14:32 UTC
Author: eadler
Date: Sun Jun  2 12:14:24 2013
New Revision: 319651
URL: http://svnweb.freebsd.org/changeset/ports/319651

Log:
  - Fix typo w.r.t. XDG_OPEN option
  - Add a a backported patch from cups 1.6 which fixes an issue with regard to a timed out TCP connection. it should be
  deleted once the port is updated to 1.6.
  - Pet portlint a bit
  - remove unused CONFLICTS line
  
  PR:		178987
  Submitted by:	"r4721@tormail.org" <r4721@tormail.org>
  PR:		179194
  Submitted by:	Sayetsky Anton <vsjcfm@gmail.com>
  Approved by:	c.petrik.sosa@gmail.com (maintainer)

Added:
  head/print/cups-base/files/patch-cups-request.c   (contents, props changed)
Modified:
  head/print/cups-base/Makefile

Modified: head/print/cups-base/Makefile
==============================================================================
--- head/print/cups-base/Makefile	Sun Jun  2 11:54:07 2013	(r319650)
+++ head/print/cups-base/Makefile	Sun Jun  2 12:14:24 2013	(r319651)
@@ -69,7 +69,6 @@ OPTIONS_DEFINE=	GNUTLS
 .else
 PORTREVISION=	1
 CUPS_SUFFIX=	-base
-CONFLICTS+=	cupsddk-*
 OPTIONS_DEFINE=	GNUTLS LIBPAPER PHP PYTHON PAM LDAP DBUS LIBUSB XDG_OPEN GHOSTSCRIPT XPDF AVAHI MDNSRESPONDER
 OPTIONS_DEFAULT=	LIBPAPER GHOSTSCRIPT
 NO_OPTIONS_SORT=	yes
@@ -78,7 +77,7 @@ NO_OPTIONS_SORT=	yes
 LIBUSB_DESC=		USB support
 GHOSTSCRIPT_DESC=	Build pdftops with GHOSTSCRIPT
 XPDF_DESC=		Build pdftops with XPDF
-XDG_OPEN=		Build with XDG_OPEN as browser
+XDG_OPEN_DESC=		Build with XDG_OPEN as browser
 
 .include <bsd.port.options.mk>
 

Added: head/print/cups-base/files/patch-cups-request.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/print/cups-base/files/patch-cups-request.c	Sun Jun  2 12:14:24 2013	(r319651)
@@ -0,0 +1,28 @@
+--- cups/request.c
++++ cups/request.c
+@@ -1004,6 +1004,25 @@
+       httpClose(cg->http);
+       cg->http = NULL;
+     }
++    else
++    {
++     /*
++      * Same server, see if the connection is still established...
++      */
++
++      char ch;				/* Connection check byte */
++
++      if (recv(cg->http->fd, &ch, 1, MSG_PEEK | MSG_DONTWAIT) < 0 &&
++          errno != EWOULDBLOCK)
++      {
++       /*
++        * Nope, close the connection...
++        */
++
++	httpClose(cg->http);
++	cg->http = NULL;
++      }
++    }
+   }
+ 
+  /*
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 6 Eitan Adler freebsd_committer freebsd_triage 2013-06-02 13:15:18 UTC
State Changed
From-To: feedback->closed

Committed. Thanks!