Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: hrbrmstr/iptools
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.2.0
Choose a base ref
...
head repository: hrbrmstr/iptools
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 17,160 additions and 6,166 deletions.
  1. BIN .DS_Store
  2. +9 −4 .Rbuildignore
  3. +1 −2 .gitignore
  4. +15 −0 .travis.yml
  5. +1 −1 CONDUCT.md
  6. +2 −0 CRAN-RELEASE
  7. +25 −16 DESCRIPTION
  8. +0 −35 INSTALL
  9. +1 −1 LICENSE
  10. +27 −1 NAMESPACE
  11. +46 −2 NEWS.md
  12. +194 −17 R/RcppExports.R
  13. +3 −0 R/aaa.r
  14. +107 −0 R/cidr.r
  15. +117 −0 R/country_ranges.R
  16. +3 −3 R/dataset_refreshers.R
  17. +7 −7 R/datasets.R
  18. +41 −0 R/ip-to-subnet.R
  19. +38 −0 R/ip6-to-nibble.R
  20. +17 −0 R/iptools-package.R
  21. +0 −11 R/iptools.R
  22. +19 −0 R/is.R
  23. +12 −0 R/zzz.R
  24. +27 −12 README
  25. +18 −22 README.Rmd
  26. +67 −31 README.md
  27. +0 −7 cleanup
  28. +0 −5,155 configure
  29. +0 −571 configure.in
  30. +14 −5 cran-comments.md
  31. +103 −0 docs/articles/index.html
  32. +125 −0 docs/articles/introduction_to_iptools.html
  33. +94 −0 docs/articles/iptools_datasets.html
  34. +127 −0 docs/index.html
  35. +168 −0 docs/news/index.html
  36. +59 −0 docs/pkgdown.css
  37. +13 −0 docs/pkgdown.js
  38. +107 −0 docs/reference/asn_table_to_trie.html
  39. +101 −0 docs/reference/cached_country_cidrs.html
  40. +133 −0 docs/reference/country_ranges.html
  41. +119 −0 docs/reference/expand_ipv6.html
  42. +101 −0 docs/reference/flush_country_cidrs.html
  43. +115 −0 docs/reference/get_all_country_ranges.html
  44. +109 −0 docs/reference/hilbert_encode.html
  45. +141 −0 docs/reference/hostname_to_ip.html
  46. +149 −0 docs/reference/iana_assignments.html
  47. +151 −0 docs/reference/iana_ports.html
  48. +162 −0 docs/reference/iana_special_assignments.html
  49. +162 −0 docs/reference/index.html
  50. +138 −0 docs/reference/ip_classify.html
  51. +142 −0 docs/reference/ip_in_any.html
  52. +135 −0 docs/reference/ip_in_range.html
  53. +135 −0 docs/reference/ip_numeric.html
  54. +109 −0 docs/reference/ip_numeric_to_binary_string.html
  55. +129 −0 docs/reference/ip_random.html
  56. +109 −0 docs/reference/ip_to_asn.html
  57. +109 −0 docs/reference/ip_to_binary_string.html
  58. +131 −0 docs/reference/ip_to_hostname.html
  59. +121 −0 docs/reference/ips_in_cidrs.html
  60. +103 −0 docs/reference/iptools.html
  61. +123 −0 docs/reference/iptools_refresh.html
  62. +140 −0 docs/reference/is_checks.html
  63. +135 −0 docs/reference/range_boundaries.html
  64. +133 −0 docs/reference/range_generate.html
  65. +119 −0 docs/reference/v6_scope.html
  66. +131 −0 docs/reference/validate_range.html
  67. +125 −0 docs/reference/xff_extract.html
  68. +10,000 −0 inst/test/rib.tst
  69. +17 −0 man/asn_table_to_trie.Rd
  70. +11 −0 man/cached_country_cidrs.Rd
  71. +31 −0 man/country_ranges.Rd
  72. +17 −0 man/expand_ipv6.Rd
  73. +11 −0 man/flush_country_cidrs.Rd
  74. +19 −0 man/get_all_country_ranges.Rd
  75. +16 −0 man/hilbert_encode.Rd
  76. +17 −0 man/host_count.Rd
  77. +2 −2 man/hostname_to_ip.Rd
  78. +6 −5 man/iana_assignments.Rd
  79. +6 −5 man/iana_ports.Rd
  80. +7 −6 man/iana_special_assignments.Rd
  81. +6 −4 man/ip_classify.Rd
  82. +46 −0 man/ip_in_any.Rd
  83. +2 −2 man/ip_in_range.Rd
  84. +1 −2 man/ip_numeric.Rd
  85. +16 −0 man/ip_numeric_to_binary_string.Rd
  86. +1 −2 man/ip_random.Rd
  87. +20 −0 man/ip_to_asn.Rd
  88. +16 −0 man/ip_to_binary_string.Rd
  89. +2 −2 man/ip_to_hostname.Rd
  90. +32 −0 man/ip_to_subnet.Rd
  91. +28 −0 man/ips_in_cidrs.Rd
  92. +6 −7 man/iptools.Rd
  93. +3 −3 man/iptools_refresh.Rd
  94. +29 −0 man/ipv6_to_bytes.Rd
  95. +34 −0 man/ipv6_to_nibble.Rd
  96. +43 −0 man/is_checks.Rd
  97. +8 −7 man/range_boundaries.Rd
  98. +25 −0 man/range_boundaries_to_cidr.Rd
  99. +2 −2 man/range_generate.Rd
  100. +20 −0 man/v6_scope.Rd
  101. +2 −2 man/validate_range.Rd
  102. +28 −0 man/xff_extract.Rd
  103. BIN map.png
  104. +3 −0 src/Makevars
  105. +0 −2 src/Makevars.in
  106. +3 −0 src/Makevars.win
  107. +202 −43 src/RcppExports.cpp
  108. +380 −40 src/asio_bindings.cpp
  109. +77 −12 src/asio_bindings.h
  110. +43 −0 src/hilbert.cpp
  111. +303 −10 src/iptools.cpp
  112. +22 −0 tests/testthat/test-cidr-ops.R
  113. +89 −0 tests/testthat/test-v6.R
  114. +0 −43 tests/testthat/test_host_resolution.R
  115. +12 −1 tests/testthat/test_ip_conversion.R
  116. +11 −6 tests/testthat/test_ip_in_range.R
  117. +31 −0 tests/testthat/test_is.R
  118. +2 −2 tests/testthat/test_range_validation.R
  119. +34 −0 tests/testthat/text_xff_extraction.R
  120. +8 −1 vignettes/introduction_to_iptools.R
  121. +2 −3 vignettes/introduction_to_iptools.Rmd
  122. +56 −32 vignettes/introduction_to_iptools.html
  123. +35 −17 vignettes/iptools_datasets.html
