CirrusPrint(tm) Cloud and Network Printing Software Copyright 2012 by Allen Miglore. All rights reserved. CirrusPrint is provided under a license, which must be accepted during installation. The text of this license is found in license.txt. Published under license by: Synergetic Data Systems Inc. 3976 Durock Road, Suite 102 Shingle Springs, CA 95682 Phone: (530)-672-9970, Fax: (530)-672-9975 Email: sdsi@synergetic-data.com Web: http://synergetic-data.com See the cp10s.pdf file, or the browser interface help system, for details about installation and operation of CirrusPrint. RELEASE HISTORY Version 1.0.01 released February 21, 2013 Version 1.0.02 released February 27, 2013 Version 1.0.03 released March 22, 2013 Version 1.0.04 released November 21, 2013 Version 1.0.05 released December 5, 2013 Version 1.0.06 released December 10, 2013 Version 1.0.07 released August 4, 2014 VERSION 1.0.07 MODIFIES INSTALLATION, START/STOP, AND UNINSTALL PROCEDURES. Please review the the manual section titled "Updating to 1.0.07 or higher" under the Installation chapter. CHANGE HISTORY: 1.0.02 Added an Apache web server-based management tool for starting, stopping, and licensing the server. The setup.sh program creates a file web/cirrusprint.conf, which can be copied to the /etc/httpd/conf.d directory or included in the main httpd.conf file. Once installed and Apache restarted, access the tool with http:///cirrusprint. Note that access is unrestricted by default, so an administrator should apply standard Apache authentication or access control if desired. Note the tool also relies on Perl being installed as /usr/bin/perl and with the CGI.pm module available. This should be the case with any modern system. 1.0.03 3/18/13 - Fixed error 47, line 3750, in cplpp.pv when parsing pcl data with embedded fonts. 3/21/13 - Added status log clean up in the Unix perl client to prevent a second status.*.txt file from remaining on disk when the client is daemonized. 3/22/13 - Added heartbeat monitoring to allow client reconnect in cases where socket is shutdown by an external event, like a router dropping an idle connection or a client PC going into sleep mode. This update requires both clients and servers to be updated. 1.0.04 3/26/13 - Modified protected directory handling for Windows to allow files to be placed in the special Desktop folder without a permission error. 3/26/13 - Modified demo license to report the expiration date based on the install date rather than as 0000-00-00. 3/26/13 - Added a full direcory sweep every 15 seconds to address cases where a Windows NTFS directory modification time stamp wasn't updated quickly enough when files were added close together. 5/2/13 - Removed an event log write command that could cause permission errors in the Windows client manager. 5/7/13 - Corrected error 27 in cpcls line 14040. 11/20/13 - Corrected a build problem related to the client Windows executable. 11/21/13 - Corrected a client error related to network printer management, where after some number of jobs, the client would run out of handles and stop functioning. 11/21/13 - Corrected a Windows server licensing error, where due to a change in license server methods, a false error message requesting a re-license would appear. 1.0.05 12/3/13 - Updated runtime engine to latest release (pxp11). Added runtime log option for crash tracking, by setting rtlog=1 in the [service] section of cp10s.ini. If set, the rt directory will collect cp10srun.*.log files by server process ID. Old logs are auto-purged. New logs are created when the server is started and runtime logging begins. 12/4/13 - Updated client to have better fault recovery when the server goes down. Note that some server-side job tracking may not be updated for jobs interrupted by socket faults, though delivery does complete. 1.0.06 12/6/13 - Updated client to avoid an endless loop if a data block isn't fully sent due to a loss of connectivity to the server mid-read. 12/6/13 - Updated server to avoid duplicate monitor tasks when the service process is killed, leaving some tasks running, and then restarted normally. The redundant tasks stop automatically. 12/6/13 - Updated server to self-heal if the service process is killed or otherwise terminated unexpectedly. If the path monitor task detects the client listener is not running, it attempts to restart it within a few seconds. 12/10/13 - Modified heartbeat logic from server to client, as it was suspected of causing SSL-related crashes due to its frequent short messages. New logic in both client and server components implements an idle timeout mechanism where an idle client will periodically reconnect automatically. An update of both server and client components is recommended to synchronize the change. 1.0.07 2/8/14 - Added support for clean up in rare cases when the server job has been removed but the client job was unable to record all received data. 7/2/14 - Corrected a bug in the client when an alternate server was defined. 7/28/14 - Added multi-installation support, to allow multiple instances of the CirrusPrint server to run on one machine. Each install has its own configuration, and both Windows service names and Unix /usr/bin/cp10s* script names are unique to the installation. The names used for scripts and services are based on the last segment of the installation path. Please review the information in the manual that comes with this version, in the "Updating to 1.0.07 or higher" in the Installation chapter, if you are upgrading from an earlier release. 8/2/14 - Changed client's raw print executable from spool.exe to cpprint.exe, a console executable written by us to control the spool file name and also to avoid Data Execution Prevention problems found on some server systems. 2/25/15 - Modified client code to accept self-signed certificates when communicating with the CirrusPrint server. 3/25/15 - Updated Windows CP manager to address random errors when a task exited just as the manager was polling for server activity. 3/25/15 - Updated cp10s.exe (CP manager) to run as administrator automatically, to allow it to interact with associated services without requiring a manual 'run as administrator'. 7/16/15 - Corrected a problem in the client when a -server argument included a nossl: prefix, as opposed to using the -nossl command line option. This could affect Windows clients in particular, and only affected non-SSL connections. The default setup uses SSL so would not have encountered the error. 10/6/15 - Corrected a problem with File devices referencing UNC printer names on Windows. 10/6/15 - Modified network print output buffer size, and added single-level retry on a block write error to the printer.