BIND 10 master, updated. e78384f8c6aca75a41ea000d22ecc7648513ad02 Merge branch 'trac2340' of ssh://git.bind10.isc.org/var/bind10/git/bind10 into trac2340

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Oct 11 17:39:42 UTC 2012


The branch, master has been updated
       via  e78384f8c6aca75a41ea000d22ecc7648513ad02 (commit)
       via  bc03b9cc89d6c3cad7308b884679125ab547b5cb (commit)
       via  55be177fc4f7537143ab6ef5a728bd44bdf9d783 (commit)
       via  16823263f5bc357de97f8b5d72f7b4d046583d23 (commit)
       via  ecdf1aeb4bfd97f636cc081cce30cc3394b38d11 (commit)
       via  b6501267d7058d8ed879eb4ce63f3d502ccebcc1 (commit)
       via  47cfab4fa97829309b1c6093d65c27a142b1c87a (commit)
       via  bd7ef43a90c7e6f3a9b7140d0cacb2459dcd4091 (commit)
       via  aea67d494996a4b86a1671591e4cfa0ed1cbee77 (commit)
       via  52ba8a9314e28f0f2f39510e66c2dc03531c47e1 (commit)
       via  ed72f2bf21f13a214106d222f6537a43f6f3318d (commit)
       via  ff2fabced6d1b9e88a2c6c2da66573ad96ae4e00 (commit)
       via  dda8b3fa72979fd24d5c3bdca6709408b5bafedb (commit)
       via  35bdd068cf6192eba30d94d6a7a73751be4220ff (commit)
       via  1645116db47739bc194d10db67a3a085b1ac551d (commit)
       via  6207e0ccf7924b0976a21ffb7f901d946a273c41 (commit)
       via  e3079eb5ceeeca83507f6dfbf712b374661c3935 (commit)
       via  5097c34950518370eabcade6cb71ba952bfeefd4 (commit)
       via  9f77979fd649eaa9ec1cc3e9ce5b80059e2df3a5 (commit)
       via  a969883cd42fef3c3782fea117c156b76014df25 (commit)
       via  214377d8511c7f8fdb8b8c8052bcb301aad1d06f (commit)
       via  c76f74659b3bc90b28f4af8940bd47193b92a28a (commit)
       via  64bcd98477cfc62851a21aa64ced28d0cff92201 (commit)
       via  0fc7d94b29ecc8a267d32047636d6525a3133612 (commit)
       via  5703d87a9e031873305da04b88fb49ac5172c3c1 (commit)
       via  4d27a4533c2cbdcb3c9e74c12d03024733e79895 (commit)
       via  a6cafe644f6a9413ba7f917e741b82cc292d3577 (commit)
       via  52272e7986c23da3a0b6c4897f94245bfb408420 (commit)
       via  ed2aceb01d516724a4f289343c4ad1c65b4322b4 (commit)
       via  b15be74974e7e1d4f9acc0590e8853a064e3b6bf (commit)
       via  d7e42bb0c48c961c320ba1bf4324c49b9c43c19a (commit)
       via  919fe74ccbeecf5d546b60f017c3e9e1b073655a (commit)
       via  f44918fd6cd6c3357609c82865a1e6c4a0e4d44a (commit)
       via  44b1d42219a1787165a01497c21fec2661ba8277 (commit)
       via  3efb1402e7d62755971c8e1440d31f85f14053e3 (commit)
       via  a3953a556b472084d669dcb629fb801dec67c5dd (commit)
       via  ea4149ff70f0a90ed995a04e41e4fa06664278c4 (commit)
       via  7b2aa97d01af2934b408caa6044cbfab4c6679f6 (commit)
       via  e84770a80501161a4de8ca0fd9d821b0ce7c7da9 (commit)
       via  fa5076be0c7037c239c00fb7c2c53d02bdc87260 (commit)
       via  b31ee9e4712a22bd04637aa3222863ab0eb3c2b1 (commit)
       via  45ae6bad11071f2b416c267bf2e71f2208487dda (commit)
       via  a270e0425f64f0fca563b7d49708325250911b96 (commit)
       via  0a23277c5bcbd35467652610f7feb2b7f7c65a0b (commit)
       via  bb347f194134acc2a3d1e7f2c6d6b4f0d56d2a17 (commit)
       via  40083686017562d13d812240499a8090383bfa11 (commit)
       via  a841ad0aec2fa5d0966dc43b3036ff99b5f3ae42 (commit)
       via  a25609c439090aeb21c01b487a2070b4df8d435b (commit)
       via  b2eedd0aebf2739acfb5e83363667fd2c1101f7d (commit)
       via  fa2026935d4738b6b5b7365d2fab53f9dea09cc4 (commit)
       via  dd752b34220a5b6a07a4d2c057169c6b88394c32 (commit)
       via  b675d21e2e7b1864b32824c97e180abf47c1f42e (commit)
       via  fe0e9a269f318aae152fb4b55437b45609bfd6cc (commit)
       via  666c34d9e2c70936c264bd0432f874a95af42a1a (commit)
       via  4686e5da4ecc7801a232a1858bf11f124aca3ee7 (commit)
       via  4e5ca3a84b4c02ffef3bf8b6c6360b05c8600a4e (commit)
       via  cdbc11cf13f6cc69498b56a23c61748ed67f3631 (commit)
       via  0dca4820d8473e8e1db07b49ef54d52d250e9209 (commit)
       via  0edff937af7a4fcb6565d2b7ad14e0484b3905b1 (commit)
       via  ecb43490182626c4e62cded9d02ac9a94feb4cfa (commit)
       via  83cdd8bb5d8cb846bfc85e65b33fc57fa56939b7 (commit)
       via  dc506d0714924ad48c3cd6a93c181ddd663f0059 (commit)
       via  b2cb1e1e337281fe923f1065fa19eac896d63b15 (commit)
       via  4da98b699e5d73acbf7f0a01799b3a006aec4832 (commit)
       via  6f008e19162fe3ae3911db0f770d6d38612bcba0 (commit)
       via  e0f618ac8f36e7fa8dbeab6164d40fd838178831 (commit)
       via  bb21aa5022e544357f9faa327278680acf5f16e0 (commit)
       via  f38d24a77f7a146b6a37f912c98af268df40f5e7 (commit)
       via  da22b37709978a87d276b1d88a92b401ae9a2084 (commit)
       via  0e9c2a4c688d85c32e671a1564dd65818b1a6043 (commit)
       via  f7c0410f7d2f1c3a06f886b548713bae6e78e9fb (commit)
       via  13089ae122acefb8d2a632174da4e4dd53ce4473 (commit)
       via  dd83505acac98d122777883a304465f69ecd03ec (commit)
       via  06c667cd025d42798dbce055a24ada9e601f8c35 (commit)
       via  c66fe1c8ad169c7bd0bc15c0cbe2357194acfaa4 (commit)
       via  1eb3ce6df757a23ff59b71469e0f19329893d8c7 (commit)
       via  9334389794384c62c517d646608fb23a1abeb40d (commit)
       via  3d98322d24b54475ce801880a5d17a27dc8f57ef (commit)
       via  1c4ec91a6f44300af78f4964496cf000c97e93f8 (commit)
       via  b41cca56e918501b7a84cfe31067f786ed1d065e (commit)
       via  c3a2105cbd7516aada1b954184b699e1ae8200ee (commit)
       via  347e333b52c7589ad5bf4fb9cc6f4ff6474b510d (commit)
       via  fac39dc29a4f858bfe6d1c48f76737926a043f32 (commit)
       via  adb92afc6f7d0ceda51780577ebe4c2487745cad (commit)
       via  c28be089b929185c72aba5fe90c5f8d355c833ac (commit)
       via  998645aaeb5a7369ae94e71f84d40512ffee996b (commit)
       via  55d94bb5f735252542908e9565d7a49c9a6e0966 (commit)
       via  3e2a372012e633d017a97029d13894e743199741 (commit)
       via  5cc254b16bd0120a7bacd33f90936333fbecfd79 (commit)
       via  b05952bb39bc7f038e65c5e61aca711278096dee (commit)
       via  b770f510961784b1cbf766a1b40fb026788d8cb0 (commit)
       via  9ef297b7faf705148c7aed37df6c796e55660062 (commit)
       via  a017390f15c132fdb08f244f2e111ae6964e4cc4 (commit)
       via  6fc2942362354dd4960a25d644095f6eb44b6023 (commit)
       via  1426bb5c63cd7d79a4a16aedf619aff5ea2394aa (commit)
       via  73f22adb3400726277f06f9d1f8760e43bcc133f (commit)
       via  73aebe53f210471b768d79b1f24ee154c56c8554 (commit)
       via  b10b39f8ac7b07f6b429c0e09fcd9d0a3a873492 (commit)
       via  28a6c7133b1fa8f5334f91c514f5dc8e0802e4eb (commit)
       via  c629dec43601cd76158bef6aa8b76cea84181fc2 (commit)
       via  e4bd572168b357f9803ce9c5d96ff3a95d935b81 (commit)
       via  b211a060119605ebbded0a94f070009b7a8bb5ce (commit)
       via  d62a1e4250c88e765b3cd7f77fe9a948db0a565d (commit)
       via  9ea5133b172ccde43427f9658f5be2ba5d497b34 (commit)
       via  daf81c8846bf0b4e4308068a019c96beb09c5199 (commit)
       via  23da2f078af486c381649611d2987c24a538739a (commit)
      from  0375b6599cabcefe4e9cf1b326f54b3519bde8b3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit e78384f8c6aca75a41ea000d22ecc7648513ad02
