diff --git a/CHANGES b/CHANGES index 5136a2dc76..6213fec522 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,16 @@ +2.2-beta-57 | 2013-10-11 17:23:25 -0700 + + * Improve Broxygen end-of-sentence detection. (Jon Siwek) + +2.2-beta-55 | 2013-10-10 13:36:38 -0700 + + * A couple of new TLS extension numbers. (Bernhard Amann) + + * Suport for three more new TLS ciphers. (Bernhard Amann) + + * Removing ICSI notary from default site config. (Robin Sommer) + 2.2-beta-51 | 2013-10-07 17:33:56 -0700 * Polishing the reference and scripting sections of the manual. diff --git a/VERSION b/VERSION index fd8b5e801f..18d1c09781 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.2-beta-51 +2.2-beta-57 diff --git a/aux/broctl b/aux/broctl index 7ca51fc46c..81fa2d664a 160000 --- a/aux/broctl +++ b/aux/broctl @@ -1 +1 @@ -Subproject commit 7ca51fc46c5c3dd4f3d803e5c617c2e35129fb05 +Subproject commit 81fa2d664a7ef7306a03928484b10611fbe893b8 diff --git a/doc/scripts/example.bro b/doc/scripts/example.bro index 2ff12bfa27..ff6e4e34d2 100644 --- a/doc/scripts/example.bro +++ b/doc/scripts/example.bro @@ -167,6 +167,10 @@ export { # it's fine if the type is inferred, that information is self-documenting global var_without_explicit_type = "this works"; + ## The first.sentence for the summary text ends here. And this second + ## sentence doesn't show in the short description. + global dummy: string; + ############## functions/events ############ ## Summarize purpose of "a_function" here. diff --git a/scripts/base/protocols/ssl/consts.bro b/scripts/base/protocols/ssl/consts.bro index 5e3b9ec019..732e06b21f 100644 --- a/scripts/base/protocols/ssl/consts.bro +++ b/scripts/base/protocols/ssl/consts.bro @@ -78,6 +78,9 @@ export { [13] = "signature_algorithms", [14] = "use_srtp", [15] = "heartbeat", + [16] = "application_layer_protocol_negotiation", + [17] = "status_request_v2", + [18] = "signed_certificate_timestamp", [35] = "SessionTicket TLS", [40] = "extended_random", [13172] = "next_protocol_negotiation", @@ -434,6 +437,10 @@ export { const TLS_PSK_WITH_AES_256_CCM_8 = 0xC0A9; const TLS_PSK_DHE_WITH_AES_128_CCM_8 = 0xC0AA; const TLS_PSK_DHE_WITH_AES_256_CCM_8 = 0xC0AB; + # draft-agl-tls-chacha20poly1305-02 + const TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCC13; + const TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCC14; + const TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCC15; const SSL_RSA_FIPS_WITH_DES_CBC_SHA = 0xFEFE; const SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA = 0xFEFF; @@ -792,6 +799,9 @@ export { [TLS_PSK_WITH_AES_256_CCM_8] = "TLS_PSK_WITH_AES_256_CCM_8", [TLS_PSK_DHE_WITH_AES_128_CCM_8] = "TLS_PSK_DHE_WITH_AES_128_CCM_8", [TLS_PSK_DHE_WITH_AES_256_CCM_8] = "TLS_PSK_DHE_WITH_AES_256_CCM_8", + [TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256] = "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", + [TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256] = "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", + [TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256] = "TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256", [SSL_RSA_FIPS_WITH_DES_CBC_SHA] = "SSL_RSA_FIPS_WITH_DES_CBC_SHA", [SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA] = "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA", [SSL_RSA_FIPS_WITH_DES_CBC_SHA_2] = "SSL_RSA_FIPS_WITH_DES_CBC_SHA_2", diff --git a/scripts/site/local.bro b/scripts/site/local.bro index 5b4af4d87e..2f4eed9865 100644 --- a/scripts/site/local.bro +++ b/scripts/site/local.bro @@ -59,9 +59,9 @@ # This script enables SSL/TLS certificate validation. @load protocols/ssl/validate-certs -# This script checks each SSL certificate hash against the ICSI certificate -# notary service. -@load protocols/ssl/notary +# Uncomment the following line to check each SSL certificate hash against the ICSI +# certificate notary service; see http://notary.icsi.berkeley.edu . +# @load protocols/ssl/notary # If you have libGeoIP support built in, do some geographic detections and # logging for SSH traffic. diff --git a/src/BroDocObj.cc b/src/BroDocObj.cc index 4316b3113a..063bdb1941 100644 --- a/src/BroDocObj.cc +++ b/src/BroDocObj.cc @@ -74,6 +74,27 @@ int BroDocObj::LongestShortDescLen() const return max; } +static size_t end_of_first_sentence(string s) + { + size_t rval = 0; + + while ( (rval = s.find_first_of('.', rval)) != string::npos ) + { + if ( rval == s.size() - 1 ) + // Period is at end of string. + return rval; + + if ( isspace(s[rval + 1]) ) + // Period has a space after it. + return rval; + + // Period has some non-space character after it, keep looking. + ++rval; + } + + return rval; + } + void BroDocObj::FormulateShortDesc() { if ( ! reST_doc_strings ) @@ -87,7 +108,7 @@ void BroDocObj::FormulateShortDesc() { // The short description stops at the first sentence or the // first empty comment. - size_t end = it->find_first_of("."); + size_t end = end_of_first_sentence(*it); if ( end == string::npos ) { @@ -103,7 +124,7 @@ void BroDocObj::FormulateShortDesc() break; } } - + if ( empty ) break; } diff --git a/testing/btest/Baseline/doc.autogen-reST-enums/autogen-reST-enums.rst b/testing/btest/Baseline/doc.autogen-reST-enums/autogen-reST-enums.rst index 7ee7d86e66..c20ea7e602 100644 --- a/testing/btest/Baseline/doc.autogen-reST-enums/autogen-reST-enums.rst +++ b/testing/btest/Baseline/doc.autogen-reST-enums/autogen-reST-enums.rst @@ -20,11 +20,11 @@ Options Types ##### -======================================= ====================================== -:bro:type:`TestEnum1`: :bro:type:`enum` There's tons of ways an enum can look. +======================================= ======================================== +:bro:type:`TestEnum1`: :bro:type:`enum` There's tons of ways an enum can look... :bro:type:`TestEnum2`: :bro:type:`enum` The final comma is optional -======================================= ====================================== +======================================= ======================================== Redefinitions ############# diff --git a/testing/btest/Baseline/doc.autogen-reST-example/example.rst b/testing/btest/Baseline/doc.autogen-reST-example/example.rst index 2cb75a6b9f..64fb4cb06d 100644 --- a/testing/btest/Baseline/doc.autogen-reST-example/example.rst +++ b/testing/btest/Baseline/doc.autogen-reST-example/example.rst @@ -40,13 +40,15 @@ Options State Variables ############### -=========================================================================== ======================================= +=========================================================================== ================================================== :bro:id:`Example::a_var`: :bro:type:`bool` put some documentation for "a_var" here :bro:id:`Example::var_with_attr`: :bro:type:`count` :bro:attr:`&persistent` :bro:id:`Example::var_without_explicit_type`: :bro:type:`string` -=========================================================================== ======================================= + +:bro:id:`Example::dummy`: :bro:type:`string` The first.sentence for the summary text ends here. +=========================================================================== ================================================== Types ##### @@ -156,6 +158,13 @@ State Variables :Type: :bro:type:`string` :Default: ``"this works"`` +.. bro:id:: Example::dummy + + :Type: :bro:type:`string` + + The first.sentence for the summary text ends here. And this second + sentence doesn't show in the short description. + Types ##### .. bro:type:: Example::SimpleEnum