Cupsfax enables fax server integration with CUPS printing system via two scripts. A well-structured and efficient way of handling fax for CUPS users.
Cupsfax also provides complete integration into a samba/CUPS configuration, which means that Windows clients can send a wide range of documents as faxes. Additionally, the program utilizes the full power of the CUPS print processing pipeline to ensure that faxes are processed accurately and efficiently.
To use Cupsfax, a number of requirements must be met, including having access to CUPS (tested with 1.2.4) and HylaFAX (tested with 4.3). For other fax programs, the CGI script must be adapted, and Perl (tested with 5.8) with the CGI and MIME::Base64 modules is also necessary. Furthermore, any CGI-capable web server can be used.
Installing Cupsfax is relatively straightforward, and users must edit the parameters at the top of the Makefile as needed before running "make install" as root. This installs the programs and creates a spool directory, as well as a cron.daily script. However, it's important to note that the spool directory must be on a filesystem that supports case-sensitive filenames with a length of up to 30 characters, and the existing CUPS spool directory should not be used.
After installation, users should restart cupsd and create a printer definition on CUPS with specific characteristics. The device should be set to "Require user response," and the device URI should be set as userresponse: followed by the CGI link. Users should also provide a PPD file and use the PostscriptFAX.ppd found in the Cupsfax package.
Once set up, the program works by utilizing the userresponse backend, which writes two files in the spool directory. The job file name is random for security reasons. After writing these files, the backend sends an email to the job owner containing a link to the Cupsfax CGI program with the job file name as a parameter. If everything goes smoothly, the job is completed in the CUPS system.
When the user accesses the CGI program and submits the form, the program reads the job file and calls sendfax. If everything goes according to plan, the spool files are removed, and the job is completed. It's worth noting that the userresponse is actually a generic program that can be used for post-processing of print jobs.
Cupsfax also takes security seriously, and the spool files are written and read under the job owner's ID with mode 600, ensuring that only the job owner can access the job. To further enhance security, the CGI script can be protected with HTTP authentication, where the user name must match the print job owner name. The spool directory is not world-readable, so it's not possible for one user to manipulate another's jobs by finding out the right parameters.
Version 0.4: N/A