]> granicus.if.org Git - pdns/log
pdns
8 years agorgacogne found that arm has unsigned chars which broke all the things in yahttp ...
bert hubert [Thu, 3 Dec 2015 19:26:04 +0000 (20:26 +0100)]
rgacogne found that arm has unsigned chars which broke all the things in yahttp @cmouse

8 years agomove ring stuff to own file, so it can share between dnsdist-lua and dnsdist-web...
bert hubert [Thu, 3 Dec 2015 19:21:16 +0000 (20:21 +0100)]
move ring stuff to own file, so it can share between dnsdist-lua and dnsdist-web, plus we get the locking in one place

8 years agothis should make us work on all arches for incbin
bert hubert [Thu, 3 Dec 2015 19:19:42 +0000 (20:19 +0100)]
this should make us work on all arches for incbin

8 years agoMerge pull request #2990 from ndonegan/patch-1
Peter van Dijk [Thu, 3 Dec 2015 15:59:43 +0000 (16:59 +0100)]
Merge pull request #2990 from ndonegan/patch-1

Update backend-remote.md

8 years agoUpdate backend-remote.md
Niall Donegan [Thu, 3 Dec 2015 15:44:18 +0000 (15:44 +0000)]
Update backend-remote.md

8 years agoMerge pull request #2972 from pieterlexis/no-more-experimental
bert hubert [Thu, 3 Dec 2015 14:45:25 +0000 (15:45 +0100)]
Merge pull request #2972 from pieterlexis/no-more-experimental

Unmark several features as not-experimental

8 years agoMerge pull request #2984 from rgacogne/dnsdist-frontend-stats
bert hubert [Thu, 3 Dec 2015 14:43:06 +0000 (15:43 +0100)]
Merge pull request #2984 from rgacogne/dnsdist-frontend-stats

Add per-frontend stats to dnsdist

8 years agoMerge pull request #2983 from pieterlexis/ws-return-to-path
Pieter Lexis [Thu, 3 Dec 2015 09:38:54 +0000 (10:38 +0100)]
Merge pull request #2983 from pieterlexis/ws-return-to-path

Redirect to the path of the request, not the root

8 years agoMerge pull request #2962 from cmouse/tools-timeout
Pieter Lexis [Thu, 3 Dec 2015 09:38:14 +0000 (10:38 +0100)]
Merge pull request #2962 from cmouse/tools-timeout

Make some tools timeout

8 years agoMerge pull request #2973 from pieterlexis/move-qtypes-to-private
Pieter Lexis [Thu, 3 Dec 2015 09:38:03 +0000 (10:38 +0100)]
Merge pull request #2973 from pieterlexis/move-qtypes-to-private

Move internal QTypes to the private range

8 years agoMerge pull request #2965 from pieterlexis/negcache-tests-dotted-cname
Pieter Lexis [Thu, 3 Dec 2015 09:37:56 +0000 (10:37 +0100)]
Merge pull request #2965 from pieterlexis/negcache-tests-dotted-cname

Add negative caching with dotted cnames test

8 years agoMerge pull request #2970 from pieterlexis/h-root-update
Pieter Lexis [Thu, 3 Dec 2015 09:37:50 +0000 (10:37 +0100)]
Merge pull request #2970 from pieterlexis/h-root-update

Update root hints for h.root-servers.net

8 years agoMerge pull request #2975 from stasic/patch-2
Peter van Dijk [Thu, 3 Dec 2015 08:59:15 +0000 (09:59 +0100)]
Merge pull request #2975 from stasic/patch-2

make logging output identical

8 years agoMerge pull request #2985 from rgacogne/dnsdist-rd-queries
bert hubert [Wed, 2 Dec 2015 22:35:47 +0000 (23:35 +0100)]
Merge pull request #2985 from rgacogne/dnsdist-rd-queries

Add stats for RD queries in dnsdist

8 years agoMerge pull request #2986 from rgacogne/dnsdist-idstate-lock
bert hubert [Wed, 2 Dec 2015 22:35:35 +0000 (23:35 +0100)]
Merge pull request #2986 from rgacogne/dnsdist-idstate-lock

Remove the IDState lock.

8 years agoFix stats handling for TCP queries.
Remi Gacogne [Wed, 2 Dec 2015 16:42:01 +0000 (17:42 +0100)]
Fix stats handling for TCP queries.

