GURI SoftHouse
System Development,
Auditing and Consulting

MOTIVATION AND THE PROBLEM


"Network managers always are supplicant for money. Or they wait for a miracle either they do the miracle."

System Network Manager


INTRODUCTION

Network Administration is very easy if you have money enough to buy what you need. When you need something and haven't money .... you need to find out solutions .... That's the case.

Today, a network printer (you know: that printer with a network card!) has a lot of features. One of them is that it provides a first and/or last page with user information "automagically". This may be done, also, by configuring each user system (Windows Printer Drivers and Spool, Linux cups, lpd, etc). My arms and brain were tired to seat down on chairs, configure systems and after a couple days all of them is misconfigured by user intervention (new installation/rescue after virus/worms/*wares): "He always knows what he is doing!".

The network under my administration has 140 computers and me. (I'm not a computer but someone told me that I'm almost there!!) . All of them has fixed IP address and a host name (of course!), running Windows, Linux, *BSD, OpenVMS,  HP-UX, SunOS, etc, and sharing the same (and only one) network printer. (This what a poor organization pay for!). Windows boxes always broken! Linux box always updating (user behind keyboard wants latest version of "that" distribution for my pain)..

No so far, at same room of network printer, the department has a secretary that would like to know "Who devil and when in this hell print this?", looking to pages and pages with only one character impressed... and under critical eyes of my boss! (That's not good!!). So I need a fast, easy and effective solution under only one system.

SOLUTION

The solution is a TCP/IP session proxy/HP JetDirect Emulator. One system can use the IP address of the network printer (don't matter what type of printer!) and send a first page with IP address, host name, date, room and phone extension of user. The application don't need know what it is printing but WHO prints that document, and WHEN it was printed (the secretary wishes!).

HOW THIS WORKS

Initially, the printer has its own IP address and provides a JetDirect Service, under TCP protocol and port 9100.

One system assumes the logical identity of network printer, under protocol TCP and port 9100. If the printer is connected to parallel port (directly connected) I configure the application to Emulation only. If the printer is connected to network then that system assumes the logical identity of printer. At all situation the simulator prints a first page with requested information before each sent document. (See figure above)

Of course the real printer will have another logical identity unreachable by user. This action requests that the connection to printer in keep-alive mode (application and printer always connected) because the JetDirect embedded software implements only one access per time avoiding complex spool control letting the hard job to be done by client side application (for instance, CUPS).

SCENARIO 1

Fig. 1
Initial. Printer has its own IP and port.


At this scenario any user prints anything, anytime, and he is unknown.

SCENARIO 2 - WITH LPPROXY

Fig. 2
Emulation. Printer is connected directly to parallel, usb or serial port.


User is identified. The priter communication port may be disabled, the user access is controlled through its IP address and registered.

SCENARIO 3 - WITH LPPROXY

Fig. 3
Proxied. Printer is connect to network unreachable by others.


User is identified. The priter communication port may be disabled, the user access is controlled through its IP address and registered.

DOWNLOADING

You can download the lastest source code and samples files or the binary (almost ready to use!) tar file. They are free, under GPL.

CONFIGURATION

If you want to know the configuration parameters and what they does (taking a look, only) you can visit the configuration manual of current version.

IMPROVMENTS

If you have/know any bug, comments, donations or anything else about lpproxy then, please, send an e-mail to Contato. (I will not say to avoid spammers. They hate to open files to collect e-mail address for while, of course!!).

Any comments? Contact us!