]> jfr.im git - solanum.git/blobdiff - doc/features/filter.txt
Describe database loading.
[solanum.git] / doc / features / filter.txt
index 331eb16f891d6814a4e0b35b4cc178c0c88b7156..5c3b983b466098a76af1c6acc5909184212c3a20 100644 (file)
@@ -44,3 +44,15 @@ can be changed at build time if filtering on these fields is required.
 
 The number after the # will be 0 or 1 depending on whether the sending
 client was identified to a NickServ account.
+
+The process for loading filters is as follows:
+
+1. The Hyperscan database is serialized using hs_serialize_database().
+2. The serialized data is base64 encoded
+3. A 'SETFILTER NEW' command is sent.
+4. The base64 data is split into chunks short enough to fit into
+   a 512 byte IRC line, taking into account space needed for the
+   command, check field, and server mask, and send using 'SETFILTER +'
+   commands.
+5. Once the entire database has been sent, a 'SETFILTER APPLY' command
+   is sent to commit it.