The previous commit tried to fix the fact that TCP queries were
not correctly accounted, but did not properly handle the fact that
several queries can be sent over a single connection.
Responses were not properly handled either.

8 years agoRemove the IDState lock.
Remi Gacogne [Wed, 2 Dec 2015 17:55:44 +0000 (18:55 +0100)]
Remove the IDState lock.

Keeping a copy of the origFD in the response handling thread and
setting ids->age to 0 before setting ids->origFD in the UDP query
thread should prevent dropping query because of a race.

8 years agoAdd per-frontend stats to dnsdist
Remi Gacogne [Wed, 2 Dec 2015 15:27:40 +0000 (16:27 +0100)]
Add per-frontend stats to dnsdist

For now, we only display the number of queries received for each
frontend, separating TCP and UDP.

8 years agoAdd stats for RD queries in dnsdist
Remi Gacogne [Wed, 2 Dec 2015 16:19:19 +0000 (17:19 +0100)]
Add stats for RD queries in dnsdist

8 years agoMerge pull request #2846 from rgacogne/dnsdist-rings-rwlocks
bert hubert [Wed, 2 Dec 2015 15:59:24 +0000 (16:59 +0100)]
Merge pull request #2846 from rgacogne/dnsdist-rings-rwlocks

Protect dnsdist client and query rings with a RW lock. Plus IDstate lock, which we might be able to remove later. It is going to be bad for performance.

8 years agoUpdate root hints for h.root-servers.net
Pieter Lexis [Tue, 1 Dec 2015 09:48:50 +0000 (10:48 +0100)]
Update root hints for h.root-servers.net

https://lists.dns-oarc.net/pipermail/dns-operations/2015-November/013862.html

8 years agoProtect dnsdist IDState and query ring with a RW lock
Remi Gacogne [Wed, 2 Dec 2015 10:43:37 +0000 (11:43 +0100)]
Protect dnsdist IDState and query ring with a RW lock

The IDState issue is mainly origFD, modified by maintThread on timeout while used by the others.
upStatus and availability in DownstreamState are also causing complaints from helgrind / TSAN,
but I believe we can live with racy status and availability.

8 years agoRedirect to the path of the request, not the root
Pieter Lexis [Wed, 2 Dec 2015 10:17:38 +0000 (11:17 +0100)]
Redirect to the path of the request, not the root

If you proxy at e.g. /auth, redirecting to / 'breaks' the flow.

8 years agofix up incbin, with the great help of Dale Weiler. Closes #2957. dnsdist works on...
bert hubert [Wed, 2 Dec 2015 07:09:49 +0000 (08:09 +0100)]
fix up incbin, with the great help of Dale Weiler. Closes #2957. dnsdist works on our raspberries again!

8 years agoMerge pull request #2979 from mind04/keycount
bert hubert [Tue, 1 Dec 2015 22:12:43 +0000 (23:12 +0100)]
Merge pull request #2979 from mind04/keycount

check number of keys in trustedkeys file

8 years agoMerge pull request #2977 from rgacogne/dnsdist-client-getserver
bert hubert [Tue, 1 Dec 2015 22:11:07 +0000 (23:11 +0100)]
Merge pull request #2977 from rgacogne/dnsdist-client-getserver

Make getServer() return a dummy one in client mode. Closes #2976.

8 years agoMerge pull request #2974 from rgacogne/dnsdist-tcp-closed
bert hubert [Tue, 1 Dec 2015 22:10:50 +0000 (23:10 +0100)]
Merge pull request #2974 from rgacogne/dnsdist-tcp-closed

Gracefully handle a reused downstream TCP connection dying on us

8 years agofix up TTL for RPZ zones, and allow override from config
bert hubert [Tue, 1 Dec 2015 21:13:01 +0000 (22:13 +0100)]
fix up TTL for RPZ zones, and allow override from config

8 years agoregression-tests: don't include zsk keys with 257 in content in trustedkeys
Kees Monshouwer [Tue, 1 Dec 2015 19:22:15 +0000 (20:22 +0100)]
regression-tests: don't include zsk keys with 257 in content in trustedkeys

8 years agoMake getServer() return a dummy one in client mode. Closes #2976.
Remi Gacogne [Tue, 1 Dec 2015 17:43:56 +0000 (18:43 +0100)]
Make getServer() return a dummy one in client mode. Closes #2976.