Merge: bc03b9c 73aebe5
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Thu Oct 11 10:35:09 2012 -0700

    Merge branch 'trac2340' of ssh://git.bind10.isc.org/var/bind10/git/bind10 into trac2340
    
    with fixing Conflicts:

commit bc03b9cc89d6c3cad7308b884679125ab547b5cb
Merge: 55be177 0375b65
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Thu Oct 11 10:22:29 2012 -0700

    Merge branch 'master' into trac2340
    with fixing conflicts in
    	ChangeLog
    	examples/README

commit 55be177fc4f7537143ab6ef5a728bd44bdf9d783
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Thu Oct 11 09:41:47 2012 -0700

    [2340] removed a bogus 'test' within a test(1) expression.

commit 16823263f5bc357de97f8b5d72f7b4d046583d23
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Oct 10 13:50:21 2012 -0700

    [master] changelog for #2339

commit ecdf1aeb4bfd97f636cc081cce30cc3394b38d11
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Tue Oct 9 13:17:59 2012 -0700

    [2339] changed the search order of python executable: seek python3.x first.
    
    this works around a bit awkward installation setup where there's a link
    from "python3" to "python3.x" but not from "python3-config" to the
    corresponding "python3.x-config".  That happens for recent versions of
    Homebrew.

commit b6501267d7058d8ed879eb4ce63f3d502ccebcc1
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Wed Oct 10 20:42:46 2012 +0200

    Compilation fix: usual static_cast<X*>(NULL)
    
    Sunstudio is unhappy with plain NULL inside EXPECT_EQ and thinks it is
    int. This makes it think otherwise.

commit 47cfab4fa97829309b1c6093d65c27a142b1c87a
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Wed Oct 10 20:28:16 2012 +0200

    Remove extra comma at the end of enum
    
    This should fix compilation issue on sunstudio.

commit bd7ef43a90c7e6f3a9b7140d0cacb2459dcd4091
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Oct 10 09:32:40 2012 -0700

    [master] added changelog for #2244

commit aea67d494996a4b86a1671591e4cfa0ed1cbee77
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Oct 10 09:31:30 2012 -0700

    [master] a minor grammar fix to changelog entry.

commit 52ba8a9314e28f0f2f39510e66c2dc03531c47e1
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Tue Oct 9 11:11:51 2012 -0700

    [2244] missing update: Component.running() was renamed is_running().

commit ed72f2bf21f13a214106d222f6537a43f6f3318d
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 8 16:14:16 2012 -0700

    [2244] renamed BaseComponent.is_failed() to is_restarting().
    
    so it sounds more natural as an English term.

commit ff2fabced6d1b9e88a2c6c2da66573ad96ae4e00
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 8 15:49:24 2012 -0700

    [2244] fixed a typo in a log message.

