home *** CD-ROM | disk | FTP | other *** search
/ ftp.conserver.com / 2015.02.ftp.conserver.com.tar / ftp.conserver.com / conserver / INSTALL < prev    next >
Text File  |  2014-04-20  |  13KB  |  294 lines

  1.                                 INSTALL
  2.                                 =======
  3.  
  4. Upgrading?
  5.  
  6.     Whenever you upgrade I suggest you upgrade both the client and
  7.     server.  Most times, however, you can get away without upgrading
  8.     the client (it's usually a fairly static piece of code).  I'll
  9.     document any dependencies here, but check the CHANGES file for any
  10.     new features added to the client if you're considering *not*
  11.     upgrading.
  12.  
  13.     Version 8.1.3
  14.     - The '^Ec;' sequence won't work correctly with 8.1.2 (where it
  15.       was introduced).
  16.  
  17.     Version 8.1.2
  18.     - The 'devicesubst' and 'execsubst' formats have changed from
  19.       8.1.1.  It's fairly simple to update your config file to the
  20.       new format...just check the conserver.cf manpage.  Sorry for
  21.       having to change things, but it's for a good reason (I should
  22.       have though ahead when designing the original format).
  23.  
  24.     Version 8.1.0
  25.  
  26.     - The client/server protocol has changed to better protect 8-bit
  27.       data and to allow programs invoked with '^Ec|' not have to
  28.       worry about accidentally sending the escape sequence to the
  29.       server.  Though it will look like things are mostly
  30.       backward-compatible, don't count on it and just upgrade.
  31.  
  32.     Version 8.0.2
  33.  
  34.     - I've added a '^Ec;' sequence to allow the client to signal the
  35.       server as to when it's ready to see console data.  Without
  36.       this, verbose consoles will prevent clients from attaching
  37.       (the client sees unexpected data).  An 8.0.2 client should be
  38.       compatible with an 8.0.1 server, but an 8.0.1 client is not
  39.       compatible with an 8.0.2 server.
  40.  
  41.     Version 8.0.1
  42.  
  43.     - There's a slight client/server protocol change to implement
  44.       the new 'initcmd' console option.  If you use this
  45.       functionality with an 8.0.0 client, you'll run into a
  46.       compatibility problem while the 'initcmd' command is running.
  47.  
  48.     Version 8.0.0
  49.  
  50.     - The client/server protocol has been rearchitected.  You *MUST*
  51.       use an 8.0.0 client with an 8.0.0 server.  No combination of
  52.       client/server will work with pre-8.0.0 code.
  53.  
  54.     - Upgrading from pre-8.0.0 code to 8.0.0 and beyond requires
  55.       you to change your conserver.cf and conserver.passwd files
  56.       because both of the file formats have changed.
  57.  
  58.       The conserver.cf file changes are so major that there is a
  59.       convert program available in the conserver subdirectory.  Just
  60.       run './conserver/convert <old-cf-file>' and it will attempt a
  61.       conversion to the new format, sending it to stdout.  Any errors
  62.       will be printed to stderr.  There are a couple of things
  63.       you might need to adjust.  First are the user access lists.
  64.       If you are restricting users to certain consoles in your old
  65.       conserver.passwd file, you'll need to move those restrictions
  66.       into the new conserver.cf file.  Restrictions are set with the
  67.       'ro' and 'rw' tags in the configuration file.  Second are the
  68.       'access' blocks.  What get produced by the convert program
  69.       will be functionally equivalent to the old behavior, but you
  70.       may be able to tune things to better suit your environment.
  71.  
  72.       The conserver.passwd file's console restrictions have moved,
  73.       as described above.  So to convert the conserver.passwd file,
  74.       all you really need to do is something like:
  75.  
  76.         awk -F: '{print $1 ":" $2}' <old-passwd-file>
  77.  
  78.       If you have comments or continuation lines in your file,
  79.       you'll have to do a bit more cleanup to strip out the third
  80.       field (which is what the awk command is intending to do).
  81.  
  82.     - Conserver no longer trusts reverse DNS information by default.
  83.       If you use the --with-trustrevdns configure flag, you can
  84.       re-enable the use of gethostbyaddr() [I don't recommended it,
  85.       however].  If you are using domain names in access lists,
  86.       you'll either need to change those to use hostnames and/or ip
  87.       addresses/ranges or use the --with-trustrevdns flag.  For
  88.       example, if you have (in the
  89.       8.0.0 format):
  90.  
  91.         allowed conserver.com;  # allow *.conserver.com
  92.  
  93.       then you'll need to worry about this change.  If you only use
  94.       full hostnames, you shouldn't have to do anything.
  95.  
  96.     Version 7.2.4
  97.  
  98.         - If SSL support is compiled into the code, older versions of
  99.           the client and server are, by default, incompatible because
  100.           encrypted connections are a requirement.  Use of the -E flag in
  101.           the client and/or server can work around this (but I discourage
  102.           this - please upgrade the clients and servers instead).
  103.  
  104.     Version 7.2.0
  105.  
  106.         - The code related to broadcast messages in the client (-b) has
  107.           changed.  If you want the username to come across properly in
  108.           the broadcast message, you'll need to make sure you upgrade
  109.           to the 7.2.0 client.
  110.  
  111.     Version 7.1.1
  112.  
  113.         - Both conserver.passwd and conserver.cf file parsing behaves
  114.           the same now.  Both use leading whitespace as a continuation
  115.           line indicator - if you have leading whitespace on a line
  116.           (aside from comments) you probably should remove it.
  117.  
  118.     Version 7.1.0
  119.  
  120.         - The client/server protocol has changed.  You *MUST* use a
  121.           7.1.0 client with a 7.1.0 and above server.  A 7.1.0 client
  122.           is *not* backward compatible with a pre-7.1.0 server.
  123.  
  124.         - Some of the flags in the client (-d, -D, and -r) and server
  125.           (-n) have been given new identities to make the client and
  126.           server flags more uniform.
  127.  
  128.         - The conserver.passwd file now uses the first username match
  129.           to determine access rights - if you have multiple instances
  130.           of a username in an existing password file, they must be
  131.           combined into one to continue to work.
  132.  
  133.  
  134. Quickie Instructions
  135.  
  136.     - Download conserver (http://www.conserver.com/) and unpack
  137.  
  138.     - Run './configure'
  139.  
  140.     - Run 'make'
  141.  
  142.     - Run 'make test'
  143.  
  144.     - If all is well, run 'make install'
  145.  
  146.     - Now set up config files, etc. (see below)
  147.  
  148.  
  149. Detailed Instructions
  150.  
  151.     - First thing to do is determine if you want different defaults.  A
  152.       './configure --help' will show you the basics.  If you like all
  153.       the defaults shown, you're set.  If not, here are the conserver
  154.       unique options:
  155.  
  156.         --with-port=PORT        Specify port number [conserver]
  157.         --with-base=PORT        Base port for secondary channel [0]
  158.         --with-master=MASTER    Specify master server hostname [console]
  159.         --with-ccffile=CFFILE   Specify client config filename
  160.                                 [SYSCONFDIR/console.cf]
  161.         --with-cffile=CFFILE    Specify config filename [SYSCONFDIR/conserver.cf]
  162.         --with-pwdfile=PWDFILE  Specify password filename
  163.                                 [SYSCONFDIR/conserver.passwd]
  164.         --with-logfile=LOGFILE  Specify log filename [/var/log/conserver]
  165.         --with-pidfile=PIDFILE  Specify PID filepath [/var/run/conserver.pid]
  166.         --with-maxmemb=MAXMEMB  Specify maximum consoles per process [16]
  167.         --with-timeout=TIMEOUT  Specify connect() timeout in seconds [10]
  168.         --with-trustrevdns      Trust reverse DNS information
  169.         --with-extmsgs          Produce extended messages
  170.         --with-rpath            Use -R as well as -L for libraries
  171.         --with-cycladests       (deprecated - noop) Build for a Cyclades TS
  172.         --with-uds[=DIR]        Use Unix domain sockets for client/server
  173.                                 communication [/tmp/conserver]
  174.         --with-trust-uds-cred   Trust UDS credentials obtained via socket
  175.         --with-libwrap[=PATH]   Compile in libwrap (tcp_wrappers) support
  176.         --with-openssl[=PATH]   Compile in OpenSSL support
  177.         --with-req-server-cert  Require server SSL certificate by client
  178.         --with-gssapi[=PATH]    Compile in GSS-API support
  179.         --with-striprealm       retry username without @REALM with gss-api
  180.                                 authentication
  181.         --with-freeipmi[=PATH]  Compile in FreeIPMI support
  182.         --with-dmalloc[=PATH]   Compile in dmalloc support
  183.         --with-pam              Enable PAM support
  184.         --with-ipv6             (experimental) Use IPv6 for client/server
  185.                                 communication
  186.  
  187.       Not surprisingly, some match the old conserver/cons.h items...here
  188.       they are for reference:
  189.  
  190.         PORT or SERVICE         - Socket used to communicate
  191.         HOST                    - Hostname of console server
  192.         CONFIG                  - Config file path
  193.         PASSWD_FILE             - Password file path
  194.         MAXMEMB                 - Number of consoles per child process
  195.  
  196.       A couple of notes.  First, --with-libwrap will add tcp_wrappers
  197.       lookups to all socket connections in the server.  --with-openssl
  198.       will add encryption between the client and server when you connect
  199.       to a console.  --with-uds will cause the client and server to use
  200.       unix domain sockets for their communication, eliminating the
  201.       tcp communication they normally do (which means --with-master and
  202.       --with-port are not used).  --with-dmalloc should only be used to
  203.       do memory allocation debugging and not used in production.
  204.  
  205.     - Run './configure'.  This will detect system specific
  206.       information.  The --prefix option will redirect where things are
  207.       installed.  Other options are available as well...try
  208.       './configure --help'.
  209.  
  210.     - Now run 'make'.  Hopefully things will compile.
  211.  
  212.     - To test your binaries, run 'make test'.  If there are problems, it
  213.       should mean something is wrong, but check the output differences
  214.       to make sure it wasn't a temporary failure.  I tried to make the
  215.       tests generic, but I may have missed something.
  216.  
  217.     - Once things build, you can run 'make install'.
  218.  
  219.     - If you'd like to build the autologin application, you'll need to
  220.       run 'make autologin'.  If you'd like it installed, use 'make
  221.       autologin.install'.
  222.  
  223.     - Now that the binaries are in place, we need to set up the
  224.       configuration files and such.
  225.  
  226.       + Does your conserver master hostname exist?  This is the
  227.         hostname specified with the --with-master option.  By default
  228.         the hostname is "console", so make sure it's in DNS, hosts
  229.         files, or whatever.
  230.  
  231.       + If you used a symbolic name for the --with-port option (by
  232.         default it uses "conserver", so the answer would be yes),
  233.         you'll need to enter a definition in your services file
  234.         (directly, via NIS, or whatever).  Here's what we use:
  235.  
  236.             console      782/tcp    conserver    # console server
  237.  
  238.         If you used a number, you shouldn't have to worry about this
  239.         step.
  240.  
  241.       + Next, make sure conserver runs during boot.  The init script we
  242.     use under Solaris is installed in
  243.     <DATADIR>/examples/conserver/conserver.rc.  Use that or some
  244.     form of it for your own /etc/init.d script or an entry in
  245.     startup files (/etc/rc, /etc/rc.local, or whatever).
  246.  
  247.       + Now for the fun stuff.  You need to create a conserver.cf and
  248.         conserver.passwd file.  Those are defined with the
  249.         --with-cffile and --with-pwdfile settings.  If you ever need to
  250.         know what values were compiled into conserver, run 'conserver
  251.         -V'.  See the conserver.cf/INSTALL file for instructions on
  252.         setup of these files.
  253.  
  254.     - That's it!  Just start up the console server and enjoy!
  255.  
  256.  
  257. Other Information And Gotchas
  258.  
  259.     - Debian Linux Distribution
  260.  
  261.         The Debian folks have conserver distributed with the package
  262.         names of conserver-client and conserver-server.  They are in
  263.         the distribution "sid" and the "non-free" part (because the
  264.         Ohio State license doesn't explicitly allow for modification to
  265.         the code, even though it's totally implied and the intention of
  266.         the author - I've even got proof in email!  Oh well, can't
  267.         blame the Debian folks for being cautious - they've been burned
  268.         before, apparently).
  269.  
  270.     - Potential GCC bug
  271.  
  272.         Adam Morris <AMorris@providence.org> reported a problem with
  273.         the following line in console/console.c:
  274.  
  275.             if ((in_addr_t) (-1) == pPort->sin_addr.s_addr) {
  276.  
  277.         This tickles a GCC bug under HP-UX 11.11 using GCC 3.0.2 in
  278.         64-bit mode with optimization enabled (-O).  The bug could
  279.         possibly be provoked in other combinations as well.  His fix is
  280.         to change the line to:
  281.  
  282.             if ((in_addr_t) (-1) == inet_addr(pcToHost)) {
  283.  
  284.         It's also reported that newer versions of the compiler fix the
  285.         issue, so if you happen to have problems with the client
  286.         connecting to servers, you might be tickling this bug and you
  287.         can upgrade the compiler, turn off the optimization, or apply
  288.         this code change.
  289.  
  290.  
  291. #
  292. #  $Id: INSTALL,v 1.41 2014/04/20 06:45:07 bryan Exp $
  293. #
  294.