fw: make strategies understand scope

refs #1253

Change-Id: I57f7a6008e6f08c9817e58f480020eb9219a4aec
diff --git a/daemon/fw/broadcast-strategy.cpp b/daemon/fw/broadcast-strategy.cpp
index 3e8c2bf..7f5b248 100644
--- a/daemon/fw/broadcast-strategy.cpp
+++ b/daemon/fw/broadcast-strategy.cpp
@@ -28,16 +28,14 @@
 {
   const fib::NextHopList& nexthops = fibEntry->getNextHops();
 
-  bool isPropagated = false;
   for (fib::NextHopList::const_iterator it = nexthops.begin(); it != nexthops.end(); ++it) {
     shared_ptr<Face> outFace = it->getFace();
-    if (outFace->getId() != inFace.getId()) {
+    if (pitEntry->canForwardTo(*outFace)) {
       this->sendInterest(pitEntry, outFace);
-      isPropagated = true;
     }
   }
 
-  if (!isPropagated) {
+  if (!pitEntry->hasUnexpiredOutRecords()) {
     this->rejectPendingInterest(pitEntry);
   }
 }