From AMule Project FAQ
Jump to: navigation, search
English | Deutsch

ECv2 stands for External Connections 2.0.

It is a complete rewrite of the old External Connections code, mainly designed by GonoszTopi with help from phoenix and lfroen.

This new version (starting from aMule 2.0.0-rc8) is incompatible with any previous version.

The necessity to redisign the External Connections code came from a security hole a user reported and had to be quickly patched. After fixing it, it became obvious that the protocol's design wasn't flexible, secure and fast enough to have it as a standard protocol for any future application trying to connect to aMule.

The main goal of this protocol is to make it binary (up to now, it was strings-driven) and to enforce its security. Apart from that, much care has been taken in making it as fast and flexible as possible. It has become so complex that it can now be considered an Application layer (in the OSI model).

The new protocol's design specification can be found in the docs that come along with the aMule tarball.