tree 1e74afdf5e1ea8e0accb153b4eecc37f3d6c883a
parent edb7f05047c8367f6f70a56a889dad167f2bc4da
author Abtin Keshavarzian <abtink@google.com> 1689106894 -0700
committer GitHub <noreply@github.com> 1689106894 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJkrbnOCRBK7hj4Ov3rIwAAbNkIAKFFwgj8SkYYyRkdb/lwnjeN
 6T8/oQSDTKzdw88RqYPjo4OYw7sJ1M4wwD+qdldKfxe+xYvHj1M1V6QKWCXw5J7J
 5x7pbSoUWo+To1AyDXttofwmXRNizy7h6MvxH3B9AogBUhAMTra0JzzyNFuAhMbN
 Hk4tYh6nGYSq/Agenyuv+uP7xWB254HjYQ69vI5KoVQPDo2xel1IMVa2RvJ98e9h
 /x/K+KR6L2LJTf3fPIceTp8zq8V/AZjVgWnGJujzAdeXm8WPgaA1gRxTvdm/APp9
 pE7i35I3/rl7mk7cksa1nBqrtjPf1WN6JRjlsoGLk+6U8oASR9cY7+MQ6UI3Afw=
 =D29X
 -----END PGP SIGNATURE-----
 

[srp-server] simplify sub-type services (#9208)

This commit updates and simplifies how `Srp::Server` stores the
sub-type services. The earlier implementation treated each sub-type
as its own service, which was tracked by a `Service` object. This
design allowed sub-type services to be registered and deleted
individually. However, the latest SRP RFC draft requires SRP servers
to treat updates to a service and all its sub-types as atomic. This
means that when a service and its sub-types are being updated, the
SRP Update message must contain the entirety of information about
that service and its sub-types. As a result of this change, we can
simplify the server implementation by tracking sub-types as an array
of sub-type names in the `Service` object.

This commit also updates the way the server commits a received SRP
update info into its existing data. Previously, the server would try
to merge the new information into existing `Host` and `Service`
objects. However, this could be inefficient, as it would require
moving heap-allocated items like "txt data" and/or array of host IPv6
addresses from one object to another. The new `CommitSrpUpdate()`
implementation now starts from the new `Host` object that is
constructed as the received SRP Update message from the client is
parsed. Any previously registered services that are not present in
the new `Host` object are then moved into it.

This commit adds new public OT APIs for retrieving the sub-types
associated with a service and making it easier to iterate over the
list of registered services by a host. Due to fundamental changes in
how services are stored by the `Srp::Server` class, some existing
public `otSrpServer` APIs for filtering and iterating over services
are being removed.