8 years agomore const; disable useless compiler warning
Peter van Dijk [Tue, 1 Dec 2015 17:45:24 +0000 (18:45 +0100)]
more const; disable useless compiler warning

8 years agoadd default/override policies to RPZ, move RPZ config to the Lua configuration file...
bert hubert [Tue, 1 Dec 2015 16:42:15 +0000 (17:42 +0100)]
add default/override policies to RPZ, move RPZ config to the Lua configuration file, fix up so that the overrides based on IP addresses in the zone actually work

8 years agomove our RPZ blocking to the most GLORIOUS NetmaskTree (thanks Aki!)
bert hubert [Tue, 1 Dec 2015 16:39:59 +0000 (17:39 +0100)]
move our RPZ blocking to the most GLORIOUS NetmaskTree (thanks Aki!)

8 years agodefault zone for zoneparser should be the root, not the "empty DNSName"
bert hubert [Tue, 1 Dec 2015 16:39:20 +0000 (17:39 +0100)]
default zone for zoneparser should be the root, not the "empty DNSName"

8 years agoconst correctness for sortlist comparator
bert hubert [Tue, 1 Dec 2015 16:38:38 +0000 (17:38 +0100)]
const correctness for sortlist comparator

8 years agoafter some further bikeshedding..
bert hubert [Tue, 1 Dec 2015 16:36:02 +0000 (17:36 +0100)]
after some further bikeshedding..

8 years agomake logging output identical
Arsen Stasic [Tue, 1 Dec 2015 16:27:01 +0000 (17:27 +0100)]
make logging output identical

'pdns_control notify' and 'pdns_control notify-host' produce now the same output message

8 years agoit is that kind of day. Or one of those days.
bert hubert [Tue, 1 Dec 2015 14:31:24 +0000 (15:31 +0100)]
it is that kind of day. Or one of those days.

8 years agoGracefully handle a reused downstream TCP connection dying on us
Remi Gacogne [Tue, 1 Dec 2015 13:24:26 +0000 (14:24 +0100)]
Gracefully handle a reused downstream TCP connection dying on us

In dnsdist, we try to reuse TCP connection to Downstream servers
as much as possible. However, when sending the size of a new
query, we didn't properly handle a connection being closed by the
downstream server.

Turns out, writing tests actually help finding bugs, who
would have thought?

8 years agoMove internal QTypes to the private range
Pieter Lexis [Tue, 1 Dec 2015 13:04:34 +0000 (14:04 +0100)]
Move internal QTypes to the private range

Closes #2924

8 years agoMove current API path to /api/v1 from /
Pieter Lexis [Tue, 1 Dec 2015 11:26:07 +0000 (12:26 +0100)]
Move current API path to /api/v1 from /

Closes #2612

8 years agoUpdate pdns.conf-dist
Pieter Lexis [Tue, 1 Dec 2015 12:22:00 +0000 (13:22 +0100)]
Update pdns.conf-dist

8 years agoAlso mark dname-processing as stable
Pieter Lexis [Tue, 1 Dec 2015 11:39:15 +0000 (12:39 +0100)]
Also mark dname-processing as stable

8 years agoWebserver, API and dnsupdate are not experimental
Pieter Lexis [Tue, 1 Dec 2015 11:09:31 +0000 (12:09 +0100)]
Webserver, API and dnsupdate are not experimental

Closes #2961

8 years agoMerge pull request #2964 from Habbie/checkzone-nodot
bert hubert [Tue, 1 Dec 2015 10:48:18 +0000 (11:48 +0100)]
Merge pull request #2964 from Habbie/checkzone-nodot

Fix trailing dot issues in pdnssec check-zone

8 years agoour messages on filedescriptors were hard to understand
bert hubert [Tue, 1 Dec 2015 10:41:09 +0000 (11:41 +0100)]
our messages on filedescriptors were hard to understand

8 years agoour delaypipe tests sometimes fail, this might at least tell us why. perhaps.
bert hubert [Tue, 1 Dec 2015 09:04:36 +0000 (10:04 +0100)]
our delaypipe tests sometimes fail, this might at least tell us why. perhaps.

8 years agoPackage some more tools in the semi-static pdns-tools
Pieter Lexis [Tue, 1 Dec 2015 09:05:11 +0000 (10:05 +0100)]
Package some more tools in the semi-static pdns-tools

