From 8e1263c328dad924aed1ebb6f7ea41c507a445b9 Mon Sep 17 00:00:00 2001 From: Tom Quackenbush Date: Wed, 26 Jul 2017 12:56:58 -0400 Subject: [PATCH] update mod_pottymouth to work with ejabberd 17.04. replace etbloom hipe_bifs/bitarray with ferd/bitarray. --- mod_pottymouth/README.txt | 34 ++- mod_pottymouth/deps/etbloom/.gitignore | 2 + mod_pottymouth/deps/etbloom/LICENSE.txt | 286 ++++++++++++++++++ mod_pottymouth/deps/etbloom/README.md | 13 + mod_pottymouth/deps/etbloom/rebar | Bin 0 -> 141548 bytes mod_pottymouth/deps/etbloom/rebar.config | 5 + .../deps/etbloom/src/etbloom.app.src | 37 +++ .../{ => deps/etbloom}/src/etbloom.erl | 6 +- .../deps/etbloom/test/etbloom_tests.erl | 20 ++ mod_pottymouth/src/mod_pottymouth.erl | 57 ++-- 10 files changed, 418 insertions(+), 42 deletions(-) create mode 100644 mod_pottymouth/deps/etbloom/.gitignore create mode 100644 mod_pottymouth/deps/etbloom/LICENSE.txt create mode 100644 mod_pottymouth/deps/etbloom/README.md create mode 100755 mod_pottymouth/deps/etbloom/rebar create mode 100644 mod_pottymouth/deps/etbloom/rebar.config create mode 100644 mod_pottymouth/deps/etbloom/src/etbloom.app.src rename mod_pottymouth/{ => deps/etbloom}/src/etbloom.erl (96%) create mode 100644 mod_pottymouth/deps/etbloom/test/etbloom_tests.erl diff --git a/mod_pottymouth/README.txt b/mod_pottymouth/README.txt index 0703c96..af8c822 100644 --- a/mod_pottymouth/README.txt +++ b/mod_pottymouth/README.txt @@ -6,10 +6,32 @@ sizes. Using a large list (say, 87M terms) will slow down the initial server boot time (to about 15 minutes respectively), but once loaded lookups are very speedy. -To install in ejabberd: +Prerequisite bitarray lib: + +mod_pottymouth uses a modified version of the 'etbloom' library that uses +'bitarray' to replace 'hipe_bifs'. Ejabberd doesn't handle installing +dependences of dependecies quite so well (etbloom being a dep of mod_pottymouth +and bitarray being a dep of etbloom), so bitarray needs to be installed manually +before installation of mod_pottymouth. + +This is how I got it to work... YMMV. +Given $EJABBERD_HOME is the base directory of your ejabberd install: + +mkdir -p $EJABBERD_HOME/erlang-lib/bitarray +cd $EJABBERD_HOME/erlang-lib/bitarray +clone https://github.com/ferd/bitarray git repo +run: /usr/lib/erlang/bin/escript rebar get-deps +run: /usr/lib/erlang/bin/escript rebar compile +run: /usr/bin/install -c -d /usr/local/lib/bitarray-1.0.0/ebin +run: /usr/bin/install -c -d /usr/local/lib/bitarray-1.0.0/priv +run: /usr/bin/install -c -m 644 ./ebin/bitarray.app /usr/local/lib/bitarray-1.0.0/ebin/bitarray.app +run: /usr/bin/install -c -m 644 ./ebin/bitarray.beam /usr/local/lib/bitarray-1.0.0/ebin/bitarray.beam +run: /usr/bin/install -c -m 644 ./priv/bitarray.so /usr/local/lib/bitarray-1.0.0/priv/bitarray.so + +To install mod_pottymouth in ejabberd: cd ~/.ejabberd-modules/sources -clone the git repo +clone the ejabberd-contrib git repo cd mod_pottymouth edit: ./conf/mod_pottymouth.yml @@ -18,14 +40,6 @@ run: ejabberdctl module_install mod_pottymouth run: ejabberdctl restart module will be installed in: ~/.ejabberd-modules/mod_pottymouth - -If you don't have Erlang HiPE available, it may throw errors that mention: - {undef,[{hipe_bifs,bitarray, -In such case, you can install this library: - https://github.com/ferd/bitarray -and edit etbloom.erl to call that library instead of hipe_bifs. - - Config file format: modules: diff --git a/mod_pottymouth/deps/etbloom/.gitignore b/mod_pottymouth/deps/etbloom/.gitignore new file mode 100644 index 0000000..7f18faa --- /dev/null +++ b/mod_pottymouth/deps/etbloom/.gitignore @@ -0,0 +1,2 @@ +workspace.xml +out diff --git a/mod_pottymouth/deps/etbloom/LICENSE.txt b/mod_pottymouth/deps/etbloom/LICENSE.txt new file mode 100644 index 0000000..729d139 --- /dev/null +++ b/mod_pottymouth/deps/etbloom/LICENSE.txt @@ -0,0 +1,286 @@ +ERLANG PUBLIC LICENSE +Version 1.1 + +1. Definitions. + +1.1. ``Contributor'' means each entity that creates or contributes to +the creation of Modifications. + +1.2. ``Contributor Version'' means the combination of the Original +Code, prior Modifications used by a Contributor, and the Modifications +made by that particular Contributor. + +1.3. ``Covered Code'' means the Original Code or Modifications or the +combination of the Original Code and Modifications, in each case +including portions thereof. + +1.4. ``Electronic Distribution Mechanism'' means a mechanism generally +accepted in the software development community for the electronic +transfer of data. + +1.5. ``Executable'' means Covered Code in any form other than Source +Code. + +1.6. ``Initial Developer'' means the individual or entity identified +as the Initial Developer in the Source Code notice required by Exhibit +A. + +1.7. ``Larger Work'' means a work which combines Covered Code or +portions thereof with code not governed by the terms of this License. + +1.8. ``License'' means this document. + +1.9. ``Modifications'' means any addition to or deletion from the +substance or structure of either the Original Code or any previous +Modifications. When Covered Code is released as a series of files, a +Modification is: + +A. Any addition to or deletion from the contents of a file containing + Original Code or previous Modifications. + +B. Any new file that contains any part of the Original Code or + previous Modifications. + +1.10. ``Original Code'' means Source Code of computer software code +which is described in the Source Code notice required by Exhibit A as +Original Code, and which, at the time of its release under this +License is not already Covered Code governed by this License. + +1.11. ``Source Code'' means the preferred form of the Covered Code for +making modifications to it, including all modules it contains, plus +any associated interface definition files, scripts used to control +compilation and installation of an Executable, or a list of source +code differential comparisons against either the Original Code or +another well known, available Covered Code of the Contributor's +choice. The Source Code can be in a compressed or archival form, +provided the appropriate decompression or de-archiving software is +widely available for no charge. + +1.12. ``You'' means an individual or a legal entity exercising rights +under, and complying with all of the terms of, this License. For legal +entities,``You'' includes any entity which controls, is controlled by, +or is under common control with You. For purposes of this definition, +``control'' means (a) the power, direct or indirect, to cause the +direction or management of such entity, whether by contract or +otherwise, or (b) ownership of fifty percent (50%) or more of the +outstanding shares or beneficial ownership of such entity. + +2. Source Code License. + +2.1. The Initial Developer Grant. +The Initial Developer hereby grants You a world-wide, royalty-free, +non-exclusive license, subject to third party intellectual property +claims: + +(a) to use, reproduce, modify, display, perform, sublicense and + distribute the Original Code (or portions thereof) with or without + Modifications, or as part of a Larger Work; and + +(b) under patents now or hereafter owned or controlled by Initial + Developer, to make, have made, use and sell (``Utilize'') the + Original Code (or portions thereof), but solely to the extent that + any such patent is reasonably necessary to enable You to Utilize + the Original Code (or portions thereof) and not to any greater + extent that may be necessary to Utilize further Modifications or + combinations. + +2.2. Contributor Grant. +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license, subject to third party intellectual property +claims: + +(a) to use, reproduce, modify, display, perform, sublicense and + distribute the Modifications created by such Contributor (or + portions thereof) either on an unmodified basis, with other + Modifications, as Covered Code or as part of a Larger Work; and + +(b) under patents now or hereafter owned or controlled by Contributor, + to Utilize the Contributor Version (or portions thereof), but + solely to the extent that any such patent is reasonably necessary + to enable You to Utilize the Contributor Version (or portions + thereof), and not to any greater extent that may be necessary to + Utilize further Modifications or combinations. + +3. Distribution Obligations. + +3.1. Application of License. +The Modifications which You contribute are governed by the terms of +this License, including without limitation Section 2.2. The Source +Code version of Covered Code may be distributed only under the terms +of this License, and You must include a copy of this License with +every copy of the Source Code You distribute. You may not offer or +impose any terms on any Source Code version that alters or restricts +the applicable version of this License or the recipients' rights +hereunder. However, You may include an additional document offering +the additional rights described in Section 3.5. + +3.2. Availability of Source Code. +Any Modification which You contribute must be made available in Source +Code form under the terms of this License either on the same media as +an Executable version or via an accepted Electronic Distribution +Mechanism to anyone to whom you made an Executable version available; +and if made available via Electronic Distribution Mechanism, must +remain available for at least twelve (12) months after the date it +initially became available, or at least six (6) months after a +subsequent version of that particular Modification has been made +available to such recipients. You are responsible for ensuring that +the Source Code version remains available even if the Electronic +Distribution Mechanism is maintained by a third party. + +3.3. Description of Modifications. +You must cause all Covered Code to which you contribute to contain a +file documenting the changes You made to create that Covered Code and +the date of any change. You must include a prominent statement that +the Modification is derived, directly or indirectly, from Original +Code provided by the Initial Developer and including the name of the +Initial Developer in (a) the Source Code, and (b) in any notice in an +Executable version or related documentation in which You describe the +origin or ownership of the Covered Code. + +3.4. Intellectual Property Matters + +(a) Third Party Claims. + If You have knowledge that a party claims an intellectual property + right in particular functionality or code (or its utilization + under this License), you must include a text file with the source + code distribution titled ``LEGAL'' which describes the claim and + the party making the claim in sufficient detail that a recipient + will know whom to contact. If you obtain such knowledge after You + make Your Modification available as described in Section 3.2, You + shall promptly modify the LEGAL file in all copies You make + available thereafter and shall take other steps (such as notifying + appropriate mailing lists or newsgroups) reasonably calculated to + inform those who received the Covered Code that new knowledge has + been obtained. + +(b) Contributor APIs. + If Your Modification is an application programming interface and + You own or control patents which are reasonably necessary to + implement that API, you must also include this information in the + LEGAL file. + +3.5. Required Notices. +You must duplicate the notice in Exhibit A in each file of the Source +Code, and this License in any documentation for the Source Code, where +You describe recipients' rights relating to Covered Code. If You +created one or more Modification(s), You may add your name as a +Contributor to the notice described in Exhibit A. If it is not +possible to put such notice in a particular Source Code file due to +its structure, then you must include such notice in a location (such +as a relevant directory file) where a user would be likely to look for +such a notice. You may choose to offer, and to charge a fee for, +warranty, support, indemnity or liability obligations to one or more +recipients of Covered Code. However, You may do so only on Your own +behalf, and not on behalf of the Initial Developer or any +Contributor. You must make it absolutely clear than any such warranty, +support, indemnity or liability obligation is offered by You alone, +and You hereby agree to indemnify the Initial Developer and every +Contributor for any liability incurred by the Initial Developer or +such Contributor as a result of warranty, support, indemnity or +liability terms You offer. + +3.6. Distribution of Executable Versions. +You may distribute Covered Code in Executable form only if the +requirements of Section 3.1-3.5 have been met for that Covered Code, +and if You include a notice stating that the Source Code version of +the Covered Code is available under the terms of this License, +including a description of how and where You have fulfilled the +obligations of Section 3.2. The notice must be conspicuously included +in any notice in an Executable version, related documentation or +collateral in which You describe recipients' rights relating to the +Covered Code. You may distribute the Executable version of Covered +Code under a license of Your choice, which may contain terms different +from this License, provided that You are in compliance with the terms +of this License and that the license for the Executable version does +not attempt to limit or alter the recipient's rights in the Source +Code version from the rights set forth in this License. If You +distribute the Executable version under a different license You must +make it absolutely clear that any terms which differ from this License +are offered by You alone, not by the Initial Developer or any +Contributor. You hereby agree to indemnify the Initial Developer and +every Contributor for any liability incurred by the Initial Developer +or such Contributor as a result of any such terms You offer. + +3.7. Larger Works. +You may create a Larger Work by combining Covered Code with other code +not governed by the terms of this License and distribute the Larger +Work as a single product. In such a case, You must make sure the +requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Code due to statute +or regulation then You must: (a) comply with the terms of this License +to the maximum extent possible; and (b) describe the limitations and +the code they affect. Such description must be included in the LEGAL +file described in Section 3.4 and must be included with all +distributions of the Source Code. Except to the extent prohibited by +statute or regulation, such description must be sufficiently detailed +for a recipient of ordinary skill to be able to understand it. + +5. Application of this License. + +This License applies to code to which the Initial Developer has +attached the notice in Exhibit A, and to related Covered Code. + +6. CONNECTION TO MOZILLA PUBLIC LICENSE + +This Erlang License is a derivative work of the Mozilla Public +License, Version 1.0. It contains terms which differ from the Mozilla +Public License, Version 1.0. + +7. DISCLAIMER OF WARRANTY. + +COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, +WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF +DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR +NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF +THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE +IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER +CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR +CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART +OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER +EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. +This License and the rights granted hereunder will terminate +automatically if You fail to comply with terms herein and fail to cure +such breach within 30 days of becoming aware of the breach. All +sublicenses to the Covered Code which are properly granted shall +survive any termination of this License. Provisions which, by their +nature, must remain in effect beyond the termination of this License +shall survive. + +9. DISCLAIMER OF LIABILITY +Any utilization of Covered Code shall not cause the Initial Developer +or any Contributor to be liable for any damages (neither direct nor +indirect). + +10. MISCELLANEOUS +This License represents the complete agreement concerning the subject +matter hereof. If any provision is held to be unenforceable, such +provision shall be reformed only to the extent necessary to make it +enforceable. This License shall be construed by and in accordance with +the substantive laws of Sweden. Any dispute, controversy or claim +arising out of or relating to this License, or the breach, termination +or invalidity thereof, shall be subject to the exclusive jurisdiction +of Swedish courts, with the Stockholm City Court as the first +instance. + +EXHIBIT A. + +``The contents of this file are subject to the Erlang Public License, +Version 1.1, (the "License"); you may not use this file except in +compliance with the License. You should have received a copy of the +Erlang Public License along with this software. If not, it can be +retrieved via the world wide web at http://www.erlang.org/. + +Software distributed under the License is distributed on an "AS IS" +basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +the License for the specific language governing rights and limitations +under the License. + +The Initial Developer of the Original Code is Ericsson Utvecklings AB. +Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings +AB. All Rights Reserved.'' diff --git a/mod_pottymouth/deps/etbloom/README.md b/mod_pottymouth/deps/etbloom/README.md new file mode 100644 index 0000000..96c99bd --- /dev/null +++ b/mod_pottymouth/deps/etbloom/README.md @@ -0,0 +1,13 @@ +Erlang Bloom Filter +======= + +Based on Scalable Bloom Filters Paulo Sérgio Almeida, Carlos Baquero, Nuno Preguiça, David Hutchison +Information Processing Letters Volume 101, Issue 6, 31 March 2007, Pages 255-261 + +Provides scalable bloom filters that can grow indefinitely while +ensuring a desired maximum false positive probability. Also provides +standard partitioned bloom filters with a maximum capacity. Bit arrays +are dimensioned as a power of 2 to enable reusing hash values across +filters through bit operations. Double hashing is used (no need for +enhanced double hashing for partitioned bloom filters). + diff --git a/mod_pottymouth/deps/etbloom/rebar b/mod_pottymouth/deps/etbloom/rebar new file mode 100755 index 0000000000000000000000000000000000000000..97c77e1c5bb520805065c073af66d67cb49b648b GIT binary patch literal 141548 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

Mxsdu{16~TFP4q+^vwfp}1G3@J04x=i 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 M = 1 bsl Mb, N = trunc(log(1 - P) / log(1 - 1 / M)), #bloom{e = E, n = N, mb = Mb, size = 0, - a = [hipe_bifs:bitarray(1 bsl Mb, false) || _ <- lists:seq(1, K)]}. + a = [bitarray:new(1 bsl Mb, false) || _ <- lists:seq(1, K)]}. log2(X) -> log(X) / log(2). @@ -136,7 +136,7 @@ masked_pair(Mask, X, Y) -> {X band Mask, Y band Mask}. all_set(_Mask, _I1, _I, []) -> true; all_set(Mask, I1, I, [H | T]) -> - case hipe_bifs:bitarray_sub(H, I) of + case bitarray:sub(H, I) of true -> all_set(Mask, I1, (I + I1) band Mask, T); false -> false end. @@ -170,5 +170,5 @@ hash_add(Hashes, #bloom{mb = Mb, a = A, size = Size} = B) -> set_bits(_Mask, _I1, _I, [], Acc) -> lists:reverse(Acc); set_bits(Mask, I1, I, [H | T], Acc) -> - set_bits(Mask, I1, (I + I1) band Mask, T, [hipe_bifs:bitarray_update(H, I, true) | Acc]). + set_bits(Mask, I1, (I + I1) band Mask, T, [bitarray:update(H, I, true) | Acc]). diff --git a/mod_pottymouth/deps/etbloom/test/etbloom_tests.erl b/mod_pottymouth/deps/etbloom/test/etbloom_tests.erl new file mode 100644 index 0000000..437e354 --- /dev/null +++ b/mod_pottymouth/deps/etbloom/test/etbloom_tests.erl @@ -0,0 +1,20 @@ +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved via the world wide web at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +-module(etbloom_tests). +-author("volodymyr.kyrychenko@strikead.com"). +-include_lib("eunit/include/eunit.hrl"). + +bloom_test() -> + Values = [{xxx, binary_to_atom(base64:encode(crypto:strong_rand_bytes(10)), utf8)} || _ <- lists:seq(1, 5000)], + Bloom = etbloom:bloom(Values), + ?assert(lists:all(fun(X) -> etbloom:member(X, Bloom) end, Values)), + ?assertNot(etbloom:member(wtf, Bloom)). diff --git a/mod_pottymouth/src/mod_pottymouth.erl b/mod_pottymouth/src/mod_pottymouth.erl index 0e8bc6f..7c31534 100644 --- a/mod_pottymouth/src/mod_pottymouth.erl +++ b/mod_pottymouth/src/mod_pottymouth.erl @@ -2,27 +2,27 @@ -behaviour(gen_mod). +-include("ejabberd.hrl"). -include("logger.hrl"). +-include("xmpp.hrl"). -export([ start/2, stop/1, on_filter_packet/1, mod_opt_type/1, - depends/2 + depends/2, + reload/3 ]). --include("ejabberd.hrl"). - -import(bloom_gen_server, [start/0, stop/0, member/1]). -import(nomalize_leet_gen_server, [normalize/1]). -getMessageLang(Attrs) -> - LangAttr = lists:keyfind(<<"lang">>, 1, Attrs), +getMessageLang(Msg) -> + LangAttr = xmpp:get_lang(Msg), if - LangAttr -> - {<<"lang">>, LangBin} = LangAttr, - Lang = list_to_atom(binary_to_list(LangBin)); + (LangAttr /= <<>>) -> + Lang = list_to_atom(binary_to_list(LangAttr)); true -> Lang = default end, @@ -43,28 +43,13 @@ censorWord({Lang, Word} = _MessageTerm) -> filterWords(L) -> lists:map(fun censorWord/1, L). -filterMessageText(MessageAttrs, MessageText) -> - Lang = getMessageLang(MessageAttrs), +filterMessageText(Lang, MessageText) -> % we want to token-ize utf8 'words' MessageWords = string:tokens(unicode:characters_to_list(MessageText, utf8), " "), MessageTerms = [{Lang, Word} || Word <- MessageWords], % we get back bytewise format terms (rather than utf8) string:join(filterWords(MessageTerms), " "). - -filterMessageBodyElements([{xmlel, <<"body">>, BodyAttr, [{xmlcdata, MessageText}]} = _H|T], MessageElements) -> - FilteredMessageWords = binary:list_to_bin(filterMessageText(BodyAttr, binary:bin_to_list(MessageText))), - FilteredBody = {xmlel, <<"body">>, BodyAttr, [{xmlcdata, FilteredMessageWords}]}, - filterMessageBodyElements(T, lists:append(MessageElements, [FilteredBody])); - -filterMessageBodyElements([H|T], MessageElements) -> - % skip this tag, but pass it on as processed - filterMessageBodyElements(T, lists:append(MessageElements, [H])); - -filterMessageBodyElements([], MessageElements) -> - MessageElements. - - start(_Host, Opts) -> Blacklists = gen_mod:get_opt(blacklists, Opts, fun(A) -> A end, []), lists:map(fun bloom_gen_server:start/1, Blacklists), @@ -82,14 +67,28 @@ stop(_Host) -> on_filter_packet(drop) -> drop; -on_filter_packet({_From, _To, {xmlel, <<"message">>, _Attrs, Els} = _Packet} = _Msg) -> - FilteredEls = filterMessageBodyElements(Els, []), - {_From, _To, {xmlel, <<"message">>, _Attrs, FilteredEls}}; on_filter_packet(Msg) -> - % Handle the generic case (any packet that isn't a message with a body). - Msg. + Type = xmpp:get_type(Msg), + if + (Type == chat) orelse (Type == groupchat) -> + BodyText = xmpp:get_text(Msg#message.body), + if + (BodyText /= <<>>) -> + Lang = getMessageLang(Msg), + FilteredMessageWords = binary:list_to_bin(filterMessageText(Lang, binary:bin_to_list(BodyText))), + [BodyObject|_] = Msg#message.body, + NewBodyObject = setelement(3, BodyObject, FilteredMessageWords), + NewMsg = Msg#message{body = [NewBodyObject]}, + NewMsg; + true -> + Msg + end; + true -> + Msg + end. mod_opt_type(blacklists) -> fun (A) when is_list(A) -> A end; mod_opt_type(charmaps) -> fun (A) when is_list(A) -> A end; mod_opt_type(_) -> [blacklists, charmaps]. depends(_Host, _Opts) -> []. +reload(_Host, _NewOpts, _OldOpts) -> ok.