SUMMARY: Inconsistent Berkeley Printing

From: V.Sander (zdv123@zam092.zam.kfa-juelich.de)
Date: Sat May 14 1994 - 05:54:34 CDT


Hallo SUN Managers,
my original question was:

----- Begin Included Message -----

Hallo SUN Managers,
we have figured out a problem with Berkeley Remote Printing
and (at least, but it seems to be a design error) SUN OS 4.1.3
(client) and ULTRIX 4.3 (server)

The problem occurs when printing from a host with more than
one network interface (multi-homed hosts) to a remote printer.

While the local lpd transmits the file together with the
local spool name (gethostname is the suffix)
the lprm command is authenticated by the source-address of
then client.

Example:
    Client with two interfaces:
           chost (this is what `hostname` tells)
           chost-a (this is the interface, which is used, when
                     connecting to the ULTRIX Server)

    Server is able to resolve both names

    As mentioned, the routing from client to the server is done over
    the interface named chost-a. But because gethostname() returns
    chost, the spool file on the server is named: ".....chost"

    Now the client user want to remove the file from the printer queue with
    lprm.
    But this time, he seems to be authenticated as a user from
    another host (chost-a) and receives the message:
           "permission denied"

Any suggestions (beside switching hostname to chost-a, or changing the
routing information) to get rid of this inconsistency would be kindly regarded.

Many thanks,
Volker Sander

----- End Included Message -----

Thanks to all who have responded. To summarize the responses, let me include
what Nate Itkin (Nate-Itkin@ptdcs2.intel.com) said:

   Correct you are. The protocol doesn't include the hostname in a remote
   dequeue request. The request looks like this:

        <05>printer user entry<0a> (brackets are for illustration only)

   I think your choices are limited. Among them are:

   A) Switch the names of the interfaces - chost <==> chost-a.

   B) Change the hosts file on the lpd server such that gethostbyaddr()
      returns chost rather than chost-a.

   C) Grab lpr.c from the Internet and hack awhile. Change the part
      which does a simple gethostname() to put in the hostname which
      matches the IP route to the print server. This would be a fair
      amount of work.

We use solution (or should I say workarround) B) for this. I am not shure,
whether to call SUN to open a bug or not , because it is a design bug. Unlikely
this problem occurs on every Berkley-Remote-Printing system.

Again many thanks!

Volker

----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
    Volker Sander
    Central Institute for Applied Mathematics
    Research Center Juelich
    52425 Juelich
    Germany

    E-mail: V.Sander@kfa-juelich.de
    Phone: (+49) 2461 / 61- 6586
----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:09:00 CDT