8 years agoshow trustedkeys after testrun
Kees Monshouwer [Mon, 30 Nov 2015 23:13:27 +0000 (00:13 +0100)]
show trustedkeys after testrun

8 years agocheck number of keys in trustedkeys file
Kees Monshouwer [Mon, 30 Nov 2015 21:33:42 +0000 (22:33 +0100)]
check number of keys in trustedkeys file

8 years agoMerge pull request #2967 from mind04/travis
Pieter Lexis [Tue, 1 Dec 2015 08:13:43 +0000 (09:13 +0100)]
Merge pull request #2967 from mind04/travis

redo .travis.yml

8 years agosortlist docs
bert hubert [Mon, 30 Nov 2015 18:36:06 +0000 (19:36 +0100)]
sortlist docs

8 years agospeedup travis build?
Kees Monshouwer [Mon, 30 Nov 2015 18:23:16 +0000 (19:23 +0100)]
speedup travis build?

8 years agomore s/geoipbackend/geoip
Kees Monshouwer [Mon, 30 Nov 2015 00:12:05 +0000 (01:12 +0100)]
more s/geoipbackend/geoip

8 years agoredo .travis.yml
Kees Monshouwer [Thu, 19 Nov 2015 17:44:30 +0000 (18:44 +0100)]
redo .travis.yml

8 years agoAdd pipe backend symlink
Pieter Lexis [Mon, 30 Nov 2015 15:26:46 +0000 (16:26 +0100)]
Add pipe backend symlink

8 years agoemit single dot for root entry in zoneparser-tng
Peter van Dijk [Mon, 30 Nov 2015 13:54:19 +0000 (14:54 +0100)]
emit single dot for root entry in zoneparser-tng

8 years agomove root-dot method into dnsname
Peter van Dijk [Mon, 30 Nov 2015 13:51:13 +0000 (14:51 +0100)]
move root-dot method into dnsname

8 years agoteach getZoneRepresentation to optionally skip the trailing dot on non-root names
Peter van Dijk [Fri, 27 Nov 2015 15:55:03 +0000 (16:55 +0100)]
teach getZoneRepresentation to optionally skip the trailing dot on non-root names

8 years agoAdd negative caching with dotted cnames test
Pieter Lexis [Mon, 30 Nov 2015 12:38:25 +0000 (13:38 +0100)]
Add negative caching with dotted cnames test

8 years agonit
Peter van Dijk [Fri, 27 Nov 2015 15:00:14 +0000 (16:00 +0100)]
nit

8 years agoMerge pull request #2853 from pieterlexis/pdnstool
bert hubert [Mon, 30 Nov 2015 11:43:43 +0000 (12:43 +0100)]
Merge pull request #2853 from pieterlexis/pdnstool

Rename pdnssec to pdnsutil: the pain will be huge, but worth it!

8 years agoMerge pull request #2963 from cmouse/tinycdb-cerr
bert hubert [Mon, 30 Nov 2015 11:39:52 +0000 (12:39 +0100)]
Merge pull request #2963 from cmouse/tinycdb-cerr

Remove cerr logging from normal build

8 years agoUpdate the documentation wrt renaming pdnssec
Pieter Lexis [Wed, 4 Nov 2015 09:52:06 +0000 (10:52 +0100)]
Update the documentation wrt renaming pdnssec

8 years agoRename pdnssec to pdnsutil
Pieter Lexis [Tue, 3 Nov 2015 10:13:47 +0000 (11:13 +0100)]
Rename pdnssec to pdnsutil

8 years agoRemove cerr logging from normal build
Aki Tuomi [Mon, 30 Nov 2015 09:43:45 +0000 (11:43 +0200)]
Remove cerr logging from normal build

8 years agofix up sortlist to removal of confusing operator[] from netmasktree
bert hubert [Mon, 30 Nov 2015 08:09:26 +0000 (09:09 +0100)]
fix up sortlist to removal of confusing operator[] from netmasktree

8 years agoMerge pull request #2956 from cmouse/netmasktree-sp1
bert hubert [Sun, 29 Nov 2015 23:09:33 +0000 (00:09 +0100)]
Merge pull request #2956 from cmouse/netmasktree-sp1

Netmasktree sp1