commit dda8b3fa72979fd24d5c3bdca6709408b5bafedb
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Thu Oct 4 22:19:27 2012 -0700

    [2244] rename Componet.running() is_running() for consistency.
    
    this branch introduced is_failed() (and failed() was already defined for
    a different a purpose), so for consistency it would be better to name
    the running version is_xxx too.

commit 35bdd068cf6192eba30d94d6a7a73751be4220ff
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Thu Oct 4 22:11:45 2012 -0700

    [2244] cleanup: reordered log message file

commit 1645116db47739bc194d10db67a3a085b1ac551d
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Thu Oct 4 22:10:40 2012 -0700

    [2244] make sure restarting components only when they are in config.
    
    this should fix the main problem of this ticket.

commit 6207e0ccf7924b0976a21ffb7f901d946a273c41
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Thu Oct 4 21:08:55 2012 -0700

    [2244] a minor editorial fix to the previous comment update

commit e3079eb5ceeeca83507f6dfbf712b374661c3935
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Thu Oct 4 20:53:37 2012 -0700

    [2244] added comment about has_comonent as it may not be very obvious.

commit 5097c34950518370eabcade6cb71ba952bfeefd4
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Thu Oct 4 17:55:57 2012 -0700

    [2244] added a simple has_component() method to configurtor.
    
    should be pretty trivial, so added a couple of test cases as part of
    other tests.

commit 9f77979fd649eaa9ec1cc3e9ce5b80059e2df3a5
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Thu Oct 4 17:38:43 2012 -0700

    [2244] make sure configurtor's build_plan() handles 'failed' component.
    
    this fixes the test case introduced at the beginning of the branch.

commit a969883cd42fef3c3782fea117c156b76014df25
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Thu Oct 4 17:37:09 2012 -0700

    [2244] introduced a new "Failed" state of Component.

commit 214377d8511c7f8fdb8b8c8052bcb301aad1d06f
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Thu Oct 4 17:27:15 2012 -0700

    [2244] added a test case that reproduces one aspect of the problem.
    
    the configurator should be able to delete a component to be removed
    even if the it's failing (unexpectedly).  The current implementation
    doesn't handle that condition correctly.

commit c76f74659b3bc90b28f4af8940bd47193b92a28a
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Tue Oct 9 13:28:08 2012 -0700

    [2204] removed an obsolete comment that only made sense for the previous code.

commit 64bcd98477cfc62851a21aa64ced28d0cff92201
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Tue Oct 9 13:26:20 2012 -0700

    [2204] added notes about future extensions of incremental datasrc config update

commit 0fc7d94b29ecc8a267d32047636d6525a3133612
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 8 17:29:15 2012 -0700

    [2204] grammar fix in documentation

commit 5703d87a9e031873305da04b88fb49ac5172c3c1
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 8 17:27:23 2012 -0700

    [2204] updated test comments without using "rollback".
    
    as the new code actually doesn't do rollback operation internally,
    even though the observable effect is the same.

commit 4d27a4533c2cbdcb3c9e74c12d03024733e79895
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 8 16:56:10 2012 -0700

    [2204] updated comments about releasing old data source client lists
    
    the previous one was not really accurate and was confusing.

commit a6cafe644f6a9413ba7f917e741b82cc292d3577
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Oct 5 17:04:28 2012 -0700

    [2204] cleanup: removed unused func, and renamed "ClientList" with "DataSrc".
    
    getClientListClasses() was removed.  It's not used anymore.
    a few methods named with "ClientList" were renamed with adding "DataSrc".
    The resulting names are a bit long, but since there's no namespace
    qualification, simply saying "client" can be confusing (it could be
    interpreted to mean DNS clients, for example).

commit 52272e7986c23da3a0b6c4897f94245bfb408420
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Oct 5 16:52:37 2012 -0700

    [2204] regression fix: make sure the datasrc config is installed to server.

commit ed2aceb01d516724a4f289343c4ad1c65b4322b4
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Oct 5 16:48:03 2012 -0700

    [2204] removed server function/template param from configureDataSourceGeneric.
    
    This is pure cleanup.  This function already doesn't use the server.

commit b15be74974e7e1d4f9acc0590e8853a064e3b6bf
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Oct 5 16:40:10 2012 -0700

    [2204] extracted swapDataSrcClientLists() from configureDataSource().
    
    now configureDataSource() can take time.

commit d7e42bb0c48c961c320ba1bf4324c49b9c43c19a
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Oct 5 16:02:01 2012 -0700

    [2204] completely replaced setClientList with swapDataSrcClientLists.
    
    the test cases using setClientList were updated so they use
    swapDataSrcClientLists (some of them work as a test for the "swap" itself).
    now we don't need setClientList, so it was removed.

commit 919fe74ccbeecf5d546b60f017c3e9e1b073655a
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Oct 5 15:15:18 2012 -0700

    [2204] simplify configureDataSource by always creating a new lists and swap.
    
    so we don't have to worry about what are in the current lists or rollback
    operations.
    swapDataSrcClientLists() is newly introduced for AuthSrv.  No direc tests
    yet (technically bad in terms TDD but the definition is very simple), which
    will be provided in the next step.
    the lock is now moved inside swapDataSrcClientLists().
    
    note: even though this version builds everything, the amount of work
    should be mostly the same because the only save is to create the empty
    ClientList when the new and old have the same class of client.  The expensive
    part is ClientList::configure().  This version doesn't need any more call
    to configure() than the old version.

commit f44918fd6cd6c3357609c82865a1e6c4a0e4d44a
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Oct 5 14:03:52 2012 -0700

    [2204] changed internal representation of auth_srv's "client_lists_" to ptrs.
    
    this will be necessary later in this branch.
    also renamed the member variable "datasrc_client_lists_" as the mere "client"
    can be ambiguous.

commit 44b1d42219a1787165a01497c21fec2661ba8277
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Wed Oct 10 11:58:17 2012 +0200

    [2292] Add a TODO about re-adding tests
    
    Planned for merge #2268

commit 3efb1402e7d62755971c8e1440d31f85f14053e3
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Tue Oct 9 14:11:25 2012 +0200

    [2292] Clarify test
    
    And make it slightly stronger (it now checks something that should be
    mostly obvious too, but who knows, with software).

