diff options
author | Timo Teräs <timo.teras@iki.fi> | 2014-05-22 20:30:05 +0300 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2014-05-22 20:30:36 +0300 |
commit | b15a27018deda4d4a9666dbd22e1df74e681c7d5 (patch) | |
tree | 5e1f237669553b0bb47112d882c5fe8789c9581e | |
parent | 45f94bbadb7c0f693557ac4b7d51d4e7a832d787 (diff) | |
download | aports-b15a27018deda4d4a9666dbd22e1df74e681c7d5.tar.bz2 aports-b15a27018deda4d4a9666dbd22e1df74e681c7d5.tar.xz |
main/libmaxminddb: upgrade to 0.5.5
the license was changed, so update it.
3 files changed, 7 insertions, 303 deletions
diff --git a/main/libmaxminddb/0001-avoid-unneeded-memory-allocations.patch b/main/libmaxminddb/0001-avoid-unneeded-memory-allocations.patch deleted file mode 100644 index 3126a56036..0000000000 --- a/main/libmaxminddb/0001-avoid-unneeded-memory-allocations.patch +++ /dev/null @@ -1,112 +0,0 @@ -From f4e82c231bd5089db5ee8b8082489304264bc805 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Thu, 14 Nov 2013 14:35:18 +0200 -Subject: [PATCH 1/2] avoid unneeded memory allocations - ---- - bin/mmdblookup.c | 18 ++++++------------ - src/maxminddb.c | 14 +++++--------- - 2 files changed, 11 insertions(+), 21 deletions(-) - -diff --git a/bin/mmdblookup.c b/bin/mmdblookup.c -index ac72a93..4b7733d 100644 ---- a/bin/mmdblookup.c -+++ b/bin/mmdblookup.c -@@ -24,7 +24,7 @@ LOCAL int lookup_and_print(MMDB_s *mmdb, const char *ip_address, - int lookup_path_length); - LOCAL int benchmark(MMDB_s *mmdb, int iterations); - LOCAL MMDB_lookup_result_s lookup_or_die(MMDB_s *mmdb, const char *ipstr); --LOCAL char *random_ipv4(); -+LOCAL void random_ipv4(char *ip); - /* --prototypes end - don't remove this comment-- */ - /* *INDENT-ON* */ - -@@ -304,13 +304,14 @@ LOCAL int lookup_and_print(MMDB_s *mmdb, const char *ip_address, - - LOCAL int benchmark(MMDB_s *mmdb, int iterations) - { -+ char ip_address[16]; - int exit_code = 0; -- srand( time(NULL) ); - -+ srand( time(NULL) ); - clock_t time = clock(); - - for (int i = 0; i < iterations; i++) { -- char *ip_address = random_ipv4(); -+ random_ipv4(ip_address); - - MMDB_lookup_result_s result = lookup_or_die(mmdb, ip_address); - MMDB_entry_data_list_s *entry_data_list = NULL; -@@ -324,13 +325,11 @@ LOCAL int benchmark(MMDB_s *mmdb, int iterations) - fprintf(stderr, "Got an error looking up the entry data - %s\n", - MMDB_strerror(status)); - exit_code = 5; -- free(ip_address); - MMDB_free_entry_data_list(entry_data_list); - goto end; - } - } - -- free(ip_address); - MMDB_free_entry_data_list(entry_data_list); - } - -@@ -369,13 +368,8 @@ LOCAL MMDB_lookup_result_s lookup_or_die(MMDB_s *mmdb, const char *ipstr) - return result; - } - --LOCAL char *random_ipv4() -+LOCAL void random_ipv4(char *ip) - { -- int ip_int = rand(); -- uint8_t *bytes = (uint8_t *)&ip_int; -- -- char *ip = malloc(16); - snprintf(ip, 16, "%u.%u.%u.%u", -- *bytes, *(bytes + 1), *(bytes + 2), *(bytes + 3)); -- return ip; -+ rand()&0xff, rand()&0xff, rand()&0xff, rand()&0xff); - } -diff --git a/src/maxminddb.c b/src/maxminddb.c -index f3a7dfd..3bf7154 100644 ---- a/src/maxminddb.c -+++ b/src/maxminddb.c -@@ -625,20 +625,18 @@ MMDB_lookup_result_s MMDB_lookup_sockaddr(MMDB_s *mmdb, - } - }; - -- uint8_t *address; -+ uint8_t mapped_address[16], *address; - if (mmdb->metadata.ip_version == 4) { - if (sockaddr->sa_family == AF_INET6) { - return result; - } -- address = malloc(4); -- memcpy(address, &((struct sockaddr_in *)sockaddr)->sin_addr.s_addr, 4); -+ address = (uint8_t*) &((struct sockaddr_in *)sockaddr)->sin_addr.s_addr; - } else { -- // We need calloc() here for the IPv4 case - the first 12 bytes must be 0 -- address = calloc(1, 16); - if (sockaddr->sa_family == AF_INET6) { -- memcpy(address, -- ((struct sockaddr_in6 *)sockaddr)->sin6_addr.s6_addr, 16); -+ address = (uint8_t*) &((struct sockaddr_in6 *)sockaddr)->sin6_addr.s6_addr; - } else { -+ address = mapped_address; -+ memset(address, 0, 12); - memcpy(address + 12, - &((struct sockaddr_in *)sockaddr)->sin_addr.s_addr, 4); - } -@@ -648,8 +646,6 @@ MMDB_lookup_result_s MMDB_lookup_sockaddr(MMDB_s *mmdb, - find_address_in_search_tree(mmdb, address, sockaddr->sa_family, - &result); - -- free(address); -- - return result; - } - --- -1.8.4.1 - diff --git a/main/libmaxminddb/0002-make-MMDB_aget_value-s-path-argument-const-correct.patch b/main/libmaxminddb/0002-make-MMDB_aget_value-s-path-argument-const-correct.patch deleted file mode 100644 index 958067185f..0000000000 --- a/main/libmaxminddb/0002-make-MMDB_aget_value-s-path-argument-const-correct.patch +++ /dev/null @@ -1,174 +0,0 @@ -From ea773070121c9e0ef55680af4d9b45a8be6bfe1b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Thu, 14 Nov 2013 15:28:04 +0200 -Subject: [PATCH 2/2] make MMDB_aget_value()'s path argument const correct - ---- - include/maxminddb.h | 2 +- - src/maxminddb.c | 49 ++++++++++++++++++------------------------------- - 2 files changed, 19 insertions(+), 32 deletions(-) - -diff --git a/include/maxminddb.h b/include/maxminddb.h -index 599d4d5..3c6e645 100644 ---- a/include/maxminddb.h -+++ b/include/maxminddb.h -@@ -178,7 +178,7 @@ typedef struct MMDB_search_node_s { - extern int MMDB_vget_value(MMDB_entry_s *start, MMDB_entry_data_s *entry_data, - va_list va_path); - extern int MMDB_aget_value(MMDB_entry_s *start, MMDB_entry_data_s *entry_data, -- char **path); -+ const char *const * path); - extern int MMDB_get_metadata_as_entry_data_list( - MMDB_s *mmdb, MMDB_entry_data_list_s **entry_data_list); - extern int MMDB_get_entry_data_list(MMDB_entry_s *start, -diff --git a/src/maxminddb.c b/src/maxminddb.c -index 3bf7154..fc82c9a 100644 ---- a/src/maxminddb.c -+++ b/src/maxminddb.c -@@ -132,9 +132,9 @@ LOCAL int populate_result(MMDB_s *mmdb, uint32_t node_count, uint32_t value, - uint16_t netmask, MMDB_lookup_result_s *result); - LOCAL uint32_t get_left_28_bit_record(const uint8_t *record); - LOCAL uint32_t get_right_28_bit_record(const uint8_t *record); --LOCAL int lookup_path_in_array(char *path_elem, MMDB_s *mmdb, -+LOCAL int lookup_path_in_array(const char *path_elem, MMDB_s *mmdb, - MMDB_entry_data_s *entry_data); --LOCAL int lookup_path_in_map(char *path_elem, MMDB_s *mmdb, -+LOCAL int lookup_path_in_map(const char *path_elem, MMDB_s *mmdb, - MMDB_entry_data_s *entry_data); - LOCAL int skip_map_or_array(MMDB_s *mmdb, MMDB_entry_data_s *entry_data); - LOCAL int decode_one_follow(MMDB_s *mmdb, uint32_t offset, -@@ -402,7 +402,7 @@ LOCAL MMDB_s make_fake_metadata_db(MMDB_s *mmdb) - LOCAL uint32_t value_for_key_as_uint16(MMDB_entry_s *start, char *key) - { - MMDB_entry_data_s entry_data; -- char *path[] = { key, NULL }; -+ const char *path[] = { key, NULL }; - MMDB_aget_value(start, &entry_data, path); - return entry_data.uint16; - } -@@ -410,7 +410,7 @@ LOCAL uint32_t value_for_key_as_uint16(MMDB_entry_s *start, char *key) - LOCAL uint32_t value_for_key_as_uint32(MMDB_entry_s *start, char *key) - { - MMDB_entry_data_s entry_data; -- char *path[] = { key, NULL }; -+ const char *path[] = { key, NULL }; - MMDB_aget_value(start, &entry_data, path); - return entry_data.uint32; - } -@@ -418,7 +418,7 @@ LOCAL uint32_t value_for_key_as_uint32(MMDB_entry_s *start, char *key) - LOCAL uint64_t value_for_key_as_uint64(MMDB_entry_s *start, char *key) - { - MMDB_entry_data_s entry_data; -- char *path[] = { key, NULL }; -+ const char *path[] = { key, NULL }; - MMDB_aget_value(start, &entry_data, path); - return entry_data.uint64; - } -@@ -426,7 +426,7 @@ LOCAL uint64_t value_for_key_as_uint64(MMDB_entry_s *start, char *key) - LOCAL char *value_for_key_as_string(MMDB_entry_s *start, char *key) - { - MMDB_entry_data_s entry_data; -- char *path[] = { key, NULL }; -+ const char *path[] = { key, NULL }; - MMDB_aget_value(start, &entry_data, path); - return strndup((char *)entry_data.utf8_string, entry_data.data_size); - } -@@ -436,7 +436,7 @@ LOCAL int populate_languages_metadata(MMDB_s *mmdb, MMDB_s *metadata_db, - { - MMDB_entry_data_s entry_data; - -- char *path[] = { "languages", NULL }; -+ const char *path[] = { "languages", NULL }; - MMDB_aget_value(metadata_start, &entry_data, path); - - if (MMDB_DATA_TYPE_ARRAY != entry_data.type) { -@@ -487,7 +487,7 @@ LOCAL int populate_description_metadata(MMDB_s *mmdb, MMDB_s *metadata_db, - { - MMDB_entry_data_s entry_data; - -- char *path[] = { "description", NULL }; -+ const char *path[] = { "description", NULL }; - MMDB_aget_value(metadata_start, &entry_data, path); - - if (MMDB_DATA_TYPE_MAP != entry_data.type) { -@@ -831,43 +831,30 @@ int MMDB_get_value(MMDB_entry_s *start, MMDB_entry_data_s *entry_data, ...) - int MMDB_vget_value(MMDB_entry_s *start, MMDB_entry_data_s *entry_data, - va_list va_path) - { -- char **path = NULL; -- -+ const char **path = NULL; -+ const char *path_elem; - int i = 0; -- char *path_elem; -- while (NULL != (path_elem = va_arg(va_path, char *))) { -- path = realloc(path, sizeof(char *) * (i + 1)); -+ -+ while (NULL != (path_elem = va_arg(va_path, const char *))) { -+ path = realloc(path, sizeof(const char *) * (i + 2)); - if (NULL == path) { - return MMDB_OUT_OF_MEMORY_ERROR; - } - -- path[i] = strdup(path_elem); -- if (NULL == path[i]) { -- return MMDB_OUT_OF_MEMORY_ERROR; -- } -+ path[i] = path_elem; - i++; - } -- -- path = realloc(path, sizeof(char *) * (i + 1)); -- if (NULL == path) { -- return MMDB_OUT_OF_MEMORY_ERROR; -- } - path[i] = NULL; - - int status = MMDB_aget_value(start, entry_data, path); - -- i = 0; -- char *elem; -- while (NULL != (elem = path[i++])) { -- free(elem); -- } - free(path); - - return status; - } - - int MMDB_aget_value(MMDB_entry_s *start, MMDB_entry_data_s *entry_data, -- char **path) -+ const char *const * path) - { - MMDB_s *mmdb = start->mmdb; - uint32_t offset = start->offset; -@@ -888,7 +875,7 @@ int MMDB_aget_value(MMDB_entry_s *start, MMDB_entry_data_s *entry_data, - return MMDB_INVALID_LOOKUP_PATH_ERROR; - } - -- char *path_elem; -+ const char *path_elem; - while (NULL != (path_elem = *(path++))) { - DEBUG_NL; - DEBUG_MSGF("path elem = %s", path_elem); -@@ -921,7 +908,7 @@ int MMDB_aget_value(MMDB_entry_s *start, MMDB_entry_data_s *entry_data, - return MMDB_SUCCESS; - } - --LOCAL int lookup_path_in_array(char *path_elem, MMDB_s *mmdb, -+LOCAL int lookup_path_in_array(const char *path_elem, MMDB_s *mmdb, - MMDB_entry_data_s *entry_data) - { - uint32_t size = entry_data->data_size; -@@ -952,7 +939,7 @@ LOCAL int lookup_path_in_array(char *path_elem, MMDB_s *mmdb, - return MMDB_SUCCESS; - } - --LOCAL int lookup_path_in_map(char *path_elem, MMDB_s *mmdb, -+LOCAL int lookup_path_in_map(const char *path_elem, MMDB_s *mmdb, - MMDB_entry_data_s *entry_data) - { - uint32_t size = entry_data->data_size; --- -1.8.4.1 - diff --git a/main/libmaxminddb/APKBUILD b/main/libmaxminddb/APKBUILD index 1126cec575..b3331e0f06 100644 --- a/main/libmaxminddb/APKBUILD +++ b/main/libmaxminddb/APKBUILD @@ -1,26 +1,23 @@ # Maintainer: Timo Teräs <timo.teras@iki.fi> pkgname=libmaxminddb -pkgver=0.0.20131114 -_commitid=159b18652fb265025e1617266692f8e5a39cccf6 +pkgver=0.5.5 pkgrel=0 pkgdesc="Maxmind GeoIP2 database library" url="https://github.com/maxmind/$pkgname" arch="all" -license="LGPL" +license="ASL 2.0" depends="curl" makedepends="automake autoconf libtool" install="" options="" subpackages="$pkgname-dev" -source="libmaxminddb-$pkgver.tar.gz::$url/archive/$_commitid.tar.gz - 0001-avoid-unneeded-memory-allocations.patch - 0002-make-MMDB_aget_value-s-path-argument-const-correct.patch +source="$url/releases/download/$pkgver/$pkgname-$pkgver.tar.gz libmaxminddb.cron libmaxminddb.confd " -_builddir="$srcdir"/$pkgname-$_commitid +_builddir="$srcdir"/$pkgname-$pkgver prepare() { local i @@ -30,7 +27,6 @@ prepare() { *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done - ./bootstrap } build() { @@ -55,18 +51,12 @@ package() { install -m755 -D "$srcdir"/libmaxminddb.confd "$pkgdir"/etc/conf.d/libmaxminddb } -md5sums="0d0005c520e5fa98b7bbf4a46acf41a3 libmaxminddb-0.0.20131114.tar.gz -4f1231828896d02da82bb14e0ca21db2 0001-avoid-unneeded-memory-allocations.patch -19cab6295f75fb72d50328be44f5ef5a 0002-make-MMDB_aget_value-s-path-argument-const-correct.patch +md5sums="6cbc4dfe1fe710d2475237179c1a6dee libmaxminddb-0.5.5.tar.gz 3866d16335eeaa8573cf625981979a56 libmaxminddb.cron f86fba9d801d5f9c76166c11c224f474 libmaxminddb.confd" -sha256sums="8db56de9bf067461239bcb11974c3e148e2fc1217c82e57f7228a8b230f7cf77 libmaxminddb-0.0.20131114.tar.gz -9a6a95dd339189288f8af3e5e8f5ec9a18411df77f6d8bde8b6702b95f73dce2 0001-avoid-unneeded-memory-allocations.patch -278da1a942df301c1acb19b6851039e495b3f968b2603ab317a853f220c428d4 0002-make-MMDB_aget_value-s-path-argument-const-correct.patch +sha256sums="d37a630afe0426a727fed2c9d680099e2d276d9c4dbaa910704cd5ac6df2fefe libmaxminddb-0.5.5.tar.gz 34f32f544f0537e37783de61f09e4b5b7b080aaa2e9514afe1eaea8425f547e9 libmaxminddb.cron f8af67264b8711ab40f99d364e4987c14f4928932624993c72188f59203526be libmaxminddb.confd" -sha512sums="f606fb22c3887953e7fc7a798c4065b658c6895e58838e14b1bde66fd8d7907e27f6ee8545bd510d9745432f7176047e4d36be2ce20b035d20589d1106f6784a libmaxminddb-0.0.20131114.tar.gz -99eb21e9e0b43346ccf8eb72f40403dec36866cbff992c1aea771abcdbe9c820fdb24c64e45f4d8f6fb811e3330591e31851ec626f8e3d84cd8f34754d030519 0001-avoid-unneeded-memory-allocations.patch -655b79e806ca0801d5609aa9e582533fcb2719f3f0eef88e3924135888a1791cb551843261834a01ec8f3d6569d843a3e97970d8be239cd6983ba13cdda847b3 0002-make-MMDB_aget_value-s-path-argument-const-correct.patch +sha512sums="a6ce910294fbe14a98e0fcce02f03995a9697c5ca61b33b2df21adadc640cdce6f8c5aa1e1e581cb9f632d82bab22a8c6cd065cc7bc8a4172cfb44e89f416f59 libmaxminddb-0.5.5.tar.gz 1feb1f2dd57991d729b6f9d29834f43d7405038cdbdfb0113a0e8f8f951a74c5e40651f9d241460f110acdd300196cf580b370e6cec56985cca797ba5610e622 libmaxminddb.cron 5f8dc6dad84cb1d188504a22470acf89542755c0bb3a78e4d3ae4e5bfa49fe64a7d2ee17441084db2710115463d39361df060a74b3a48fc4d8fc5e802afd2099 libmaxminddb.confd" |