create-berna-stencil 1.0.9 → 1.0.10
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.
- package/.env.example +8 -0
- package/.gitignore +2 -1
- package/README.md +1 -5
- package/bin/create.js +2 -1
- package/package.json +71 -70
- package/src/api/vendor/autoload.php +22 -22
- package/src/api/vendor/composer/ClassLoader.php +579 -579
- package/src/api/vendor/composer/InstalledVersions.php +396 -396
- package/src/api/vendor/composer/LICENSE +21 -21
- package/src/api/vendor/composer/autoload_classmap.php +15 -15
- package/src/api/vendor/composer/autoload_files.php +12 -12
- package/src/api/vendor/composer/autoload_namespaces.php +9 -9
- package/src/api/vendor/composer/autoload_psr4.php +16 -16
- package/src/api/vendor/composer/autoload_real.php +50 -50
- package/src/api/vendor/composer/autoload_static.php +86 -86
- package/src/api/vendor/composer/installed.json +582 -582
- package/src/api/vendor/composer/installed.php +86 -86
- package/src/api/vendor/composer/platform_check.php +25 -25
- package/src/api/vendor/graham-campbell/result-type/.gitattributes +9 -0
- package/src/api/vendor/graham-campbell/result-type/.github/CODE_OF_CONDUCT.md +132 -0
- package/src/api/vendor/graham-campbell/result-type/.github/CONTRIBUTING.md +31 -0
- package/src/api/vendor/graham-campbell/result-type/.github/FUNDING.yml +2 -0
- package/src/api/vendor/graham-campbell/result-type/.github/SECURITY.md +14 -0
- package/src/api/vendor/graham-campbell/result-type/.github/workflows/stale.yml +11 -0
- package/src/api/vendor/graham-campbell/result-type/.github/workflows/tests.yml +40 -0
- package/src/api/vendor/graham-campbell/result-type/CHANGELOG.md +53 -0
- package/src/api/vendor/graham-campbell/result-type/LICENSE +21 -0
- package/src/api/vendor/graham-campbell/result-type/README.md +42 -0
- package/src/api/vendor/graham-campbell/result-type/composer.json +33 -0
- package/src/api/vendor/graham-campbell/result-type/phpunit.xml.dist +13 -0
- package/src/api/vendor/graham-campbell/result-type/src/Error.php +121 -0
- package/src/api/vendor/graham-campbell/result-type/src/Result.php +69 -0
- package/src/api/vendor/graham-campbell/result-type/src/Success.php +120 -0
- package/src/api/vendor/graham-campbell/result-type/tests/ResultTest.php +95 -0
- package/src/api/vendor/phpmailer/phpmailer/.codecov.yml +21 -0
- package/src/api/vendor/phpmailer/phpmailer/.editorconfig +15 -0
- package/src/api/vendor/phpmailer/phpmailer/.gitattributes +17 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/FUNDING.yml +6 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/ISSUE_TEMPLATE/bug_report.md +23 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/actions/build-docs/Dockerfile +15 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/actions/build-docs/entrypoint.sh +5 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/dependabot.yml +21 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/workflows/docs.yaml +30 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/workflows/scorecards.yml +61 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/workflows/tests.yml +237 -0
- package/src/api/vendor/phpmailer/phpmailer/.phan/config.php +41 -0
- package/src/api/vendor/phpmailer/phpmailer/COMMITMENT +46 -0
- package/src/api/vendor/phpmailer/phpmailer/LICENSE +502 -0
- package/src/api/vendor/phpmailer/phpmailer/README.md +232 -0
- package/src/api/vendor/phpmailer/phpmailer/SECURITY.md +37 -0
- package/src/api/vendor/phpmailer/phpmailer/SMTPUTF8.md +48 -0
- package/src/api/vendor/phpmailer/phpmailer/UPGRADING.md +125 -0
- package/src/api/vendor/phpmailer/phpmailer/VERSION +1 -0
- package/src/api/vendor/phpmailer/phpmailer/changelog.md +1122 -0
- package/src/api/vendor/phpmailer/phpmailer/composer.json +84 -0
- package/src/api/vendor/phpmailer/phpmailer/docs/README.md +9 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/DKIM_gen_keys.phps +81 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/DKIM_sign.phps +46 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/README.md +96 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/azure_xoauth2.phps +126 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/callback.phps +76 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/contactform-ajax.phps +146 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/contactform.phps +95 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/contents.html +17 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/contentsutf8.html +23 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/exceptions.phps +40 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/extending.phps +72 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/gmail.phps +106 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/gmail_xoauth.phps +121 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.afdesign +0 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.png +0 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.svg +209 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/images/phpmailer.png +0 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/images/phpmailer_mini.png +0 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/mail.phps +35 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/mailing_list.phps +96 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/pop_before_smtp.phps +60 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/send_file_upload.phps +60 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/send_multiple_file_upload.phps +60 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/sendmail.phps +37 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/sendoauth2.phps +100 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/simple_contact_form.phps +102 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/smime_signed_mail.phps +99 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/smtp.phps +62 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/smtp_check.phps +60 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/smtp_low_memory.phps +117 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/smtp_no_auth.phps +53 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/ssl_options.phps +81 -0
- package/src/api/vendor/phpmailer/phpmailer/get_oauth_token.php +182 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-af.php +26 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ar.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-as.php +35 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-az.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ba.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-be.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-bg.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-bn.php +35 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ca.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-da.php +39 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-de.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-el.php +33 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-eo.php +37 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php +38 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-et.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fa.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fi.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fo.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php +36 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-gl.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-he.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hi.php +35 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hr.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hu.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hy.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-id.php +31 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-it.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ja.php +37 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ka.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ko.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ku.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-lt.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-lv.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-mg.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-mn.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ms.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-nb.php +37 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-nl.php +38 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pl.php +33 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt.php +34 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt_br.php +38 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ro.php +33 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php +36 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-si.php +34 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php +30 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sl.php +36 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr_latn.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sv.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-tl.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-tr.php +38 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ur.php +30 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-vi.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh.php +29 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh_cn.php +36 -0
- package/src/api/vendor/phpmailer/phpmailer/phpcs.xml.dist +52 -0
- package/src/api/vendor/phpmailer/phpmailer/phpdoc.dist.xml +20 -0
- package/src/api/vendor/phpmailer/phpmailer/phpunit.xml.dist +36 -0
- package/src/api/vendor/phpmailer/phpmailer/src/DSNConfigurator.php +245 -0
- package/src/api/vendor/phpmailer/phpmailer/src/Exception.php +40 -0
- package/src/api/vendor/phpmailer/phpmailer/src/OAuth.php +139 -0
- package/src/api/vendor/phpmailer/phpmailer/src/OAuthTokenProvider.php +44 -0
- package/src/api/vendor/phpmailer/phpmailer/src/PHPMailer.php +5525 -0
- package/src/api/vendor/phpmailer/phpmailer/src/POP3.php +470 -0
- package/src/api/vendor/phpmailer/phpmailer/src/SMTP.php +1617 -0
- package/src/api/vendor/phpmailer/phpmailer/test/DebugLogTestListener.php +47 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/accessible.txt +1 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/inaccessible.txt +1 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-fr.php +10 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-nl.php +10 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xa_scri_cc.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xb_scri.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xc_cc.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_cc.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_scri.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xe.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xx.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yy.php +16 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yz.php +16 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-zz.php +20 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Language/TranslationCompletenessTest.php +97 -0
- package/src/api/vendor/phpmailer/phpmailer/test/OAuth/OAuthTest.php +76 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddEmbeddedImageTest.php +178 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringAttachmentTest.php +147 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringEmbeddedImageTest.php +161 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddrFormatTest.php +70 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AuthCRAMMD5Test.php +48 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/CustomHeaderTest.php +285 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMTest.php +258 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMWithoutExceptionsTest.php +46 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DSNConfiguratorTest.php +221 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeQTest.php +110 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeStringTest.php +135 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/FileIsAccessibleTest.php +103 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/FilenameToTypeTest.php +74 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/GenerateIdTest.php +75 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/GetLastMessageIDTest.php +110 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/HasLineLongerThanMaxTest.php +158 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/Html2TextTest.php +231 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ICalTest.php +126 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/IsPermittedPathTest.php +108 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/IsValidHostTest.php +107 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/LocalizationTest.php +505 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MailTransportTest.php +261 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MbPathinfoTest.php +171 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MimeTypesTest.php +70 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/NormalizeBreaksTest.php +111 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/PHPMailerTest.php +1388 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ParseAddressesTest.php +321 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/PunyencodeAddressTest.php +141 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/QuotedStringTest.php +70 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ReplyToGetSetClearTest.php +444 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetErrorTest.php +154 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetFromTest.php +202 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetTest.php +81 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetWordWrapTest.php +120 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/Utf8CharBoundaryTest.php +66 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressCustomValidatorTest.php +116 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressTest.php +485 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/WrapTextTest.php +125 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/XMailerTest.php +75 -0
- package/src/api/vendor/phpmailer/phpmailer/test/POP3/PopBeforeSmtpTest.php +139 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PreSendTestCase.php +46 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Security/DenialOfServiceVectorsTest.php +52 -0
- package/src/api/vendor/phpmailer/phpmailer/test/SendTestCase.php +126 -0
- package/src/api/vendor/phpmailer/phpmailer/test/TestCase.php +392 -0
- package/src/api/vendor/phpmailer/phpmailer/test/fakepopserver.sh +126 -0
- package/src/api/vendor/phpmailer/phpmailer/test/fakesendmail.sh +22 -0
- package/src/api/vendor/phpmailer/phpmailer/test/runfakepopserver.sh +12 -0
- package/src/api/vendor/phpmailer/phpmailer/test/testbootstrap-dist.php +8 -0
- package/src/api/vendor/phpmailer/phpmailer/test/validators.php +12 -0
- package/src/api/vendor/phpoption/phpoption/.gitattributes +13 -0
- package/src/api/vendor/phpoption/phpoption/.github/CODE_OF_CONDUCT.md +132 -0
- package/src/api/vendor/phpoption/phpoption/.github/CONTRIBUTING.md +30 -0
- package/src/api/vendor/phpoption/phpoption/.github/FUNDING.yml +2 -0
- package/src/api/vendor/phpoption/phpoption/.github/SECURITY.md +14 -0
- package/src/api/vendor/phpoption/phpoption/.github/workflows/static.yml +40 -0
- package/src/api/vendor/phpoption/phpoption/.github/workflows/tests.yml +40 -0
- package/src/api/vendor/phpoption/phpoption/LICENSE +201 -0
- package/src/api/vendor/phpoption/phpoption/Makefile +17 -0
- package/src/api/vendor/phpoption/phpoption/README.md +201 -0
- package/src/api/vendor/phpoption/phpoption/composer.json +50 -0
- package/src/api/vendor/phpoption/phpoption/phpstan-baseline.neon +44 -0
- package/src/api/vendor/phpoption/phpoption/phpstan.neon.dist +7 -0
- package/src/api/vendor/phpoption/phpoption/phpunit.xml.dist +13 -0
- package/src/api/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +175 -0
- package/src/api/vendor/phpoption/phpoption/src/PhpOption/None.php +136 -0
- package/src/api/vendor/phpoption/phpoption/src/PhpOption/Option.php +434 -0
- package/src/api/vendor/phpoption/phpoption/src/PhpOption/Some.php +169 -0
- package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +72 -0
- package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +357 -0
- package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +153 -0
- package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +166 -0
- package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +194 -0
- package/src/api/vendor/phpoption/phpoption/tests/bootstrap.php +8 -0
- package/src/api/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +8 -0
- package/src/api/vendor/symfony/polyfill-ctype/Ctype.php +232 -0
- package/src/api/vendor/symfony/polyfill-ctype/LICENSE +19 -0
- package/src/api/vendor/symfony/polyfill-ctype/README.md +12 -0
- package/src/api/vendor/symfony/polyfill-ctype/bootstrap.php +50 -0
- package/src/api/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -0
- package/src/api/vendor/symfony/polyfill-ctype/composer.json +38 -0
- package/src/api/vendor/symfony/polyfill-mbstring/LICENSE +19 -0
- package/src/api/vendor/symfony/polyfill-mbstring/Mbstring.php +1077 -0
- package/src/api/vendor/symfony/polyfill-mbstring/README.md +13 -0
- package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
- package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -0
- package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -0
- package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -0
- package/src/api/vendor/symfony/polyfill-mbstring/bootstrap.php +171 -0
- package/src/api/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
- package/src/api/vendor/symfony/polyfill-mbstring/composer.json +39 -0
- package/src/api/vendor/symfony/polyfill-php80/LICENSE +19 -0
- package/src/api/vendor/symfony/polyfill-php80/Php80.php +115 -0
- package/src/api/vendor/symfony/polyfill-php80/PhpToken.php +106 -0
- package/src/api/vendor/symfony/polyfill-php80/README.md +25 -0
- package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -0
- package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -0
- package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -0
- package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -0
- package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -0
- package/src/api/vendor/symfony/polyfill-php80/bootstrap.php +42 -0
- package/src/api/vendor/symfony/polyfill-php80/composer.json +37 -0
- package/src/api/vendor/vlucas/phpdotenv/.editorconfig +15 -0
- package/src/api/vendor/vlucas/phpdotenv/.gitattributes +15 -0
- package/src/api/vendor/vlucas/phpdotenv/.github/CODE_OF_CONDUCT.md +132 -0
- package/src/api/vendor/vlucas/phpdotenv/.github/CONTRIBUTING.md +30 -0
- package/src/api/vendor/vlucas/phpdotenv/.github/FUNDING.yml +2 -0
- package/src/api/vendor/vlucas/phpdotenv/.github/SECURITY.md +14 -0
- package/src/api/vendor/vlucas/phpdotenv/.github/workflows/static.yml +40 -0
- package/src/api/vendor/vlucas/phpdotenv/.github/workflows/tests.yml +70 -0
- package/src/api/vendor/vlucas/phpdotenv/LICENSE +30 -0
- package/src/api/vendor/vlucas/phpdotenv/Makefile +17 -0
- package/src/api/vendor/vlucas/phpdotenv/README.md +370 -0
- package/src/api/vendor/vlucas/phpdotenv/UPGRADING.md +196 -0
- package/src/api/vendor/vlucas/phpdotenv/composer.json +60 -0
- package/src/api/vendor/vlucas/phpdotenv/phpstan-baseline.neon +157 -0
- package/src/api/vendor/vlucas/phpdotenv/phpstan.neon.dist +7 -0
- package/src/api/vendor/vlucas/phpdotenv/phpunit.xml.dist +13 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Dotenv.php +267 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +12 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +12 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +12 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +12 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +12 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Loader/Loader.php +48 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +20 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +65 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/Entry.php +59 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +299 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +58 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/Lines.php +127 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/Parser.php +53 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +19 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/Value.php +88 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +15 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +89 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +80 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +88 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +85 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +110 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +48 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +64 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +91 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +17 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +104 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +88 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +27 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +107 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +272 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +51 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +44 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +81 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Store/FileStore.php +72 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +141 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +17 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Store/StringStore.php +37 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Util/Regex.php +112 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Util/Str.php +108 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Validator.php +207 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +387 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +86 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +234 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +40 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +53 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +98 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +57 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +75 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +52 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +75 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +305 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +141 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +479 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +5 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +18 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +33 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +15 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +1 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +1 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +7 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +1 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +17 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +2 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +3 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +14 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +4 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +1 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +15 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +11 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +8 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +2 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +3 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +1 -0
- package/src/api/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +15 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* PHPMailer - PHP email transport unit tests.
|
|
5
|
+
* PHP version 5.5.
|
|
6
|
+
*
|
|
7
|
+
* @author Marcus Bointon <phpmailer@synchromedia.co.uk>
|
|
8
|
+
* @author Andy Prevost
|
|
9
|
+
* @copyright 2012 - 2020 Marcus Bointon
|
|
10
|
+
* @copyright 2004 - 2009 Andy Prevost
|
|
11
|
+
* @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
namespace PHPMailer\Test\PHPMailer;
|
|
15
|
+
|
|
16
|
+
use PHPMailer\Test\PreSendTestCase;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Test ICal calendar events handling.
|
|
20
|
+
*/
|
|
21
|
+
final class ICalTest extends PreSendTestCase
|
|
22
|
+
{
|
|
23
|
+
/**
|
|
24
|
+
* Test ICal method.
|
|
25
|
+
*
|
|
26
|
+
* @dataProvider dataICalMethod
|
|
27
|
+
* @covers \PHPMailer\PHPMailer\PHPMailer::createBody
|
|
28
|
+
*
|
|
29
|
+
* @param string $methodLine The Ical method line to use.
|
|
30
|
+
* @param string $expected The expected method in the content type header.
|
|
31
|
+
*/
|
|
32
|
+
public function testICalMethod($methodLine, $expected)
|
|
33
|
+
{
|
|
34
|
+
$this->Mail->Subject .= ': ICal method';
|
|
35
|
+
$this->Mail->Body = '<h3>ICal method test.</h3>';
|
|
36
|
+
$this->Mail->AltBody = 'ICal method test.';
|
|
37
|
+
$this->Mail->Ical = 'BEGIN:VCALENDAR'
|
|
38
|
+
. "\r\nVERSION:2.0"
|
|
39
|
+
. "\r\nPRODID:-//PHPMailer//PHPMailer Calendar Plugin 1.0//EN"
|
|
40
|
+
. $methodLine
|
|
41
|
+
. "\r\nCALSCALE:GREGORIAN"
|
|
42
|
+
. "\r\nX-MICROSOFT-CALSCALE:GREGORIAN"
|
|
43
|
+
. "\r\nBEGIN:VEVENT"
|
|
44
|
+
. "\r\nUID:201909250755-42825@test"
|
|
45
|
+
. "\r\nDTSTART;20190930T080000Z"
|
|
46
|
+
. "\r\nSEQUENCE:2"
|
|
47
|
+
. "\r\nTRANSP:OPAQUE"
|
|
48
|
+
. "\r\nSTATUS:CONFIRMED"
|
|
49
|
+
. "\r\nDTEND:20190930T084500Z"
|
|
50
|
+
. "\r\nLOCATION:[London] London Eye"
|
|
51
|
+
. "\r\nSUMMARY:Test ICal method"
|
|
52
|
+
. "\r\nATTENDEE;CN=Attendee, Test;ROLE=OPT-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP="
|
|
53
|
+
. "\r\n TRUE:MAILTO:attendee-test@example.com"
|
|
54
|
+
. "\r\nCLASS:PUBLIC"
|
|
55
|
+
. "\r\nDESCRIPTION:Some plain text"
|
|
56
|
+
. "\r\nORGANIZER;CN=\"Example, Test\":MAILTO:test@example.com"
|
|
57
|
+
. "\r\nDTSTAMP:20190925T075546Z"
|
|
58
|
+
. "\r\nCREATED:20190925T075709Z"
|
|
59
|
+
. "\r\nLAST-MODIFIED:20190925T075546Z"
|
|
60
|
+
. "\r\nEND:VEVENT"
|
|
61
|
+
. "\r\nEND:VCALENDAR";
|
|
62
|
+
$this->buildBody();
|
|
63
|
+
$this->Mail->preSend();
|
|
64
|
+
|
|
65
|
+
$expected = 'Content-Type: text/calendar; method=' . $expected . ';';
|
|
66
|
+
|
|
67
|
+
self::assertStringContainsString(
|
|
68
|
+
$expected,
|
|
69
|
+
$this->Mail->getSentMIMEMessage(),
|
|
70
|
+
'Wrong ICal method in Content-Type header'
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Data provider.
|
|
76
|
+
*
|
|
77
|
+
* @return array
|
|
78
|
+
*/
|
|
79
|
+
public function dataICalMethod()
|
|
80
|
+
{
|
|
81
|
+
return [
|
|
82
|
+
'Valid method: request (default)' => [
|
|
83
|
+
'methodLine' => "\r\nMETHOD:REQUEST",
|
|
84
|
+
'expected' => 'REQUEST',
|
|
85
|
+
],
|
|
86
|
+
'Valid method: publish' => [
|
|
87
|
+
'methodLine' => "\r\nMETHOD:PUBLISH",
|
|
88
|
+
'expected' => 'PUBLISH',
|
|
89
|
+
],
|
|
90
|
+
'Valid method: reply' => [
|
|
91
|
+
'methodLine' => "\r\nMETHOD:REPLY",
|
|
92
|
+
'expected' => 'REPLY',
|
|
93
|
+
],
|
|
94
|
+
'Valid method: add' => [
|
|
95
|
+
'methodLine' => "\r\nMETHOD:ADD",
|
|
96
|
+
'expected' => 'ADD',
|
|
97
|
+
],
|
|
98
|
+
'Valid method: cancel' => [
|
|
99
|
+
'methodLine' => "\r\nMETHOD:CANCEL",
|
|
100
|
+
'expected' => 'CANCEL',
|
|
101
|
+
],
|
|
102
|
+
'Valid method: refresh' => [
|
|
103
|
+
'methodLine' => "\r\nMETHOD:REFRESH",
|
|
104
|
+
'expected' => 'REFRESH',
|
|
105
|
+
],
|
|
106
|
+
'Valid method: counter' => [
|
|
107
|
+
'methodLine' => "\r\nMETHOD:COUNTER",
|
|
108
|
+
'expected' => 'COUNTER',
|
|
109
|
+
],
|
|
110
|
+
'Valid method: declinecounter' => [
|
|
111
|
+
'methodLine' => "\r\nMETHOD:DECLINECOUNTER",
|
|
112
|
+
'expected' => 'DECLINECOUNTER',
|
|
113
|
+
],
|
|
114
|
+
// Test ICal invalid method to use default (REQUEST).
|
|
115
|
+
'Invalid method' => [
|
|
116
|
+
'methodLine' => "\r\nMETHOD:INVALID",
|
|
117
|
+
'expected' => 'REQUEST',
|
|
118
|
+
],
|
|
119
|
+
// Test ICal missing method to use default (REQUEST).
|
|
120
|
+
'Missing method' => [
|
|
121
|
+
'methodLine' => '',
|
|
122
|
+
'expected' => 'REQUEST',
|
|
123
|
+
],
|
|
124
|
+
];
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* PHPMailer - PHP email transport unit tests.
|
|
5
|
+
* PHP version 5.5.
|
|
6
|
+
*
|
|
7
|
+
* @author Marcus Bointon <phpmailer@synchromedia.co.uk>
|
|
8
|
+
* @author Andy Prevost
|
|
9
|
+
* @copyright 2012 - 2020 Marcus Bointon
|
|
10
|
+
* @copyright 2004 - 2009 Andy Prevost
|
|
11
|
+
* @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
namespace PHPMailer\Test\PHPMailer;
|
|
15
|
+
|
|
16
|
+
use PHPMailer\PHPMailer\PHPMailer;
|
|
17
|
+
use ReflectionMethod;
|
|
18
|
+
use Yoast\PHPUnitPolyfills\TestCases\TestCase;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Test path validation functionality.
|
|
22
|
+
*
|
|
23
|
+
* @covers \PHPMailer\PHPMailer\PHPMailer::isPermittedPath
|
|
24
|
+
*/
|
|
25
|
+
final class IsPermittedPathTest extends TestCase
|
|
26
|
+
{
|
|
27
|
+
/**
|
|
28
|
+
* Test whether the validation of whether a path is of a permitted type works correctly.
|
|
29
|
+
*
|
|
30
|
+
* @dataProvider dataIsPermittedPath
|
|
31
|
+
*
|
|
32
|
+
* @param string $input A relative or absolute path to a file.
|
|
33
|
+
* @param bool $expected The expected function return value.
|
|
34
|
+
*/
|
|
35
|
+
public function testIsPermittedPath($input, $expected)
|
|
36
|
+
{
|
|
37
|
+
$reflMethod = new ReflectionMethod(PHPMailer::class, 'isPermittedPath');
|
|
38
|
+
(\PHP_VERSION_ID < 80100) && $reflMethod->setAccessible(true);
|
|
39
|
+
$result = $reflMethod->invoke(null, $input);
|
|
40
|
+
(\PHP_VERSION_ID < 80100) && $reflMethod->setAccessible(false);
|
|
41
|
+
|
|
42
|
+
self::assertSame($expected, $result);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Data provider.
|
|
47
|
+
*
|
|
48
|
+
* @return array
|
|
49
|
+
*/
|
|
50
|
+
public function dataIsPermittedPath()
|
|
51
|
+
{
|
|
52
|
+
return [
|
|
53
|
+
'Valid: full, local path; Linux style, forward slashes' => [
|
|
54
|
+
'input' => '/usr/sbin/subdir/docs.pdf',
|
|
55
|
+
'expected' => true,
|
|
56
|
+
],
|
|
57
|
+
'Valid: full, local path; Windows style, backslashes' => [
|
|
58
|
+
'input' => 'D:\subdir\with spaces\subdir\myapp.zip',
|
|
59
|
+
'expected' => true,
|
|
60
|
+
],
|
|
61
|
+
'Valid: full, local path; Windows style, forward slashes' => [
|
|
62
|
+
'input' => 'D:/subdir/with spaces/subdir/',
|
|
63
|
+
'expected' => true,
|
|
64
|
+
],
|
|
65
|
+
'Valid: relative local path; forward slashes' => [
|
|
66
|
+
'input' => '/etc/hostname',
|
|
67
|
+
'expected' => true,
|
|
68
|
+
],
|
|
69
|
+
'Valid: relative local path; forward slashes, path traversal' => [
|
|
70
|
+
'input' => './../../subdir/.htaccess',
|
|
71
|
+
'expected' => true,
|
|
72
|
+
],
|
|
73
|
+
'Valid: relative local path; backslashes, path traversal' => [
|
|
74
|
+
'input' => '..\subdir\\',
|
|
75
|
+
'expected' => true,
|
|
76
|
+
],
|
|
77
|
+
'Valid: file name only' => [
|
|
78
|
+
'input' => 'composer.json',
|
|
79
|
+
'expected' => true,
|
|
80
|
+
],
|
|
81
|
+
'Valid: UNC path' => [
|
|
82
|
+
'input' => '\\\\nowhere\\nothing',
|
|
83
|
+
'expected' => true,
|
|
84
|
+
],
|
|
85
|
+
|
|
86
|
+
'Invalid: phar file reference' => [
|
|
87
|
+
'input' => 'phar://phar.php',
|
|
88
|
+
'expected' => false,
|
|
89
|
+
],
|
|
90
|
+
'Invalid: external URL; protocol: https' => [
|
|
91
|
+
'input' => 'https://github.com/PHPMailer/PHPMailer/',
|
|
92
|
+
'expected' => false,
|
|
93
|
+
],
|
|
94
|
+
'Invalid: external URL; protocol: http (uppercase)' => [
|
|
95
|
+
'input' => 'HTTP://github.com/PHPMailer/PHPMailer/',
|
|
96
|
+
'expected' => false,
|
|
97
|
+
],
|
|
98
|
+
'Invalid: external URL; protocol: ssh2.sftp' => [
|
|
99
|
+
'input' => 'ssh2.sftp://user:pass@attacker-controlled.example.com:22/tmp/payload.phar',
|
|
100
|
+
'expected' => false,
|
|
101
|
+
],
|
|
102
|
+
'Invalid: external URL; protocol: x-1.cd+-' => [
|
|
103
|
+
'input' => 'x-1.cd+-://example.com/test.php',
|
|
104
|
+
'expected' => false,
|
|
105
|
+
],
|
|
106
|
+
];
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* PHPMailer - PHP email transport unit tests.
|
|
5
|
+
* PHP version 5.5.
|
|
6
|
+
*
|
|
7
|
+
* @author Marcus Bointon <phpmailer@synchromedia.co.uk>
|
|
8
|
+
* @author Andy Prevost
|
|
9
|
+
* @copyright 2012 - 2020 Marcus Bointon
|
|
10
|
+
* @copyright 2004 - 2009 Andy Prevost
|
|
11
|
+
* @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
namespace PHPMailer\Test\PHPMailer;
|
|
15
|
+
|
|
16
|
+
use PHPMailer\PHPMailer\PHPMailer;
|
|
17
|
+
use Yoast\PHPUnitPolyfills\TestCases\TestCase;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Test host validation functionality.
|
|
21
|
+
*
|
|
22
|
+
* @covers \PHPMailer\PHPMailer\PHPMailer::isValidHost
|
|
23
|
+
*/
|
|
24
|
+
final class IsValidHostTest extends TestCase
|
|
25
|
+
{
|
|
26
|
+
/**
|
|
27
|
+
* Test host validation when a valid host is passed.
|
|
28
|
+
*
|
|
29
|
+
* @dataProvider dataValidHost
|
|
30
|
+
*
|
|
31
|
+
* @param string $input Input text string.
|
|
32
|
+
*/
|
|
33
|
+
public function testValidHost($input)
|
|
34
|
+
{
|
|
35
|
+
self::assertTrue(PHPMailer::isValidHost($input), 'Good hostname denied');
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Data provider.
|
|
40
|
+
*
|
|
41
|
+
* @return array
|
|
42
|
+
*/
|
|
43
|
+
public function dataValidHost()
|
|
44
|
+
{
|
|
45
|
+
return [
|
|
46
|
+
'localhost' => ['localhost'],
|
|
47
|
+
'Domain alias' => ['a'],
|
|
48
|
+
'Domain: lowercase' => ['example.com'],
|
|
49
|
+
'Domain: uppercase' => ['EXAMPLE.COM'],
|
|
50
|
+
'Domain: mixed case' => ['Example.Com'],
|
|
51
|
+
'Domain: with dash' => ['my-example.com'],
|
|
52
|
+
'Domain: with subdomain' => ['smtp.gmail.com'],
|
|
53
|
+
'IPv4 address: 127.0.0.1' => ['127.0.0.1'],
|
|
54
|
+
'IPv4 address: external' => ['27.145.58.181'],
|
|
55
|
+
'Long hex address' => [trim(str_repeat('a0123456789.', 21), '.')],
|
|
56
|
+
'Bracketed IPv6: localhost' => ['[::1]'],
|
|
57
|
+
'Bracketed IPv6' => ['[0:1234:dc0:41:216:3eff:fe67:3e01]'],
|
|
58
|
+
'Bracketed IPv6 uppercase' => ['[0:1234:DC0:41:216:3EFF:FE67:3E01]'],
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Test host validation when an invalid host is passed.
|
|
64
|
+
*
|
|
65
|
+
* @dataProvider dataInvalidHost
|
|
66
|
+
*
|
|
67
|
+
* @param string $input Input text string.
|
|
68
|
+
*/
|
|
69
|
+
public function testInvalidHost($input)
|
|
70
|
+
{
|
|
71
|
+
self::assertFalse(PHPMailer::isValidHost($input), 'Bad hostname accepted');
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Data provider.
|
|
76
|
+
*
|
|
77
|
+
* @return array
|
|
78
|
+
*/
|
|
79
|
+
public function dataInvalidHost()
|
|
80
|
+
{
|
|
81
|
+
return [
|
|
82
|
+
'Invalid type: null' => [null],
|
|
83
|
+
'Invalid type: int' => [123],
|
|
84
|
+
'Invalid type: float' => [1.5],
|
|
85
|
+
'Invalid type: object' => [new \stdClass()],
|
|
86
|
+
'Invalid type: array' => [[]],
|
|
87
|
+
'Invalid input: empty string' => [''],
|
|
88
|
+
'Invalid input: domain - empty subdomain' => ['.example.com'],
|
|
89
|
+
'Invalid input: domain - with underscore' => ['my_example.com'],
|
|
90
|
+
'Invalid input: IPv4, no dots' => ['127001'],
|
|
91
|
+
'Invalid input: IPv4, too few groups' => ['168.0.001'],
|
|
92
|
+
'Invalid input: IPv4, too many groups' => ['22.55.14.73.9'],
|
|
93
|
+
'Invalid input: IPv4 address outside range' => ['999.0.0.0'],
|
|
94
|
+
'Invalid input: hex address, wrong size' => [trim(str_repeat('a0123456789.', 22), '.')],
|
|
95
|
+
'Invalid input: bracketed, not IPv6 (num)' => ['[1234]'],
|
|
96
|
+
'Invalid input: bracketed, not IPv6 (hex)' => ['[abCDef]'],
|
|
97
|
+
'Invalid input: bracketed, triple :' => ['[1234:::1]'],
|
|
98
|
+
'Invalid input: IPv6 empty brackets' => ['[]'],
|
|
99
|
+
'Invalid input: IPv6 without brackets' => ['0:1234:dc0:41:216:3eff:fe67:3e01'],
|
|
100
|
+
'Invalid input: IPv6 too few groups' => ['[0:1234:dc0:41]'],
|
|
101
|
+
'Invalid input: IPv6 too many groups' => ['[012q:1234:dc0:41:216:3eff:fe67:3e01:6fa5]'],
|
|
102
|
+
'Invalid input: IPv6 non-hex char' => ['[012q:1234:dc0:41:216:3eff:fe67:3e01]'],
|
|
103
|
+
'Invalid input: IPv6 disallowed chars' => ['[0:12_4:dc$:41:216:3e+f:fe67:3e01]'],
|
|
104
|
+
'Invalid input: IPv6 double bracketed' => ['[[::1]]'],
|
|
105
|
+
];
|
|
106
|
+
}
|
|
107
|
+
}
|