commit a3953a556b472084d669dcb629fb801dec67c5dd
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Tue Oct 9 14:07:13 2012 +0200

    [2292] Pass the old zone back
    
    Instead of releasing it directly. While the internal release was more
    convenient, it didn't allow for swapping things fast under a mutex and
    then spending the time releasing it unlocked.

commit ea4149ff70f0a90ed995a04e41e4fa06664278c4
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Tue Oct 9 13:39:30 2012 +0200

    [2292] Don't pass SegmentObjectHolder
    
    It is supposed to be mostly private. Use it internally only.

commit 7b2aa97d01af2934b408caa6044cbfab4c6679f6
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 8 11:32:18 2012 -0700

    [2292] minor cleanups: constify, indentation

commit e84770a80501161a4de8ca0fd9d821b0ce7c7da9
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Sun Oct 7 17:19:12 2012 +0200

    [2292] Update tests
    
    They don't need the mutable versions to work, but they used them anyway.

commit fa5076be0c7037c239c00fb7c2c53d02bdc87260
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Sun Oct 7 17:18:33 2012 +0200

    [2292] Re-add version of find removed by accident
    
    This one was not mutable, it just took Name as an argument.

commit b31ee9e4712a22bd04637aa3222863ab0eb3c2b1
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Sun Oct 7 17:03:18 2012 +0200

    [2292] Drop tests for InMemoryClient::add
    
    As the method was removed.

commit 45ae6bad11071f2b416c267bf2e71f2208487dda
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Sun Oct 7 16:50:50 2012 +0200

    [2292] Remove unused template parameters
    
    The domain tree no longer supports the mutable find versions, so we
    don't need the template parameters allowing for them.

commit a270e0425f64f0fca563b7d49708325250911b96
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Sun Oct 7 16:38:23 2012 +0200

    [2292] Remove mutable find methods
    
    They are currently used in test code only (so we'll need to update the
    tests to compile). The real code seams clean now.

commit 0a23277c5bcbd35467652610f7feb2b7f7c65a0b
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Sun Oct 7 16:13:56 2012 +0200

    [2292] Remove the setZoneData method
    
    Currently, the content of zone is passed to the addZone method. No way
    to change it later, but the addZone overwrites the old value if called
    again.
    
    This should hopefully allow for removal of mutable find methods from the
    tree.

commit bb347f194134acc2a3d1e7f2c6d6b4f0d56d2a17
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Tue Oct 2 21:05:33 2012 +0200

    [2292] Get rid of the const_cast
    
    It was needed when extracting data from a domain tree chain. The chain
    now can hold mutable pointers too, so we use that (and some amount of
    template bureaucracy) to avoid the cast.
    
    While the interface changed (on the core find function, it is not
    possible to pass const node chain and have a mutable node get out), it
    doesn't seem to influence the current code. Also, it is a private
    interface anyway, so it should be safe.

commit 40083686017562d13d812240499a8090383bfa11
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Tue Oct 2 20:22:23 2012 +0200

    [2292] Parametrize constness of the chain

commit a841ad0aec2fa5d0966dc43b3036ff99b5f3ae42
Author: Mukund Sivaraman <muks at isc.org>
Date:   Tue Oct 9 10:41:32 2012 +0530

    [master] Set lockfile path for DHCP tests

commit a25609c439090aeb21c01b487a2070b4df8d435b
Author: Mukund Sivaraman <muks at isc.org>
Date:   Tue Oct 9 10:35:21 2012 +0530

    [master] Update .gitignore files

commit b2eedd0aebf2739acfb5e83363667fd2c1101f7d
Author: Mukund Sivaraman <muks at isc.org>
Date:   Tue Oct 9 10:21:48 2012 +0530

    [master] Remove empty GNU-style dist files

commit fa2026935d4738b6b5b7365d2fab53f9dea09cc4
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 8 14:12:02 2012 -0700

    [master] define dbutil_test.sh as noinst_SCRIPTS to auto-regenerate on modify.
    
    this will prevent surprising test failure on an incrementally updated dev
    tree.  okayed on jabber.

commit dd752b34220a5b6a07a4d2c057169c6b88394c32
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 8 14:11:39 2012 -0700

    [master] added changelog for #1870

commit b675d21e2e7b1864b32824c97e180abf47c1f42e
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Oct 3 14:12:39 2012 -0700

    [1870] avoid using "no" keyword as a configured value for "bind10-include".

commit fe0e9a269f318aae152fb4b55437b45609bfd6cc
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Oct 3 12:21:40 2012 -0700

    [1870] removed unnecessary call to AX_BOOST_INCLUDE.
    
    since AC_REQUIRE internally does it.

commit 666c34d9e2c70936c264bd0432f874a95af42a1a
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 1 21:13:02 2012 -0700

    [1870] removed rrsetlist.h from the libdns___include_HEADERS
    
    it will be cleaned up and should better be excluded from the publicly
    visible list.

commit 4686e5da4ecc7801a232a1858bf11f124aca3ee7
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 1 15:31:27 2012 -0700

    [1870] some more doc cleanups

commit 4e5ca3a84b4c02ffef3bf8b6c6360b05c8600a4e
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 1 15:26:25 2012 -0700

    [1870] provided top level README

commit cdbc11cf13f6cc69498b56a23c61748ed67f3631
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 1 15:12:52 2012 -0700

    [1870] separated BIND 10 common libs and DNS lib
    
    so that we can eventually selectively choose module specific libraries.

commit 0dca4820d8473e8e1db07b49ef54d52d250e9209
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 1 15:12:15 2012 -0700

    [1870] removed src/bin/host/Makefile from toplevel configure.ac.

commit 0edff937af7a4fcb6565d2b7ad14e0484b3905b1
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Sep 28 21:24:11 2012 -0700

    [1870] introduced separate m4 files for dependencies.

commit ecb43490182626c4e62cded9d02ac9a94feb4cfa
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Sep 28 16:39:38 2012 -0700

    [1870] make sure install some more headers under dns/ and util/
    
    there may be more, but at least this makes (b10-)host compile as a 3rd party
    app.

commit 83cdd8bb5d8cb846bfc85e65b33fc57fa56939b7
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Sep 28 16:37:47 2012 -0700

    [1870] moved src/bin/host under example/
    
    (at least for now) there's no way to transform xml doc to other formats.
    only xml is provided for reference.

