On 07/09/2015 11:15 AM, Pavel Reichl wrote:
Hello,

please see attached patches.

1st patch adds return value ENOENT to sss_iface_addr_list_get() so I can provide more concrete debug message for missing interface or if interface is not suitable (missing IP address)

2nd patch:
* I introduced new public function sss_iface_addr_concatenate(), I'm aware that this function is probably not reusable but I needed to work around that 'struct sss_iface_addr' in defined in source file only. * I had troubles with correctly handling creating talloc hiearchy of IPs of different interfaces. I decided to use first address of first found interface as a parent talloc context for other interfaces. I attached talloc report output to illustrate this.

1.
    full talloc report on 'struct sdap_dyndns_get_addrs_state' (total
        16 bytes in   1 blocks)
2.
    full talloc report on 'struct sdap_dyndns_get_addrs_state' (total
       376 bytes in  19 blocks)
3.
      struct sss_iface_addr          contains    360 bytes in  18
    blocks (ref 0) 0xbc0650
4.
          struct sss_iface_addr          contains    120 bytes in   6
    blocks (ref 0) 0xbecee0
5.
              struct sss_iface_addr          contains     80 bytes in
      4 blocks (ref 0) 0xbeb920
6.
                  struct sss_iface_addr          contains 40 bytes in
      2 blocks (ref 0) 0xbd03f0
7.
../src/providers/dp_dyndns.c:219 contains 16 bytes in 1 blocks (ref 0) 0xbd0470
8.
                  ../src/providers/dp_dyndns.c:219 contains   16
    bytes in   1 blocks (ref 0) 0xbeb9a0
9.
              ../src/providers/dp_dyndns.c:219 contains     16 bytes
    in   1 blocks (ref 0) 0xbecf60
10.
          struct sss_iface_addr          contains    120 bytes in   6
    blocks (ref 0) 0xbd0640
11.
              struct sss_iface_addr          contains     80 bytes in
      4 blocks (ref 0) 0xbd19a0
12.
                  struct sss_iface_addr          contains 40 bytes in
      2 blocks (ref 0) 0xbcfb00
13.
../src/providers/dp_dyndns.c:219 contains 16 bytes in 1 blocks (ref 0) 0xbed300
14.
                  ../src/providers/dp_dyndns.c:219 contains   16
    bytes in   1 blocks (ref 0) 0xbd1a20
15.
              ../src/providers/dp_dyndns.c:219 contains     16 bytes
    in   1 blocks (ref 0) 0xbd06c0
16.
          struct sss_iface_addr          contains     80 bytes in   4
    blocks (ref 0) 0xbd0eb0
17.
              struct sss_iface_addr          contains     40 bytes in
      2 blocks (ref 0) 0xbd1900
18.
                  ../src/providers/dp_dyndns.c:219 contains   16
    bytes in   1 blocks (ref 0) 0xbec4f0
19.
              ../src/providers/dp_dyndns.c:219 contains     16 bytes
    in   1 blocks (ref 0) 0xbeca10
20.
../src/providers/dp_dyndns.c:219 contains 16 bytes in 1 blocks (ref 0) 0xbe6ae0

* I was thinking whether it would be a good idea to handle the case when processing of interfaces provided in dyndns_iface yields no address at all by continuing to detect DYNDNS address from LDAP connection?

Thanks!


_______________________________________________
sssd-devel mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/sssd-devel
While reading #2558 I noticed that there is a further request relating to these patches - mbasti asks If there could be some mean how to send IPs of all interfaces?
Is this a good idea in general?
I suppose I could implement it with some special value for 'dyndns_iface' - ideally the special value would contain characters prohibited to be part of interface name if there are such...
_______________________________________________
sssd-devel mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/sssd-devel

Reply via email to