Hello,

I have posted a patch two weeks ago to fix an issue in 6rd but did not get
any feedback nor did I see it was applied. Could you give some feedback if
the patch is not valid or something else is wrong.
As mentioned in the original submission some bits of the newly calculated
IPv6 address were not cleared and the 6rdcalc program could be looping
causing the 6rd interface to remain in the down state in netifd.

Thx,
Hans

On Fri, Nov 15, 2013 at 1:02 PM, Hans Dedecker <[email protected]> wrote:

> The correct bits are now cleared in the IPv6 address as the shift
> value to the correct byte in the IPv6 address was wrong. Depending
> on the stack values this could result in a hanging 6rdcalc program
> due to an endless loop.
>
> Signed-off-by: Hans Dedecker <[email protected]>
> ---
>  package/6rd/src/6rdcalc.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/package/6rd/src/6rdcalc.c b/package/6rd/src/6rdcalc.c
> index 56e07d2..87bc397 100644
> --- a/package/6rd/src/6rdcalc.c
> +++ b/package/6rd/src/6rdcalc.c
> @@ -110,7 +110,7 @@ int main(int argc, const char **argv)
>
>         /* Clear remaining bits. */
>         while (v6it < 128) {
> -               byte6 = (unsigned char *)(&v6.s6_addr) + (v6it >> 2);
> +               byte6 = (unsigned char *)(&v6.s6_addr) + (v6it >> 3);
>                 bit6 = 128 >> (v6it & 0x07);
>
>                 *byte6 &= ~bit6;
> --
> 1.7.1
>
>
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to