commit dc506d0714924ad48c3cd6a93c181ddd663f0059
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Sep 28 16:32:11 2012 -0700

    [1870] created a separate dir to store example "3rd party" apps using BIND 10.

commit b2cb1e1e337281fe923f1065fa19eac896d63b15
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Oct 5 10:12:42 2012 -0700

    [2203] renamed datasrc_configurator to datasrc_config; it represents it better.

commit 4da98b699e5d73acbf7f0a01799b3a006aec4832
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Oct 3 22:58:06 2012 -0700

    [2203] forotten cleanup: removed now-unused header file.

commit 6f008e19162fe3ae3911db0f770d6d38612bcba0
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Oct 3 17:28:41 2012 -0700

    [2203] a piggy back fix: prevent redundant initial data configuration.
    
    this addresses the issue described in #2291.  Still not really clean,
    but thanks to boost::bind we can centralize all the code logic in the
    callback, so I think it's now less likely that we forget cleaning it up
    when the hack is not necessary.

commit e0f618ac8f36e7fa8dbeab6164d40fd838178831
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Oct 3 17:17:36 2012 -0700

    [2203] changed configurator class to a simple function.
    
    as it's now completely stateless and can work independently.
    the common specialization for the main implementation is defined in a
    new created .cc file.

commit bb21aa5022e544357f9faa327278680acf5f16e0
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Oct 3 15:44:29 2012 -0700

    [2203] pass server obj to configurator's reconfigure().
    
    now the configurator class is completely stateless.

commit f38d24a77f7a146b6a37f912c98af268df40f5e7
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Oct 3 15:24:22 2012 -0700

    [2203] refactoring 2nd step: configurator can now be a separate object.
    
    i.e., it's not a singleton any more.
    testReconfigure() method isn't needed any more because it doesn't hold
    CC session internally.
    DatasrcConfiguratorTest.initialization test currently fails and is
    disabled for now.  The plan is to make the class completely stateless,
    at which point we don't even have to think about initialization or cleanup,
    and then the test will be able to be removed.

commit da22b37709978a87d276b1d88a92b401ae9a2084
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Tue Oct 2 20:38:31 2012 -0700

    [2203] changed the callback type of addRemoteConfig to boost::function.
    
    this will make it more convenient, e.g., by allowing the caller to pass
    boost::bind encapsulating a class object and a class method.
    
    boost::function is upper compatible to function pointer, so it doesn't
    ensure source-level compatibility.
    
    the functor overhead shouldn't matter in this context, and since this module
    already uses boost::function this change doesn't introduce additional
    dependency.

commit 0e9c2a4c688d85c32e671a1564dd65818b1a6043
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Tue Oct 2 20:24:57 2012 -0700

    [2203] refactoring 1st step: move session obj outside of datasrc configurator.

commit f7c0410f7d2f1c3a06f886b548713bae6e78e9fb
Author: Mukund Sivaraman <muks at isc.org>
Date:   Mon Oct 8 12:36:20 2012 +0530

    [1899] Allow other RRtypes in nsec3 table (for RRSIGs)
    
    * The unique constraint on NSEC3 owner per zone is now removed
    * NSEC3 RRSIGs are now returned next to their RR set
    * Test was adjusted to check for RRSIGs too

commit 13089ae122acefb8d2a632174da4e4dd53ce4473
Author: Mukund Sivaraman <muks at isc.org>
Date:   Mon Oct 1 01:23:58 2012 +0530

    [1899] Add another unittest to check that NSEC3 RRs are being returned

commit dd83505acac98d122777883a304465f69ecd03ec
Author: Mukund Sivaraman <muks at isc.org>
Date:   Mon Oct 1 01:16:39 2012 +0530

    [1899] Break up UNION SQL query into two and merge manually
    
    Also drop unnecessary columns and ORDER BYs.

commit 06c667cd025d42798dbce055a24ada9e601f8c35
Author: Mukund Sivaraman <muks at isc.org>
Date:   Mon Oct 1 00:45:45 2012 +0530

    [1899] Add a unique constraint to nsec3 table
    
    This is to check that only one NSEC3 RR exists per owner name in a
    zone.  The code to fix #1899 would depend on this assertion.

commit c66fe1c8ad169c7bd0bc15c0cbe2357194acfaa4
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Mon Oct 8 16:41:33 2012 +0000

    [master] add std:: for memset().  sunstudio requires this with <cstring>

commit 1eb3ce6df757a23ff59b71469e0f19329893d8c7
Author: Jelte Jansen <jelte at isc.org>
Date:   Mon Oct 8 09:41:11 2012 +0200

    [2275] fix strncpy in socketrequestortest

commit 9334389794384c62c517d646608fb23a1abeb40d
Author: Jelte Jansen <jelte at isc.org>
Date:   Fri Oct 5 12:10:56 2012 +0200

    [2275] address review comments

commit 3d98322d24b54475ce801880a5d17a27dc8f57ef
Author: Jelte Jansen <jelte at isc.org>
Date:   Thu Oct 4 15:57:43 2012 +0200

    [2275] valgrind fixes: uninitialized memory

commit 1c4ec91a6f44300af78f4964496cf000c97e93f8
Author: Jelte Jansen <jelte at isc.org>
Date:   Thu Oct 4 12:21:04 2012 +0200

    [2275] valgrind fixes: uninitialized memory

commit b41cca56e918501b7a84cfe31067f786ed1d065e
Author: Jelte Jansen <jelte at isc.org>
Date:   Thu Oct 4 11:44:46 2012 +0200

    [2275] use const char* for test globals

commit c3a2105cbd7516aada1b954184b699e1ae8200ee
Author: Jelte Jansen <jelte at isc.org>
Date:   Wed Oct 3 16:54:08 2012 +0200

    [2275] valgrind fix: initialize memory in labelsequence test

commit 347e333b52c7589ad5bf4fb9cc6f4ff6474b510d
Author: Jelte Jansen <jelte at isc.org>
Date:   Wed Oct 3 16:42:08 2012 +0200

    [2275] valgrind fix: store singleton instance in auto_ptr

