dmiller
d639a53088
Bump copyright date in license headers
2019-05-28 21:36:04 +00:00
fyodor
ff62300249
Bump copyright dates to 2018 and slightly improve wording (doesn't change meaning) of Nmap license header text
2018-01-28 21:18:17 +00:00
dmiller
9c7ea727a7
Update license terms for 2017
2017-06-07 12:32:38 +00:00
dmiller
74cade6f39
Avoid some theoretical null pointer derefs
2016-07-30 03:54:00 +00:00
dmiller
6e33d6ac3c
Bump date in copyright headers
2016-04-04 15:38:44 +00:00
henri
ea495ddecd
Cosmetic fixes
...
Removed unneeded NULL-checks before free()
Flattened code structures
2015-06-27 08:21:56 +00:00
henri
b55ff2d68f
Don't associate nsock logging info to a nspool.
...
Make current loglevel and current log callback global
to the library. Attaching them to the nsock pool doesn't
bring any benefit and prevents from logging activity in
code sections that don't have access to a pool (such as
proxy chain specification parsing).
Updated external calls and nsock tests accordingly.
2015-06-27 08:21:53 +00:00
henri
0348359f60
Enforce nsock naming scheme.
...
convert nsp_* calls into nsock_pool_*. Separate words with underscores
where appropriate.
2015-06-27 08:21:16 +00:00
dmiller
68409b2226
Update copyright date to 2015
2015-06-03 13:01:29 +00:00
dmiller
f6d70cd3e6
Revert r33815 (unrelated changes)
2014-11-17 13:31:56 +00:00
dmiller
2b9fade75b
Fix Nsock's make check: wrong value tested
2014-11-17 13:25:35 +00:00
dmiller
7797826e5d
Silence a compiler warning on VS2013: not all code paths return a value
2014-11-11 06:06:46 +00:00
fyodor
f6f59a7cd7
Auto regeneration with latest template files, etc.
2014-08-13 22:57:43 +00:00
henri
b5a6d20a6e
Fail early when unable to properly resolve proxy names.
...
Some errors were not properly propagated. Ensure proxy_resolve() returns
a negative error code and make the caller fatal() when unable to complete
proxy_chain initialization for whatever reason.
2014-07-08 17:50:51 +00:00
henri
d13dab54c3
Replaced internal opaque types by structs.
2014-05-21 19:59:42 +00:00
henri
853aaff586
Manage expiration times via a heap queue.
...
This prevents nsock from iterating over the whole list of events at
each runloop, thus improving performance.
It made it necessary to have pointers from the msevents to the event
lists they belong to. The patch therefore also changes gh_list from
autonomous containers to embedded structures.
Added unit tests accordingly and cosmetic changes to make things look
more consistent.
2013-08-10 23:59:30 +00:00
fyodor
83fb10ec56
Update the Nmap copyright/license files. This isn't the new Nmap Public Source License we've been discussing on the list, but rather just a 'quick patch' to hopefully prevent some of the abuse we've been seeing from companies lately. More details on the changes will be posted to the dev list. Also, the copyright year was updated to 2013 (which is the only change to Nsock license statements).
2013-07-28 22:05:05 +00:00
henri
d9de4cc552
'const static' -> 'static const'
2013-05-12 21:02:29 +00:00
henri
e623d8c9f1
Replaced strtok_r() calls by strtok().
...
The latter is more portable and can replace strtok_r in our case.
2013-05-02 17:32:15 +00:00
henri
f90d107b40
Added checks to avoid including netdb.h on platforms that don't provide it.
2013-05-01 15:15:57 +00:00
henri
a687f70af3
Removed our copy of mkstr, which has been moved to nbase.
2013-04-22 19:37:03 +00:00
henri
c8f7d4b7ac
Refactored the proxy object model to enforce speration between operations and data.
2013-04-22 19:36:47 +00:00
henri
157922dfe0
Replaced proxy_chain->specstr by node->nodestr.
...
The global proxy chain specification string wasn't
used anywhere, and I'd need a string to represent
each node of the chain.
2013-04-22 19:35:59 +00:00
henri
1455bf0624
Declare local constant string as array instead of pointer to
...
follow coding best practices. Also made string static.
2013-04-22 19:35:30 +00:00
henri
5be3de1477
Minor style fixes.
2013-04-22 19:35:22 +00:00
henri
a729e0047c
Reworked expression for readability.
2013-04-22 19:34:58 +00:00
henri
4998b3f20a
Updated email addresses in licence terms of the new files.
2013-04-22 19:34:50 +00:00
henri
a5fee3f2b4
Updated nsock_proxy to use nsock_log_*
2013-04-22 19:34:41 +00:00
henri
ab6a7a4f9e
Added SOCKS4 support
...
Beware socks4a extention is not supported. Target hostnames
therefore need to be resolved somehow.
Initial patch by David and sed :)
2013-04-22 19:34:11 +00:00
henri
a3fbe7d7d6
Style change, neater syntax.
2013-04-22 19:34:01 +00:00
henri
af59333757
Perform the proxy connexion hook in connect_internal().
...
This allows to generically handle all kinds of connexions instead of manually
providing a handler for tcp connect, ssl connect...
The drawback is that would it makes it harder to implement support of SSL
proxies. Not sure whether there's a need though, looks like regular clients
don't handle them at least.
2013-04-22 19:33:53 +00:00
henri
5906c97ff9
Enfore node=NULL on error.
2013-04-22 19:33:37 +00:00
henri
6700abe1e8
Added svn properties.
2013-04-22 19:33:08 +00:00
henri
71e23318e9
Removed list of todo items from source.
2013-04-22 19:33:00 +00:00
henri
6e8b30d721
Added support to resolve proxy hostnames.
2013-04-22 19:32:52 +00:00
henri
c9d237f26b
Added a new NSE_STATUS_PROXYERROR status type to report proxy-related errors
...
back to caller.
2013-04-22 19:32:29 +00:00
henri
da1559b237
Replaced a couple macros by corresponding static inline functions.
...
Removed unused PROXY_CTX_NODES() macro.
2013-04-22 19:32:20 +00:00
henri
152490e630
Removed per-node information structures as well as data encoding/decoding
...
interface.
These were unused and I think won't be required by any proxy type (HTTP and
SOCKS).
2013-04-22 19:32:04 +00:00
henri
173adc678b
Implemented a more robust URI parser. Code largely adapted from ncat/http.c.
2013-04-22 19:31:56 +00:00
henri
26f918e310
Use an intermediate proxy_chain pointer for readability.
2013-04-22 19:31:47 +00:00
henri
4d5bb41361
Added skeletton for having px_info list in each Nsock IOD.
...
When establishing the tunnel through proxy chain, we need to track status of
each proxy (storing R/W buffers, stats, retries...).
This patch lets proxies store and manage whatever structure they want to have
for this in a Nsock IOD. Since types can differ between proxy types, the
proxy_info are stored as a list of void *, ordered like the proxy nodes.
2013-04-22 19:31:30 +00:00
henri
21327ee56c
Return 1 on success to (try to) improve consistency.
2013-04-22 19:31:21 +00:00
henri
5168ff9113
Moved prototypes to nsock_proxy.h
2013-04-22 19:31:06 +00:00
henri
f1a04abd6b
Removed the global ProxyOps list.
...
Each proxy node now provides a pointer to its operations struct.
2013-04-22 19:30:49 +00:00
henri
3451220630
Refactored proxy code to use a "strategy" design pattern.
...
Proxy backends are selected at runtime. Each proxy exports a list of operations
to the rest of the library. This is similar to the way IO engines are
implemented within nsock.
2013-04-22 19:30:40 +00:00
henri
48354754a8
Renamed proxy actions into proxy op, which seems to be rather more meaningful.
2013-04-22 19:30:23 +00:00
henri
e1030f2fe7
Cosmetic fixes.
2013-04-22 19:30:14 +00:00
henri
f5e437cdbf
Removed undesired debugging printf() call.
2013-04-22 19:30:07 +00:00
henri
91af533ca2
Added missing initializer.
2013-04-22 19:29:43 +00:00
henri
641d63efb4
Reduced scope of the top level proxy event handler.
...
There is no need anymore for exporting this function to the rest of the library.
It's called by the proxy hooks when registering new events.
2013-04-22 19:29:35 +00:00