[mapguide-trac] #1767: Implement RFC 118 - Support IPv6
MapGuide Open Source
trac_mapguide at osgeo.org
Thu Aug 4 04:50:47 EDT 2011
#1767: Implement RFC 118 - Support IPv6
----------------------+-----------------------------------------------------
Reporter: wuma | Owner: Mars Wu
Type: task | Status: new
Priority: high | Milestone:
Component: Server | Version:
Severity: major | Keywords:
External_id: |
----------------------+-----------------------------------------------------
Comment(by wuma):
Replying to [ticket:1767 wuma]:
> This ticket is for implementing RFC 118 - Support IPv6
This change list implements IPv6 support for IM Server.
1. Enabled IPv6 for ACE
2. Changed the IP validation logic to consider IPv6.
3. Changed the IP comparison logic to consider IPv6.
4. Added a new internal function to determine if a given IP address is in
v4 format
4. Made Server listen to different address according to the MachineIp
parameter in
serverconfig.ini. If the the MachineIp parameter is empty or IPv4 format,
Server
will listen to 0.0.0.0 so that it could listen to all available IPv4
addresses of the
server machine. And if the MachineIp parameter is in IPv6 format, Server
will listen
to :: so that it could listen to all available IPv6 addresses of the
server machine
5. Changed the way how to encode the site server's ip address. Previsously
the site server
address was encoded to session id by converting the IPv4 numbers to be hex
numbers.
For IPv6, this approach is not applicable because IPv6 format is too
complicated and has
non-number separators. The new approach is: encode the ip address to be
base64 string.
6. There was logic in Ajax viewer to validate the session id (in php, aspx
and jsp).
Updated the regular expression pattern to adapt to the new sessionid
format.
7. To make QuickPlot work with IPv6, 2 MgMapBase methods are exposed as
Web API:
- void MgMapBase::SetDisplayDpi(int)
- STRING MgMapBase::GetBackgroundColor()
Previously QuickPlot uses HTTP API to get the map image. The mapagent URL
is conposed
at runtime and has "127.0.0.1" explicitly as the host name. It is to make
the server
gernerated URL could work with PHP + Apache when calling the php function
imagecreatefrompng(url)
8. Updated QuickPlot to use RenderingService::RenderMap() to generate the
map image.
9. Misc:
- Removed a wrong compiler predirective for ServerAdminService:
#define _WIN32_WINNT 0x0400
This predirective will make the compiler always think the OS is very old
(win9x) and use
the wrong library to compile soket related code. It will make couple
project fail to
compile after ACE_HAS_IPV6 has been enabled for ACE.
That macro should be maintained by windows SDK by detecting the OS
version. So removed it
--
Ticket URL: <http://trac.osgeo.org/mapguide/ticket/1767#comment:1>
MapGuide Open Source <http://mapguide.osgeo.org/>
MapGuide Open Source Internals
More information about the mapguide-trac
mailing list