[UPnPContext] Don't keep FAILED mappings in the mapping list
There are currently two places in the code (in UPnPContext::_endIgdDiscovery
and in UPnPContext::registerMapping
) where we set the state of a mapping to MappingState::FAILED
without removing it from the UPnPContext
's mapping list. This, combined with the (now fixed) bugs described in issue #42 (closed) and issue #44 (closed), is what caused the following bug in the daemon tests: jami-daemon#1059 (closed).
There is no point in keeping FAILED
mappings in the context's mapping list, so we should make sure that they are always removed (or possibly set to a different state if appropriate, e.g. if the mapping has the "auto-update" feature enabled).