cisco / libsrtp

Library for SRTP (Secure Realtime Transport Protocol)
Other
1.2k stars 472 forks source link

Remove EKT #529

Closed bifurcation closed 3 years ago

bifurcation commented 3 years ago

The EKT code in libsrtp has long been incorrect and unusable. This PR removes it from the code base.

Fixes #384

paulej commented 3 years ago

Who would be relying on this public API given it doesn't function? It seems more confusing keeping it than it, especially since there is a new RFC for EKT.

pabuhler commented 3 years ago

@paulej hopefully no one and removing the header file to force that fact that it is broken is a good thing. Removing the header may result in the need for some application to recompile with he new version if they where including it for some reason and that is fine. The problem I think is the removal of "srtp_ekt_policy_t ekt;" this will change the size and offsets of the srtp_policy_t struct which would be a problem if an application uses a prebuilt distribution of libsrtp, such a change should be done in a major version only.

bifurcation commented 3 years ago

@pabuhler The point about changing the ABI is a good one. I've updated the PR so that there's a deprecated_ekt field in the srtp_policy_t struct where the ekt field was before. In order to keep the file deleted, I changed the type of the field to void*, but pointers are pointers, so it should maintain the layout of the rest of the struct.

pabuhler commented 3 years ago

@bifurcation there are two failed builds, one is clang format and that should be fixed, the other can probably be ignored for now.

bifurcation commented 3 years ago

@pabuhler Looks like all the builds are passing now except for the one where the tooling is broken.