> > Ignoring --cipher in a future release will have quite a higher > probability of breaking existing configurations. Now, this is set in > context of --data-ciphers, which is very different code wise. But the > code for --ciphers is essentially the same as --data-ciphers-fallback.
It is not the same. After this change the following will happen: --cipher sets *ONLY* the OCC cipher that we announce during the handshake and give a cipher that it is being ignored. --data-cipher-fallback sets the OCC cipher that we announcer *AND* determines what cipher to use if and only the other side does not announce any cipher. > I am therefore of the opinion, based on the prior --udp-mtu discussion, > that --ciphers should be an alias to --data-ciphers-fallback. > > In addition, since adding a warning about using the deprecated --udp-mtu > option and put up a plan for removing it was also considered too much, I > don't see why that argument would be much different with --ciphers. I think again the difference here is that we want to change what the cipher directives and I think we can agree on: - data-ciphers-fallback behaviour that is only useful for 2.3 and earlier clients with --enable-small does not need to be turned on by default anymore in 2.6. It is already turned off by default in 2.5 if you have no '--cipher' in your config. The --data-ciphers-fallback option is an option that allows you to workaround these situations where the fallback is needed. We should keep it as is. Going forward we need: A way that sets the cipher that will be announced in OCC to keep older (everything 2.4 and below) happy, especially servers/clients that have occ strict enabled. Making --cipher only setting the OCC cipher allows us to be compatible in this as long server/client are 2.4+ as these will negotiate to AES-256-GCM. One thing that we could discuss is if --cipher should add itself to data-ciphers. But if it does we need another switch/option that disables that behaviour again. Otherwise there is no way of migrating (in the sense of not allowing) the cipher used by --cipher. So in summary the options do a combination from: a) set the occ cipher b) set the fallback cipher when the peer is a non-OCC openvpn version c) add themselves to data-ciphers Currently in 2.5: no '--cipher' in config: a) with BF-CBC --cipher xyz in config a), b) and c) if not in --data-ciphers a) but not b) when in --data-ciphers --data-ciphers-fallback a), b) but not c) Basically the idea was that when you ensured that data-ciphers is correct or data-ciphers-fallback was used, you already configured the config with the new NCP in mind. My proposal for 2.6: --cipher just does a) --data-ciphers-fallback does a) and b) _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel