From e38eeba1fab2570ec42998292d4c0d1e1bf4720a Mon Sep 17 00:00:00 2001 From: henri Date: Tue, 7 May 2013 07:46:07 +0000 Subject: [PATCH] Added more ideas for nsock. Renamed the file "henri.txt" to follow the rule. --- todo/henri.txt | 27 +++++++++++++++++++++++++++ todo/nsockproxies.txt | 16 ---------------- 2 files changed, 27 insertions(+), 16 deletions(-) create mode 100644 todo/henri.txt delete mode 100644 todo/nsockproxies.txt diff --git a/todo/henri.txt b/todo/henri.txt new file mode 100644 index 000000000..b244a1d21 --- /dev/null +++ b/todo/henri.txt @@ -0,0 +1,27 @@ +[DESIGN] +o Give IODs their own methods to streamline the code and get rid of all + the special cases in nsock_core.c. This would also make it easier to + hook operations (typically: override the default iod_connect() method + to establish a proxy chain). +o Fix the read API +o Rework the filespace code to avoid unneeded data copy. Scatter/gather + I/O might be useful there. +o The numerous free-lists (one per gh_list, plus others) of a nsock_pool + should be shared. Actually, More efficient data structures in nsock + could also simply make them unneeded. + !! Do detailed profiling before starting any work on the last two + points. + +[PROXY SUPPORT] +o Proper SSL support +o Authentication +o Handle socks4a + - This requires to figure out how to trigger proxy code without + resolving target hostname first. The problem is that the proxy code + is supposed to be a transparent hook of connect()... Extending the + exported API will probably be needed :( + - Async hostname resolution available from within nsock would let us + try clever tricks... I'm not sure whether nsock should provide it + or if it should simply provide an API to plug an external system. +o Socks5 support +o Some code is copied from ncat. I should move it to nbase. diff --git a/todo/nsockproxies.txt b/todo/nsockproxies.txt deleted file mode 100644 index 21f210646..000000000 --- a/todo/nsockproxies.txt +++ /dev/null @@ -1,16 +0,0 @@ -TODO/ideas for nsock proxy support: - - -o Authentication - -o Handle socks4a - - This requires to figure out how to trigger proxy code without resolving - target hostname first. The problem is that the proxy code is supposed to be - a transparent hook of connect()... Extending the exported API will probably - be needed :( - - If nsock could provide async hostname resolution methods, we could do some - clever tricks... - -o socks5 support - -o Explore ways to share code with ncat