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

          Attachments

            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: