summaryrefslogtreecommitdiff
path: root/src/modules/extra
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-12-10 14:31:47 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-12-10 14:31:47 +0000
commitc015aa4c0e1cfc031109c18af497cca9a72c844c (patch)
treee8b41a06d57c1a3a79a39d5a16f516eba51b8af6 /src/modules/extra
parente22da8467d91399b339220ad6927c4a3e6ef0e51 (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.cpp4
-rw-r--r--src/modules/extra/m_ssl_openssl.cpp7
-rw-r--r--src/modules/extra/m_ssl_oper_cert.cpp4
-rw-r--r--src/modules/extra/m_sslinfo.cpp4
-rw-r--r--src/modules/extra/m_ziplink.cpp25
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 };