8 years agoMerge pull request #2953 from zeha/api-crash
bert hubert [Sun, 29 Nov 2015 21:51:10 +0000 (22:51 +0100)]
Merge pull request #2953 from zeha/api-crash

API: fix crash introduced in abb873ee

8 years agoMerge pull request #2960 from ahupowerdns/ringcount
bert hubert [Sun, 29 Nov 2015 21:49:44 +0000 (22:49 +0100)]
Merge pull request #2960 from ahupowerdns/ringcount

merge dynamic blocklist stuff

8 years agoMerge pull request #2959 from ahupowerdns/lua-travis
bert hubert [Sun, 29 Nov 2015 21:49:25 +0000 (22:49 +0100)]
Merge pull request #2959 from ahupowerdns/lua-travis

Lua travis: fix so travis can build and test us successfully, with or without Lua

8 years agoadd dynamic blocklist to the webpage
bert hubert [Sun, 29 Nov 2015 21:48:19 +0000 (22:48 +0100)]
add dynamic blocklist to the webpage

8 years agoadd showDynBlocks(), add way to add message for block reason
bert hubert [Sun, 29 Nov 2015 20:44:08 +0000 (21:44 +0100)]
add showDynBlocks(), add way to add message for block reason

8 years agoimplement a dynamic blocklist in the core of dnsdist, so it operates Lua-free. Plus...
bert hubert [Sun, 29 Nov 2015 20:24:01 +0000 (21:24 +0100)]
implement a dynamic blocklist in the core of dnsdist, so it operates Lua-free. Plus add METRICS! MORE METRICS!

8 years agonot only compile without lua, but also work!
bert hubert [Sun, 29 Nov 2015 19:48:32 +0000 (20:48 +0100)]
not only compile without lua, but also work!

8 years agounify various rings, make generic query infra NOTE - WE STILL DON'T LOCK THE RINGS...
bert hubert [Sun, 29 Nov 2015 19:45:42 +0000 (20:45 +0100)]
unify various rings, make generic query infra NOTE - WE STILL DON'T LOCK THE RINGS CONSISTENTLY

8 years agomake sdig wait only 10 seconds, which _might_ give more helpful debugging output...
bert hubert [Sun, 29 Nov 2015 19:22:34 +0000 (20:22 +0100)]
make sdig wait only 10 seconds, which _might_ give more helpful debugging output in travis. At least earlier :-)

8 years agofor shame
bert hubert [Sun, 29 Nov 2015 18:28:08 +0000 (19:28 +0100)]
for shame

8 years agoimplement a maintenance() function in dnsdist lua which can configure dynamic filters...
bert hubert [Sun, 29 Nov 2015 16:43:01 +0000 (17:43 +0100)]
implement a maintenance() function in dnsdist lua which can configure dynamic filters, plus add ringbuffer tooling to do so:

dyn = newNMG()
function blockFilter(remote, qname, qtype, dh)
-- print(string.format("Called from %s", remote:tostring()))
if(dyn:match(remote))
then
print("Blocking query from " .. remote:tostring() .. " because dynamic blocklist")
return true
end
return false
end

function maintenance()
local newdyn = newNMG()
local exc=exceedServfails(1, 3) -- more than 1 qps over 3 seconds
newdyn:add(exc)
for k, v in pairs( exc ) do
   newdyn:add(k)
end

exc=exceedNXDOMAINs(3, 10)   -- more than 3 qps over 10 seconds
for k, v in pairs( exc ) do
   print("Adding because of NXDOMAIN: "..k:tostring())
   newdyn:add(k)
end

newdyn:add(exceedByterate(1000, 4)) -- more than 1000 bytes/s over 4 seconds

dyn=newdyn
end

8 years agowe might have more DiffTimes
bert hubert [Sun, 29 Nov 2015 16:42:42 +0000 (17:42 +0100)]
we might have more DiffTimes

8 years agoMake some tools timeout
Aki Tuomi [Sun, 29 Nov 2015 16:09:54 +0000 (18:09 +0200)]
Make some tools timeout

8 years agoand the .h..
bert hubert [Sun, 29 Nov 2015 13:38:29 +0000 (14:38 +0100)]
and the .h..

