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

Removing connection property - fipsProvider #460

Merged
merged 5 commits into from
Aug 31, 2017
Merged

Conversation

ulvii
Copy link
Contributor

@ulvii ulvii commented Aug 25, 2017

Based on the discussions on #433 and #438.

@msftclas
Copy link

@ulvii,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@codecov-io
Copy link

codecov-io commented Aug 25, 2017

Codecov Report

Merging #460 into dev will decrease coverage by 0.06%.
The diff coverage is 0%.

Impacted file tree graph

@@             Coverage Diff             @@
##               dev     #460      +/-   ##
===========================================
- Coverage     46.3%   46.23%   -0.07%     
+ Complexity    2198     2196       -2     
===========================================
  Files          108      108              
  Lines        25260    25244      -16     
  Branches      4176     4172       -4     
===========================================
- Hits         11696    11672      -24     
- Misses       11542    11551       +9     
+ Partials      2022     2021       -1
Flag Coverage Δ Complexity Δ
#JDBC41 46.03% <0%> (-0.09%) 2185 <0> (-2)
#JDBC42 46.1% <0%> (-0.04%) 2192 <0> (-2)
Impacted Files Coverage Δ Complexity Δ
...om/microsoft/sqlserver/jdbc/SQLServerResource.java 100% <ø> (ø) 4 <0> (ø) ⬇️
.../microsoft/sqlserver/jdbc/SQLServerDataSource.java 46.99% <ø> (-0.16%) 66 <0> (-1)
.../com/microsoft/sqlserver/jdbc/SQLServerDriver.java 76.96% <ø> (-0.13%) 25 <0> (ø)
...in/java/com/microsoft/sqlserver/jdbc/IOBuffer.java 53.61% <0%> (-0.47%) 0 <0> (ø)
...java/com/microsoft/sqlserver/jdbc/StringUtils.java 25% <0%> (-12.5%) 3% <0%> (-1%)
...om/microsoft/sqlserver/jdbc/ReaderInputStream.java 41.57% <0%> (-5.62%) 14% <0%> (-2%)
...rc/main/java/com/microsoft/sqlserver/jdbc/DDC.java 44.26% <0%> (-0.45%) 104% <0%> (-1%)
...m/microsoft/sqlserver/jdbc/SQLServerStatement.java 59.06% <0%> (-0.31%) 129% <0%> (-1%)
...om/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java 52.48% <0%> (ø) 238% <0%> (-1%) ⬇️
... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7e7ada5...6b26648. Read the comment docs.

if (logger.isLoggable(Level.FINER))
logger.finer(toString() + " FIPS provider & TrustStoreType should pass with TrustStore.");
logger.finer(toString() + "TrustStoreType is requiered alongside with TrustStore.");
Copy link
Contributor

Choose a reason for hiding this comment

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

s/requiered/required/