commit fac39dc29a4f858bfe6d1c48f76737926a043f32
Author: Jelte Jansen <jelte at isc.org>
Date:   Wed Oct 3 16:11:51 2012 +0200

    [2275] valgrind fix: close db in test case

commit adb92afc6f7d0ceda51780577ebe4c2487745cad
Author: Mukund Sivaraman <muks at isc.org>
Date:   Mon Oct 8 14:42:55 2012 +0530

    [master] Add libb10-cc.la to tests Makefile.am

commit c28be089b929185c72aba5fe90c5f8d355c833ac
Author: Jelte Jansen <jelte at isc.org>
Date:   Tue Oct 2 09:41:38 2012 +0200

    [2278] Add temporary suppression for false positives

commit 998645aaeb5a7369ae94e71f84d40512ffee996b
Author: Jelte Jansen <jelte at isc.org>
Date:   Thu Sep 27 16:28:25 2012 +0200

    [2278] remove a bit of dead code

commit 55d94bb5f735252542908e9565d7a49c9a6e0966
Author: Jelte Jansen <jelte at isc.org>
Date:   Thu Sep 27 16:00:48 2012 +0200

    [2278] A number of cppcheck fixes
    
    and whitespace things, while i was there

commit 3e2a372012e633d017a97029d13894e743199741
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Oct 10 11:02:24 2012 -0700

    [2340] corrected the position of closing 'fi' for an 'if GXX = yes'.

commit 5cc254b16bd0120a7bacd33f90936333fbecfd79
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Tue Oct 9 16:43:16 2012 -0700

    [2340] added comment about why we need to explicitly define empty dtor.

commit b05952bb39bc7f038e65c5e61aca711278096dee
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 23:53:26 2012 -0700

    [2340] added workaround for the clang++ "unused arguments" warn/error.
    
    by specifying -Qunused-arguments.  Also, as a cleanup for better organization
    I moved compiler specific settings to earlier part of configure.ac, where
    this workaround was added.

commit b770f510961784b1cbf766a1b40fb026788d8cb0
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 21:20:52 2012 -0700

    [2340] Revert "[2340] specify thread flag as part CPPFLAGS, not LDFLAGS."
    
    This reverts commit daf81c8846bf0b4e4308068a019c96beb09c5199.
    
    I believe the sense of the change is correct, but it has effects on
    other OSes, so it's probably better to use clang specific workaround
    (will commit it later).

commit 9ef297b7faf705148c7aed37df6c796e55660062
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 21:19:23 2012 -0700

    [2340] Revert "[2340] specify -pthread in CXXFLAGS and via system-indepedent variable."
    
    This reverts commit d62a1e4250c88e765b3cd7f77fe9a948db0a565d.
    
    I believe the sense of the change is correct, but it has effects on
    other OSes, so it's probably better to use clang specific workaround
    (will commit it later).

commit a017390f15c132fdb08f244f2e111ae6964e4cc4
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 14:12:02 2012 -0700

    [2340] specify -pthread in CXXFLAGS and via system-indepedent variable.
    
    specifying it in LDFLAGS would trigger build error with some versions of clang.
    hardcoding "-pthread" is less portable.

commit 6fc2942362354dd4960a25d644095f6eb44b6023
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 12:34:55 2012 -0700

    [2340] removed an effectively unused variable.  clang would complain.

commit 1426bb5c63cd7d79a4a16aedf619aff5ea2394aa
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 12:20:34 2012 -0700

    [2340] specify thread flag as part CPPFLAGS, not LDFLAGS.
    
    newer version of clang treats the latter as a fatal error.

commit 73f22adb3400726277f06f9d1f8760e43bcc133f
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 10:13:58 2012 -0700

    [2340] explictly define destructor of mostly empty template class.
    
    without this new versions of clang++ seem to complain that instantiation of
    the class results in an unused variable.

commit 73aebe53f210471b768d79b1f24ee154c56c8554
Merge: b10b39f f2b4e73
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Oct 10 14:52:37 2012 -0700

    [2340] Merge branch 'master' into trac2340

commit b10b39f8ac7b07f6b429c0e09fcd9d0a3a873492
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Oct 10 11:02:24 2012 -0700

    [2340] corrected the position of closing 'fi' for an 'if GXX = yes'.

commit 28a6c7133b1fa8f5334f91c514f5dc8e0802e4eb
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Tue Oct 9 16:43:16 2012 -0700

    [2340] added comment about why we need to explicitly define empty dtor.

commit c629dec43601cd76158bef6aa8b76cea84181fc2
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 23:53:26 2012 -0700

    [clang-build] added workaround for the clang++ "unused arguments" warn/error.
    
    by specifying -Qunused-arguments.  Also, as a cleanup for better organization
    I moved compiler specific settings to earlier part of configure.ac, where
    this workaround was added.

commit e4bd572168b357f9803ce9c5d96ff3a95d935b81
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 21:20:52 2012 -0700

    [clang-build] Revert "[clang-build] specify thread flag as part CPPFLAGS, not LDFLAGS."
    
    This reverts commit daf81c8846bf0b4e4308068a019c96beb09c5199.
    
    I believe the sense of the change is correct, but it has effects on
    other OSes, so it's probably better to use clang specific workaround
    (will commit it later).

commit b211a060119605ebbded0a94f070009b7a8bb5ce
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 21:19:23 2012 -0700

    [clang-build] Revert "[clang-build] specify -pthread in CXXFLAGS and via system-indepedent variable."
    
    This reverts commit d62a1e4250c88e765b3cd7f77fe9a948db0a565d.
    
    I believe the sense of the change is correct, but it has effects on
    other OSes, so it's probably better to use clang specific workaround
    (will commit it later).

commit d62a1e4250c88e765b3cd7f77fe9a948db0a565d
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 14:12:02 2012 -0700

    [clang-build] specify -pthread in CXXFLAGS and via system-indepedent variable.
    
    specifying it in LDFLAGS would trigger build error with some versions of clang.
    hardcoding "-pthread" is less portable.

commit 9ea5133b172ccde43427f9658f5be2ba5d497b34
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 12:34:55 2012 -0700

    [clang-build] removed an effectively unused variable.  clang would complain.

