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
Initial. Printer has its own IP and port.
At this scenario any user prints anything, anytime, and he is unknown.
SCENARIO 2 - WITH LPPROXY
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
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

.
(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!