On 2 Feb 1999, Niels [ISO-8859-1] M=F6ller wrote:

> Balazs Scheidler <[EMAIL PROTECTED]> writes:
>
> > In the meantime I think I will write support for ssh2-style signatures =
and
> > make it a configure-time option.
>
> Before putting a lot of work into such a workaround (I think that it,
> if enabled, should look at the last part of the version string
> received from the other end, to decide which signature format to use),
> please double check that is is really needed with the latest ssh2
> version.

I have now figured out what the exact difference is between lsh and ssh2
signatures. I now have a question:

I need the version string in the signer object to decide whether old or
new signature styles should be generated. ssh_connection holds a copy of
the version string, but currently `signer's do not receive a pointer to
the connection.

I see four possible solutions:

1) pass ssh_connection to the signers as a parameter, which is bad, since
   things in abstract_crypto.h should not depend on connection.h
2) pass a bool parameter (old_signature), which is true when old
   signatures should be generated, not a good one either.
3) use a global variable, which is the worst
4) create another signer/verifier descendant (dsa_old_signer, 
   dsa_old_verifier), which would generate the old-style signatures, this
   would be good, but signer is initialized when the hostkey is read (e.g.
   no version string is known), and as the connection is opened this
   object has to be replaced by an instance of dsa_old_signer _iff_ ssh2
   is version 2.0.11 or below and the selected keyexchange method is
   diffie-hellman.

what is your suggestion? I would go for #4, so I begin implementing it.

--- Bazsi


Reply via email to