TODO 994 Bytes
Newer Older
JINMEI Tatuya's avatar
JINMEI Tatuya committed
1
2
3
1. When xfrin's config data is changed, new config data should be applied.
2. mutex on recorder is not sufficient.  race can happen if two xfrin requests
   occur at the same time.  (but testing it would be very difficult)
JINMEI Tatuya's avatar
JINMEI Tatuya committed
4
5
3. It wouldn't support IPv6 because of the following line:
        self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
JINMEI Tatuya's avatar
JINMEI Tatuya committed
6
4. Xfrin.retransfer and refresh share most of the code.  should be unified.
JINMEI Tatuya's avatar
JINMEI Tatuya committed
7
5. class IN is hardcoded.  bad.
JINMEI Tatuya's avatar
JINMEI Tatuya committed
8
        query_question = question(name(self._zone_name), rr_class.IN(), query_type)
JINMEI Tatuya's avatar
JINMEI Tatuya committed
9
10
6. QID 0 should be allowed:
        query_id = random.randint(1, 0xFFFF)
JINMEI Tatuya's avatar
JINMEI Tatuya committed
11
12
13
7. what if xfrin fails after opening a new DB?  looks like garbage
   (intermediate) data remains in the DB file, although it's more about
   the data source implementation.  check it, and fix it if it's the case.
JINMEI Tatuya's avatar
JINMEI Tatuya committed
14
15
16
8. Xfrin.command_handler() ignores unknown commands.  should return an error.
9. XfrinConnection() can leak sockets. (same problem as that Jelte mentioned
   on xfrout?)