Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version up to 2.10.1 #6

Open
wants to merge 747 commits into
base: acs_master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
747 commits
Select commit Hold shift + click to select a range
1b0edd4
Added more TextPart unit tests
jstedfast Mar 26, 2020
ed94193
Added text/plain and text/html preview/snippet generators
jstedfast Mar 26, 2020
fdc839f
Removed Npgsql.dll from the unit tests
jstedfast Mar 26, 2020
af14a97
Fixed unit test build (odd ambiguity)
jstedfast Mar 27, 2020
1d17009
Added more TextPreviewer unit tests
jstedfast Mar 27, 2020
6fa5134
Removed duplicated logic in TextPreviewer and added more tests
jstedfast Mar 27, 2020
0042b74
Fixed up a doc comment
jstedfast Mar 27, 2020
156a182
Increased the default MaximumPreviewLength value to 230
jstedfast Mar 27, 2020
56c5143
Fixed SqlCertificateDatabase to accept null SubjectKeyIdentifiers
jstedfast Mar 28, 2020
b74116e
Added more MimeVIsitor unit tests and implemented TnefPart.Accept()
jstedfast Mar 29, 2020
70d7a2d
Made Header.FormatRawValue() protected virtual so that developers can…
jstedfast Mar 29, 2020
a715fa9
Added Header.SetRawValue()
jstedfast Mar 29, 2020
3399383
Switched MimeKit for Android and iOS over to using Portable.BouncyCastle
jstedfast Mar 29, 2020
f454901
Removed the bc-csharp submodule
jstedfast Mar 29, 2020
58de505
Updated README.md
jstedfast Mar 30, 2020
371bf57
minor code cleanup
jstedfast Mar 31, 2020
a08a85a
added an explicit registration method and a test to validate it
naasking Apr 2, 2020
20e8e1c
Made tweaks to the MimeType internals to make it more consistent.
jstedfast Apr 2, 2020
c0fe642
Added more MimeTypes unit tests
jstedfast Apr 2, 2020
ffcbb0e
Fixed TnefTests to treat the AUTHORS files as text
jstedfast Apr 3, 2020
a3ffbcb
Improved(?) dynamic loading of the native SQLite assembly
jstedfast Apr 3, 2020
46f7b14
Simplify previous commit and fixed deletion of temp files
jstedfast Apr 3, 2020
a672918
Get and cache the SQLiteConnectionStringBuilder properties that we need
jstedfast Apr 3, 2020
f98bb93
Reduce code duplication in auto-detection of which SQLite library to use
jstedfast Apr 3, 2020
aacd97d
Assembly.Load() doesn't appear to ever return null, so no need for th…
jstedfast Apr 3, 2020
4071be0
Limit Mono.Data.Sqlite usage to Unix/macOS
jstedfast Apr 3, 2020
58ad3f1
Added some System.Data.SQLite properties to get the SQLite tests to p…
jstedfast Apr 3, 2020
0743987
Clean up the X.Data.SQLite "not available" exception logic
jstedfast Apr 3, 2020
1fdc1cb
bumped version to 2.6.0
jstedfast Apr 4, 2020
2350490
updated Android and iOS samples
jstedfast Apr 4, 2020
0e959ef
Fixed up some doc comments
jstedfast Apr 4, 2020
136cd43
Update FAQ.md
jstedfast Apr 17, 2020
ae0d1e4
Added documentation samples for ParameterEncodingMethod
jstedfast Apr 17, 2020
cf8ab32
Fixed InernetAddressList.Insert() to allow inserting at the end of th…
jstedfast Apr 22, 2020
c445e8b
Added ParserOptions.MaxMimeDepth to allow developers to set the max n…
jstedfast Apr 26, 2020
5b2cab0
Added logic to handle multipart children without any headers or content
jstedfast Apr 26, 2020
9c6a6cd
Generate portable pdbs for Release builds and include in nuget packages
jstedfast May 17, 2020
4c6724f
Ported unit tests to NUnit 3.12
jstedfast May 17, 2020
07a45bf
Updated appveyor test scripts
jstedfast May 17, 2020
825ee26
Updated appveyor.yml
jstedfast May 17, 2020
6b555d6
Don't pass /shadow to nunit3-console.exe
jstedfast May 17, 2020
66c6491
Try using a different base path for coveralls
jstedfast May 18, 2020
de95909
Add the ability to verify only the digital signature
jstedfast May 18, 2020
44ce1ec
Treat the Default encoding the same as Binary in MimePart.WriteTo()
jstedfast May 18, 2020
2623cc6
Added unit test for previous commit
jstedfast May 19, 2020
17d6eeb
Canonicalize text/* parts even if Content-Transfer-Encoding is unspec…
jstedfast May 19, 2020
3815b24
bumped version to 2.7.0
jstedfast May 19, 2020
6900982
xml documentation fixes
jstedfast May 19, 2020
a569f99
Fixed unit tests to load data files from the right place in Visual St…
jstedfast May 22, 2020
d9a31bf
Fixed MimeParser tests on Windows/VS
jstedfast May 22, 2020
09fc521
Run the unit tests on Travis-CI as well
jstedfast May 22, 2020
45fee26
Updated .gitignore
jstedfast May 22, 2020
07be56e
Modernized the code in the fluent .ctors
jstedfast May 23, 2020
664cec3
Fixed MessagePartial to use FormatOptions.CloneDefault()
jstedfast May 23, 2020
366b774
Improved logic for verifying signatures for MimeParts containing mixe…
jstedfast May 23, 2020
53463b7
Improved logic for verifying signatores for MimeParts with mixed line…
jstedfast May 23, 2020
ec5ac75
Decode IDN-encoded local-parts in addrspecs when parsing
jstedfast May 24, 2020
df9f540
Improved subclassability of OpenPgpContext
jstedfast May 24, 2020
1f5fd36
Added support for RSACng
jstedfast May 24, 2020
ca7cb5a
Updated appveyor.yml
jstedfast May 24, 2020
5c558ff
Added support for DSACng
jstedfast May 24, 2020
1d9a71e
Dropped Xamarin platforms since they are compatible with netstandard2.0
jstedfast May 24, 2020
63c9231
Update README.md
jstedfast May 24, 2020
f7e0225
Update README.md
jstedfast May 24, 2020
f50ece7
Update README.md
jstedfast May 24, 2020
92b19c8
Update README.md
jstedfast May 24, 2020
1e5eacc
Switched sample projects to use PackageReference
jstedfast May 25, 2020
2c857f4
Update cov-build.bat
jstedfast May 26, 2020
cfc6eac
Added .editorconfig
jstedfast May 27, 2020
effb2c1
Added .editorconfig to MimeKit.Net45.sln and MimeKitLite.sln
jstedfast May 27, 2020
7911d22
Made XML docs more consistent
jstedfast May 28, 2020
8b47a78
Fixed build warnings
jstedfast May 28, 2020
585eea7
Fixed XML doc warnings
jstedfast May 28, 2020
80a60c7
Update MimeParserTests.cs
jstedfast May 29, 2020
27e9705
bumped version to 2.8.0
jstedfast May 30, 2020
c9ee1ef
Updated ReleaseNotes.md
jstedfast May 30, 2020
d4f6a20
Update SecureMailboxAddress.cs
jstedfast May 30, 2020
543ab13
Merge branch 'master' of https://github.com/jstedfast/MimeKit
jstedfast May 30, 2020
b6e82a4
Modified OpenPgpContext.GetSecretKey(long) to be public virtual (#575)
Jun 3, 2020
7090df5
Updated docs for OpenPgpContext.GetSecretKey()
jstedfast Jun 3, 2020
878090d
Refactored OpenPgpContext to separate out key storage implementation …
Jun 4, 2020
cb9a9e8
Cleaned up the refactored API, added docs, etc.
jstedfast Jun 4, 2020
cc02a0b
Simplified some OpenPgpContextBase logic
jstedfast Jun 4, 2020
87f99d9
Dropped support for RSACng and DSACng in the netstandard2.0 profile
jstedfast Jun 5, 2020
40ace7f
Fixed the build for netstandard1.x
jstedfast Jun 5, 2020
faf7f1b
Added more docs to the new OpenPgpContextBase class and fixed up some…
jstedfast Jun 5, 2020
11646fa
Update PgpMimeTests.cs
jstedfast Jun 5, 2020
a581fdb
Update README.md
jstedfast Jun 9, 2020
6bd65a4
Update README.md
jstedfast Jun 9, 2020
578a230
Added the start of a unit test for issue #580
jstedfast Jun 9, 2020
b4a92eb
Added the expected result to the unit test
jstedfast Jun 9, 2020
dfb1bd2
Copyright .NET Foundation and added Code of Conduct
jstedfast Jun 9, 2020
493de0b
Updated Copyright in .nuspec files
jstedfast Jun 9, 2020
ebbb75f
FIxed RSA conversion unit test to pass with RSACng
jstedfast Jun 10, 2020
c9fa0e2
Protect against ABRs in AuthenticationResults.TryParse
jstedfast Jun 10, 2020
d559ed3
Fixed TestHelper to be more robust
jstedfast Jun 10, 2020
6d5a3a9
Fixed DSACng tests
jstedfast Jun 10, 2020
62239af
Dropped the Net45-specific projects/solutions
jstedfast Jun 11, 2020
3a5616f
Update .travis.yml
jstedfast Jun 11, 2020
c5f9302
Try to get opencover/coveralls to work again
jstedfast Jun 11, 2020
6c8d76c
Update appveyor.yml
jstedfast Jun 11, 2020
bc151d7
Updated appveyor.yml
jstedfast Jun 11, 2020
ecac987
Update appveyor.bat
jstedfast Jun 11, 2020
4cf9005
Update appveyor.bat
jstedfast Jun 11, 2020
cad2d98
Update UnitTests.csproj
jstedfast Jun 11, 2020
e75b95b
Always convert TO a *CryptoServiceProvider
jstedfast Jun 11, 2020
5cabd9f
Update .travis.yml
jstedfast Jun 11, 2020
81ca207
Fixed MimeParser tests to use an auto-detected new-line format when w…
jstedfast Jun 11, 2020
a48d8b0
Updated appveyor.yml
jstedfast Jun 11, 2020
6d50ae2
Update .travis.yml
jstedfast Jun 11, 2020
93977be
Update appveyor.yml
jstedfast Jun 11, 2020
b7d5e6e
Update appveyor.yml
jstedfast Jun 11, 2020
bd3a29e
Update appveyor.yml
jstedfast Jun 11, 2020
12a1068
Revert back to OpenCover 4.6.519
jstedfast Jun 11, 2020
5660449
Include Full debug symbols in UnitTests build to fix code coverage
jstedfast Jun 11, 2020
88425cb
Update appveyor.yml
jstedfast Jun 12, 2020
145aee6
Update appveyor.yml
jstedfast Jun 12, 2020
7662557
Update .travis.yml
jstedfast Jun 12, 2020
b146fd6
Update AsymmetricAlgorithmExtensions.cs
jstedfast Jun 12, 2020
d2c6157
Update AsymmetricAlgorithmExtensions.cs
jstedfast Jun 12, 2020
30bf940
Update AsymmetricAlgorithmExtensions.cs
jstedfast Jun 12, 2020
5ac9ccd
Treat RSACng and DSACng as RSA and DSA respectively
jstedfast Jun 12, 2020
0c82aa8
Added tests for RSACng and DSACng
jstedfast Jun 12, 2020
fb984b9
Added hooks to allow getting Stream offsets as the MimeParser parses …
jstedfast Jun 12, 2020
91fe88a
code cleanup
jstedfast Jun 13, 2020
300eae0
Attempt to fix RSACng and DSACng tests on Linux/Mono
jstedfast Jun 13, 2020
9ae5ada
Try to disable tests that will fail on Mono in .travis.yml
jstedfast Jun 13, 2020
4a92a41
Delete packages.config
jstedfast Jun 13, 2020
d9c5e4e
Updated azure-pipelines.yml
jstedfast Jun 13, 2020
650eca2
Update .travis.yml
jstedfast Jun 13, 2020
575f225
Added unit tests for MimeParser offset APIs
jstedfast Jun 13, 2020
df9aa49
Conditionally define MONO and fixed .travis.yml to do so
jstedfast Jun 13, 2020
56fac40
Added unix offsets for MimeParser tests
jstedfast Jun 13, 2020
2c72c71
Make OpenPgpCOntextBase.HexEncode() private again
jstedfast Jun 13, 2020
b2195a0
Fixed the TextToFlowed converter
jstedfast Jun 13, 2020
7a7655e
Fixed TextToFlowedTests to pass on Linux
jstedfast Jun 13, 2020
330d3a6
Make MimeMessage and MimeEntity.ToString() more clear about being for…
jstedfast Jun 14, 2020
2bc9282
Update LICENSE
jstedfast Jun 15, 2020
778ca3f
Updated Copyright notices to .NET Foundation
jstedfast Jun 15, 2020
e687c90
Added MimeParser.OnMimeContentOctets/Lines()
jstedfast Jun 15, 2020
7a33e70
Updated unit offsets for the unit tests
jstedfast Jun 15, 2020
39b0384
Updated README.md
jstedfast Jun 16, 2020
d5a8f37
Don't include CRLF belonging to boundary marker
jstedfast Jun 17, 2020
7f1f7ce
Fixed parsing of truncated/broken message/rfc822 parts to emit offset…
jstedfast Jun 17, 2020
15a5d1e
Treat unspecified 'k' values in DKIM DNS records as k=rsa
jstedfast Jun 17, 2020
e17bb1f
Update DkimPublicKeyLocatorBaseTests.cs
jstedfast Jun 18, 2020
bf57c25
Removed MimeParser.OnMimeContentBegin/End
jstedfast Jun 18, 2020
7996193
Reordered some MimeParser offset notifications
jstedfast Jun 18, 2020
1098771
Fixed MultipartBoundaryBegin to use an offset that includes the prece…
jstedfast Jun 18, 2020
466c362
Updated unix offsets in the unit tests
jstedfast Jun 18, 2020
8d1adae
Updated code to use CultureInfo.InvariantCulture when formatting ints
jstedfast Jun 18, 2020
7e90a5b
Fixed another location that was commented out
jstedfast Jun 18, 2020
b02e7af
Fixed ParseMessage() to use consistent ordering of offset events
jstedfast Jun 18, 2020
02db38f
Fixed tests on Unix
jstedfast Jun 18, 2020
10a1d19
Fixed unit tests on Windows
jstedfast Jun 18, 2020
b1b7090
Improved line-count reporting in the MimeParser
jstedfast Jun 19, 2020
93eed4d
Updated unit offsets for mbox parser tests
jstedfast Jun 19, 2020
f196f1f
Improved MimeParser LineCount tracking
jstedfast Jun 19, 2020
8725552
Updated MimeParser.OnMboxMarkerEnd() to include the CRLF
jstedfast Jun 19, 2020
fafae90
Allow AUthentication-Results method result values to contain '_'
jstedfast Jun 25, 2020
f5e8d28
Get rid of superfluous GetOffset call
jstedfast Jun 28, 2020
2da1c3d
Fixed(?) Line Count calculations
jstedfast Jul 3, 2020
c4a0ba3
Updated unix offsets for the unit tests
jstedfast Jul 3, 2020
6b8b8a8
Fixed HeaderListChangedEventArgs comment
jstedfast Jul 7, 2020
ffe4cac
Implemented new approach for reporting stream offsets for mime parts …
jstedfast Jul 7, 2020
0599f75
Added unix mbox offsets for the unit tests
jstedfast Jul 7, 2020
0edbf8d
Removed old dos and unix offset files
jstedfast Jul 8, 2020
36fec54
Fixed end and headerEnd offsets emitted by the parser
jstedfast Jul 9, 2020
1940c7e
Updated unix offsets
jstedfast Jul 9, 2020
e59521b
Moved HeadersEndOffset properties into the EndEventArgs
jstedfast Jul 10, 2020
b487c27
updated unix offsets
jstedfast Jul 10, 2020
e9ed3fc
Added MimeParser events and removed Octets property from EventArgs
jstedfast Jul 11, 2020
db541cc
Added a FIXME comment for future API consideration
jstedfast Jul 11, 2020
270fce8
Update MimeEntityEndEventArgs.cs
jstedfast Jul 11, 2020
1a284b9
Dropped MboxMarker properties from MimeMessageBeginEventArgs
jstedfast Jul 11, 2020
a954c44
updated unix offsets
jstedfast Jul 11, 2020
75b09b3
bumped version to 2.9.1
jstedfast Jul 11, 2020
3f19964
Added HeaderId.RequireTLS (rfc8689)
jstedfast Jul 12, 2020
26fe51f
Oops, that should have been TLS-Required instead of Require-TLS
jstedfast Jul 12, 2020
71cb3c1
Improved docs for GroupAddress.Members
jstedfast Jul 13, 2020
f09c839
Add an X-MimeKit-Warning header to messages/entities serialized with …
jstedfast Jul 13, 2020
af0075c
Disable the build of some code that is only needed for debugging the …
jstedfast Jul 13, 2020
5144843
Fixed the unit tests
jstedfast Jul 13, 2020
f328407
Added another work-around for parsing Authentication-Results headers
jstedfast Jul 15, 2020
7368395
Added improved error reporting for ArcVerifier (#593)
jstedfast Jul 25, 2020
5850645
Added work-around for mailers that don't use a ';' between Content-Ty…
jstedfast Jul 30, 2020
f54a1c6
Don't ever encode non-text content using quoted-printable.
jstedfast Aug 26, 2020
dff2dfc
Include WindowsSecureMimeContext in .NET Standard 2.x build (#600)
kingjan1999 Sep 10, 2020
241f0cb
Added System.Security.Cryptography.Pkcs dependency to nuspec
jstedfast Sep 10, 2020
af6237e
Bumped version to 2.9.2
jstedfast Sep 12, 2020
d4ae33e
Refactored ArcVerifier and DkimVerifier to share more code
jstedfast Sep 15, 2020
94afd8f
Update to latest BouncyCastle and remove unsupported platforms (NS 1.…
clairernovotny Oct 7, 2020
9163ddf
Bump BouncyCastle to v1.8.8 and drop support for netstandard1.x
jstedfast Oct 7, 2020
b5a0516
Fixed MimeUtils.GenerateMessageId() to cache the local hostname
jstedfast Oct 16, 2020
f56de72
Don't explicitly set the text/html part's Content-Id header in BodyBu…
jstedfast Oct 17, 2020
13f231e
Only generate a ContentId for the MultipartRelated Root if it is not …
jstedfast Oct 19, 2020
dd95036
Use a custom version of Path.GetFileName() to allow illegal path char…
jstedfast Oct 23, 2020
c177d2d
Fixed MultipartRelated unit tests
jstedfast Nov 3, 2020
fd604e7
Don't allocate when adding attachments. (#616)
JimBobSquarePants Nov 4, 2020
5a36a05
Make use of ArrayPools in OpenPgpContextBase and MimeContent classes
jstedfast Nov 5, 2020
51110a4
Added unit test for adding a text attachment to AttachmentCollection
jstedfast Nov 5, 2020
41d33e2
Fixed MimeUtils.GenerateMessageId() to encode international domain names
jstedfast Nov 6, 2020
cadbb67
fixed test
jstedfast Nov 6, 2020
a387179
Fixed MemoryBlockStream unit test divide-by-zero bug
jstedfast Nov 7, 2020
22dd1fd
Updated nuget package dependencies and project dependencies
jstedfast Nov 11, 2020
e4a3645
Updated the PGP unit tests to work with BC 1.8.8
jstedfast Nov 11, 2020
c6ccb88
code cleanup
jstedfast Nov 13, 2020
6edc004
Removed some unused files that were used to support older .NET versions
jstedfast Nov 13, 2020
af0736f
Removed release.bat
jstedfast Nov 14, 2020
ab6f225
Use ArrayPool to rent temp buffers for calculating fingerprint hashes
jstedfast Nov 14, 2020
ec342a1
Use ArrayPool to rent temp buffers for generating/verifying signatures
jstedfast Nov 14, 2020
33c2ca1
Use ArrayPool to rent a temp BOM buffer
jstedfast Nov 14, 2020
0caaee5
Use ArrayPool to rent a temp buffer for calculating MD5 checksums
jstedfast Nov 14, 2020
2131803
Use ArrayPool to rent a temp buffer for generating multipart boundaries
jstedfast Nov 14, 2020
5db2cd9
Use ArrayPool to rent a temp buffer for hex decoding parameter values
jstedfast Nov 14, 2020
3980b66
Use ArrayPool to rent temp buffers for throw-away TNEF data
jstedfast Nov 14, 2020
6b3777b
Updated Mono.Data.Sqlite.csproj
jstedfast Nov 14, 2020
28afe0f
Fixed a leak in SqlCertificateDatabase.CreateCertificatesTable()
jstedfast Nov 15, 2020
2d7335f
Fixed potential leaks in MimeParser when loading MimePart content
jstedfast Nov 15, 2020
8563f81
minor fixes
jstedfast Nov 15, 2020
9e98642
Updated MimeKit.Coverity.sln
jstedfast Nov 15, 2020
d6857a7
Added another mailbox parser test
jstedfast Nov 15, 2020
f57e326
Updated nuspec files
jstedfast Nov 16, 2020
5cf40bb
Added benchmarks
jstedfast Nov 16, 2020
1b0ee16
Improved MimeParser performance
jstedfast Nov 16, 2020
f366bae
Updated appveyor.yml to require VS2019
jstedfast Nov 17, 2020
c71e80f
Updated .travis.yml to require dotnet 3.1.402
jstedfast Nov 17, 2020
2febbd0
Updated azure-pipelines.yml to use the windows-2019 vmImage
jstedfast Nov 17, 2020
d94f759
Added some debugging CWLs for the DSACng unit test
jstedfast Nov 17, 2020
044ec16
Set Benchmark target to net47 (might fix build on Travis-CI)
jstedfast Nov 17, 2020
886a828
Implement Sql server support (#619)
rblackin Nov 20, 2020
cb750f3
Added docs for the newly exposed APIs
jstedfast Nov 20, 2020
fe16cfb
Simplified some logic in SQLServerCertificateDatabase
jstedfast Nov 20, 2020
e01dac4
Try using NuGet 5.8.0 (maybe that will fix the Azure builds?)
jstedfast Nov 20, 2020
948688d
Make the DbConnection, certificatesTable and crlsTable into protected…
jstedfast Nov 20, 2020
683100c
Don't use ArrayPool for small buffers.
jstedfast Nov 21, 2020
720d1ec
Updated Ed25519DigestSigner to use newer BC APIs
jstedfast Nov 21, 2020
20b0d06
Bumped version to 2.10.0
jstedfast Nov 21, 2020
e212c3b
Fixed version in MimeKitLite, d'oh.
jstedfast Nov 21, 2020
57815f0
Treat message/disposition-notification and message/delivery-status th…
jstedfast Nov 28, 2020
333b7a0
Always set Content-Disposition: inline for LinkedResources
jstedfast Dec 1, 2020
6268d4c
Fix (package) references to System.Data.DataSetExtensions
jstedfast Dec 3, 2020
ec9cdd2
Added a netstandard2.1-specific build target
jstedfast Dec 4, 2020
2acfc0d
Oops, need to add netstandard2.1 to TargetFrameworks
jstedfast Dec 4, 2020
841c602
Oops, versions should have been 2.10.0.x
jstedfast Dec 5, 2020
7aa5fad
Bumped version to 2.10.1
jstedfast Dec 5, 2020
5f61355
Merge 2.10.1 into acs_master
Mar 1, 2021
be92e89
fix build problem
Mar 1, 2021
e6f8c07
Fix test problem.
Mar 1, 2021
9986c7f
Bumped version to 2.10.1.1
Mar 1, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
201 changes: 201 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
# Remove the line below if you want to inherit .editorconfig settings from higher directories
root = true

# C# files
[*.cs]

#### Core EditorConfig Options ####

# Indentation and spacing
indent_size = 4
indent_style = tab
tab_width = 4

# New line preferences
end_of_line = crlf
insert_final_newline = true

#### .NET Coding Conventions ####

# Organize usings
dotnet_separate_import_directive_groups = true
dotnet_sort_system_directives_first = true
file_header_template = unset

# this. and Me. preferences
dotnet_style_qualification_for_event = false:silent
dotnet_style_qualification_for_field = false:silent
dotnet_style_qualification_for_method = false:silent
dotnet_style_qualification_for_property = false:silent

# Language keywords vs BCL types preferences
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
dotnet_style_predefined_type_for_member_access = true:silent

# Parentheses preferences
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent

# Modifier preferences
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent

# Expression-level preferences
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_explicit_tuple_names = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_object_initializer = true:suggestion
dotnet_style_operator_placement_when_wrapping = beginning_of_line
dotnet_style_prefer_auto_properties = true:silent
dotnet_style_prefer_compound_assignment = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
dotnet_style_prefer_conditional_expression_over_return = true:silent
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
dotnet_style_prefer_simplified_interpolation = true:suggestion

# Field preferences
dotnet_style_readonly_field = true:suggestion

# Parameter preferences
dotnet_code_quality_unused_parameters = all:suggestion

#### C# Coding Conventions ####

# var preferences
csharp_style_var_elsewhere = false:silent
csharp_style_var_for_built_in_types = false:silent
csharp_style_var_when_type_is_apparent = false:silent

# Expression-bodied members
csharp_style_expression_bodied_accessors = true:silent
csharp_style_expression_bodied_constructors = false:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_lambdas = true:silent
csharp_style_expression_bodied_local_functions = false:silent
csharp_style_expression_bodied_methods = false:silent
csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_properties = true:silent

# Pattern matching preferences
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
csharp_style_prefer_switch_expression = true:suggestion

# Null-checking preferences
csharp_style_conditional_delegate_call = true:suggestion

# Modifier preferences
csharp_prefer_static_local_function = true:suggestion
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:silent

# Code-block preferences
csharp_prefer_braces = true:silent
csharp_prefer_simple_using_statement = true:suggestion

# Expression-level preferences
csharp_prefer_simple_default_expression = true:suggestion
csharp_style_deconstructed_variable_declaration = true:suggestion
csharp_style_inlined_variable_declaration = true:suggestion
csharp_style_pattern_local_over_anonymous_function = true:suggestion
csharp_style_prefer_index_operator = true:suggestion
csharp_style_prefer_range_operator = true:suggestion
csharp_style_throw_expression = true:suggestion
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
csharp_style_unused_value_expression_statement_preference = discard_variable:silent

# 'using' directive preferences
csharp_using_directive_placement = outside_namespace:silent

#### C# Formatting Rules ####

# New line preferences
csharp_new_line_before_catch = false
csharp_new_line_before_else = false
csharp_new_line_before_finally = false
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_open_brace = methods,types
csharp_new_line_between_query_expression_clauses = true

# Indentation preferences
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = true
csharp_indent_labels = one_less_than_current
csharp_indent_switch_labels = false

# Space preferences
csharp_space_after_cast = true
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_comma = true
csharp_space_after_dot = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_after_semicolon_in_for_statement = true
csharp_space_around_binary_operators = before_and_after
csharp_space_around_declaration_statements = false
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_before_comma = false
csharp_space_before_dot = false
csharp_space_before_open_square_brackets = false
csharp_space_before_semicolon_in_for_statement = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = true
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = true
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false

# Wrapping preferences
csharp_preserve_single_line_blocks = true
csharp_preserve_single_line_statements = true

#### Naming styles ####

# Naming rules

dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i

dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case

# Symbol specifications

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers =

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers =

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers =

# Naming styles

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
custom: ['https://paypal.me/pools/c/857bnxBTXg']
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: Bug report
about: Create a report to help us improve

---

**Describe the bug**
A clear and concise description of what the bug is.

**Platform (please complete the following information):**
- OS: [e.g. Windows, Linux, MacOS, iOS, Android, Windows Phone, etc.]
- .NET Runtime: [e.g. CoreCLR, Mono]
- .NET Framework: [e.g. .Net Core, .NET 4.5, UWP, etc.]
- MimeKit Version:

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Additional context**
Add any other context about the problem here.
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Feature request
about: Suggest an idea for this project

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
MimeKit/Resources/Resource.designer.cs
Mono.Data.Sqlite/Documentation
project.nuget.cache
*project.lock.json
*.csproj.nuget.cache
*.csproj.nuget.dgspec.json
*.userprefs
*.user
*.suo
Expand Down
7 changes: 0 additions & 7 deletions .gitmodules

This file was deleted.

6 changes: 0 additions & 6 deletions .nuget/packages.config

This file was deleted.

8 changes: 7 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
language: csharp
solution: MimeKit.Net45.sln
dotnet: 3.1.402
solution: MimeKit.sln
install:
- dotnet restore MimeKit.sln
script:
- msbuild /p:Configuration=Debug /p:MonoRuntime=true MimeKit.sln
- mono ~/.nuget/packages/nunit.consolerunner/3.11.1/tools/nunit3-console.exe UnitTests/bin/Debug/net48/UnitTests.dll
63 changes: 24 additions & 39 deletions MimeKit/CancellationToken.cs → Benchmarks/BenchmarkHelper.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
//
// CancellationToken.cs
// BenchmarkHelper.cs
//
// Author: Jeffrey Stedfast <jeff@xamarin.com>
// Author: Jeffrey Stedfast <jestedfa@microsoft.com>
//
// Copyright (c) 2015 Xamarin Inc. (www.xamarin.com)
// Copyright (c) 2013-2020 .NET Foundation and Contributors
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand All @@ -25,52 +25,37 @@
//

using System;
using System.IO;

namespace System.Threading {
public struct CancellationToken
namespace Benchmarks {
static class BenchmarkHelper
{
public static readonly CancellationToken None = new CancellationToken ();
public static readonly string ProjectDir;
public static readonly string UnitTestsDir;

public bool CanBeCancelled {
get { return false; }
}

public bool IsCancellationRequested {
get { return false; }
}

public void ThrowIfCancellationRequested ()
static BenchmarkHelper ()
{
if (IsCancellationRequested)
throw new OperationCanceledException ();
}
var codeBase = typeof (BenchmarkHelper).Assembly.CodeBase;
if (codeBase.StartsWith ("file://", StringComparison.OrdinalIgnoreCase))
codeBase = codeBase.Substring ("file://".Length);

public bool Equals (CancellationToken other)
{
return true;
}
if (Path.DirectorySeparatorChar == '\\') {
if (codeBase[0] == '/')
codeBase = codeBase.Substring (1);

public override bool Equals (object obj)
{
if (obj is CancellationToken)
return Equals ((CancellationToken) obj);
codeBase = codeBase.Replace ('/', '\\');
}

return false;
}
var dir = Path.GetDirectoryName (codeBase);

public override int GetHashCode ()
{
return base.GetHashCode ();
}
while (Path.GetFileName (dir) != "Benchmarks")
dir = Path.GetFullPath (Path.Combine (dir, ".."));

public static bool operator == (CancellationToken left, CancellationToken right)
{
return left.Equals (right);
}
ProjectDir = Path.GetFullPath (dir);

public static bool operator != (CancellationToken left, CancellationToken right)
{
return !left.Equals (right);
dir = Path.Combine (dir, "..", "UnitTests");

UnitTestsDir = Path.GetFullPath (dir);
}
}
}
Loading