From 27ec7a95d08809884ae0631bd39fa4abf0fae063 Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 24 Oct 2022 16:31:35 -0400 Subject: [PATCH 1/7] Bump required ruby version --- .travis.yml | 2 +- CONTRIBUTING.md | 2 +- Dockerfile.testing | 6 +++--- README.md | 2 +- dap.gemspec | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 376e7dc..5a0c405 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,4 +8,4 @@ before_install: script: - docker build -t dap_testing -f Dockerfile.testing . - - docker run --rm --name dap_testing -it -e DAP_EXECUTABLE=dap dap_testing /bin/bash -l -c "rvm use 2.4.5 && gem build dap && gem install dap*.gem && bundle exec rspec spec && find /opt/bats_testing -name \*.bats | grep -v test/test_helper/ | xargs -n1 bats" + - docker run --rm --name dap_testing -it -e DAP_EXECUTABLE=dap dap_testing /bin/bash -l -c "rvm use 2.7.6 && gem build dap && gem install dap*.gem && bundle exec rspec spec && find /opt/bats_testing -name \*.bats | grep -v test/test_helper/ | xargs -n1 bats" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 15073d5..a530a7a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -94,7 +94,7 @@ There are two testing frameworks in place. To run these outside of travis-ci, run: ``` docker build -t dap_testing -f Dockerfile.testing . && \ -docker run --rm --name dap_testing -it -e DAP_EXECUTABLE=dap dap_testing /bin/bash -l -c "rvm use 2.4.5 && gem build dap && gem install dap*.gem && bundle exec rspec spec && find /opt/bats_testing -name \*.bats | grep -v test/ test_helper/ | xargs -n1 bats" +docker run --rm --name dap_testing -it -e DAP_EXECUTABLE=dap dap_testing /bin/bash -l -c "rvm use 2.7.6 && gem build dap && gem install dap*.gem && bundle exec rspec spec && find /opt/bats_testing -name \*.bats | grep -v test/test_helper/ | xargs -n1 bats" ``` ## Landing PRs diff --git a/Dockerfile.testing b/Dockerfile.testing index a2df506..57d2eac 100644 --- a/Dockerfile.testing +++ b/Dockerfile.testing @@ -11,10 +11,10 @@ RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import - RUN curl -sSL https://rvm.io/pkuczynski.asc | gpg --import - RUN curl -sSL https://get.rvm.io | bash -s stable RUN /bin/bash -l -c "rvm requirements" -RUN /bin/bash -l -c "rvm install 2.4.5" -RUN /bin/bash -l -c "rvm use 2.4.5 && gem update --system && gem install bundler" +RUN /bin/bash -l -c "rvm install 2.7.6" +RUN /bin/bash -l -c "rvm use 2.7.6 && gem update --system && gem install bundler" ADD Gemfile* $TEST_DIR/ -RUN /bin/bash -l -c "cd $TEST_DIR && rvm use 2.4.5 && bundle update --bundler && bundle install" +RUN /bin/bash -l -c "cd $TEST_DIR && rvm use 2.7.6 && bundle update --bundler && bundle install" # install maxmind legacy data RUN mkdir /var/lib/geoip diff --git a/README.md b/README.md index ed9c997..2d6ea53 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ DAP was written to process terabyte-sized public scan datasets, such as those pr ### Prerequisites -DAP requires Ruby and is best suited for systems with a relatively current version with 2.4.x being the minimum requirement. +DAP requires Ruby and is best suited for systems with a relatively current version with 2.6.x being the minimum requirement. Ideally, this will be managed with either [`rbenv`](https://github.com/rbenv/rbenv) or [`rvm`](https://rvm.io/) with the bundler gem also installed and up to date. Using system managed/installed Rubies is possible but fraught with peril. diff --git a/dap.gemspec b/dap.gemspec index c575c65..5662782 100644 --- a/dap.gemspec +++ b/dap.gemspec @@ -5,7 +5,7 @@ require 'dap/version' Gem::Specification.new do |s| s.name = 'dap' s.version = Dap::VERSION - s.required_ruby_version = '>= 2.4' + s.required_ruby_version = '>= 2.6' s.authors = [ 'Rapid7 Research' ] From 8f26e71e205b1714d9cda7325d01bcbca6cab57d Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 24 Oct 2022 16:36:11 -0400 Subject: [PATCH 2/7] Add rake and yard development dependencies --- dap.gemspec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dap.gemspec b/dap.gemspec index 5662782..916b2a7 100644 --- a/dap.gemspec +++ b/dap.gemspec @@ -28,7 +28,9 @@ Gem::Specification.new do |s| # ---- Dependencies ---- + s.add_development_dependency 'rake' s.add_development_dependency 'rspec' + s.add_development_dependency 'yard' s.add_development_dependency 'cucumber' s.add_development_dependency 'aruba' From c8886210602288decd9f96761d122b9f12fc28e6 Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 24 Oct 2022 16:45:25 -0400 Subject: [PATCH 3/7] Reference gemspec and cleanup Gemfile This includes an update to the bundler Gemfile.lock. --- Dockerfile.testing | 3 +- Gemfile | 14 +---- Gemfile.lock | 151 ++++++++++++++++++++++----------------------- 3 files changed, 77 insertions(+), 91 deletions(-) diff --git a/Dockerfile.testing b/Dockerfile.testing index 57d2eac..64dc43f 100644 --- a/Dockerfile.testing +++ b/Dockerfile.testing @@ -13,7 +13,7 @@ RUN curl -sSL https://get.rvm.io | bash -s stable RUN /bin/bash -l -c "rvm requirements" RUN /bin/bash -l -c "rvm install 2.7.6" RUN /bin/bash -l -c "rvm use 2.7.6 && gem update --system && gem install bundler" -ADD Gemfile* $TEST_DIR/ +COPY . $TEST_DIR/ RUN /bin/bash -l -c "cd $TEST_DIR && rvm use 2.7.6 && bundle update --bundler && bundle install" # install maxmind legacy data @@ -36,4 +36,3 @@ COPY test/test_data/geoip2/*.mmdb /var/lib/geoip2/ RUN git clone https://github.com/sstephenson/bats.git && cd bats && ./install.sh /usr WORKDIR /opt/bats_testing -COPY . . diff --git a/Gemfile b/Gemfile index 50d72ec..fa75df1 100644 --- a/Gemfile +++ b/Gemfile @@ -1,15 +1,3 @@ source 'https://rubygems.org' -gem 'oj' -gem 'htmlentities' -gem 'net-dns' -gem 'bit-struct' -gem 'geoip-c' -gem 'maxmind-db', '~> 1.0.0' -gem 'recog', '~> 3.0' - -group :test do - gem 'rspec', '~> 3.9.0' - gem 'cucumber', '~> 4.0.0' - gem 'aruba', '~> 0.6.2' -end +gemspec diff --git a/Gemfile.lock b/Gemfile.lock index 8c97222..d28ceec 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,104 +1,103 @@ +PATH + remote: . + specs: + dap (1.3.1) + bit-struct + geoip-c + htmlentities + maxmind-db + net-dns + nokogiri + oj + recog + GEM remote: https://rubygems.org/ specs: - activesupport (7.0.4) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - aruba (0.6.2) - childprocess (>= 0.3.6) - cucumber (>= 1.1.1) - rspec-expectations (>= 2.7.0) + aruba (2.1.0) + bundler (>= 1.17, < 3.0) + childprocess (>= 2.0, < 5.0) + contracts (>= 0.16.0, < 0.18.0) + cucumber (>= 4.0, < 9.0) + rspec-expectations (~> 3.4) + thor (~> 1.0) bit-struct (0.17) builder (3.2.4) childprocess (4.1.0) - concurrent-ruby (1.1.10) - cucumber (4.0.1) - builder (~> 3.2, >= 3.2.3) - cucumber-core (~> 7.0, >= 7.0.0) - cucumber-cucumber-expressions (~> 10.1, >= 10.1.0) - cucumber-gherkin (~> 13.0, >= 13.0.0) - cucumber-html-formatter (~> 6.0, >= 6.0.1) - cucumber-messages (~> 12.1, >= 12.1.1) - cucumber-wire (~> 3.0, >= 3.0.0) - diff-lcs (~> 1.3, >= 1.3, < 1.4) - multi_test (~> 0.1, >= 0.1.2) - sys-uname (~> 1.0, >= 1.0.2) - cucumber-core (7.0.0) - cucumber-gherkin (~> 13.0, >= 13.0.0) - cucumber-messages (~> 12.1, >= 12.1.1) - cucumber-tag-expressions (~> 2.0, >= 2.0.4) - cucumber-cucumber-expressions (10.3.0) - cucumber-gherkin (13.0.0) - cucumber-messages (~> 12.0, >= 12.0.0) - cucumber-html-formatter (6.0.3) - cucumber-messages (~> 12.1, >= 12.1.1) - cucumber-messages (12.4.0) - protobuf-cucumber (~> 3.10, >= 3.10.8) - cucumber-tag-expressions (2.0.4) - cucumber-wire (3.0.0) - cucumber-core (~> 7.0, >= 7.0.0) - cucumber-cucumber-expressions (~> 10.1, >= 10.1.0) - cucumber-messages (~> 12.1, >= 12.1.1) - diff-lcs (1.3) + contracts (0.16.1) + cucumber (8.0.0) + builder (~> 3.2, >= 3.2.4) + cucumber-ci-environment (~> 9.0, >= 9.0.4) + cucumber-core (~> 11.0, >= 11.0.0) + cucumber-cucumber-expressions (~> 15.1, >= 15.1.1) + cucumber-gherkin (~> 23.0, >= 23.0.1) + cucumber-html-formatter (~> 19.1, >= 19.1.0) + cucumber-messages (~> 18.0, >= 18.0.0) + diff-lcs (~> 1.5, >= 1.5.0) + mime-types (~> 3.4, >= 3.4.1) + multi_test (~> 1.1, >= 1.1.0) + sys-uname (~> 1.2, >= 1.2.2) + cucumber-ci-environment (9.1.0) + cucumber-core (11.0.0) + cucumber-gherkin (~> 23.0, >= 23.0.1) + cucumber-messages (~> 18.0, >= 18.0.0) + cucumber-tag-expressions (~> 4.1, >= 4.1.0) + cucumber-cucumber-expressions (15.2.0) + cucumber-gherkin (23.0.1) + cucumber-messages (~> 18.0, >= 18.0.0) + cucumber-html-formatter (19.2.0) + cucumber-messages (~> 18.0, >= 18.0.0) + cucumber-messages (18.0.0) + cucumber-tag-expressions (4.1.0) + diff-lcs (1.5.0) ffi (1.15.5) geoip-c (0.9.1) htmlentities (4.3.4) - i18n (1.12.0) - concurrent-ruby (~> 1.0) - maxmind-db (1.0.0) - middleware (0.1.0) + maxmind-db (1.1.1) + mime-types (3.4.1) + mime-types-data (~> 3.2015) + mime-types-data (3.2022.0105) mini_portile2 (2.8.0) - minitest (5.16.3) - multi_test (0.1.2) + multi_test (1.1.0) net-dns (0.9.0) - nokogiri (1.13.8) + nokogiri (1.13.9) mini_portile2 (~> 2.8.0) racc (~> 1.4) oj (3.13.21) - protobuf-cucumber (3.10.8) - activesupport (>= 3.2) - middleware - thor - thread_safe racc (1.6.0) - recog (3.0.2) + rake (13.0.6) + recog (3.0.3) nokogiri - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.3) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.4) + rspec (3.11.0) + rspec-core (~> 3.11.0) + rspec-expectations (~> 3.11.0) + rspec-mocks (~> 3.11.0) + rspec-core (3.11.0) + rspec-support (~> 3.11.0) + rspec-expectations (3.11.1) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-mocks (3.9.1) + rspec-support (~> 3.11.0) + rspec-mocks (3.11.1) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-support (3.9.4) + rspec-support (~> 3.11.0) + rspec-support (3.11.1) sys-uname (1.2.2) ffi (~> 1.1) thor (1.2.1) - thread_safe (0.3.6) - tzinfo (2.0.5) - concurrent-ruby (~> 1.0) + webrick (1.7.0) + yard (0.9.28) + webrick (~> 1.7.0) PLATFORMS ruby DEPENDENCIES - aruba (~> 0.6.2) - bit-struct - cucumber (~> 4.0.0) - geoip-c - htmlentities - maxmind-db (~> 1.0.0) - net-dns - oj - recog (~> 3.0) - rspec (~> 3.9.0) + aruba + cucumber + dap! + rake + rspec + yard BUNDLED WITH - 1.17.3 + 2.3.24 From 4351ecb37ef98fd6a5d1a3c4ad67093a0ad23c9d Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 24 Oct 2022 16:48:43 -0400 Subject: [PATCH 4/7] Minor format changes --- Rakefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Rakefile b/Rakefile index 7e4c853..70dda9a 100644 --- a/Rakefile +++ b/Rakefile @@ -2,7 +2,7 @@ require "bundler/gem_tasks" require 'rspec/core/rake_task' RSpec::Core::RakeTask.new do |t| - t.pattern = "spec/**/*_spec.rb" + t.pattern = 'spec/**/*_spec.rb' end require 'yard' @@ -15,7 +15,7 @@ require 'cucumber' require 'cucumber/rake/task' Cucumber::Rake::Task.new(:features) do |t| - t.cucumber_opts = "features --format pretty" + t.cucumber_opts = %w(features --format pretty) end task :default => [ :spec, :features, :yard ] From 87195e424305b99f8765d9d5d45a60fba1f803ca Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 24 Oct 2022 16:49:10 -0400 Subject: [PATCH 5/7] Add .yardoc and doc directory --- .gitignore | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 3125743..5c2fae2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ +# Ruby and tooling specific +.yardoc +doc/ +/pkg/ + # Ignore rvm files .ruby-version .ruby-gemset @@ -8,8 +13,6 @@ data/GeoLite2-ASN.mmdb data/GeoLite2-City.mmdb data/GeoLite2-Country.mmdb -/pkg/ - ## Environment normalization: /.bundle/ /vendor/bundle From fc732a7dc0448e5cd82890befd936f6f477ce3fb Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Tue, 25 Oct 2022 11:33:56 -0400 Subject: [PATCH 6/7] Remove references to Travis CI --- .travis.yml | 11 ----------- CONTRIBUTING.md | 6 ++---- README.md | 1 - 3 files changed, 2 insertions(+), 16 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 5a0c405..0000000 --- a/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: generic - -services: - - docker - -before_install: - - docker build -t dap_testing -f Dockerfile.testing . - -script: - - docker build -t dap_testing -f Dockerfile.testing . - - docker run --rm --name dap_testing -it -e DAP_EXECUTABLE=dap dap_testing /bin/bash -l -c "rvm use 2.7.6 && gem build dap && gem install dap*.gem && bundle exec rspec spec && find /opt/bats_testing -name \*.bats | grep -v test/test_helper/ | xargs -n1 bats" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a530a7a..a0e4498 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -81,9 +81,7 @@ Finally, submit the PR. Navigate to ```https://github.com/ Date: Tue, 25 Oct 2022 11:36:12 -0400 Subject: [PATCH 7/7] Bump for release of v1.3.1 --- lib/dap/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/dap/version.rb b/lib/dap/version.rb index b4058a6..60d260c 100644 --- a/lib/dap/version.rb +++ b/lib/dap/version.rb @@ -1,3 +1,3 @@ module Dap - VERSION = "1.3.0" + VERSION = "1.3.1" end