diff --git a/CHANGES b/CHANGES index 3b039e9835..00a6e5b503 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,13 @@ -2.1-beta | 2012-07-06 07:36:29 -0700 +2.0-755 | 2012-07-10 16:25:16 -0700 + + * Add sorting canonifier to rotate-custom unit test. Addresses #846. + (Jon Siwek) + + * Fix many compiler warnings. (Daniel Thayer) + + * Fix segfault when there's an error/timeout resolving DNS requests. + Addresses #846. (Jon Siwek) * Remove a non-portable test case. (Daniel Thayer) diff --git a/VERSION b/VERSION index 0fb956a360..0f0194b81b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.1-beta +2.0-755 diff --git a/aux/broccoli b/aux/broccoli index bd9d698f70..8234b8903c 160000 --- a/aux/broccoli +++ b/aux/broccoli @@ -1 +1 @@ -Subproject commit bd9d698f708908f7258211b534c91467d486983b +Subproject commit 8234b8903cbc775f341bdb6a1c0159981d88d27b diff --git a/aux/broctl b/aux/broctl index 6bfc0bfae0..d5ecd1a42c 160000 --- a/aux/broctl +++ b/aux/broctl @@ -1 +1 @@ -Subproject commit 6bfc0bfae0406deddf207475582bf7a17f1787af +Subproject commit d5ecd1a42c04b0dca332edc31811e5a6d0f7f2fb diff --git a/src/DNS_Mgr.cc b/src/DNS_Mgr.cc index 9e65d3c9a9..6b0f18f459 100644 --- a/src/DNS_Mgr.cc +++ b/src/DNS_Mgr.cc @@ -693,7 +693,7 @@ Val* DNS_Mgr::BuildMappingVal(DNS_Mapping* dm) void DNS_Mgr::AddResult(DNS_Mgr_Request* dr, struct nb_dns_result* r) { struct hostent* h = (r && r->host_errno == 0) ? r->hostent : 0; - u_int32_t ttl = r->ttl; + u_int32_t ttl = (r && r->host_errno == 0) ? r->ttl : 0; DNS_Mapping* new_dm; DNS_Mapping* prev_dm; diff --git a/src/EventHandler.cc b/src/EventHandler.cc index 2867b63437..5598f93f98 100644 --- a/src/EventHandler.cc +++ b/src/EventHandler.cc @@ -96,7 +96,7 @@ EventHandler* EventHandler::Unserialize(UnserialInfo* info) { char* name; if ( ! UNSERIALIZE_STR(&name, 0) ) - return false; + return 0; EventHandler* h = event_registry->Lookup(name); if ( ! h ) diff --git a/src/Func.cc b/src/Func.cc index 30689d4c26..582de1d9bb 100644 --- a/src/Func.cc +++ b/src/Func.cc @@ -100,7 +100,7 @@ Func* Func::Unserialize(UnserialInfo* info) if ( ! (id->HasVal() && id->ID_Val()->Type()->Tag() == TYPE_FUNC) ) { info->s->Error(fmt("ID %s is not a built-in", name)); - return false; + return 0; } Unref(f); diff --git a/src/RemoteSerializer.h b/src/RemoteSerializer.h index 1d7feef585..5ff7fff8d6 100644 --- a/src/RemoteSerializer.h +++ b/src/RemoteSerializer.h @@ -17,8 +17,8 @@ class IncrementalSendTimer; namespace threading { - class Field; - class Value; + struct Field; + struct Value; } // This class handles the communication done in Bro's main loop. diff --git a/src/SMB.cc b/src/SMB.cc index edce2a69b8..a06707328a 100644 --- a/src/SMB.cc +++ b/src/SMB.cc @@ -368,7 +368,7 @@ int SMB_Session::ParseSetupAndx(int is_orig, binpac::SMB::SMB_header const& hdr, // The binpac type depends on the negotiated server settings - // possibly we can just pick the "right" format here, and use that? - if ( hdr.flags2() && 0x0800 ) + if ( hdr.flags2() & 0x0800 ) { binpac::SMB::SMB_setup_andx_ext msg(hdr.unicode()); msg.Parse(body.data(), body.data() + body.length()); diff --git a/src/SerialObj.cc b/src/SerialObj.cc index a8ab969f5e..73cab275c2 100644 --- a/src/SerialObj.cc +++ b/src/SerialObj.cc @@ -163,7 +163,7 @@ SerialObj* SerialObj::Unserialize(UnserialInfo* info, SerialType type) if ( ! result ) { DBG_POP(DBG_SERIAL); - return false; + return 0; } DBG_POP(DBG_SERIAL); diff --git a/src/Sessions.h b/src/Sessions.h index a7d7b1272f..abaa8b49d0 100644 --- a/src/Sessions.h +++ b/src/Sessions.h @@ -18,9 +18,9 @@ struct pcap_pkthdr; class EncapsulationStack; class Connection; -class ConnID; class OSFingerprint; class ConnCompressor; +struct ConnID; declare(PDict,Connection); declare(PDict,FragReassembler); diff --git a/src/Type.cc b/src/Type.cc index caba0c9fa0..414c07d3d7 100644 --- a/src/Type.cc +++ b/src/Type.cc @@ -910,7 +910,7 @@ Val* RecordType::FieldDefault(int field) const const TypeDecl* td = FieldDecl(field); if ( ! td->attrs ) - return false; + return 0; const Attr* def_attr = td->attrs->FindAttr(ATTR_DEFAULT); diff --git a/src/input/readers/Ascii.cc b/src/input/readers/Ascii.cc index 1731bba872..dd1e742e5e 100644 --- a/src/input/readers/Ascii.cc +++ b/src/input/readers/Ascii.cc @@ -232,7 +232,7 @@ Value* Ascii::EntryToVal(string s, FieldMapping field) { Error(Fmt("Field: %s Invalid value for boolean: %s", field.name.c_str(), s.c_str())); - return false; + return 0; } break; @@ -262,7 +262,7 @@ Value* Ascii::EntryToVal(string s, FieldMapping field) if ( pos == s.npos ) { Error(Fmt("Invalid value for subnet: %s", s.c_str())); - return false; + return 0; } int width = atoi(s.substr(pos+1).c_str()); diff --git a/src/logging/Manager.cc b/src/logging/Manager.cc index 511fedc984..0fea3d577d 100644 --- a/src/logging/Manager.cc +++ b/src/logging/Manager.cc @@ -983,7 +983,7 @@ WriterFrontend* Manager::CreateWriter(EnumVal* id, EnumVal* writer, const Writer if ( ! stream ) // Don't know this stream. - return false; + return 0; Stream::WriterMap::iterator w = stream->writers.find(Stream::WriterPathPair(writer->AsEnum(), info.path)); diff --git a/src/ssl-analyzer.pac b/src/ssl-analyzer.pac index bf9cf1e0ba..bd4b76ee98 100644 --- a/src/ssl-analyzer.pac +++ b/src/ssl-analyzer.pac @@ -295,7 +295,7 @@ refine connection SSL_Conn += { for ( int k = 0; k < num_ext; ++k ) { unsigned char *pBuffer = 0; - uint length = 0; + int length = 0; X509_EXTENSION* ex = X509_get_ext(pTemp, k); if (ex) @@ -303,7 +303,7 @@ refine connection SSL_Conn += { ASN1_STRING *pString = X509_EXTENSION_get_data(ex); length = ASN1_STRING_to_UTF8(&pBuffer, pString); //i2t_ASN1_OBJECT(&pBuffer, length, obj) - // printf("extension length: %u\n", length); + // printf("extension length: %d\n", length); // -1 indicates an error. if ( length < 0 ) continue; diff --git a/src/threading/SerialTypes.h b/src/threading/SerialTypes.h index 9ce53c7cb1..283d88bf4c 100644 --- a/src/threading/SerialTypes.h +++ b/src/threading/SerialTypes.h @@ -2,8 +2,6 @@ #ifndef THREADING_SERIALIZATIONTYPES_H #define THREADING_SERIALIZATIONTYPES_H -using namespace std; - #include #include #include @@ -11,6 +9,8 @@ using namespace std; #include "Type.h" #include "net_util.h" +using namespace std; + class SerializationFormat; namespace threading { diff --git a/testing/btest/scripts/base/frameworks/logging/rotate-custom.bro b/testing/btest/scripts/base/frameworks/logging/rotate-custom.bro index 3f6d40adaf..8a7f16d182 100644 --- a/testing/btest/scripts/base/frameworks/logging/rotate-custom.bro +++ b/testing/btest/scripts/base/frameworks/logging/rotate-custom.bro @@ -2,7 +2,7 @@ #@TEST-EXEC: bro -b -r ${TRACES}/rotation.trace %INPUT | egrep "test|test2" | sort >out # @TEST-EXEC: for i in `ls test*.log | sort`; do printf '> %s\n' $i; cat $i; done | sort | uniq >>out # @TEST-EXEC: btest-diff out -# @TEST-EXEC: btest-diff .stderr +# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-sort btest-diff .stderr module Test;