Request: Generic LPQ; Description Variable for Doxprint

Dan Kaminsky effugas at best.com
Fri Dec 18 11:56:13 GMT 1998


Heh All.

[If you're busy, hit "find" and look for "WHAT I NEED FROM YOU" to find out,
uhm, what I need from you :-)  Most of the following describes what I've
done in a feeble attempt to make myself look like somebody you actually want
to help.  Very feeble.  So feeble you should feel pity for me.  But
anyway...]


I'm hacking away at a small addon to Samba called Doxprint.  Pretty decent
stuff; uses shell scripts to interface SMB with Novell Netware using Samba
and Novell For Linux.  Justification is pretty obvious:

1)  Novell clients for Windows are pretty disastrous(imagine rewriting the
networking code for Windows with no source...Novell did it...tried at
least).

2)  Login scripts are a *really bad idea* on College campuses, where the
school doesn't own the computers.  Big liability, I think, having terabytes
of data riding on an eight character password not getting hacked :-)

Doxprint implements the following:

1)  Simple print queue redirection--print to a SMB printer, it'll get sent
to the Novell printer through NDS.

2)  IP-based local printer checking--all users print to the same printer;
the print server deduces from the IP the locality of the user and prints
there.

3)  Nice and detailed logs.  We've got debug logs that show exact output
from commands, we have error logs that contain logs from failed prints, we
have human readable logs that explain in english what just happened, and we
have CSV logs for the database/Excel folks.

Doxprint DOES NOT implement the following:

1)  Significant authentication.  Since the danger of terabytes of data
getting erased by a hacked login script significantly outweighs the danger
of some shmuck stealing an IP and flooding the printer(well, at least on a
campus environment!), only IP checking is used to make sure somebody can
print, and all prints output through a single Novell user.  I'm entertaining
suggestions for adding authentication to this puppy; when I asked Jeremy
about it a while back, he told me quite correctly this was going to be the
thorn in my side.  Nonetheless, Doxprint probably remains an excellent
campus and maybe even department-level Novell<->SMB Middleware Solution.

[WHAT I NEED FROM YOU]
2)  LPQ and LPRM.  This is troublesome, and is the reason why I haven't yet
released Doxprint.  It's one thing for me to parse the Netware Print Queue
status command, but to parse it back into the results from an LPQ really
kills *alot* of data(the job number needs to be thunked harshly, with a
lookup table being kept on the server).  Needless to say, I'd much rather
prefer a way to just feed back in CSV form Document Name, Status, Owner,
Progress, and Started At information.  I'd try to hack it myself, but,
uh...errr...I left my Thinking Hat at school, and I'm home now...yeah,
that's it...

3)  Description Variable reading.  I'm *almost* positive that Windows sends
a description of the print job when it sends a print, because it definitely
receives them...is there any way I can read this from a % variable?  This is
a major UI issue...right now, I set the Print Description that shows up on
the Novell queues as IP, Machine Name, and Unique ID.  Not very good UI for
someone trying to kill a specific job on a queue(what was the IP of the
computer I printed from?),  and if I ever get my generic LPQ, it'll be real
ugly passback information.

BUT WHAT ABOUT THE CODE FREEZE?

Most probably we're talking about all of five or six lines of code that I'm
requesting here; if I knew the namespace and had two clues to bang together
I could probably do it myself.  The benefits are pretty nice: Samba becomes
significantly more flexible.  The harm?  Hurm.  Could set a bad precedent,
but that presumes this is a precedent.  What the hell do I know?

Anyway, if anybody wants more info on this, e-mail me personally.  I have a
nice 6 page opinion piece and a 26 page term project(includes the 6 page
opinion piece) on this whole thing...

Ciao, codegods...

    Effugas




More information about the samba-technical mailing list