Connection timeout for https://update.sonarsource.org/update-center.properties

516 views
Skip to first unread message

peter....@gmail.com

unread,
Jul 11, 2017, 6:11:36 AM7/11/17
to SonarQube
Hi all, 

I'm trying to get my SonarQube 6.4 (build 25310) to connect to the update site but I just can't do it.

When I open the Update Center page the following error appears in the web.log:

2017.07.11 11:09:53 ERROR web[AV0w6JSYUKDM21CUAAAg][o.s.s.p.UpdateCenterClient] Fail to connect to update center
org.sonar.api.utils.SonarException: Fail to download: https://update.sonarsource.org/update-center.properties (no proxy)
        at org.sonar.core.util.DefaultHttpDownloader.failToDownload(DefaultHttpDownloader.java:156)
        at org.sonar.core.util.DefaultHttpDownloader.readString(DefaultHttpDownloader.java:114)
        at org.sonar.api.utils.UriReader.readString(UriReader.java:72)
        at org.sonar.server.plugins.UpdateCenterClient.init(UpdateCenterClient.java:109)
        at org.sonar.server.plugins.UpdateCenterClient.getUpdateCenter(UpdateCenterClient.java:92)
        at org.sonar.server.plugins.UpdateCenterMatrixFactory.getUpdateCenter(UpdateCenterMatrixFactory.java:44)
        at org.sonar.server.plugins.ws.PluginWSCommons.compatiblePlugins(PluginWSCommons.java:279)
        at org.sonar.server.plugins.ws.PluginWSCommons.compatiblePluginsByKey(PluginWSCommons.java:284)
        at org.sonar.server.plugins.ws.PendingAction.handle(PendingAction.java:85)
        at org.sonar.server.ws.WebServiceEngine.execute(WebServiceEngine.java:103)
        at org.sonar.server.ws.WebServiceFilter.doFilter(WebServiceFilter.java:86)
        at org.sonar.server.platform.web.MasterServletFilter$GodFilterChain.doFilter(MasterServletFilter.java:126)
        at org.sonar.server.platform.web.MasterServletFilter.doFilter(MasterServletFilter.java:95)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.sonar.server.user.UserSessionFilter.doFilter(UserSessionFilter.java:76)
        at org.sonar.server.user.UserSessionFilter.doFilter(UserSessionFilter.java:63)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.sonar.server.platform.web.SecurityServletFilter.doHttpFilter(SecurityServletFilter.java:72)
        at org.sonar.server.platform.web.SecurityServletFilter.doFilter(SecurityServletFilter.java:48)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.sonar.server.platform.web.RedirectFilter.doFilter(RedirectFilter.java:61)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.sonar.server.platform.web.requestid.RequestIdFilter.doFilter(RequestIdFilter.java:63)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.sonar.server.platform.web.RootFilter.doFilter(RootFilter.java:62)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at ch.qos.logback.access.tomcat.LogbackValve.invoke(LogbackValve.java:256)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
        at java.net.SocketInputStream.read(SocketInputStream.java:171)
        at java.net.SocketInputStream.read(SocketInputStream.java:141)
        at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
        at sun.security.ssl.InputRecord.read(InputRecord.java:503)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
        at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
        at org.sonar.core.util.DefaultHttpDownloader$BaseHttpDownloader$HttpInputSupplier.getInput(DefaultHttpDownloader.java:273)
        at org.sonar.core.util.DefaultHttpDownloader.readString(DefaultHttpDownloader.java:112)
        ... 49 common frames omitted

Naturally, I tried to curl the properties document manually. I got no response from the server.

