[Freeswitch-users] run error after building in vs 2008!

Michael Collins msc at freeswitch.org
Mon May 3 17:27:32 PDT 2010


Can you put this in a file that we could download and try? Do you have a web
server somewhere that can serve this up?
-MC

On Mon, May 3, 2010 at 1:36 PM, Peter Olsson <
peter.olsson at visionutveckling.se> wrote:

> I also came across this error today on a Windows 2003 server (same issue as
> XP). For now I've commented out the call to inet_ntop(), but I think the
> code below probably could be used - I Googled it. I'll try to find some time
> to get it working within FS. I think there are still some XP/2003 boxes out
> there, so it should be worth fixing.
>
> /Peter
>
> /* const char *
>  * inet_ntop6(src, dst, size)
>  *      convert IPv6 binary address into presentation (printable) format
>  * author:
>  *      Paul Vixie, 1996.
>  */
>
> static const char *
> inet_ntop6(src, dst, size)
>        const u_char *src;
>        char *dst;
>        size_t size;
> {
>        /*
>         * Note that int32_t and int16_t need only be "at least" large
> enough
>         * to contain a value of the specified size.  On some systems, like
>         * Crays, there is no such thing as an integer variable with 16
> bits.
>         * Keep this in mind if you think this function should have been
> coded
>         * to use pointer overlays.  All the world's not a VAX.
>         */
>        char tmp[sizeof "ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"],
> *tp;
>        struct { int base, len; } best, cur;
>        u_int words[IN6ADDRSZ / INT16SZ];
>        int i;
>
>        /*
>         * Preprocess:
>         *      Copy the input (bytewise) array into a wordwise array.
>         *      Find the longest run of 0x00's in src[] for :: shorthanding.
>         */
>        memset(words, '\0', sizeof words);
>        for (i = 0; i < IN6ADDRSZ; i++)
>                words[i / 2] |= (src[i] << ((1 - (i % 2)) << 3));
>        best.base = -1;
>        cur.base = -1;
>        for (i = 0; i < (IN6ADDRSZ / INT16SZ); i++) {
>                if (words[i] == 0) {
>                        if (cur.base == -1)
>                                cur.base = i, cur.len = 1;
>                        else
>                                cur.len++;
>                } else {
>                        if (cur.base != -1) {
>                                if (best.base == -1 || cur.len > best.len)
>                                        best = cur;
>                                cur.base = -1;
>                        }
>                }
>        }
>        if (cur.base != -1) {
>                if (best.base == -1 || cur.len > best.len)
>                        best = cur;
>        }
>        if (best.base != -1 && best.len < 2)
>                best.base = -1;
>
>        /*
>         * Format the result.
>         */
>        tp = tmp;
>        for (i = 0; i < (IN6ADDRSZ / INT16SZ); i++) {
>                /* Are we inside the best run of 0x00's? */
>                if (best.base != -1 && i >= best.base &&
>                    i < (best.base + best.len)) {
>                        if (i == best.base)
>                                *tp++ = ':';
>                        continue;
>                }
>                /* Are we following an initial run of 0x00s or any real hex?
> */
>                if (i != 0)
>                        *tp++ = ':';
>                /* Is this address an encapsulated IPv4? */
>                if (i == 6 && best.base == 0 &&
>                    (best.len == 6 || (best.len == 5 && words[5] ==
> 0xffff))) {
>                        if (!inet_ntop4(src+12, tp, sizeof tmp - (tp -
> tmp)))
>                                return (NULL);
>                        tp += strlen(tp);
>                        break;
>                }
>                tp += SPRINTF((tp, "%x", words[i]));
>        }
>        /* Was it a trailing run of 0x00's? */
>        if (best.base != -1 && (best.base + best.len) == (IN6ADDRSZ /
> INT16SZ))
>                *tp++ = ':';
>        *tp++ = '\0';
>
>        /*
>         * Check for overflow, copy, and we're done.
>         */
>        if ((size_t)(tp - tmp) > size) {
>                errno = ENOSPC;
>                return (NULL);
>        }
>        strcpy(dst, tmp);
>        return (dst);
> }
>
> ________________________________________
> Från: freeswitch-users-bounces at lists.freeswitch.org [
> freeswitch-users-bounces at lists.freeswitch.org] f&#246;r Michael Jerris [
> mike at jerris.com]
> Skickat: den 3 maj 2010 06:04
> Till: freeswitch-users at lists.freeswitch.org
> Ämne: Re: [Freeswitch-users] run error after building in vs 2008!
>
> This was just added in :
>
> commit f1430d521a767a13035d6d8e96686564552194fd
> Author: Anthony Minessale <anthm at freeswitch.org<mailto:
> anthm at freeswitch.org>>
> Date:   Fri Apr 30 15:01:32 2010 -0500
>
>    fix switch_get_addr to work with v6 properly
>
> to fix ipv6 support.  We welcome a patch to restore xp support.
>
> Mike
>
> On May 1, 2010, at 3:29 PM, Phillip Jones wrote:
>
> Oh yeah - looks like that call is not supported in older os like XP.
>
>
> http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/e40465f2-41b7-4243-ad33-15ae9366f4e6
>
> FreeSWITCH does support XP though -
> http://wiki.freeswitch.org/wiki/Users_Guide_Introduction
>
> So I don't know.
>
> On Sat, May 1, 2010 at 2:31 PM, babak yakhchali <
> babak.freeswitch at gmail.com<mailto:babak.freeswitch at gmail.com>> wrote:
> ya I've got that in place
> but as I searched the web they say it's related to windows version (xp
> vista . . .)
>
> !DSPAM:4bde4cca32933312412468!
>
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20100503/8a28a8a2/attachment.html 


More information about the FreeSWITCH-users mailing list