net-imap 0.4.10 → 0.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/BSDL +22 -0
- data/COPYING +56 -0
- data/Gemfile +8 -1
- data/LICENSE.txt +3 -22
- data/README.md +10 -4
- data/docs/styles.css +75 -14
- data/lib/net/imap/authenticators.rb +2 -2
- data/lib/net/imap/command_data.rb +61 -48
- data/lib/net/imap/config/attr_accessors.rb +75 -0
- data/lib/net/imap/config/attr_inheritance.rb +90 -0
- data/lib/net/imap/config/attr_type_coercion.rb +62 -0
- data/lib/net/imap/config.rb +552 -0
- data/lib/net/imap/connection_state.rb +48 -0
- data/lib/net/imap/data_encoding.rb +4 -4
- data/lib/net/imap/data_lite.rb +226 -0
- data/lib/net/imap/deprecated_client_options.rb +9 -6
- data/lib/net/imap/errors.rb +40 -1
- data/lib/net/imap/esearch_result.rb +180 -0
- data/lib/net/imap/fetch_data.rb +126 -47
- data/lib/net/imap/flags.rb +1 -1
- data/lib/net/imap/response_data.rb +126 -239
- data/lib/net/imap/response_parser/parser_utils.rb +11 -6
- data/lib/net/imap/response_parser.rb +188 -34
- data/lib/net/imap/response_reader.rb +73 -0
- data/lib/net/imap/sasl/anonymous_authenticator.rb +3 -3
- data/lib/net/imap/sasl/authentication_exchange.rb +52 -20
- data/lib/net/imap/sasl/authenticators.rb +8 -4
- data/lib/net/imap/sasl/client_adapter.rb +77 -26
- data/lib/net/imap/sasl/cram_md5_authenticator.rb +4 -4
- data/lib/net/imap/sasl/digest_md5_authenticator.rb +218 -56
- data/lib/net/imap/sasl/external_authenticator.rb +3 -3
- data/lib/net/imap/sasl/gs2_header.rb +7 -7
- data/lib/net/imap/sasl/login_authenticator.rb +4 -3
- data/lib/net/imap/sasl/oauthbearer_authenticator.rb +6 -6
- data/lib/net/imap/sasl/plain_authenticator.rb +7 -7
- data/lib/net/imap/sasl/protocol_adapters.rb +60 -4
- data/lib/net/imap/sasl/scram_authenticator.rb +8 -8
- data/lib/net/imap/sasl.rb +8 -5
- data/lib/net/imap/sasl_adapter.rb +0 -1
- data/lib/net/imap/search_result.rb +2 -2
- data/lib/net/imap/sequence_set.rb +471 -176
- data/lib/net/imap/stringprep/nameprep.rb +1 -1
- data/lib/net/imap/stringprep/trace.rb +4 -4
- data/lib/net/imap/uidplus_data.rb +244 -0
- data/lib/net/imap/vanished_data.rb +56 -0
- data/lib/net/imap.rb +1225 -364
- data/net-imap.gemspec +4 -4
- data/rakelib/benchmarks.rake +1 -1
- data/rakelib/rfcs.rake +2 -0
- data/rakelib/string_prep_tables_generator.rb +2 -0
- metadata +17 -12
- data/.github/dependabot.yml +0 -6
- data/.github/workflows/pages.yml +0 -46
- data/.github/workflows/test.yml +0 -31
- data/.gitignore +0 -12
data/net-imap.gemspec
CHANGED
@@ -11,12 +11,12 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.name = name
|
12
12
|
spec.version = version
|
13
13
|
spec.authors = ["Shugo Maeda", "nicholas a. evans"]
|
14
|
-
spec.email = ["shugo@ruby-lang.org", "nick@
|
14
|
+
spec.email = ["shugo@ruby-lang.org", "nick@rubinick.dev"]
|
15
15
|
|
16
16
|
spec.summary = %q{Ruby client api for Internet Message Access Protocol}
|
17
17
|
spec.description = %q{Ruby client api for Internet Message Access Protocol}
|
18
18
|
spec.homepage = "https://github.com/ruby/net-imap"
|
19
|
-
spec.required_ruby_version = Gem::Requirement.new(">=
|
19
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 3.1.0")
|
20
20
|
spec.licenses = ["Ruby", "BSD-2-Clause"]
|
21
21
|
|
22
22
|
spec.metadata["homepage_uri"] = spec.homepage
|
@@ -25,9 +25,9 @@ Gem::Specification.new do |spec|
|
|
25
25
|
|
26
26
|
# Specify which files should be added to the gem when it is released.
|
27
27
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
28
|
-
spec.files = Dir.chdir(
|
28
|
+
spec.files = Dir.chdir(__dir__) do
|
29
29
|
`git ls-files -z 2>/dev/null`.split("\x0")
|
30
|
-
.
|
30
|
+
.grep_v(%r{^(\.git(ignore)?|\.mailmap|(\.github|bin|test|spec|benchmarks|features|rfcs)/)})
|
31
31
|
end
|
32
32
|
spec.bindir = "exe"
|
33
33
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
data/rakelib/benchmarks.rake
CHANGED
@@ -26,7 +26,7 @@ file "benchmarks/parser.yml" => PARSER_TEST_FIXTURES do |t|
|
|
26
26
|
files = path.glob("*.yml")
|
27
27
|
tests = files.flat_map {|file|
|
28
28
|
file.read
|
29
|
-
.gsub(%r{([-:]) !ruby/(object|struct):\S+}) { $1 }
|
29
|
+
.gsub(%r{([-:]) !ruby/(object|struct|array):\S+}) { $1 }
|
30
30
|
.then {
|
31
31
|
YAML.safe_load(_1, filename: file,
|
32
32
|
permitted_classes: [Symbol, Regexp], aliases: true)
|
data/rakelib/rfcs.rake
CHANGED
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-imap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shugo Maeda
|
8
8
|
- nicholas a. evans
|
9
|
-
autorequire:
|
10
9
|
bindir: exe
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: net-protocol
|
@@ -42,15 +41,13 @@ dependencies:
|
|
42
41
|
description: Ruby client api for Internet Message Access Protocol
|
43
42
|
email:
|
44
43
|
- shugo@ruby-lang.org
|
45
|
-
- nick@
|
44
|
+
- nick@rubinick.dev
|
46
45
|
executables: []
|
47
46
|
extensions: []
|
48
47
|
extra_rdoc_files: []
|
49
48
|
files:
|
50
|
-
-
|
51
|
-
-
|
52
|
-
- ".github/workflows/test.yml"
|
53
|
-
- ".gitignore"
|
49
|
+
- BSDL
|
50
|
+
- COPYING
|
54
51
|
- Gemfile
|
55
52
|
- LICENSE.txt
|
56
53
|
- README.md
|
@@ -59,14 +56,22 @@ files:
|
|
59
56
|
- lib/net/imap.rb
|
60
57
|
- lib/net/imap/authenticators.rb
|
61
58
|
- lib/net/imap/command_data.rb
|
59
|
+
- lib/net/imap/config.rb
|
60
|
+
- lib/net/imap/config/attr_accessors.rb
|
61
|
+
- lib/net/imap/config/attr_inheritance.rb
|
62
|
+
- lib/net/imap/config/attr_type_coercion.rb
|
63
|
+
- lib/net/imap/connection_state.rb
|
62
64
|
- lib/net/imap/data_encoding.rb
|
65
|
+
- lib/net/imap/data_lite.rb
|
63
66
|
- lib/net/imap/deprecated_client_options.rb
|
64
67
|
- lib/net/imap/errors.rb
|
68
|
+
- lib/net/imap/esearch_result.rb
|
65
69
|
- lib/net/imap/fetch_data.rb
|
66
70
|
- lib/net/imap/flags.rb
|
67
71
|
- lib/net/imap/response_data.rb
|
68
72
|
- lib/net/imap/response_parser.rb
|
69
73
|
- lib/net/imap/response_parser/parser_utils.rb
|
74
|
+
- lib/net/imap/response_reader.rb
|
70
75
|
- lib/net/imap/sasl.rb
|
71
76
|
- lib/net/imap/sasl/anonymous_authenticator.rb
|
72
77
|
- lib/net/imap/sasl/authentication_exchange.rb
|
@@ -93,6 +98,8 @@ files:
|
|
93
98
|
- lib/net/imap/stringprep/saslprep_tables.rb
|
94
99
|
- lib/net/imap/stringprep/tables.rb
|
95
100
|
- lib/net/imap/stringprep/trace.rb
|
101
|
+
- lib/net/imap/uidplus_data.rb
|
102
|
+
- lib/net/imap/vanished_data.rb
|
96
103
|
- net-imap.gemspec
|
97
104
|
- rakelib/benchmarks.rake
|
98
105
|
- rakelib/rdoc.rake
|
@@ -108,7 +115,6 @@ metadata:
|
|
108
115
|
homepage_uri: https://github.com/ruby/net-imap
|
109
116
|
source_code_uri: https://github.com/ruby/net-imap
|
110
117
|
changelog_uri: https://github.com/ruby/net-imap/releases
|
111
|
-
post_install_message:
|
112
118
|
rdoc_options: []
|
113
119
|
require_paths:
|
114
120
|
- lib
|
@@ -116,15 +122,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
116
122
|
requirements:
|
117
123
|
- - ">="
|
118
124
|
- !ruby/object:Gem::Version
|
119
|
-
version:
|
125
|
+
version: 3.1.0
|
120
126
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
127
|
requirements:
|
122
128
|
- - ">="
|
123
129
|
- !ruby/object:Gem::Version
|
124
130
|
version: '0'
|
125
131
|
requirements: []
|
126
|
-
rubygems_version: 3.
|
127
|
-
signing_key:
|
132
|
+
rubygems_version: 3.6.7
|
128
133
|
specification_version: 4
|
129
134
|
summary: Ruby client api for Internet Message Access Protocol
|
130
135
|
test_files: []
|
data/.github/dependabot.yml
DELETED
data/.github/workflows/pages.yml
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
name: Deploy RDoc site to Pages
|
2
|
-
|
3
|
-
on:
|
4
|
-
push:
|
5
|
-
branches: [ 'master' ]
|
6
|
-
workflow_dispatch:
|
7
|
-
|
8
|
-
permissions:
|
9
|
-
contents: read
|
10
|
-
pages: write
|
11
|
-
id-token: write
|
12
|
-
|
13
|
-
concurrency:
|
14
|
-
group: "pages"
|
15
|
-
cancel-in-progress: true
|
16
|
-
|
17
|
-
jobs:
|
18
|
-
build:
|
19
|
-
runs-on: ubuntu-latest
|
20
|
-
steps:
|
21
|
-
- name: Checkout
|
22
|
-
uses: actions/checkout@v4
|
23
|
-
- name: Setup Ruby
|
24
|
-
uses: ruby/setup-ruby@250fcd6a742febb1123a77a841497ccaa8b9e939 # v1.152.0
|
25
|
-
with:
|
26
|
-
ruby-version: '3.2'
|
27
|
-
bundler-cache: true
|
28
|
-
- name: Setup Pages
|
29
|
-
id: pages
|
30
|
-
uses: actions/configure-pages@v4
|
31
|
-
- name: Build with RDoc
|
32
|
-
run: bundle exec rake rdoc
|
33
|
-
- name: Upload artifact
|
34
|
-
uses: actions/upload-pages-artifact@v3
|
35
|
-
with: { path: 'doc' }
|
36
|
-
|
37
|
-
deploy:
|
38
|
-
environment:
|
39
|
-
name: github-pages
|
40
|
-
url: ${{ steps.deployment.outputs.page_url }}
|
41
|
-
runs-on: ubuntu-latest
|
42
|
-
needs: build
|
43
|
-
steps:
|
44
|
-
- name: Deploy to GitHub Pages
|
45
|
-
id: deployment
|
46
|
-
uses: actions/deploy-pages@v4
|
data/.github/workflows/test.yml
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
name: ubuntu
|
2
|
-
|
3
|
-
on: [push, pull_request]
|
4
|
-
|
5
|
-
jobs:
|
6
|
-
ruby-versions:
|
7
|
-
uses: ruby/actions/.github/workflows/ruby_versions.yml@master
|
8
|
-
with:
|
9
|
-
engine: cruby
|
10
|
-
min_version: 2.7
|
11
|
-
|
12
|
-
build:
|
13
|
-
needs: ruby-versions
|
14
|
-
name: build (${{ matrix.ruby }} / ${{ matrix.os }})
|
15
|
-
strategy:
|
16
|
-
matrix:
|
17
|
-
ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }}
|
18
|
-
os: [ ubuntu-latest, macos-latest ]
|
19
|
-
experimental: [false]
|
20
|
-
runs-on: ${{ matrix.os }}
|
21
|
-
continue-on-error: ${{ matrix.experimental }}
|
22
|
-
steps:
|
23
|
-
- uses: actions/checkout@v4
|
24
|
-
- name: Set up Ruby
|
25
|
-
uses: ruby/setup-ruby@v1
|
26
|
-
with:
|
27
|
-
ruby-version: ${{ matrix.ruby }}
|
28
|
-
bundler-cache: true
|
29
|
-
rubygems: 3.4.22
|
30
|
-
- name: Run test
|
31
|
-
run: bundle exec rake test
|