denisenkom / pytds

Python DBAPI driver for MSSQL using pure Python TDS (Tabular Data Stream) protocol implementation
MIT License
190 stars 52 forks source link

fix(tls): parsing multiple SANs #155

Closed terratrue-daniel closed 7 months ago

terratrue-daniel commented 8 months ago

When pulling the cert from Azure SQL Server, the SANs looks something like this:

| Subject Alternative Name: DNS:cr5.westus2-a.control.database.windows.net, DNS:*.cr5.westus2-a.control.database.windows.net, DNS:westus2-a.control.database.windows.net, DNS:*.westus2-a.control.database.windows.net, DNS:*.database.windows.net, DNS:*.database.secure.windows.net, DNS:*.secondary.database.windows.net, DNS:*.mariadb.database.azure.com, DNS:*.mysql.database.azure.com, DNS:*.postgres.database.azure.com, DNS:*.sql.projectarcadia.net, DNS:*.sql.azuresynapse.net, DNS:*.sql.azuresynapse-dogfood.net, DNS:*.database-fleet.windows.net, DNS:*.secondary.database-fleet.windows.net, DNS:*.dualstack.database.windows.net

Since there is a space after the comma, the DNS: portion wasn't being stripped, causing <my-sql-server>.database.windows.net to not be a match. The last unit test case is an example of this scenario.

codecov[bot] commented 8 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (845a495) 91.77% compared to head (05f0d20) 91.78%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #155 +/- ## ======================================= Coverage 91.77% 91.78% ======================================= Files 31 31 Lines 8074 8078 +4 ======================================= + Hits 7410 7414 +4 Misses 664 664 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

terratrue-daniel commented 7 months ago

@denisenkom could you take a look?

denisenkom commented 7 months ago

Looks good, merged!

terratrue-daniel commented 7 months ago

Thanks! Would it also be possible to get a release with this fix? @denisenkom

denisenkom commented 7 months ago

No problem! I am planning to make a release in December, so should be soon