curl -v https://update.sonarsource.org/update-center.properties
* About to connect() to update.sonarsource.org port 443 (#0)
*   Trying 75.101.133.159...
* Connected to update.sonarsource.org (75.101.133.159) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
 
CApath: none


Assuming it's a HTTPS issue I tried HTTP, but results are essentially the same.

curl -v http://update.sonarsource.org/update-center.properties
* About to connect() to update.sonarsource.org port 80 (#0)
*   Trying 75.101.133.159...
* Connected to update.sonarsource.org (75.101.133.159) port 80 (#0)
> GET /update-center.properties HTTP/1.1
> User-Agent: curl/7.29.0
> Host: update.sonarsource.org
> Accept: */*
>

Using openssl s_client I see there is no response to the ClientHello:

openssl s_client -debug -msg -state -no_ssl3 -no_ssl2 -tls1_2 -servername update.sonarsource.org:443 -connect update.sonarsource.org:443
CONNECTED
(00000003)
SSL_connect
:before/connect initialization
write to
0x2582ce0 [0x25ccbe3] (282 bytes => 282 (0x11A))
0000 - 16 03 01 01 15 01 00 01-11 03 03 59 64 9d ba 0a   ...........Yd...
0010 - b6 0b a1 24 d1 6c 91 63-bf 85 00 0b d6 eb 1f f2   ...$.l.c........
0020 - 5f 97 59 5a b2 ac 3e 93-88 67 bb 00 00 84 c0 30   _.YZ..>..g.....0
0030 - c0 2c c0 28 c0 24 c0 14-c0 0a 00 a3 00 9f 00 6b   .,.(.$.........k
0040 - 00 6a 00 39 00 38 00 88-00 87 c0 32 c0 2e c0 2a   .j.9.8.....2...*
0050 - c0 26 c0 0f c0 05 00 9d-00 3d 00 35 00 84 c0 2f   .&.......=.5.../
0060 - c0 2b c0 27 c0 23 c0 13-c0 09 00 a2 00 9e 00 67   .+.'.#.........g
0070 - 00 40 00 33 00 32 00 9a-00 99 00 45 00 44 c0 31   .@.3.2.....E.D.1
0080 - c0 2d c0 29 c0 25 c0 0e-c0 04 00 9c 00 3c 00 2f   .-.).%.......<./
0090 - 00 96 00 41 c0 12 c0 08-00 16 00 13 c0 0d c0 03   ...A............
00a0 - 00 0a 00 07 c0 11 c0 07-c0 0c c0 02 00 05 00 04   ................
00b0 - 00 ff 01 00 00 64 00 00-00 1f 00 1d 00 00 1a 75   .....d.........u
00c0 - 70 64 61 74 65 2e 73 6f-6e 61 72 73 6f 75 72 63   pdate.sonarsourc
00d0 - 65 2e 6f 72 67 3a 34 34-33 00 0b 00 04 03 00 01   e.org:443.......
00e0 - 02 00 0a 00 08 00 06 00-19 00 18 00 17 00 23 00   ..............#.
00f0 - 00 00 0d 00 20 00 1e 06-01 06 02 06 03 05 01 05   .... ...........
0100 - 02 05 03 04 01 04 02 04-03 03 01 03 02 03 03 02   ................
0110 - 01 02 02 02 03 00 0f 00-01 01                     ..........
>>> TLS 1.2 Handshake [length 0115], ClientHello
    01 00 01 11 03 03 59 64 9d ba 0a b6 0b a1 24 d1
    6c 91 63 bf 85 00 0b d6 eb 1f f2 5f 97 59 5a b2
    ac 3e 93 88 67 bb 00 00 84 c0 30 c0 2c c0 28 c0
    24 c0 14 c0 0a 00 a3 00 9f 00 6b 00 6a 00 39 00
    38 00 88 00 87 c0 32 c0 2e c0 2a c0 26 c0 0f c0
    05 00 9d 00 3d 00 35 00 84 c0 2f c0 2b c0 27 c0
    23 c0 13 c0 09 00 a2 00 9e 00 67 00 40 00 33 00
    32 00 9a 00 99 00 45 00 44 c0 31 c0 2d c0 29 c0
    25 c0 0e c0 04 00 9c 00 3c 00 2f 00 96 00 41 c0
    12 c0 08 00 16 00 13 c0 0d c0 03 00 0a 00 07 c0
    11 c0 07 c0 0c c0 02 00 05 00 04 00 ff 01 00 00
    64 00 00 00 1f 00 1d 00 00 1a 75 70 64 61 74 65
    2e 73 6f 6e 61 72 73 6f 75 72 63 65 2e 6f 72 67
    3a 34 34 33 00 0b 00 04 03 00 01 02 00 0a 00 08
    00 06 00 19 00 18 00 17 00 23 00 00 00 0d 00 20
    00 1e 06 01 06 02 06 03 05 01 05 02 05 03 04 01
    04 02 04 03 03 01 03 02 03 03 02 01 02 02 02 03
    00 0f 00 01 01
SSL_connect:SSLv3 write client hello A

Searching in this forum I stumbled upon this topic where they mention a simple Java HTTPS client that was working. Unfortunately, I still don't get any response from the server.

$ java -Djavax.net.debug=all HttpsClient https://update.sonarsource.org:443/update-center.properties
...

keyStore is :
keyStore type
is : jks
keyStore provider
is :
init keystore
init keymanager of type
SunX509
trigger seeding of
SecureRandom
done seeding SecureRandom
Allow unsafe renegotiation: false
Allow legacy hello messages: true
Is initial handshake: true
Is secure renegotiation: false
main
, setSoTimeout(0) called
Ignoring unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 for TLSv1
Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 for TLSv1
Ignoring unsupported cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256 for TLSv1
Ignoring unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 for TLSv1
Ignoring unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 for TLSv1
Ignoring unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 for TLSv1
Ignoring unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 for TLSv1
Ignoring unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 for TLSv1.1
Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 for TLSv1.1
Ignoring unsupported cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256 for TLSv1.1
Ignoring unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 for TLSv1.1
Ignoring unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 for TLSv1.1
Ignoring unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 for TLSv1.1
Ignoring unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 for TLSv1.1
%% No cached client session
*** ClientHello, TLSv1.2
RandomCookie:  GMT: 1499701723 bytes = { 136, 166, 6, 106, 138, 202, 131, 79, 36, 144, 50, 35, 162, 184, 233, 95, 103, 4, 254, 40, 164, 59, 177, 169, 246, 136, 31, 130 }
Session ID:  {}
Cipher Suites: [TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
Compression Methods:  { 0 }
Extension elliptic_curves, curve names: {secp256r1, secp384r1, secp521r1, sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1, secp256k1}
Extension ec_point_formats, formats: [uncompressed]
Extension signature_algorithms, signature_algorithms: SHA512withECDSA, SHA512withRSA, SHA384withECDSA, SHA384withRSA, SHA256withECDSA, SHA256withRSA, SHA256withDSA, SHA224withECDSA, SHA224withRSA, SHA224withDSA, SHA1withECDSA, SHA1withRSA, SHA1withDSA
Extension server_name, server_name: [type=host_name (0), value=update.sonarsource.org]
***
[write] MD5 and SHA1 hashes:  len = 240
0000: 01 00 00 EC 03 03 59 64   A2 DB 88 A6 06 6A 8A CA  ......Yd.....j..
0010: 83 4F 24 90 32 23 A2 B8   E9 5F 67 04 FE 28 A4 3B  .O$.2#..._g..(.;
0020: B1 A9 F6 88 1F 82 00 00   64 C0 24 C0 28 00 3D C0  ........d.$.(.=.
0030: 26 C0 2A 00 6B 00 6A C0   0A C0 14 00 35 C0 05 C0  &.*.k.j.....5...
0040: 0F 00 39 00 38 C0 23 C0   27 00 3C C0 25 C0 29 00  ..9.8.#.'.<.%.).
0050: 67 00 40 C0 09 C0 13 00   2F C0 04 C0 0E 00 33 00  g.@...../.....3.
0060: 32 C0 2C C0 2B C0 30 00   9D C0 2E C0 32 00 9F 00  2.,.+.0.....2...
0070: A3 C0 2F 00 9C C0 2D C0   31 00 9E 00 A2 C0 08 C0  ../...-.1.......
0080: 12 00 0A C0 03 C0 0D 00   16 00 13 00 FF 01 00 00  ................
0090: 5F 00 0A 00 16 00 14 00   17 00 18 00 19 00 09 00  _...............
00A0: 0A 00 0B 00 0C 00 0D 00   0E 00 16 00 0B 00 02 01  ................
00B0: 00 00 0D 00 1C 00 1A 06   03 06 01 05 03 05 01 04  ................
00C0: 03 04 01 04 02 03 03 03   01 03 02 02 03 02 01 02  ................
00D0: 02 00 00 00 1B 00 19 00   00 16 75 70 64 61 74 65  ..........update
00E0: 2E 73 6F 6E 61 72 73 6F   75 72 63 65 2E 6F 72 67  .sonarsource.org
main
, WRITE: TLSv1.2 Handshake, length = 240
[Raw write]: length = 245
0000: 16 03 03 00 F0 01 00 00   EC 03 03 59 64 A2 DB 88  ...........Yd...
0010: A6 06 6A 8A CA 83 4F 24   90 32 23 A2 B8 E9 5F 67  ..j...O$.2#..._g
0020: 04 FE 28 A4 3B B1 A9 F6   88 1F 82 00 00 64 C0 24  ..(.;........d.$
0030: C0 28 00 3D C0 26 C0 2A   00 6B 00 6A C0 0A C0 14  .(.=.&.*.k.j....
0040: 00 35 C0 05 C0 0F 00 39   00 38 C0 23 C0 27 00 3C  .5.....9.8.#.'.<
0050: C0 25 C0 29 00 67 00 40   C0 09 C0 13 00 2F C0 04  .%.).g.@...../..
0060: C0 0E 00 33 00 32 C0 2C   C0 2B C0 30 00 9D C0 2E  ...3.2.,.+.0....
0070: C0 32 00 9F 00 A3 C0 2F   00 9C C0 2D C0 31 00 9E  .2...../...-.1..
0080: 00 A2 C0 08 C0 12 00 0A   C0 03 C0 0D 00 16 00 13  ................
0090: 00 FF 01 00 00 5F 00 0A   00 16 00 14 00 17 00 18  ....._..........
00A0: 00 19 00 09 00 0A 00 0B   00 0C 00 0D 00 0E 00 16  ................
00B0: 00 0B 00 02 01 00 00 0D   00 1C 00 1A 06 03 06 01  ................
00C0: 05 03 05 01 04 03 04 01   04 02 03 03 03 01 03 02  ................
00D0: 02 03 02 01 02 02 00 00   00 1B 00 19 00 00 16 75  ...............u
00E0: 70 64 61 74 65 2E 73 6F   6E 61 72 73 6F 75 72 63  pdate.sonarsourc
00F0: 65 2E 6F 72 67                                     e.org

I am able to make a connection over to update.sonarsource.org port 443 with telnet so I assume it's not a firewall issue.

Any ideas what might be wrong?

I'm using CentOS 7.3, with Oracle JDK 1.8u131, if it helps.

Thanks for any help!

Peter Kovac

Peter Kováč

unread,
Aug 7, 2017, 10:59:39 AM8/7/17
to SonarQube
Hi all,

I just solved this problem - it's a known bug of openssl 1.0.1 (CentOS 7.3 uses version "OpenSSL 1.0.1e-fips 11 Feb 2013") caused by incorrect MTU setting on network interface.

Setting MTU manually to some value below usual 1500 will make it work (for me the highest working MTU is 1488). The real culprit is probably some incorrectly (or too restrictively) set network hardware or firewall.

Interestingly, I have encountered it on Ubuntu 16.04.2 LTS too, but not on Debian 9.

Cheers,

Peter Kovac





--
You received this message because you are subscribed to a topic in the Google Groups "SonarQube" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sonarqube/WPHD4Krgw9o/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sonarqube+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sonarqube/f771cf71-59e8-4044-bc79-7e08adbb95f8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

G. Ann Campbell

unread,
Aug 7, 2017, 11:02:33 AM8/7/17
to SonarQube, peter....@gmail.com
Hi Peter,

Thanks for the followup!


Ann
Reply all
Reply to author
Forward
0 new messages