diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-12-10 14:31:47 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-12-10 14:31:47 +0000 |
commit | c015aa4c0e1cfc031109c18af497cca9a72c844c (patch) | |
tree | e8b41a06d57c1a3a79a39d5a16f516eba51b8af6 /src/modules/extra | |
parent | e22da8467d91399b339220ad6927c4a3e6ef0e51 (diff) |
Rename ssl.h -> transport.h, as its now used for ziplinks
Document the data format used by our ziplinks (its not just deflated data, there has to be a length header on the start)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5912 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/extra')
-rw-r--r-- | src/modules/extra/m_ssl_gnutls.cpp | 4 | ||||
-rw-r--r-- | src/modules/extra/m_ssl_openssl.cpp | 7 | ||||
-rw-r--r-- | src/modules/extra/m_ssl_oper_cert.cpp | 4 | ||||
-rw-r--r-- | src/modules/extra/m_sslinfo.cpp | 4 | ||||
-rw-r--r-- | src/modules/extra/m_ziplink.cpp | 25 |
5 files changed, 32 insertions, 12 deletions
diff --git a/src/modules/extra/m_ssl_gnutls.cpp b/src/modules/extra/m_ssl_gnutls.cpp index 52a47b062..4a604ba9a 100644 --- a/src/modules/extra/m_ssl_gnutls.cpp +++ b/src/modules/extra/m_ssl_gnutls.cpp @@ -14,12 +14,12 @@ #include "hashcomp.h" #include "inspircd.h" -#include "ssl.h" +#include "transport.h" /* $ModDesc: Provides SSL support for clients */ /* $CompileFlags: `libgnutls-config --cflags` */ /* $LinkerFlags: `perl extra/gnutls_rpath.pl` */ -/* $ModDep: ssl.h */ +/* $ModDep: transport.h */ enum issl_status { ISSL_NONE, ISSL_HANDSHAKING_READ, ISSL_HANDSHAKING_WRITE, ISSL_HANDSHAKEN, ISSL_CLOSING, ISSL_CLOSED }; diff --git a/src/modules/extra/m_ssl_openssl.cpp b/src/modules/extra/m_ssl_openssl.cpp index 2f393f718..49c2ecfc8 100644 --- a/src/modules/extra/m_ssl_openssl.cpp +++ b/src/modules/extra/m_ssl_openssl.cpp @@ -1,7 +1,7 @@ #include <string> #include <vector> -#include <openssl/ssl.h> +#include <openssl/transport.h> #include <openssl/err.h> #include "inspircd_config.h" @@ -14,13 +14,12 @@ #include "hashcomp.h" #include "inspircd.h" -#include "ssl.h" +#include "transport.h" /* $ModDesc: Provides SSL support for clients */ /* $CompileFlags: `perl extra/openssl_config.pl compile` */ /* $LinkerFlags: `perl extra/openssl_config.pl link` */ -/* $ModDep: ssl.h */ - +/* $ModDep: transport.h */ enum issl_status { ISSL_NONE, ISSL_HANDSHAKING, ISSL_OPEN }; enum issl_io_status { ISSL_WRITE, ISSL_READ }; diff --git a/src/modules/extra/m_ssl_oper_cert.cpp b/src/modules/extra/m_ssl_oper_cert.cpp index 41103abd6..27d0b1bc1 100644 --- a/src/modules/extra/m_ssl_oper_cert.cpp +++ b/src/modules/extra/m_ssl_oper_cert.cpp @@ -15,7 +15,7 @@ */ /* $ModDesc: Allows for MD5 encrypted oper passwords */ -/* $ModDep: ssl.h */ +/* $ModDep: transport.h */ using namespace std; @@ -25,7 +25,7 @@ using namespace std; #include "channels.h" #include "modules.h" #include "inspircd.h" -#include "ssl.h" +#include "transport.h" #include "wildcard.h" /** Handle /FINGERPRINT diff --git a/src/modules/extra/m_sslinfo.cpp b/src/modules/extra/m_sslinfo.cpp index ea5764d2d..77005522c 100644 --- a/src/modules/extra/m_sslinfo.cpp +++ b/src/modules/extra/m_sslinfo.cpp @@ -20,13 +20,13 @@ using namespace std; #include "users.h" #include "channels.h" #include "modules.h" -#include "ssl.h" +#include "transport.h" #include "wildcard.h" #include "inspircd.h" #include "dns.h" /* $ModDesc: Provides /sslinfo command used to test who a mask matches */ -/* $ModDep: ssl.h */ +/* $ModDep: transport.h */ /** Handle /SSLINFO */ diff --git a/src/modules/extra/m_ziplink.cpp b/src/modules/extra/m_ziplink.cpp index b5249681e..48d9bb18f 100644 --- a/src/modules/extra/m_ziplink.cpp +++ b/src/modules/extra/m_ziplink.cpp @@ -13,11 +13,32 @@ #include "hashcomp.h" #include "inspircd.h" -#include "ssl.h" +#include "transport.h" /* $ModDesc: Provides zlib link support for servers */ /* $LinkerFlags: -lz */ -/* $ModDep: ssl.h */ +/* $ModDep: transport.h */ + +/* + * Compressed data is transmitted across the link in the following format: + * + * 0 1 2 3 4 ... n + * +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + * | n | n | n | n | Z0 -> Zn | + * +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + * + * Where: n is the size of a frame, in network byte order, 4 bytes. + * Z0 through Zn are Zlib compressed data, n bytes in length. + * + * If the module fails to read the entire frame, then it will buffer + * the portion of the last frame it received, then attempt to read + * the next part of the frame next time a write notification arrives. + * + * ZLIB_BEST_COMPRESSION (9) is used for all sending of data with + * a flush after each frame. A frame may contain multiple lines + * and should be treated as raw binary data. + * + */ enum izip_status { IZIP_WAITFIRST, IZIP_OPEN, IZIP_CLOSED }; |