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

Clear text conn type #20

Merged
merged 8 commits into from
Nov 30, 2021
Merged

Conversation

pedropastor
Copy link
Contributor

Adds the option for clear text password authentication.

Fixes connections to Azure Database for PostgreSQL.

I created a new boolean parameter at the time of creating the connection called allowClearTextPassword default to false to enable this kind of authentication for the connection.

According to https://www.postgresql.org/docs/11/protocol-flow.html#id-1.10.5.7.3 flow, this patch just returns the password to the server when requested a clear text password after a connection attempt.

For the structure of the message I didn't quite got the grasp of the byte formatting, but replicated the structure used for md5 as it follows a similar message flow. Need review on this to guarantee it is working. Local testing showed no problem.

TODO 1: I could not come up with tests, as there should be a SQL server running with clear text password request configuration I cannot replicate. Please advise on whether such server exists or how could I write the necessary tests. I have successfully tested the changes under our environment, for both queries and transactions of every type.

TODO 2: There may be security concerns about using clear text passwords I am not aware of. Right now we have an open ticket with Microsoft regarding this issue. Note that in this environment, the connections are performed within a private cloud cluster and encrypted, thus making the password encryption non necessary.

Copy link
Owner

@isoos isoos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, a few changes needed, and also please run dart format on the sources.

lib/src/connection_fsm.dart Show resolved Hide resolved
lib/src/auth/clearText_authenticator.dart Outdated Show resolved Hide resolved
lib/src/connection.dart Outdated Show resolved Hide resolved
lib/src/connection.dart Outdated Show resolved Hide resolved
CHANGELOG.md Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
@isoos isoos merged commit c2ed274 into isoos:master Nov 30, 2021
@isoos
Copy link
Owner

isoos commented Nov 30, 2021

Thank you, published as 2.4.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants