Sharma, Ramakant 2. (Nokia - IN/Bangalore) wrote: >>> The work of parse_and_validate is wasted since you call inet_pton bot= h for >>>validating and for using the result later. You should simply save the = IPv4 and IPv6 binary >>>addresses when the validation succeeds. There should be no get_IPvX_fr= om_lst() functions >>>at all. >=20 > I am bit confused regarding this point. >=20 > The intent of parse_and_validate_sourceip() is to set only valid intern= et address=A0 to=A0 "ldo_local_IP_addresses" so that we don=92t overwrite > =93ldo_local_IP_addresses=94 in case user provides some invalid address= es either from ldap.conf or from application.
Sure, the validation step is required. The result of validation is either= a struct in_addr or a struct in6_addr. You should simply store them directly in the ldapoptions struct. Maybe ad= d a flag to tell that each one has been set. > Now during connect, the need is to get either IPv4 or IPv6 internet add= ress based on target LDAP server's address family type. So, once it is kn= own that target > LDAP server is using IPv4 or IPv6. Code will fetch the related configur= ed bind IP from "ldo_local_IP_addresses". Yes. All that should be required here is to fetch the struct in_addr or i= n6_addr value accordingly. >=20 > Since at this step we are not sure at which index the related bind IP i= s present so, I used inet_pton call to get the matching internet bind IP = (internet > address) from the list (intent was not to use binary address) This is stupid and wasted work. > If the concern is to avoid inet_pton call at this stage then, I can use= "." to search IPv4 and ":" to search IPv6 address in respective getters = (because we > already know that at this stage the fetched IP will always be valid) This is stupid and wasted work. > Kindly let me know your opinion. >=20 > =A0 >=20 > BR, >=20 > Ramakant Sharma >=20 > Senior R&D Engineer >=20 > Nokia Networks, Bangalore >=20 > =A0 >=20 --=20 -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
