Ideas / TODO:
-* Hacer el protocolo completamente introspectivo, de manera que el cliente pueda
- ser muy simple y genérico y en caso de agregar funcionalidad no sea necesario
- modificarlo.
-
-* Evaluar hacer un RootHandler en vez de un diccionario con los handlers de la
- raiz para simplificar la introspección y tener un help/commands global.
-
-* Evaluar que el dispatcher vea si se llama a un HandlerContainer y de ser así
- que tire una ayuda en vez de un CommandNotFound (por ejemplo si se pone:
- "dhcp" solo que tire una ayuda). Y si hay un subcomando no encontrado, que
- tire un Command Not Found in handler (por ej "dhcp lala" -> Command "lala" not
- found in "dhcp").
+* Revisar interacción entre firewall y nat que ambos usan iptables. Es probable
+ que al manipular reglas por número de índice se complique todo porque tengo
+ indices separados por tipo de regla, entonces si pongo borrar la 2 tal vez es
+ la 13 en vez de la dos porque hay otras 11 reglas de otros sub-servicios que
+ usan iptables. Tal vez la solución simple es hacer algo como:
+ router firewall add [regla]
+ router nat masq add [masq]
+ router nat forward add [port]
+ router nat snat add [snat]
+ (u organizándolo de otra forma pero que tengan todos un root en común)
+
+* Agregar soporte de opciones de línea de comando/archivo de conf para:
+ * Dry run.
+ * Seleccionar servicios a usar.
+ * Puerto/bind addr.
+ * Logging.
+ * Paths.
+
+* SubHandlers:
+ * ComposeDictSubHandler con soporte de dirty/del/add (para ip y DNS).
+ * Agregar SimpleDictSubHandler? (que no use una clase, que use un dict
+ de strings directamente, para Proxy Users por ej.). Ídem List.
+ * Agregar SetSubHandler? (para Proxy Hosts)
* Agregar logging.