8 years agothis restores being able to build recursor w/o Lua, and also continues Travis testing...
bert hubert [Sun, 29 Nov 2015 13:06:14 +0000 (14:06 +0100)]
this restores being able to build recursor w/o Lua, and also continues Travis testing of recursor w/o Lua

8 years agomove all the lua configuration items to a struct that is RCU for easy reloading
bert hubert [Sun, 29 Nov 2015 12:41:41 +0000 (13:41 +0100)]
move all the lua configuration items to a struct that is RCU for easy reloading

8 years agowas looking in the wrong place!
bert hubert [Sun, 29 Nov 2015 12:29:52 +0000 (13:29 +0100)]
was looking in the wrong place!

8 years agosee if this makes travis build with Lua
bert hubert [Sun, 29 Nov 2015 11:49:12 +0000 (12:49 +0100)]
see if this makes travis build with Lua

8 years agoMerge pull request #2945 from cmouse/geoip-interpolation
bert hubert [Sun, 29 Nov 2015 11:15:24 +0000 (12:15 +0100)]
Merge pull request #2945 from cmouse/geoip-interpolation

Geoip interpolation and sundry of fixes.

8 years agothe day you new that would be arriving: a Lua configuration file for Recursor. Also...
bert hubert [Sun, 29 Nov 2015 10:51:00 +0000 (11:51 +0100)]
the day you new that would be arriving: a Lua configuration file for Recursor. Also implements sortlist & makes Lua mandatory (for now) in Recursor

8 years agoadd a single-netmask long test case for netmasktree
bert hubert [Sun, 29 Nov 2015 10:50:26 +0000 (11:50 +0100)]
add a single-netmask long test case for netmasktree

8 years agoAdd has_key method
Aki Tuomi [Sun, 29 Nov 2015 10:22:11 +0000 (12:22 +0200)]
Add has_key method

8 years agoAdd few comments
Aki Tuomi [Sun, 29 Nov 2015 10:22:03 +0000 (12:22 +0200)]
Add few comments

8 years agoRemove NetmaskTree#[] from geoipbackend
Aki Tuomi [Sun, 29 Nov 2015 09:49:14 +0000 (11:49 +0200)]
Remove NetmaskTree#[] from geoipbackend

8 years agoRemove [] accessors
Aki Tuomi [Sun, 29 Nov 2015 09:40:00 +0000 (11:40 +0200)]
Remove [] accessors

8 years agorevert to std::string in DNSName for now since Centos6 boost does not have boost...
bert hubert [Sun, 29 Nov 2015 08:38:05 +0000 (09:38 +0100)]
revert to std::string in DNSName for now since Centos6 boost does not have boost::container::string - we should autodetect this with #if on BOOST_VERSION

8 years agoMerge pull request #2954 from cmouse/deforeach-remote
bert hubert [Sat, 28 Nov 2015 18:45:45 +0000 (19:45 +0100)]
Merge pull request #2954 from cmouse/deforeach-remote

Fix remotebackend for loops

8 years agoAPI: fix crash introduced in abb873ee
Christian Hofstaedtler [Sat, 28 Nov 2015 16:39:29 +0000 (17:39 +0100)]
API: fix crash introduced in abb873ee

And rename the involved var so its clearer what is going on.

8 years agoCorrect the name of the unixODBC package on centos
Pieter Lexis [Sat, 28 Nov 2015 15:18:40 +0000 (16:18 +0100)]
Correct the name of the unixODBC package on centos

8 years agomake nxdomains/noerror responses work. We validate the NSEC/NSEC3 records, but don...
bert hubert [Sat, 28 Nov 2015 11:38:05 +0000 (12:38 +0100)]
make nxdomains/noerror responses work. We validate the NSEC/NSEC3 records, but don't yet prove they cover the right things.

8 years agohook up ECDSA in git pdns_recursor build, not yet in separate tarball. Fix up CNAME...
bert hubert [Sat, 28 Nov 2015 10:05:07 +0000 (11:05 +0100)]
hook up ECDSA in git pdns_recursor build, not yet in separate tarball. Fix up CNAME chains and resolving insecure domains with do=1

8 years agoMerge pull request #2943 from ahupowerdns/deforeach
bert hubert [Fri, 27 Nov 2015 22:13:57 +0000 (23:13 +0100)]
Merge pull request #2943 from ahupowerdns/deforeach

Do we want this? remove BOOST_FOREACH, fixes two bugs