Hello, The problem turned out to be quite straightforward - in DHGEX.chooseDH() for the case 'No suitable primes found, defaulting to DHG1' we need to swap P1 and G.
It should be: return getDH(new BigInteger(DHGroupData.getP1()), new BigInteger(DHGroupData.getG())); instead of: return getDH(new BigInteger(DHGroupData.getG()), new BigInteger(DHGroupData.getP1())); Do you want me to raise JIRA issue for that? Regards, Pawel 2014-12-09 14:58 GMT+01:00 Guillaume Nodet <[email protected]>: > The code seems to be ok to me. > Doesn't the problem come from the client which does not accept the selected > DH group ? Which client are you using ? > The init() method is called when receiving a SSH_MSG_KEXINIT message. > Do you have the server / client log ? > > Anyway, if you can reproduce it in a unit test, feel free to raise a JIRA > and attach it there. > > > 2014-12-09 14:21 GMT+01:00 Pawel Sm7 <[email protected]>: > >> Hello, >> >> I have a question concerning situation when no suitable primes are >> found (chooseDH(), DGGEX.java file, org.apache.sshd.server.kex >> package). >> The intention is defaulting to DHG1 in this situation, however I see >> that after several tries eventually the operation fails, >> and there is no switching to DHG1. I also do not see init() called for >> DHG1 in such situation, just returning: >> return getDH(new BigInteger(DHGroupData.getG()), new >> BigInteger(DHGroupData.getP1())); >> >> Could you please confirm that this is an issue? Do you want me to >> raise an issue in JIRA? >> >> Regards, >> >> Pawel >>
