Skip to content

Commit f59af16

Browse files
Bruce Irschickbirschick-bq
andauthored
[AD-976] Implement single-instance SSH Tunnel. (#436)
* [AD-976] Implement single-instance SSH Tunnel. * [AD-976] Correct gradle.properties setting. * [AD-976] Updated dependency for SSH tunnel to github.com.mwiede:jsch:0.2.4 * [AD-976] Fixes for tests failing on Linux platform. * [AD-976] Fixes for tests failing on Linux platform. * Commit Code Coverage Badge * [AD-976] Updated dependencies * [AD-976] Updated dependencies and syntax for spotbugs and checkstyles * Commit Code Coverage Badge * [AD-976] Add documentation for troubleshooting connection issue related to SSH tunnel * Commit Code Coverage Badge * [AD-976] Improvements from code review comments from Alexey. * Commit Code Coverage Badge * [AD-976] Migrate FindBug exclusions to spotbugs-exclude.xml file instead of annotations. * Commit Code Coverage Badge * [AD-976] Updated more dependencies. * Commit Code Coverage Badge * Commit Code Coverage Badge * [AD-976] Remove chance of new line injection in logs. * [AD-976] Correct error message that had new line. Fix related tests. * Commit Code Coverage Badge * [AD-976] Update dependency for slf4j. * Commit Code Coverage Badge Co-authored-by: birschick-bq <[email protected]>
1 parent e4ee519 commit f59af16

30 files changed

+3094
-468
lines changed

.github/badges/branches.svg

Lines changed: 1 addition & 1 deletion
Loading

.github/badges/jacoco.svg

Lines changed: 1 addition & 1 deletion
Loading

NOTICE

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -348,12 +348,12 @@ Package Artifact: https://repo.maven.apache.org/maven2/com/google/protobuf/proto
348348
Package Artifact: https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.6.1/protobuf-java-3.6.1-sources.jar
349349
Package Artifact: https://github.com/google/protobuf.git
350350
-----------------------
351-
Package ID: com.jcraft:jsch:0.1.55
352-
Package Homepage: http://www.jcraft.com/jsch/
351+
Package ID: com.github.mwiede:jsch:0.2.4
352+
Package Homepage: https://github.com/mwiede/jsch
353353
Package SPDX-License-Identifier: BSD-3-Clause
354-
Package Artifact: https://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.55/jsch-0.1.55.jar
355-
Package Artifact: https://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.55/jsch-0.1.55-sources.jar
356-
Package Artifact: http://git.jcraft.com/jsch.git
354+
Package Artifact: https://repo.maven.org/maven2/com/github/mwiede/jsch/0.2.4/jsch-0.2.4.jar
355+
Package Artifact: https://repo.maven.org/maven2/com/github/mwiede/jsch/0.2.4/jsch-0.2.4-sources.jar
356+
Package Artifact: https://github.com/mwiede/jsch.git
357357
-----------------------
358358
Package ID: org.codehaus.janino:commons-compiler:3.1.6
359359
Package Homepage: http://janino-compiler.github.io/commons-compiler/
@@ -16570,7 +16570,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1657016570
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1657116571
-----------------------
1657216572

16573-
com.jcraft/jsch/0.1.55 LICENSE
16573+
github.com/mwiede/jsch/0.2.4 LICENSE
1657416574

1657516575
JSch 0.0.* was released under the GNU LGPL license. Later, we have switched
1657616576
over to a BSD-style license.

build.gradle

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
22
id 'java'
3-
id 'com.github.spotbugs' version '5.0.10'
3+
id 'com.github.spotbugs' version '5.0.13'
44
id 'checkstyle'
55
id 'jacoco'
66
id 'com.github.hierynomus.license' version '0.16.1'
@@ -145,24 +145,32 @@ spotbugsMain {
145145
// Configure HTML report
146146
reports {
147147
xml {
148-
enabled = true
148+
required.set(true)
149149
destination = file("$buildDir/reports/spotbugs/main.xml")
150150
}
151+
html {
152+
required.set(true)
153+
destination = file("$buildDir/reports/spotbugs/main.html")
154+
}
151155
}
152156
}
153157
spotbugsTest {
154158
// Configure HTML report
155159
reports {
156160
xml {
157-
enabled = true
161+
required.set(true)
158162
destination = file("$buildDir/reports/spotbugs/test.xml")
159163
}
164+
html {
165+
required.set(true)
166+
destination = file("$buildDir/reports/spotbugs/test.html")
167+
}
160168
}
161169
}
162170

163171
task checkSpotBugsMainReport {
164172
doLast {
165-
def xmlReport = spotbugsMain.reports.getByName("XML")
173+
def xmlReport = spotbugsMain.reports.getByName("xml")
166174
def slurped = new groovy.xml.XmlSlurper().parse(xmlReport.destination)
167175
def bugsFound = slurped.BugInstance.size()
168176
slurped.BugInstance.each {
@@ -179,7 +187,7 @@ task checkSpotBugsMainReport {
179187

180188
task checkSpotBugsTestReport {
181189
doLast {
182-
def xmlReport = spotbugsTest.reports.getByName("XML")
190+
def xmlReport = spotbugsTest.reports.getByName("xml")
183191
def slurped = new XmlSlurper().parse(xmlReport.destination)
184192
def bugsFound = slurped.BugInstance.size()
185193
slurped.BugInstance.each {
@@ -315,21 +323,21 @@ repositories {
315323

316324
dependencies {
317325
implementation group: 'commons-cli', name: 'commons-cli', version: '1.5.0'
318-
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.13.4'
319-
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-guava', version: '2.13.4'
326+
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.14.0'
327+
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-guava', version: '2.14.0'
320328
implementation group: 'com.google.guava', name: 'guava', version: '31.1-jre'
321-
implementation group: 'org.slf4j', name: 'slf4j-log4j12', version: '2.0.3'
329+
implementation group: 'org.slf4j', name: 'slf4j-log4j12', version: '2.0.4'
322330
implementation group: 'org.apache.commons', name: 'commons-text', version: '1.10.0'
323331
implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.19.0'
324332
implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.19.0'
325-
implementation group: 'org.mongodb', name: 'mongodb-driver-sync', version: '4.7.2'
326-
implementation group: 'com.jcraft', name: 'jsch', version: '0.1.55'
333+
implementation group: 'org.mongodb', name: 'mongodb-driver-sync', version: '4.8.0'
334+
implementation group: 'com.github.mwiede', name: 'jsch', version: '0.2.4'
327335
implementation group: 'org.apache.calcite', name: 'calcite-core', version: '1.32.0'
328336
implementation group: 'commons-beanutils', name: 'commons-beanutils', version: '1.9.4'
329-
implementation 'io.github.hakky54:sslcontext-kickstart:7.4.7'
337+
implementation 'io.github.hakky54:sslcontext-kickstart:7.4.8'
330338

331339
compileOnly group: 'org.immutables', name: 'value', version: '2.9.2'
332-
compileOnly group: 'com.puppycrawl.tools', name: 'checkstyle', version: '10.3.4'
340+
compileOnly group: 'com.puppycrawl.tools', name: 'checkstyle', version: '10.4'
333341
compileOnly 'org.projectlombok:lombok:1.18.24'
334342
annotationProcessor 'org.projectlombok:lombok:1.18.24'
335343

@@ -339,18 +347,18 @@ dependencies {
339347
testAnnotationProcessor group: 'org.projectlombok', name: 'lombok', version: '1.18.24'
340348
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.9.1'
341349
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.9.1'
342-
testImplementation group: 'org.mockito', name: 'mockito-core', version: '4.8.0'
343-
testRuntimeOnly group: 'de.flapdoodle.embed', name: 'de.flapdoodle.embed.mongo', version: '3.5.1'
350+
testImplementation group: 'org.mockito', name: 'mockito-core', version: '4.9.0'
351+
testRuntimeOnly group: 'de.flapdoodle.embed', name: 'de.flapdoodle.embed.mongo', version: '3.5.2'
344352
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-api:5.9.1'
345353
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
346354
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.9.1'
347355

348356
spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.12.0'
349357

350-
testFixturesCompileOnly group: 'de.flapdoodle.embed', name: 'de.flapdoodle.embed.mongo', version: '3.4.11'
358+
testFixturesCompileOnly group: 'de.flapdoodle.embed', name: 'de.flapdoodle.embed.mongo', version: '3.5.2'
351359
testFixturesCompileOnly 'org.junit.jupiter:junit-jupiter-api:5.9.1'
352360
testFixturesImplementation group: 'com.google.guava', name: 'guava', version: '29.0-jre'
353-
testFixturesImplementation group: 'org.mongodb', name: 'mongodb-driver-sync', version: '4.7.2'
361+
testFixturesImplementation group: 'org.mongodb', name: 'mongodb-driver-sync', version: '4.8.0'
354362
testFixturesImplementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.17.2'
355363
testFixturesImplementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.17.2'
356364
}

config/spotbugs/spotbugs-exclude.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,20 @@
9090
<Bug pattern="ODR_OPEN_DATABASE_RESOURCE"/>
9191
</Match>
9292
<Match>
93-
<Source name="Driver.java"/>
93+
<Or>
94+
<Source name="Driver.java"/>
95+
<Source name="DocumentDbSshTunnelServer.java"/>
96+
</Or>
9497
<Bug pattern="COMMAND_INJECTION"/>
9598
</Match>
9699
<Match>
97100
<Or>
98101
<Source name="DocumentDbConnectionProperties.java"/>
99102
<Source name="DocumentDbConnectionPropertiesTest.java"/>
100103
<Source name="DocumentDbMain.java"/>
104+
<Source name="DocumentDbSshTunnelLock.java"/>
105+
<Source name="DocumentDbSshTunnelServer.java"/>
106+
<Source name="DocumentDbSshTunnelService.java"/>
101107
</Or>
102108
<Bug pattern="PATH_TRAVERSAL_IN"/>
103109
</Match>

0 commit comments

Comments
 (0)