@cheenamalhotra cheenamalhotra added this to the 6.3.2 milestone Aug 30, 2017
@ulvii ulvii requested a review from cheenamalhotra August 30, 2017 23:59
@@ -72,32 +71,12 @@ public void fipsEncryptTest() throws Exception {
}
catch (SQLServerException e) {
Assertions.assertTrue(
e.getMessage().contains("Could not enable FIPS due to either encrypt is not true or using trusted certificate settings."),
e.getMessage().contains("Unable to verify FIPS mode settings."),
Copy link
Member

@cheenamalhotra cheenamalhotra Aug 31, 2017

Choose a reason for hiding this comment

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

I would suggest getting these same String error messages from SQLServerResource.java in test cases, such that your code becomes:
e.getMessage().contains(SQLServerResource.getResource("R_invalidFipsConfig"), "Some..").
It would remove all possibilities of errors and add maintainability.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

getResource() is not a public API

Copy link
Member

Choose a reason for hiding this comment

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

Yeah.. I missed that, in that case we need a custom resource bundle for our test framework. I have created issue #466 to track this change.

@@ -52,8 +52,7 @@ public void fipsTrustServerCertificateTest() throws Exception {
}
catch (SQLServerException e) {
Assertions.assertTrue(
e.getMessage().contains("Could not enable FIPS due to either encrypt is not true or using trusted certificate settings."),
"Should create exception for invalid TrustServerCertificate value");
e.getMessage().contains("Unable to verify FIPS mode settings."));
Copy link
Member

Choose a reason for hiding this comment

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

Any specific reason for removing "Should create exception for invalid TrustServerCertificate value" from line 56?

@ulvii ulvii merged commit ef28f62 into microsoft:dev Aug 31, 2017
@ulvii ulvii deleted the FIPSFix branch August 31, 2017 19:04
@ulvii ulvii mentioned this pull request Sep 5, 2017
ulvii added a commit that referenced this pull request Nov 9, 2017
…#540)

* update readme to master

* updated changelog for dev

* update changelog for master

* Update CHANGELOG.md

“more Junit tests for Always Encrypted” instead of “AlwaysEncrpyted “

* Update CHANGELOG.md

“more Junit tests for Always Encrypted” instead of “AlwaysEncrpyted “.

* Adding another value that will let the users specify default

* Replace explicit types with <> (The diamond operator).

This removes duplicated information when instantiating variables, and increases the readability. For example:

```Java
EnumMap<CallableHandles, HandleAssociation> handleMap =
      new EnumMap<CallableHandles, HandleAssociation>(CallableHandles.class);
```

becomes

```Java
EnumMap<CallableHandles, HandleAssociation> handleMap =
            new EnumMap<>(CallableHandles.class);
```

and

```Java
private static final EnumMap<SSType.Category, EnumSet<JDBCType.Category>> conversionMap =
            new EnumMap<SSType.Category, EnumSet<JDBCType.Category>>(SSType.Category.class);
```

becomes

```Java
private static final EnumMap<SSType.Category, EnumSet<JDBCType.Category>> conversionMap =
                new EnumMap<>(SSType.Category.class);
```

* Replace for and while loops with foeach loops

This increases the overall readability of the code, and has been supported since Java 5.

* make TLS keyword default

* minor fixes

* fix issue when calling getString() on unique identifier parameter

* Update SQLServerResource.java

Replace tabs with spaces

* Update SSLProtocolTest.java

* add test

* better fix

* fix an issue

* use properties to specify versions in pom file

* modify pom file to skip tests that are taged as slow

* use tag to skip certain tests, e.g. mvn clean install -Pbuild42 -DskipTestTag=slow

* Applying formatting

* Reverting back to tabs

* Minor fix

* Update SSLProtocolTest.java

* Junit changes - added CallableStatementTest and PrecisionScaleTest. Removed RandomData inside jdbc.datatypes beacuse it's redundant

* Fix timezone issues with testing

* Fix more issues with timezone

* update readme on master

* update readme on master

* update readme on dev

* Update README.md

* Update README.md

* Add 6.2.1 to README

* Update README.md

* Update 6.2 download link

* Update 6.2 download link

* Update README.md

* Add javadoc/fix issues

* Got rid of all the underscores in method names

* Add datetime/smalldatetime support for tvp
Merge branch 'dev' of https://github.com/Microsoft/mssql-jdbc into tvpDatetimeSmallDateTime

# Conflicts:
#	src/main/java/com/microsoft/sqlserver/jdbc/IOBuffer.java
#	src/main/java/com/microsoft/sqlserver/jdbc/SQLServerDataTable.java

* fixed issue with sql_variant

* Updated version to 6.3.1 and updated the changelog

* setNull depends on sendStringParameterAsUnicode

* make sendStringParameterAsUnicode impact updateNull() as well

* do not override the maxlength type in sql_variant when reading the values

* add snapshot to pom file

* Fixed issue with throwing error message for unsupported datatype.
Fixed issue with returning class type of time object in sql_variant

* update version number

* add test

* rename a variable

* update error messages for localization

* fix misspelled words

* adding one error message back

* too bad.. I forgot to fix the misspelled word....

* fix tests

* change cancellded to canceled

* Fix typo in Javadoc

* Fixes all statement leaks in the driver.

* Fix issues with resultset getting closed before it's consumed / closing statements when it's return type

* test

* Removed logic for closing a statement that is still used somewhere, and added a statement field that can be closed after the prepared statement is closed.

* remove unnecessary import

* Throw the initial batch exception

* Change formatting

* updated test file

* added test for the fix.

* Setting the loginTimout to default in case of a zero value (#456)

* fix indentation of SQLServerResource.java

* added test

* Fix classloader leak issue

* comment change

* add slow tag to tests

* Fixing a few mistakes in SQLServerResource (#459)

* Fixing a few mistakes in SQLServerResource

* Fix the test

* Removing connection property - fipsProvider (#460)

* Removing fipsProvider connection property

* Minor fix

* Update IOBuffer.java

Fix typo

* update FipsTest

* Add a way to remove the entries in the map after they're finished being used

* Replace explicit types with <>

* Revert "Replace explicit types with <>"

This reverts commit e277087.

* Remove explicit extends object

All objects in Java implicity extend `java.lang.Object` so `extends Object` is redundant.

Removing it will reduce confusion, and increase code readability.

* Removes redundant if/else statements. For example:
```
if (foo()) {
   return true;
} else {
   return false;
}
```

can be simplified to:
```
return foo();
```

* Remove unnecessary return statements

`return;` is unnecessary if it is the last statement in a `void` method

* Simplify overly complex boolean expressions

|Example|Replacement|
|-|-|
|`condition ? true : false`|`condition`|
|`condition ? false : true`|`!condition`|
|`value == null ? null : value`|`value`|
|`result != 0 ? result : 0`|`result`|
|`a == b ? a : b`|`b`|

* Add missing newlines to appveyor.yml

* Add missing newline to .travis.yml

* Remove comment from .travis.yml

* TimeoutTimer: Check for destroyed TheadGroup

Running a query that uses a timer can cause an
IllegalThreadStateException if the underlying ThreadGroup has been
destroyed

* TimeoutTimer: Forgot reference

Forgot to add AtomicReference

* Use ConcurrentHashMap instead

* update 6.3.1 to 6.3.2

* update changelog

* update changelog format

* increase version with SNAPSHOT after release

* refactor checkAndInitActivityId

* removing java.xml.bind.DatatypeConverter packages

* modified open source tests to run with java 9

* removed redundant methods

* remove extra line

* indentation

* works now, need comments and clean

* added comments

* add support for ""

* removing unused import

* removing deprecated APIs in java 9

* fix getExportedKeys()

* add switchCatalogs() from the current implementation

* fix getCrossReference()

* adding tests

* fix scenario when catalog is "" and add some tests for it

* add tests for getCrossReference()

* use batch instead of each statement.execute to reduce performance impact

* change column names as JDBC required

* fixed the exception thrown by getters on null

* replace [ with '

* use PreparedStatement to populate temp table #fkeys_results

* change String to Int for some columns

* refactor a bit

* Add connection properties for specifying custom TrustManager (#74)

* Add connection properties to specify a custom TrustManager

Adds two new connection properties that can be used to specify a custom
TrustManager implementation:

trustManagerClass - Class name of the custom TrustManager

trustManagerConstructorArg - Optional argument to pass to the constructor
constructor of the custom TrustManager.

If encryption is enabled and the trustManagerClass property is specified,
it will be retrieved via Class.forName(...).

If the optional property trustManagerConstructorArg is specified, then a
constructor will be retrieved via getDeclaredConstructors(String.class).
The TrustManager will then be instantiated by specified the optional
argument as a parameter.

If the optional property trustManagerConstructorArg is not specfied,
then the default no argument constructor of the class will be retrieved
and instantiated.

* Adding a few simple test to verify the newly added connection properties

* Rename custom trustmanager test package name

Previous package name used camel case. Corrects naming to be lower case.

* Add missing newlines to trustmanager test classes

* Refactor references to trust managers in tests

* Refactor whitespace and unneeded extends Object

* Add resource cleanup to trust manager tests

* Refactor failure handling for trust manager test

* Rename tmClazz to tmClass

* Add new trust manager properties to SQLServerDataSource

* Reword comment

* Format custom trustmanager changes with auto formatter

* recognize CallableStatement parameter names with leading '@'

* Revert "removing javax.xml.bind package dependency "

* Revert "Removing deprecated APIs in java 9"

* Replace manual array copy

Replace manual array copying with System.arraycopy().

* Remove redundant String.toString()

Calling toString() on a String object is redundant

* Replace bare literals

Replace bare literals with magic constants. For example:

`cal.set(1, 1, 577738, 0, 0, 0);`

becomes

`cal.set(1, Calendar.FEBRUARY, 577738, 0, 0, 0);`

* release process PR

* Revert "Remove redundant if/else statements"

* remove PR 470 from changelist, and modify the readme file

* remove preview from pom

* make urls work

* remove developer name from POM file

* cleanup tables after test

* more cleaning of tables and procedures

* add snapshot to pom.xml

* Make it 6.3.4

* Implement checkDuplicateColumnName to check duplicate columns

* Revert "Implement checkDuplicateColumnName to check duplicate columns"

This reverts commit e77a046.

* Revert "Revert "Implement checkDuplicateColumnName to check duplicate columns""

This reverts commit 8f69956.

* Apply same logic for TVP

* update changelog and readme for dev branch

* Committing fixes for Junit Tests

* Failing tests disabled temporarily

* Faoling tests disabled temporarily

* use try with resources

* add another try-with-resource

* drop a not needed method

* try-with-resources implementation commit 1

* Update .travis.yml

Updated docker image tag for mssql-server-linux

* Updating travis build script to use :2017-latest tag for SQL Server docker image

* Update .travis.yml

Updating docker run command as well.

* Update docker run command as well

* Fix AESetup issue with dropCEK

* try-with-resources implementation commit 2

* avoid creating connection for termination

* remove null check and change Set object name

* tweak to preserve original parameter name for exception message

* Refactoring the logic for checking duplicate column into Util class and adding a test case for this

* Remove explicit interface reference

* Modified bvtTests to be able to test resultSet closing explicitly.

* updates gradle dependencies

* update

* newline

* 6.3.4 release (#528)

* 6.3.4-preview release

* Add 6.3.5-SNAPSHOT to pom file (#530)

* add snapshot to pom file

* revise the way that pom file uses version number

* add -preview

* temporarily skipping amedParamMultiPartTest.update5 and amedParamMultiPartTest.update6

* Adding @disabled tag for failing tests
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.

5 participants