Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 10.0.12
    • Component/s: None
    • Labels:

      Description

      Backport the following functions from MySQL-5.6:

      • INET6_ATON()
      • INET6_NTOA()
      • IS_IPV4()
      • IS_IPV4_COMPAT()
      • IS_IPV4_MAPPED()
      • IS_IPV6()

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            devzone.my Aleai Sumity added a comment -

            Need datatype universal
            store IPv4, IPv6, and MAC addresses
            _________________________________
            Name | Storage Size | Description
            cidr | 12 or 24 bytes | IPv4 and IPv6 networks
            inet | 12 or 24 bytes | IPv4 and IPv6 hosts and networks
            macaddr | 6 bytes | MAC addresses

            http://www.postgresql.org/docs/8.2/static/datatype-net-types.html

            Show
            devzone.my Aleai Sumity added a comment - Need datatype universal store IPv4, IPv6, and MAC addresses _________________________________ Name | Storage Size | Description cidr | 12 or 24 bytes | IPv4 and IPv6 networks inet | 12 or 24 bytes | IPv4 and IPv6 hosts and networks macaddr | 6 bytes | MAC addresses http://www.postgresql.org/docs/8.2/static/datatype-net-types.html
            Hide
            joffrey Joffrey MICHAIE added a comment -

            Hello,

            Is there any plan to backport the feature to MariaDB 5.5 ?

            Thanks in advance,
            Joffrey

            Show
            joffrey Joffrey MICHAIE added a comment - Hello, Is there any plan to backport the feature to MariaDB 5.5 ? Thanks in advance, Joffrey
            Hide
            serg Sergei Golubchik added a comment -

            No, we cannot add new features to the 5.5-GA branch, only bug fixes can go there.

            Show
            serg Sergei Golubchik added a comment - No, we cannot add new features to the 5.5-GA branch, only bug fixes can go there.
            Hide
            devzone.my Aleai Sumity added a comment -

            https://bitbucket.org/watchmouse/mysql-udf-ipv6/overview

            IPv6 and internationalized domain (IDNA) functions for MySQL
            ------------------------------------------------------------

            ======================
            IMPORTANT NOTICE:

            I'm very happy to see that as of MySQL 5.6.3 functions with an identical API seem to be provided by MySQL, but
            with slightly different labels:

            inet6_ntop() -> inet6_ntoa()
            inet6_pton() -> inet6_atop()

            I've created aliases towards the native functions in the latest release of this UDF, with which this
            module should now provide you with a valid upgrade path. The native functions also operate on a VARBINARY(16).

            When loading the functions in this UDF, all examples in the manual work out of the box on pre-5.6 versions of MySQL:

            http://dev.mysql.com/doc/refman/5.6/en/miscellaneous-functions.html#function_inet6-ntoa

            ======================

            These are experimental runtime plug-in (UDF) for MySQL
            that add basic IPv6 and IDNA functions that MySQL v5 is still lacking:

            inet6_ntop and inet6_pton()
            idna_to_ascii() and idna_from_ascii()

            These files are experimental and provided as-is under a EUPL license.

            Pieter Ennes (pieter@watchmouse.com)

            Copyright ©2009-2011 WatchMouse

            LICENSE
            -------

            Licensed under the EUPL, Version 1.1 or – as soon they will be approved
            by the European Commission - subsequent versions of the EUPL (the "Licence");
            You may not use this work except in compliance with the Licence. You may
            obtain a copy of the Licence at:

            http://ec.europa.eu/idabc/eupl

            Unless required by applicable law or agreed to in writing, software
            distributed under the Licence is distributed on an "AS IS" basis,
            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
            See the Licence for the specific language governing permissions and
            limitations under the Licence.

            Show
            devzone.my Aleai Sumity added a comment - https://bitbucket.org/watchmouse/mysql-udf-ipv6/overview IPv6 and internationalized domain (IDNA) functions for MySQL ------------------------------------------------------------ ====================== IMPORTANT NOTICE: I'm very happy to see that as of MySQL 5.6.3 functions with an identical API seem to be provided by MySQL, but with slightly different labels: inet6_ntop() -> inet6_ntoa() inet6_pton() -> inet6_atop() I've created aliases towards the native functions in the latest release of this UDF, with which this module should now provide you with a valid upgrade path. The native functions also operate on a VARBINARY(16). When loading the functions in this UDF, all examples in the manual work out of the box on pre-5.6 versions of MySQL: http://dev.mysql.com/doc/refman/5.6/en/miscellaneous-functions.html#function_inet6-ntoa ====================== These are experimental runtime plug-in (UDF) for MySQL that add basic IPv6 and IDNA functions that MySQL v5 is still lacking: inet6_ntop and inet6_pton() idna_to_ascii() and idna_from_ascii() These files are experimental and provided as-is under a EUPL license. Pieter Ennes (pieter@watchmouse.com) Copyright ©2009-2011 WatchMouse LICENSE ------- Licensed under the EUPL, Version 1.1 or – as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in compliance with the Licence. You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licence for the specific language governing permissions and limitations under the Licence.
            Hide
            svoj Sergey Vojtovich added a comment -

            Additional relevant patches:

            revno: 4162
            committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
            branch nick: 5.6
            timestamp: Fri 2012-08-24 11:29:02 +0400
            message:
              Patch for Bug#14483430 (RECONSIDER MYSQL 5.6.6 BIND-ADDRESS BEHAVIOUR
              WHEN CONFIGURED AS DEFAULT *).
            
              The bug was introduced by WL#6301 (Change default value for the 'bind-address' option).
            
              The user visible problem was that the server didn't start with the default value
              of bind-address, which is '*'. The star means that the server should choose
              '::' or '0.0.0.0' depending on whether IPv6 is available on the box or not.
            
              The IPv6 detection was implemented by calling getaddrinfo() for the IPv6-address.
              It turned out, it is not enough -- getaddrinfo() might successfully return, but later
              OS failed to create an IPv6-socket. This problem is platform dependent
              (reproduced on CentOS 5.2).
            
              The fix is to make the check more strict -- try to create a dummy IPv6-socket
              after getaddrinfo() succeeds.
            
              No test case for the bug since it is platform specific.
                ------------------------------------------------------------
                revno: 3690.68.26
                committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
                branch nick: trunk
                timestamp: Wed 2012-06-20 13:14:59 +0400
                message:
                  Patch for WL#6301 (Change default value for the 'bind-address' option).
            
                  The patch consists of two parts:
            
                    - the patch introduces a new special value for the bind-address
                      option: * (a star). This value means, the server should listen to
                      all network addresses, both IPv6 (if available) and IPv4.
            
                    - the patch changes the bind-address default value to star (*).
                    ------------------------------------------------------------
                    revno: 3690.50.2
                    committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
                    branch nick: trunk
                    timestamp: Fri 2012-06-01 12:26:25 +0400
                    message:
                      WL#6301: Change default value for the 'bind-address' option.
            
                      The patch temporarily reverts the default value to 0.0.0.0.
                ------------------------------------------------------------
                revno: 3690.34.31
                committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
                branch nick: trunk
                timestamp: Thu 2012-05-31 12:58:12 +0400
                message:
                  Patch for WL#6301 (Change default value for the 'bind-address' option).
            
                  The patch changes the bind-address default value (from '0.0.0.0' to '::') and
                  does the following cosmetic changes:
            
                    - it adds a startup warning if the server failed to reset the IPV6_V6ONLY
                      flag on the server socket;
            
                    - it uses vio_getnameinfo() instead of vio_get_normalized_ip_string()
                      to print out IP addresses on startup. That's needed in order to output
                      IPv4-mapped IPv6 addresses properly
                      (vio_get_normalized_ip_string() converts an IPv4-mapped IPv6 address
                      to regular IPv4 address).
            
            Show
            svoj Sergey Vojtovich added a comment - Additional relevant patches: revno: 4162 committer: Alexander Nozdrin <alexander.nozdrin@oracle.com> branch nick: 5.6 timestamp: Fri 2012-08-24 11:29:02 +0400 message: Patch for Bug#14483430 (RECONSIDER MYSQL 5.6.6 BIND-ADDRESS BEHAVIOUR WHEN CONFIGURED AS DEFAULT *). The bug was introduced by WL#6301 (Change default value for the 'bind-address' option). The user visible problem was that the server didn't start with the default value of bind-address, which is '*'. The star means that the server should choose '::' or '0.0.0.0' depending on whether IPv6 is available on the box or not. The IPv6 detection was implemented by calling getaddrinfo() for the IPv6-address. It turned out, it is not enough -- getaddrinfo() might successfully return, but later OS failed to create an IPv6-socket. This problem is platform dependent (reproduced on CentOS 5.2). The fix is to make the check more strict -- try to create a dummy IPv6-socket after getaddrinfo() succeeds. No test case for the bug since it is platform specific. ------------------------------------------------------------ revno: 3690.68.26 committer: Alexander Nozdrin <alexander.nozdrin@oracle.com> branch nick: trunk timestamp: Wed 2012-06-20 13:14:59 +0400 message: Patch for WL#6301 (Change default value for the 'bind-address' option). The patch consists of two parts: - the patch introduces a new special value for the bind-address option: * (a star). This value means, the server should listen to all network addresses, both IPv6 (if available) and IPv4. - the patch changes the bind-address default value to star (*). ------------------------------------------------------------ revno: 3690.50.2 committer: Alexander Nozdrin <alexander.nozdrin@oracle.com> branch nick: trunk timestamp: Fri 2012-06-01 12:26:25 +0400 message: WL#6301: Change default value for the 'bind-address' option. The patch temporarily reverts the default value to 0.0.0.0. ------------------------------------------------------------ revno: 3690.34.31 committer: Alexander Nozdrin <alexander.nozdrin@oracle.com> branch nick: trunk timestamp: Thu 2012-05-31 12:58:12 +0400 message: Patch for WL#6301 (Change default value for the 'bind-address' option). The patch changes the bind-address default value (from '0.0.0.0' to '::') and does the following cosmetic changes: - it adds a startup warning if the server failed to reset the IPV6_V6ONLY flag on the server socket; - it uses vio_getnameinfo() instead of vio_get_normalized_ip_string() to print out IP addresses on startup. That's needed in order to output IPv4-mapped IPv6 addresses properly (vio_get_normalized_ip_string() converts an IPv4-mapped IPv6 address to regular IPv4 address).
            Hide
            martijnotto Martijn Otto added a comment -

            I was quite surprised to find out MariaDB 10.0 does not feature the native inet6_ntoa and inet6_aton functions. It seems like such a simple feature to implement. There is even a plugin mentioned (which we have been using for the last few years) that could be incorporated into MariaDB.

            Show
            martijnotto Martijn Otto added a comment - I was quite surprised to find out MariaDB 10.0 does not feature the native inet6_ntoa and inet6_aton functions. It seems like such a simple feature to implement. There is even a plugin mentioned (which we have been using for the last few years) that could be incorporated into MariaDB.

              People

              • Assignee:
                bar Alexander Barkov
                Reporter:
                serg Sergei Golubchik
              • Votes:
                9 Vote for this issue
                Watchers:
                15 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: