SMBRUN - how it works - was Re: Printing - Samba-VMS V2.0.6
John E. Malmberg
wb8tyw at qsl.net
Thu Jun 20 03:03:36 GMT 2002
COLLOT Jean-Yves <Jean-Yves.COLLOT at cofiroute.france> wrote:
> This message is in MIME format. Since your mail reader does not
> understand this format, some or all of this message may not be
> legible.
Your mail client generated this message because it knew that it was
sending in an incompatable format for the internet.
Please set your mailer software to plain text for mailing lists,
newsgroups, and anyone that you do not explicitly know wants to receive
HTML formatted e-mail.
Thanks
>
> ------_=_NextPart_001_01C212BB.ABAF6C60 Content-Type: text/plain
>
> I think that I have some answer, at last for Samba 2.0.3 (I haven't
> got 2.0.6, but I think it works the same way).
Based on your description, it definitely does not.
> The problem is that the "print" command is executed throught the
> SMBRUN routine, which is supposed to spawn the
> SAMBA_ROOT:[BIN]SMBRUN.COM procedure.
>
> For some reason, the default for the executed SMBRUN command is
> /samba_root/bin/smbrun.com, which obviously can't work with DCL
>
> So, just try to add in your smb.conf file, in the [global] area, the
> following line :
>
> smbrun = @SAMBA_ROOT:[BIN]SMBRUN.COM
>
> I hope it will work...
I am not sure that will work in any version of SAMBA for OpenVMS, unless
that section of code has been heavily patched.
SAMBA 2.0.6 tests to see if the SMBRUN program exists before running it.
In order to make that code work for OpenVMS, a logical name must exist
to map to an executable to pass the test.
That means that any special characters in the "smbrun =" line will cause
it to fail this test.
Then it tries to execute it as a command. At this point a DCL symbol
for a foreign command must exist in order for the command to work.
To prevent confusion from modules with different functions, I renamed
the helper procedure to VMS_SMBRUN.COM and changed the symbol name for
SAMBA 2.0.6.
When the VMS_SMBRUN procedure is spawned, it is spawned in the SYSTEM
security context. It must then convert commands and parameters from
UNIX format to OpenVMS format, and if needed adjust the security context.
It also must do translation of the print job numbers. SAMBA and SMB
protocols only allocate either a byte or word for the print job number.
[I would have to look it up in the source to be sure]
The job number in OpenVMS is in a LONGWORD, and can contain any legal
integer value.
So the routines that look up print jobs, must translate the OpenVMS job
numbers to SMB job numbers.
To prevent problems with missidentifying print jobs, the print jobs are
given special names on each print command.
-John
wb8tyw at qsl.network
Personal Opinion Only
>
> ------_=_NextPart_001_01C212BB.ABAF6C60 Content-Type: text/html
> Content-Transfer-Encoding: quoted-printable
[HTML portion deleted]
More information about the samba-vms
mailing list