Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix a C89 variable declaration that prevents compiling on older versions of MSVC.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | win-server-ipv6
Files: files | file ages | folders
SHA3-256:80b3b12715275e5edce5fe637294633ded9d8aea9eb743fe006525b6def5c61c
User & Date: drh 2017-12-31 20:02:01
Context
2018-01-01
18:48
Get "fossil server" working for IPv6 on MinGW, using hints from Olivier Mascia. Closed-Leaf check-in: 1627571b user: drh tags: win-server-ipv6
2017-12-31
20:02
Fix a C89 variable declaration that prevents compiling on older versions of MSVC. check-in: 80b3b127 user: drh tags: win-server-ipv6
19:24
Changes from Olivier Mascia to implement IPV6 support for "fossil server" on Windows. Currently does not compile on MinGW due to a missing header file. check-in: 76c7a9a7 user: drh tags: win-server-ipv6
Changes

Changes to src/winhttp.c.

383
384
385
386
387
388
389

390
391
392
393
394
395
396
397
398
399
      int addrlen = sizeof(addr);
      memset(&addr, 0, sizeof(addr));
      addr.sin6_family = AF_INET6;
      if (WSAStringToAddress((LPSTR)zIpAddr, AF_INET6, NULL,
                             (struct sockaddr *)&addr, &addrlen) != 0){
        SOCKADDR_IN addrv4;
        SCOPE_ID scope;

         memset(&addrv4, 0, sizeof(addrv4));
        addrv4.sin_family = AF_INET;
        int addrlen = sizeof(addrv4);
        if (WSAStringToAddress((LPSTR)zIpAddr, AF_INET, NULL,
                               (struct sockaddr *)&addrv4, &addrlen) != 0){
          fossil_fatal("not a valid IP address: %s", zIpAddr);
        }
        memset(&addr, 0, sizeof(addr));
        memset(&scope, 0, sizeof(scope));
        IN6ADDR_SETV4MAPPED(&addr, &addrv4.sin_addr, scope, htons(iPort));







>
|

<







383
384
385
386
387
388
389
390
391
392

393
394
395
396
397
398
399
      int addrlen = sizeof(addr);
      memset(&addr, 0, sizeof(addr));
      addr.sin6_family = AF_INET6;
      if (WSAStringToAddress((LPSTR)zIpAddr, AF_INET6, NULL,
                             (struct sockaddr *)&addr, &addrlen) != 0){
        SOCKADDR_IN addrv4;
        SCOPE_ID scope;
        int addrlen = sizeof(addrv4);
        memset(&addrv4, 0, sizeof(addrv4));
        addrv4.sin_family = AF_INET;

        if (WSAStringToAddress((LPSTR)zIpAddr, AF_INET, NULL,
                               (struct sockaddr *)&addrv4, &addrlen) != 0){
          fossil_fatal("not a valid IP address: %s", zIpAddr);
        }
        memset(&addr, 0, sizeof(addr));
        memset(&scope, 0, sizeof(scope));
        IN6ADDR_SETV4MAPPED(&addr, &addrv4.sin_addr, scope, htons(iPort));