Binary file added .DS_Store
Binary file not shown.
13 changes: 9 additions & 4 deletions .Rbuildignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
^CRAN-RELEASE$
^.*\.Rproj$
^\.Rproj\.user$
^README.Rmd$
^NEWS.md$
^README.md$
^CONDUCT\.md$
^README\.Rmd$
^README\.html$
^NEWS\.md$
^README\.md$
^CONDUCT\.md$
^README-.*\.png$
^\.Rhistory$
^cran-comments\.md$
^\.travis\.yml$
^docs$
^map\.png$
^.vscode$
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -6,5 +6,4 @@
*.so
*.dll
inst/doc
config.log
config.staus
.vscode
15 changes: 15 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
language: r
warnings_are_errors: true
sudo: required

env:
global:
- CRAN: https://cran.rstudio.com

notifications:
email:
- bob@rud.is
irc:
channels:
- "104.236.112.222#builds"
nick: travisci
2 changes: 1 addition & 1 deletion CONDUCT.md
Original file line number Diff line number Diff line change
@@ -22,4 +22,4 @@ opening an issue or contacting one or more of the project maintainers.

This Code of Conduct is adapted from the Contributor Covenant
(http:contributor-covenant.org), version 1.0.0, available at
http://contributor-covenant.org/version/1/0/0/
https://contributor-covenant.org/version/1/0/0/
2 changes: 2 additions & 0 deletions CRAN-RELEASE
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
This package was submitted to CRAN on 2018-12-08.
Once it is accepted, delete this file and tag the release (commit 2848fbc982).
41 changes: 25 additions & 16 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,26 +1,35 @@
Package: iptools
Type: Package
Title: Manipulate, Validate and Resolve IP Addresses
Version: 0.2.0
Date: 2015-07-01
Author: Bob Rudis <bob@rudis.net> [aut, cre], Oliver Keyes <ironholds@gmail.com> [aut]
Maintainer: Bob Rudis <bob@rudis.net>
Description: A toolkit for manipulating,
validating and testing IP addresses and ranges, along with
datasets relating to IP addresses. While it primarily has
support for the IPv4 address space, more extensive IPv6 support
is intended.
Title: Manipulate, Validate and Resolve 'IP' Addresses
Version: 0.7.2
Date: 2021-08-27
Author: Bob Rudis <bob@rud.is> [aut, cre],
Oliver Keyes <ironholds@gmail.com> [aut],
Tim Smith [ctb]
Maintainer: Bob Rudis <bob@rud.is>
Description: A toolkit for manipulating, validating and testing 'IP' addresses and
ranges, along with datasets relating to 'IP' addresses. Tools are also provided
to map 'IPv4' blocks to country codes. While it primarily has support for the 'IPv4'
address space, more extensive 'IPv6' support is intended.
License: MIT + file LICENSE
SystemRequirements: Boost.Asio and Boost.Regex from http://www.boost.org/. See README.
URL: https://github.com/hrbrmstr/iptools
BugReports: https://github.com/hrbrmstr/iptools/issues
NeedsCompilation: yes
Depends: R (>= 2.10)
SystemRequirements: C++11
Depends:
R (>= 3.0.0)
Suggests:
testthat,
knitr
knitr,
rmarkdown
Imports:
Rcpp (>= 0.11.2),
utils,
stats
LinkingTo: BH, Rcpp
stats,
AsioHeaders,
stringi,
triebeard
Encoding: UTF-8
LinkingTo: BH, Rcpp, AsioHeaders
VignetteBuilder: knitr
OS_type: unix
RoxygenNote: 7.1.1
35 changes: 0 additions & 35 deletions INSTALL

