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