commit daf81c8846bf0b4e4308068a019c96beb09c5199
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 12:20:34 2012 -0700

    [clang-build] specify thread flag as part CPPFLAGS, not LDFLAGS.
    
    newer version of clang treats the latter as a fatal error.

commit 23da2f078af486c381649611d2987c24a538739a
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Sun Oct 7 10:13:58 2012 -0700

    [clang-build] explictly define destructor of mostly empty template class.
    
    without this new versions of clang++ seem to complain that instantiation of
    the class results in an unused variable.

-----------------------------------------------------------------------

Summary of changes:
 configure.ac                           |  192 +++++++++++++++++---------------
 src/lib/datasrc/memory_datasrc_link.cc |    2 +-
 src/lib/util/locks.h                   |    8 +-
 3 files changed, 109 insertions(+), 93 deletions(-)

-----------------------------------------------------------------------
diff --git a/configure.ac b/configure.ac
index 9fb813c..72c7be2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -70,6 +70,106 @@ AC_TRY_LINK([],[],
     ])
 LDFLAGS=$LDFLAGS_SAVED
 
+# Compiler dependent settings: define some mandatory CXXFLAGS here.
+# We also use a separate variable B10_CXXFLAGS.  This will (and should) be
+# used as the default value for each specific AM_CXXFLAGS:
+# AM_CXXFLAGS = $(B10_CXXFLAGS)
+# AM_CXXFLAGS += ... # add module specific flags
+# We need this so that we can disable some specific compiler warnings per
+# module basis; since AM_CXXFLAGS are placed before CXXFLAGS, and since
+# gcc's -Wno-XXX option must be specified after -Wall or -Wextra, we cannot
+# specify the default warning flags in CXXFLAGS and let specific modules
+# "override" the default.
+
+# This may be used to try linker flags.
+AC_DEFUN([BIND10_CXX_TRY_FLAG], [
+  AC_MSG_CHECKING([whether $CXX supports $1])
+
+  bind10_save_CXXFLAGS="$CXXFLAGS"
+  CXXFLAGS="$CXXFLAGS $1"
+
+  AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void){ return 0;}])],
+                 [bind10_cxx_flag=yes], [bind10_cxx_flag=no])
+  CXXFLAGS="$bind10_save_CXXFLAGS"
+
+  if test "x$bind10_cxx_flag" = "xyes"; then
+    ifelse([$2], , :, [$2])
+  else
+    ifelse([$3], , :, [$3])
+  fi
+
+  AC_MSG_RESULT([$bind10_cxx_flag])
+])
+
+# SunStudio compiler requires special compiler options for boost
+# (http://blogs.sun.com/sga/entry/boost_mini_howto)
+if test "$SUNCXX" = "yes"; then
+CXXFLAGS="$CXXFLAGS -library=stlport4 -features=tmplife -features=tmplrefstatic"
+MULTITHREADING_FLAG="-mt"
+fi
+
+# Newer versions of clang++ promotes "unused driver arguments" warnings to
+# a fatal error with -Werror, causing build failure.  Since we use multiple
+# compilers on multiple systems, this can easily happen due to settings for
+# non clang++ environments that could be just ignored otherwise.  It can also
+# happen if clang++ is used via ccache.  So, although probably suboptimal,
+# we suppress this particular warning.  Note that it doesn't weaken checks
+# on the source code.
+if test "$CLANGPP" = "yes"; then
+	B10_CXXFLAGS="$B10_CXXFLAGS -Qunused-arguments"
+fi
+
+BIND10_CXX_TRY_FLAG([-Wno-missing-field-initializers],
+	[WARNING_NO_MISSING_FIELD_INITIALIZERS_CFLAG="-Wno-missing-field-initializers"])
+AC_SUBST(WARNING_NO_MISSING_FIELD_INITIALIZERS_CFLAG)
+
+# gcc specific settings:
+if test "X$GXX" = "Xyes"; then
+B10_CXXFLAGS="$B10_CXXFLAGS -Wall -Wextra -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare"
+case "$host" in
+*-solaris*)
+	MULTITHREADING_FLAG=-pthreads
+	# In Solaris, IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT need -Wno-missing-braces
+	B10_CXXFLAGS="$B10_CXXFLAGS -Wno-missing-braces"
+	;;
+*)
+	MULTITHREADING_FLAG=-pthread
+	;;
+esac
+
+# Don't use -Werror if configured not to
+AC_ARG_WITH(werror,
+    AC_HELP_STRING([--with-werror], [Compile using -Werror (default=yes)]),
+    [
+     case "${withval}" in
+         yes) with_werror=1 ;;
+         no)  with_werror=0 ;;
+         *)   AC_MSG_ERROR(bad value ${withval} for --with-werror) ;;
+     esac],
+     [with_werror=1])
+
+werror_ok=0
+
+# Certain versions of gcc (g++) have a bug that incorrectly warns about
+# the use of anonymous name spaces even if they're closed in a single
+# translation unit.  For these versions we have to disable -Werror.
+if test $with_werror = 1; then
+   CXXFLAGS_SAVED="$CXXFLAGS"
+   CXXFLAGS="$CXXFLAGS $B10_CXXFLAGS -Werror"
+   AC_MSG_CHECKING(for in-TU anonymous namespace breakage)
+   AC_TRY_COMPILE([namespace { class Foo {}; }
+   namespace isc {class Bar {Foo foo_;};} ],,
+	[AC_MSG_RESULT(no)
+	 werror_ok=1
+	 B10_CXXFLAGS="$B10_CXXFLAGS -Werror"],
+	[AC_MSG_RESULT(yes)])
+   CXXFLAGS="$CXXFLAGS_SAVED"
+fi
+
+fi				dnl GXX = yes
+
+AM_CONDITIONAL(GCC_WERROR_OK, test $werror_ok = 1)
+
 # allow building programs with static link.  we need to make it selective
 # because loadable modules cannot be statically linked.
 AC_ARG_ENABLE([static-link],
@@ -256,95 +356,11 @@ fi
 
 # TODO: check for _sqlite3.py module
 
-# Compiler dependent settings: define some mandatory CXXFLAGS here.
-# We also use a separate variable B10_CXXFLAGS.  This will (and should) be
-# used as the default value for each specific AM_CXXFLAGS:
-# AM_CXXFLAGS = $(B10_CXXFLAGS)
-# AM_CXXFLAGS += ... # add module specific flags
-# We need this so that we can disable some specific compiler warnings per
-# module basis; since AM_CXXFLAGS are placed before CXXFLAGS, and since
-# gcc's -Wno-XXX option must be specified after -Wall or -Wextra, we cannot
-# specify the default warning flags in CXXFLAGS and let specific modules
-# "override" the default.
-
-# This may be used to try linker flags.
-AC_DEFUN([BIND10_CXX_TRY_FLAG], [
-  AC_MSG_CHECKING([whether $CXX supports $1])
-
-  bind10_save_CXXFLAGS="$CXXFLAGS"
-  CXXFLAGS="$CXXFLAGS $1"
-
-  AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void){ return 0;}])],
-                 [bind10_cxx_flag=yes], [bind10_cxx_flag=no])
-  CXXFLAGS="$bind10_save_CXXFLAGS"
-
-  if test "x$bind10_cxx_flag" = "xyes"; then
-    ifelse([$2], , :, [$2])
-  else
-    ifelse([$3], , :, [$3])
-  fi
-
-  AC_MSG_RESULT([$bind10_cxx_flag])
-])
-
-# SunStudio compiler requires special compiler options for boost
-# (http://blogs.sun.com/sga/entry/boost_mini_howto)
-if test "$SUNCXX" = "yes"; then
-CXXFLAGS="$CXXFLAGS -library=stlport4 -features=tmplife -features=tmplrefstatic"
-MULTITHREADING_FLAG="-mt"
-fi
-
-BIND10_CXX_TRY_FLAG([-Wno-missing-field-initializers],
-	[WARNING_NO_MISSING_FIELD_INITIALIZERS_CFLAG="-Wno-missing-field-initializers"])
-AC_SUBST(WARNING_NO_MISSING_FIELD_INITIALIZERS_CFLAG)
-
-# gcc specific settings:
-if test "X$GXX" = "Xyes"; then
-B10_CXXFLAGS="-Wall -Wextra -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare"
-case "$host" in
-*-solaris*)
-	MULTITHREADING_FLAG=-pthreads
-	# In Solaris, IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT need -Wno-missing-braces
-	B10_CXXFLAGS="$B10_CXXFLAGS -Wno-missing-braces"
-	;;
-*)
-	MULTITHREADING_FLAG=-pthread
-	;;
-esac
-
-# Don't use -Werror if configured not to
-AC_ARG_WITH(werror,
-    AC_HELP_STRING([--with-werror], [Compile using -Werror (default=yes)]),
-    [
-     case "${withval}" in
-         yes) with_werror=1 ;;
-         no)  with_werror=0 ;;
-         *)   AC_MSG_ERROR(bad value ${withval} for --with-werror) ;;
-     esac],
-     [with_werror=1])
-
-werror_ok=0
-
-# Certain versions of gcc (g++) have a bug that incorrectly warns about
-# the use of anonymous name spaces even if they're closed in a single
-# translation unit.  For these versions we have to disable -Werror.
-if test $with_werror = 1; then
-   CXXFLAGS_SAVED="$CXXFLAGS"
-   CXXFLAGS="$CXXFLAGS $B10_CXXFLAGS -Werror"
-   AC_MSG_CHECKING(for in-TU anonymous namespace breakage)
-   AC_TRY_COMPILE([namespace { class Foo {}; }
-   namespace isc {class Bar {Foo foo_;};} ],,
-	[AC_MSG_RESULT(no)
-	 werror_ok=1
-	 B10_CXXFLAGS="$B10_CXXFLAGS -Werror"],
-	[AC_MSG_RESULT(yes)])
-   CXXFLAGS="$CXXFLAGS_SAVED"
-fi
-
+# (g++ only check)
 # Python 3.2 has an unused parameter in one of its headers. This
 # has been reported, but not fixed as of yet, so we check if we need
 # to set -Wno-unused-parameter.
