hs: BUG() is triggered with ephemeral service on config reload
Ticket legacy/trac#20853 introduced the issue with commit `63d3ba96f973735ded16e78bd0b8406b6fcdec35` (tor-0.3.0.1-alpha) with:
```
+ if (BUG(rend_service_is_ephemeral(new)) ||
+ BUG(rend_service_is_ephemeral(old))) {
+ continue;
```
The new service list does not ONLY contains ephemeral service so if you have one regular service and then you add an ephemeral one, a config reload will trigger `BUG(rend_service_is_ephemeral(new)` because that `new` object is from the global list containing all types of service.
Furthermore, this whole loop that is suppose to copy the intro points from the current service to the newly configured one is broken with that commit.
I'm working on a refactoring to first fix this bug then extract this large loop into a function and improve few things along the way _with_ unit tests. It is also an important piece of work for legacy/trac#20657 (prop224 service) because we'll need it for the v3 service list.
issue