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

Peter Olsson peter.olsson at visionutveckling.se
Mon May 3 23:05:53 PDT 2010


Thanks for the reply.

I found the file on this location: http://cpansearch.perl.org/src/UMEMOTO/Socket6-0.17/inet_ntop.c.

You can download it directly from there.

/Peter
________________________________________
Från: freeswitch-users-bounces at lists.freeswitch.org [freeswitch-users-bounces at lists.freeswitch.org] för Michael Collins [msc at freeswitch.org]
Skickat: den 4 maj 2010 02:27
Till: freeswitch-users at lists.freeswitch.org
Ämne: Re: [Freeswitch-users] run error after building in vs 2008!

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<mailto: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<mailto:freeswitch-users-bounces at lists.freeswitch.org> [freeswitch-users-bounces at lists.freeswitch.org<mailto:freeswitch-users-bounces at lists.freeswitch.org>] f&#246;r Michael Jerris [mike at jerris.com<mailto:mike at jerris.com>]
Skickat: den 3 maj 2010 06:04
Till: freeswitch-users at lists.freeswitch.org<mailto: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><mailto: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><mailto: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 . . .)



_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org<mailto: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

!DSPAM:4bdf6c0e32936369919130!



More information about the FreeSWITCH-users mailing list