From: Alexander Nozdrin Date: August 10 2009 4:17am Subject: bzr commit into mysql branch (alik:2850) Bug#45584 List-Archive: http://lists.mysql.com/commits/80416 X-Bug: 45584 Message-Id: <20090810041744.C6F387FC6B@quad> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_xsWjFzaKpa6TveLNSlMqAQ)" --Boundary_(ID_xsWjFzaKpa6TveLNSlMqAQ) MIME-version: 1.0 Content-type: text/plain; CHARSET=US-ASCII Content-transfer-encoding: 7BIT Content-disposition: inline #At file:///mnt/raid/alik/MySQL/bzr/bug38247/azalea-bf-bug45584/ based on revid:alik@stripped 2850 Alexander Nozdrin 2009-08-10 Postfix for Bug#45584: - Initialize vio->remote and vio->addLen in vio_peer_addr() even when vio->localhost is set. - Postpone ip_key construction in ip_to_hostname(). modified: sql/hostname.cc vio/viosocket.c === modified file 'sql/hostname.cc' --- a/sql/hostname.cc 2009-08-08 11:48:48 +0000 +++ b/sql/hostname.cc 2009-08-10 04:17:39 +0000 @@ -298,11 +298,6 @@ bool ip_to_hostname(struct sockaddr_stor (const char *) ip_string, (int) ip->sa_family)); - /* Prepare host name cache key. */ - - char ip_key[HOST_ENTRY_KEY_SIZE]; - prepare_hostname_cache_key(ip_string, ip_key); - /* Check if we have loopback address (127.0.0.1 or ::1). */ if (is_ip_loopback(ip)) @@ -315,6 +310,11 @@ bool ip_to_hostname(struct sockaddr_stor DBUG_RETURN(FALSE); } + /* Prepare host name cache key. */ + + char ip_key[HOST_ENTRY_KEY_SIZE]; + prepare_hostname_cache_key(ip_string, ip_key); + /* Check first if we have host name in the cache. */ if (!(specialflag & SPECIAL_NO_HOST_CACHE)) === modified file 'vio/viosocket.c' --- a/vio/viosocket.c 2009-08-07 19:53:03 +0000 +++ b/vio/viosocket.c 2009-08-10 04:17:39 +0000 @@ -448,9 +448,21 @@ my_bool vio_peer_addr(Vio *vio, char *ip if (vio->localhost) { + /* + Initialize vio->remote and vio->addLen. Set vio->remote to IPv4 loopback + address. + */ + struct in_addr *ip4= &((struct sockaddr_in *) &(vio->remote))->sin_addr; + + vio->remote.ss_family= AF_INET; + vio->addrLen= sizeof (struct sockaddr_in); + + ip4->s_addr= INADDR_LOOPBACK; + + /* Initialize ip_buffer and port. */ + strmov(ip_buffer, "127.0.0.1"); *port= 0; - /* NOTE: vio->remote left uninitialized here. */ } else { --Boundary_(ID_xsWjFzaKpa6TveLNSlMqAQ) MIME-version: 1.0 Content-type: text/bzr-bundle; CHARSET=US-ASCII; name="bzr/alik@stripped" Content-transfer-encoding: 7BIT Content-disposition: inline; filename="bzr/alik@stripped" # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: alik@stripped # target_branch: file:///mnt/raid/alik/MySQL/bzr/bug38247/azalea-bf-\ # bug45584/ # testament_sha1: 83ce273c5e2a7f7b937ce00c2c3e4ee2e095a977 # timestamp: 2009-08-10 08:17:44 +0400 # base_revision_id: alik@stripped # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWWsjqkEAAoVfgFAQWXf//39t 3Dq////wUAXceyABFIKFADCUSGpP1Hqp+TQU/TUzRkp+k09FNGmhiBp6myZTelBxkyaaYTIyBgRi aMEYQaNMAAhxkyaaYTIyBgRiaMEYQaNMAAgxRqSaep+gRqPU0/ShoAAAZAGQGgCSQIAJpiNCam0a aTTU9RjSNGgA0PUDzOicFCOCl9d/RtgEMub8io6Ebtimodp5HCdNObSi9Vzy1NIZEHolCF57NKlW CSxJw5/tDydeHzdMT4iYJIJAXMpzNKn1X6WSciHs5pE40QUbNpk6l+Q1Ufo86t+I/9ZGMIHSmMYb 3UzEmJ6nG1j0wnHipmqc5oPLKn0xzZdNBm3xtmLlTH4AGUTwIiOmOVCMsy5IMexkTNtLa4bmXWjk sWNStOk0KSoJykCkaJok4VkCnXxqpHAOiUW9Gyy4z2x/s0UhJty2mwIUxPajkV4tznQ5hOGZnM2R B3PIY8UDITxww4cRY2kEEDQjEc4xQnA8ihbSJQoVFBOdP6LBPqAqHDB3lcArlE9lV10+FBP8E8uV F4NWR1AeVx3zW+sfSrjmYHAwO2weinHXqLWyuAIkB8jIyJ45mb6R3tilkWlPMg6FmFI5sR5F5JEt wE4FBIDTMoKrjrLDnl/gwa6vKrbXRbgngROQ4fuDJefhppAy2G8KEWutDenXwLTien+ZgePHoQ3E QOWHK3hY92ZgPMDOeYjR1QeSGNewkVyTisxOO065iLESJTyGgVc+0LQuIn+9hZCjiOt2GodjHE+i PhADa8iOqLcinGVRgGROZBrwGtcGJOgKhw8KSqCNhMXysfWUmRACVJiA0UKsncTEXvLxxJU6oHeD 5EnA6OEJAghTAhFt/au427UM3gXVRPFRlfR77Jkwl0inaKQxDEFr7kd3QQsLis1kKid4iVb9MTZR UVV9N0Xkboubs1refQ1bVPPhCTE/Ikuf319VqhG14rzYnYZLYHZ2XbebVplWnn1O+LoLuHKRJzDI jGX3TFjExN5jERe89x5jHuPcf7zHHhet0ZwXsNV/tJDETIapI3/r4KnyGAp6A4yoH5yv6k3URgv4 yCEv8S8b4jv6dAYcUs1A88SPyGn2qIb9Ws5Sifag4/Jhhj8ijkdCwOh1V+FKmP1o7bp+APnXZtH0 iUiBQHSlfnWewxfrIg8GqAN5yIl4jgSdkVLapicDTHswG4HdGvnJ5JzJpHjQVjqWvLzkYmowOJfc XLA2TGpoa8FrmQ6sf6u3ObxZHxl83DxyYVzGlrPuv9lQbzVRgvhIuo/aSDF6IIm4V9vFDtMzcaqM ZUKZwyB7U05OJ7itMd7NphBwbNdD2rqv8LDGiN6pgNfoGXM2d9RiA85ELxMGHzhlv+jMdr3I3I5m e7MCYCJotob5wtEtEucxCe9M2NCLY+nF8tyRNQwDl6jp6SChpNJBirbr1JNn4ZhvTCTEzYqppvqB yIZdpEzDr67Q0JyxLh+0RyQaYnU8+vDnd6h79oiV4ElvIH103CCfM7q2IdoDetHznYlID0ujmKrM 2wSfuHuUBg2bgZNrOLWhJDSHDuX4KJrsvnrRQwmW4lW8Rk50LlP7J9ySkI9eT55q2CupDKYcp/cf NkM4tROwH5PLkmHsLO4Y6ureFHZxKF0gHdkaqsOM77LBq/h1zGFGnqDtvxHj3EAcOZmIIniYd32A 8DSme/6cDBk+yrgE2W0L1l7YTWBGgZiAOW8yhAbB72MzfG/F6qU9CD+3kqQ8zcPLPes2Zu+34sRG YVqGq8/eZ/8JS19mYxSujcjwPWxMUnyCjK9J+x+YUS2TaK0kXXTIfi5FiYZgYkwTUjzM3ryOuAY/ JpAeQHbWkvANuZtO/HBavPIOLHF1z+txOgsd4x8uBuYUgLp0tmqh6f3l8YQitcw/R7zuDQQmJw3L RYIajwP8XckU4UJBrI6pBA== --Boundary_(ID_xsWjFzaKpa6TveLNSlMqAQ)--