Provided by: pr3287_3.6ga4-3_amd64 bug

NAME

       pr3287 - IBM host printing tool

SYNOPSIS

       pr3287 [options] [L:][Y:][LUname[,LUname...]@]hostname[:port][=accept]

DESCRIPTION

       pr3287  opens  a  telnet  connection to an IBM host, and emulates an IBM 3287 printer.  It
       implements RFCs 2355 (TN3270E), 1576 (TN3270) and 1646 (LU name selection).

       If the hostname is prefixed with L:, the  connection  will  be  made  through  an  SSL/TLS
       tunnel.  If the hostname is also prefixed with Y:, the host's SSL/TLS certificate will not
       be checked.  pr3287 also supports TELNET START-TLS option negotiation without any need for
       command-line options.

       A  specific  LU name to use may be specified by prepending it to the hostname with an `@'.
       Multiple LU names to try can be separated by commas.  An empty LU can  be  placed  in  the
       list with an extra comma.

       The  port to connect to defaults to telnet.  This can be overridden by appending a port to
       the hostname with a colon `:'.

       An accept name (a name to compare to the host's SSL/TLS certificate) may be  specified  by
       appending it with an equals sign.

OPTIONS

       pr3287 understands the following options:

       -accepthostname name
              Specifies a particular hostname to accept when validating the name presented in the
              server SSL certificate,  instead  of  comparing  to  the  name  used  to  make  the
              connection.  name can either be any (OpenSSL only), which disables name validation,
              or a specific name.

       -assoc LUname
              Causes the session to be associated with the specified LUname.

       -blanklines
              In LU3 formatted mode, print blank lines even if they  are  all  NULLs  or  control
              characters.   (This  is  a  violation  of the 3270 printer protocol, but some hosts
              require it.)

       -cadir directory
              Specifies a directory containing CA (root) certificates to  use  when  verifying  a
              certificate provided by the host. (OpenSSL only)

       -cafile filename
              Specifies a PEM-format file containing CA (root) certificates to use when verifying
              a certificate provided by the host. (OpenSSL only)

       -certfile filename
              Specifies a file containing a certificate to provide to the host.  The default file
              type is PEM (OpenSSL) or PKCS12 (MacOS).

       -certfiletype type
              Specifies the type of the certificate file specified by -certfile.  Type can be pem
              or asn1. (OpenSSL only)

       -chainfile filename
              Specifies a certificate chain file in  PEM  format,  containing  a  certificate  to
              provide  to  the  host, as well as one or more intermediate certificates and the CA
              certificate used  to  sign  that  certificate.   If  -chainfile  is  specified,  it
              overrides -certfile. (OpenSSL only)

       -clientcert name
              Specifies  the  name  of  a  client  certificate to provide to the host. It must be
              installed in the keychain. (MacOS only)

       -charset name
              Specifies an alternate host code page (input EBCDIC mapping).  The default maps the
              U.S.  English  (037)  code  page  to the current locale character encoding.  pr3287
              generally supports the same host character sets as x3270.

       -command command
              Specifies the command to run for each print job.  The default is lpr.

       -crlf  Causes newline characters in the output to be expanded to  carriage-return/linefeed
              sequences.

       -crthru
              In  unformatted  3270 mode, causes EBCDIC CR orders to be passed to directly to the
              printer as ASCII CR characters, and the output buffer to  be  flushed,  instead  of
              being specially interpreted by pr3287.

              By  default,  EBCDIC  CRs  cause the (virtual) print head to return to column 0, so
              that subsequent text overwrites what is already in the buffer, and  the  buffer  is
              flushed only when an EBCDIC NL or EM order is received.

       -daemon
              Causes pr3287 to become a daemon (background) process.

       -eojtimeout seconds
              Causes pr3287 to complete the print job after seconds seconds of inactivity.

       -emflush
              Causes  pr3287  to  flush any pending printer output whenever an EM (End of Medium)
              order arrives in unformatted 3270 mode.  This can help preserve  multi-page  output
              with  hosts that do not clear the 3270 buffer between pages.  (Note: This option is
              defined for historical purposes only; -emflush is now the default.)

       -noemflush
              Causes pr3287 not to flush any pending printer output when an EM  (End  of  Medium)
              order arrives in unformatted 3270 mode.

       -ignoreeoj
              Ignore  TN3270E PRINT-EOJ commands, relying on UNBIND commands to indicate the ends
              of print jobs.

       -ffeoj Causes pr3287 to add a FF (formfeed) at the end of each print job.

       -ffskip
              Causes pr3287 to ignore a FF (formfeed) order if it occurs at the top of a page.

       -ffthru
              In SCS mode, causes pr3287 to pass FF (formfeed) orders through to the  printer  as
              ASCII  formfeed  characters, rather than simulating them based on the values of the
              MPL (maximum presentation line) and TM (top margin) parameters.

       -keyfile filename
              Specifies a file containing the private key for the certificate file (specified via
              -certfile or -chainfile).  The default file type is PEM. (OpenSSL only)

       -keyfiletype type
              Specifies  the type of the private key file specified by -keyfile.  Type can be pem
              or asn1. (OpenSSL only)

       -keypasswd type:value
              Specifies the password for the private key file, if it is encrypted.  The  argument
              can  be file:filename, specifying that the password is in a file, or string:string,
              specifying the password on the command-line directly.

       -mpp n Specifies a non-default value for  the  Maximum  Presentation  Position  (the  line
              length for unformatted Write commands).  The default is 132.  The minimum is 40 and
              the maximum is 256.

       -noverifycert
              Do not verify the host certificate for SSL/TLS connections.

       -proxy type:host[:port]
              Causes pr3287 to connect via  the  specified  proxy,  instead  of  using  a  direct
              connection.  The host can be an IP address or hostname.  The optional port can be a
              number or a service name.  For a list of supported proxy types, see PROXY below.

       -reconnect
              Causes pr3287 to reconnect to the host, whenever the connection is  broken.   There
              is  a  5-second  delay  between reconnect attempts, to reduce network thrashing for
              down or misconfigured hosts.

       -skipcc
              For unformatted writes, skip ASA  carriage  control  characters  (e.g.,  blank  for
              single-space,  0  for  double-space, 1 for formfeed, etc.) in the first position of
              each line of host output.

       -trace Turns on data stream tracing.  Trace information  is  usually  saved  in  the  file
              /tmp/x3trc.pid.

       -tracedir dir
              Specifies the directory to save trace files in, instead of /tmp.

       -trnpre file
              Specifies a file containing data that will be sent to the printer before each print
              job.  The file contents are  treated  as  transparent  data,  i.e.,  they  are  not
              translated in any way.

       -trnpost file
              Specifies  a file containing data that will be sent to the printer after each print
              job.  The file contents are  treated  as  transparent  data,  i.e.,  they  are  not
              translated in any way.

       -v     Display build and version information and exit.

       -verifycert
              Verify the host certificate for SSL/TLS connections. (This is the default setting.)

       -xtable file
              Specifies  a  file  containing  transparent  data translations.  The file specifies
              EBCDIC characters that will be translated into transparent ASCII  data  (data  that
              will  not  be  further  translated and will not count as taking up column(s) on the
              print line).  Any printable ECBDIC code can be translated to  zero  or  more  ASCII
              characters.

              The table consists of lines that look like:
              ebcdic ebcdic-code ascii ascii-code...

              The  ebcdic-code  can  be  specified in hexadecimal X'nn' notation or as numbers in
              decimal, octal (with a leading 0) or hexadecimal (with a leading 0x).   The  ascii-
              codes  can  be specified as numbers in decimal, octal or hexadecimal, control codes
              such as ^X, symbolic control codes such  as  CR  or  Escape,  or  as  double-quoted
              strings,  following  the  full  C-language  conventions,  such as \r for a carriage
              return.  Comments begin with #, ! or //.

              Here are some examples of translations.
              # Expand EBCDIC D to an escape sequence.
              ebcdic X'C4' ascii Esc "]1,3" 0x6d
              # Delete EBCDIC B's
              ebcdic X'C2' ascii

              The full list of symbolic control codes is: BS CR BEL ESC ESCAPE FF HT  LF  NL  NUL
              SPACE TAB VT.

SIGNALS

       SIGINT,  SIGHUP and SIGTERM cause the current print job to be flushed (any pending data to
       be printed) and pr3287 to exit.

       SIGUSR1 causes the current print job to be flushed without otherwise affecting the  pr3287
       process.

PROXY

       The  -proxy option causes pr3287 to use a proxy server to connect to the host.  The syntax
       of the option is:
              type:host[:port]

       The supported values for type are:

                           Proxy Type   Protocol                 Default Port
                           ───────────────────────────────────────────────────
                              http      RFC 2817 HTTP tunnel         3128
                                        (squid)
                            passthru    Sun in.telnet-gw             none
                             socks4     SOCKS version 4              1080
                             socks5     SOCKS version 5 (RFC         1080
                                        1928)
                             telnet     No protocol (just send       none
                                        connect host port)

       The special types socks4a and socks5d can also be used to force the proxy server to do the
       hostname resolution for the SOCKS protocol.

SEE ALSO

       x3270(1), c3270(1), telnet(1), tn3270(1)
       Data Stream Programmer's Reference, IBM GA23-0059
       Character Set Reference, IBM GA27-3831
       3174 Establishment Controller Functional Description, IBM GA23-0218
       RFC 1576, TN3270 Current Practices
       RFC 1646, TN3270 Extensions for LUname and Printer Selection
       RFC 2355, TN3270 Enhancements

COPYRIGHTS

       Copyright 1993-2017, Paul Mattes.
       Copyright 1990, Jeff Sparkes.
       Copyright 1989, Georgia Tech Research Corporation (GTRC), Atlanta, GA
        30332.
       All rights reserved.

       Redistribution and use in source and binary  forms,  with  or  without  modification,  are
       permitted provided that the following conditions are met:

       *      Redistributions of source code must retain the above copyright notice, this list of
              conditions and the following disclaimer.

       *      Redistributions in binary form must reproduce the above copyright notice, this list
              of  conditions  and  the  following  disclaimer  in  the documentation and/or other
              materials provided with the distribution.

       *      Neither the names of Paul Mattes,  Jeff  Sparkes,  GTRC  nor  the  names  of  their
              contributors  may be used to endorse or promote products derived from this software
              without specific prior written permission.

       THIS SOFTWARE IS PROVIDED BY PAUL MATTES, JEFF SPARKES AND GTRC `AS IS' AND ANY EXPRESS OR
       IMPLIED   WARRANTIES,   INCLUDING,   BUT   NOT  LIMITED  TO,  THE  IMPLIED  WARRANTIES  OF
       MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN  NO  EVENT  SHALL
       PAUL MATTES, JEFF SPARKES OR GTRC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
       EXEMPLARY, OR CONSEQUENTIAL  DAMAGES  (INCLUDING,  BUT  NOT  LIMITED  TO,  PROCUREMENT  OF
       SUBSTITUTE  GOODS  OR  SERVICES;  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
       HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  LIABILITY,  OR
       TORT  (INCLUDING  NEGLIGENCE  OR  OTHERWISE)  ARISING  IN  ANY  WAY OUT OF THE USE OF THIS
       SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

VERSION

       pr3287 3.6ga4

                                         29 December 2017                               PR3287(1)