diff options
Diffstat (limited to 'src/stringprep/stringprep.erl')
-rw-r--r-- | src/stringprep/stringprep.erl | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/src/stringprep/stringprep.erl b/src/stringprep/stringprep.erl deleted file mode 100644 index 1b39693c2..000000000 --- a/src/stringprep/stringprep.erl +++ /dev/null @@ -1,105 +0,0 @@ -%%%---------------------------------------------------------------------- -%%% File : stringprep.erl -%%% Author : Alexey Shchepin <alexey@process-one.net> -%%% Purpose : Interface to stringprep_drv -%%% Created : 16 Feb 2003 by Alexey Shchepin <alexey@proces-one.net> -%%% -%%% -%%% ejabberd, Copyright (C) 2002-2013 ProcessOne -%%% -%%% This program is free software; you can redistribute it and/or -%%% modify it under the terms of the GNU General Public License as -%%% published by the Free Software Foundation; either version 2 of the -%%% License, or (at your option) any later version. -%%% -%%% This program is distributed in the hope that it will be useful, -%%% but WITHOUT ANY WARRANTY; without even the implied warranty of -%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%%% General Public License for more details. -%%% -%%% You should have received a copy of the GNU General Public License -%%% along with this program; if not, write to the Free Software -%%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -%%% 02111-1307 USA -%%% -%%%---------------------------------------------------------------------- - --module(stringprep). - --author('alexey@process-one.net'). - --behaviour(gen_server). - --export([start/0, start_link/0, tolower/1, nameprep/1, - nodeprep/1, resourceprep/1]). - -%% Internal exports, call-back functions. --export([init/1, handle_call/3, handle_cast/2, - handle_info/2, code_change/3, terminate/2]). - --define(STRINGPREP_PORT, stringprep_port). - --define(NAMEPREP_COMMAND, 1). - --define(NODEPREP_COMMAND, 2). - --define(RESOURCEPREP_COMMAND, 3). - -start() -> - gen_server:start({local, ?MODULE}, ?MODULE, [], []). - -start_link() -> - gen_server:start_link({local, ?MODULE}, ?MODULE, [], - []). - -init([]) -> - case erl_ddll:load_driver(ejabberd:get_so_path(), - stringprep_drv) - of - ok -> ok; - {error, already_loaded} -> ok - end, - Port = open_port({spawn, "stringprep_drv"}, []), - register(?STRINGPREP_PORT, Port), - {ok, Port}. - -%%% -------------------------------------------------------- -%%% The call-back functions. -%%% -------------------------------------------------------- - -handle_call(_, _, State) -> {noreply, State}. - -handle_cast(_, State) -> {noreply, State}. - -handle_info({'EXIT', Port, Reason}, Port) -> - {stop, {port_died, Reason}, Port}; -handle_info({'EXIT', _Pid, _Reason}, Port) -> - {noreply, Port}; -handle_info(_, State) -> {noreply, State}. - -code_change(_OldVsn, State, _Extra) -> {ok, State}. - -terminate(_Reason, Port) -> Port ! {self, close}, ok. - --spec tolower(binary()) -> binary() | error. - -tolower(String) -> control(0, String). - --spec nameprep(binary()) -> binary() | error. - -nameprep(String) -> control(?NAMEPREP_COMMAND, String). - --spec nodeprep(binary()) -> binary() | error. - -nodeprep(String) -> control(?NODEPREP_COMMAND, String). - --spec resourceprep(binary()) -> binary() | error. - -resourceprep(String) -> - control(?RESOURCEPREP_COMMAND, String). - -control(Command, String) -> - case port_control(?STRINGPREP_PORT, Command, String) of - <<0, _/binary>> -> error; - <<1, Res/binary>> -> Res - end. |