-if test $werror_ok = 1; then
+if test "X$GXX" = "Xyes" -a $werror_ok = 1; then
 	CPPFLAGS_SAVED="$CPPFLAGS"
 	CPPFLAGS=${PYTHON_INCLUDES}
 	CXXFLAGS_SAVED="$CXXFLAGS"
@@ -370,10 +386,6 @@ if test $werror_ok = 1; then
 	CPPFLAGS="$CPPFLAGS_SAVED"
 fi
 
-fi				dnl GXX = yes
-
-AM_CONDITIONAL(GCC_WERROR_OK, test $werror_ok = 1)
-
 # produce PIC unless we disable shared libraries. need this for python bindings.
 if test $enable_shared != "no" -a "X$GXX" = "Xyes"; then
    B10_CXXFLAGS="$B10_CXXFLAGS -fPIC"
diff --git a/src/lib/datasrc/memory_datasrc_link.cc b/src/lib/datasrc/memory_datasrc_link.cc
index cbbc6db..857223f 100644
--- a/src/lib/datasrc/memory_datasrc_link.cc
+++ b/src/lib/datasrc/memory_datasrc_link.cc
@@ -129,7 +129,7 @@ checkConfig(ConstElementPtr config, ElementPtr errors) {
                 result = false;
             } else {
                 try {
-                    RRClass rrc(config->get("class")->stringValue());
+                    RRClass(config->get("class")->stringValue());
                 } catch (const isc::Exception& rrce) {
                     addError(errors,
                              "Error parsing class config for memory backend: " +
diff --git a/src/lib/util/locks.h b/src/lib/util/locks.h
index da9e9cd..f33ff96 100644
--- a/src/lib/util/locks.h
+++ b/src/lib/util/locks.h
@@ -42,13 +42,17 @@ class upgradable_mutex {
 template <typename T>
 class sharable_lock {
 public:
-    sharable_lock(T) { }
+    sharable_lock(T) {}
 };
 
 template <typename T>
 class scoped_lock {
 public:
-    scoped_lock(T) { }
+    scoped_lock(T) {}
+
+    // We need to define this explicitly.  Some versions of clang++ would
+    // complain about this otherwise.  See Trac ticket #2340
+    ~scoped_lock() {}
 
     void lock() {}
     void unlock() {}



More information about the bind10-changes mailing list