This file was deleted.

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
YEAR: 2015
YEAR: 2016
COPYRIGHT HOLDER: Bob Rudis & Oliver Keyes
28 changes: 27 additions & 1 deletion NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,19 +1,45 @@
# Generated by roxygen2 (4.1.1): do not edit by hand
# Generated by roxygen2: do not edit by hand

export(asn_table_to_trie)
export(cached_country_cidrs)
export(country_ranges)
export(expand_ipv6)
export(flush_country_cidrs)
export(get_all_country_ranges)
export(hilbert_encode)
export(host_count)
export(hostname_to_ip)
export(iana_assignments_refresh)
export(iana_ports_refresh)
export(iana_special_assignments_refresh)
export(ip_classify)
export(ip_in_any)
export(ip_in_range)
export(ip_numeric_to_binary_string)
export(ip_random)
export(ip_to_asn)
export(ip_to_binary_string)
export(ip_to_hostname)
export(ip_to_numeric)
export(ip_to_subnet)
export(ips_in_cidrs)
export(ipv6_to_bytes)
export(ipv6_to_nibble)
export(is_ipv4)
export(is_ipv6)
export(is_multicast)
export(is_valid)
export(numeric_to_ip)
export(range_boundaries)
export(range_boundaries_to_cidr)
export(range_generate)
export(v6_scope)
export(validate_range)
export(xff_extract)
import(AsioHeaders)
import(stats)
import(stringi)
import(triebeard)
import(utils)
importFrom(Rcpp,sourceCpp)
useDynLib(iptools)
48 changes: 46 additions & 2 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,48 @@
iptools 0.2.0 [WIP]
iptools 0.7.2
=============
* Fixes CRAN checks and removes dependency on {readr} (which appears to be the cause).
* New `ip6_to_bytes()` and `ip6_to_nibble()`
* New `ip_to_subnet()` (implements #38)

iptools 0.6.1
=============
* Fixed serious bug in `ips_in_cidrs()` introduced after removing tidyverse deps
* Fixed serious bug in `asn_table_to_trie()` introduced after removing
tidyverse deps (Fixes #36)
* Added tests & examples for all CIDR ops
* Added test data file for ASN trie ops

iptools 0.6.0
=============
* `range_boundaries_to_cidr()` will take a start/stop numeric range
and turn it into representative/encompassing CIDR blocks

iptools 0.5.0
=============
* NA support added for IP validity checkers and classifiers
* Hilbert coordiates generator function added
* `ip_in_any()` added for a more generic range membership test
* `ip_to_asn()` added (with supporting functions)

iptools 0.4.0
=============
* bug fix for `ip_in_range` always returniong TRUE for /32 ranges (@tdsmith)
* enhanced `range_boundaries()` to include more columns in output
* added `country_ranges()` which enables obtaining all the IPv4 ranges
"assigned" within a country.

iptools 0.3.0
=============
* Removal of the need for linking to Boost
* Windows support!
* `is_ipv4`, `is_ipv6`, `is_valid` and `is_multicast` added.

iptools 0.2.1
=============
* XFF origin extractor included as xff_extract
* Documentation improvements

iptools 0.2.0
=============
NEW FEATURES
* Total internal rewrite. Check out the vignettes!
@@ -7,7 +51,7 @@ NEW FEATURES
BUG FIXES

DEVELOPMENT
*geolocation functionality deprecated; rely on devtools::install_github("ironholds/rgeoip") for geolocation.
*geolocation functionality deprecated; rely on devtools::install_github("ironholds/rgeolocate") for geolocation.
*Large changeover to relying on C++ rather than R

iptools 0.1.4
Loading