Sam,

Great goal. Bad implementation.

Job reception is done by lpd which then starts a process to handle it. That process will inherit the environment of the master daemon, however if additional jobs get queued before it is finished with the first, it will continue to process the additional jobs WITH THE SAME ENVIRONMENT.

The only safe way to pass data to a filter is through the control file. That's why it exists.

Unfortunately, there seem to be some constraints as to what sort of things you can stick in the control file. I'm a bit fuzzy on this, but not fuzzy at all about using environment to pass data to filters. Hurts when you do that.

-Rick

Sam Noble wrote:
	I want to write a routing filter which makes its decision based on
information about (primarily) the authentication state of a print job. Did
we receive it from a host we trust? From a reserved port? Is some sort of
"strong" authentication involved in the job submission (ie Kerberos)?

	It seems that much of this information might be useful for any
filter (although I don't have a concrete example at the moment). A filters
environment gets initialized via the following:

Filter_file() --> Make_passthrough() --> Setup_env_for_process()

	So if this information is to be made available to all filters, it
ought to be done in one of those places. My current thinking is in
Setup_env_for_process(). I am not overly familiar with the philosophy
behind the LPRng architecture, however one way I can see to accomplish my
goal is just to add Find_str_value()/Set_str_value() pairs.

	I'd like such functionality to become a standard part of the LPRng
filter mechanism. To that end, if there is a more general way to get the
information I want, I'm willing to do a little more work to implement
it. If anybody (Patrick?) has a suggestion/comment, I'm interested in some
feedback.

	I'm aware of the lpd.perms mechanism, but it is not useful for
redirecting a job. It may or may not be appropriate to try to extend the
permissions checking code.

/* Sam */

-----------------------------------------------------------------------------
YOU MUST BE A LIST MEMBER IN ORDER TO POST TO THE LPRNG MAILING LIST
The address you post from MUST be your subscription address

If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body.  For the impatient,
to subscribe to a list with name LIST,  send mail to [EMAIL PROTECTED]
with:                           | example:
subscribe LIST <mailaddr>       |  subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr>     |  unsubscribe lprng [EMAIL PROTECTED]

If you have major problems,  send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------


--
|Rick Cochran                                   phone: 607-255-7618|
|Cornell CIT - Systems & Operations - Net-Print   FAX: 607-255-8521|
|730 Rhodes Hall, Ithaca, N.Y. 14853        email: [EMAIL PROTECTED]|


-----------------------------------------------------------------------------
YOU MUST BE A LIST MEMBER IN ORDER TO POST TO THE LPRNG MAILING LIST
The address you post from MUST be your subscription address

If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body.  For the impatient,
to subscribe to a list with name LIST,  send mail to [EMAIL PROTECTED]
with:                           | example:
subscribe LIST <mailaddr>       |  subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr>     |  unsubscribe lprng [EMAIL PROTECTED]

If you have major problems,  send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------

Reply via email to