[packages/ejabberd] remove vcard-access-get patch dropped from spec in e2bda3a

atler atler at pld-linux.org
Mon Nov 11 02:37:59 CET 2024


commit ce0e3441fa37c2ca6f8098ba00576b9feaa5640b
Author: Jan Palus <atler at pld-linux.org>
Date:   Sat Nov 9 01:47:36 2024 +0100

    remove vcard-access-get patch dropped from spec in e2bda3a

 ejabberd-vcard-access-get.patch | 181 ----------------------------------------
 1 file changed, 181 deletions(-)
---
diff --git a/ejabberd-vcard-access-get.patch b/ejabberd-vcard-access-get.patch
deleted file mode 100644
index 173a196..0000000
--- a/ejabberd-vcard-access-get.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-From b489d2017d046c305598a79e31127c26bc9a98fd Mon Sep 17 00:00:00 2001
-From: Badlop <badlop at process-one.net>
-Date: Fri, 7 Jun 2013 19:00:07 +0200
-Subject: [PATCH] New options access_get and access_set in mod_vcard, _ldap
- and _odbc (EJAB-797)
-
----
- doc/guide.tex          |   23 +++++++++++++++++++++--
- src/mod_vcard.erl      |   24 ++++++++++++++++--------
- src/mod_vcard_ldap.erl |   45 +++++++++++++++++++++++++++------------------
- 3 files changed, 64 insertions(+), 28 deletions(-)
-
-diff --git a/doc/guide.tex b/doc/guide.tex
-index 71f88ee..d5bcfbb 100644
---- a/doc/guide.tex
-+++ b/doc/guide.tex
-@@ -4616,6 +4616,17 @@ Options:
- \hostitem{vjud}
- \iqdiscitem{\ns{vcard-temp}}
- \dbtype
-+\titem{access\_get}\ind{options!accessget} Access rule that defines
-+  who is allowed to see vCard of local users.
-+  If a rule returns `deny' on the requester
-+  user name, that user cannot see vCards of local users.
-+  By default anybody can see the vCards of local users.
-+\titem{access\_set}\ind{options!accessset} Access rule that defines
-+  who is allowed to modify his vCard.
-+  If a rule returns `deny' on the requester
-+  user name, that user cannot modify his vCard.
-+  By default each local account can modify his own local vCard.
-+  Notice that vCard of a user can only be edited by the user himself.
- \titem{\{search, true|false\}}\ind{options!search}This option specifies whether the search
-   functionality is enabled or not
-   If disabled, the option \term{host} will be ignored and the
-@@ -4651,14 +4662,17 @@ Examples:
-  ]}.
- \end{verbatim}
- \item The second situation differs in a way that search results are not limited,
--  and that all virtual hosts will be searched instead of only the current one:
-+  and that all virtual hosts will be searched instead of only the current one.
-+  Also, vCards of local users can only be seen by Local users.
- \begin{verbatim}
-+{access, vcard_get, [{allow, local}]}.
- {modules,
-  [
-   ...
-   {mod_vcard, [{search, true},
-                {matches, infinity},
--               {allow_return_all, true}]},
-+               {allow_return_all, true},
-+               {access_get, vcard_get}]},
-   ...
-  ]}.
- \end{verbatim}
-@@ -4696,6 +4710,11 @@ consists of the following \modvcardldap{}-specific options:
- \begin{description}
- \hostitem{vjud}
- \iqdiscitem{\ns{vcard-temp}}
-+\titem{access\_get}\ind{options!accessget} Access rule that defines
-+  who is allowed to see vCard of local users.
-+  If a rule returns `deny' on the requester
-+  user name, that user cannot see vCards of local users.
-+  By default anybody can see the vCards of local users.
- \titem{\{search, true|false\}}\ind{options!search}This option specifies whether the search
-   functionality is enabled (value: \term{true}) or disabled (value:
-   \term{false}). If disabled, the option \term{host} will be ignored and the
-diff --git a/src/mod_vcard.erl b/src/mod_vcard.erl
-index 3b70fe2..0629de6 100644
---- a/src/mod_vcard.erl
-+++ b/src/mod_vcard.erl
-@@ -181,7 +181,9 @@ process_sm_iq(From, To, #iq{type = Type, sub_el = SubEl} = IQ) ->
-     case Type of
- 	set ->
- 	    #jid{user = User, lserver = LServer} = From,
--	    case lists:member(LServer, ?MYHOSTS) of
-+	    Access = gen_mod:get_module_opt(LServer, ?MODULE, access_set, all),
-+	    case lists:member(LServer, ?MYHOSTS) andalso
-+	     (acl:match_rule(LServer, Access, From) == allow) of
- 		true ->
- 		    set_vcard(User, LServer, SubEl),
- 		    IQ#iq{type = result, sub_el = []};
-@@ -190,13 +192,19 @@ process_sm_iq(From, To, #iq{type = Type, sub_el = SubEl} = IQ) ->
- 	    end;
- 	get ->
- 	    #jid{luser = LUser, lserver = LServer} = To,
--            case get_vcard(LUser, LServer) of
--                error ->
--                    IQ#iq{type = error,
--			  sub_el = [SubEl, ?ERR_INTERNAL_SERVER_ERROR]};
--                Els ->
--                    IQ#iq{type = result, sub_el = Els}
--            end
-+           Access = gen_mod:get_module_opt(LServer, ?MODULE, access_get, all),
-+           case acl:match_rule(LServer, Access, From) of
-+               allow ->
-+					case get_vcard(LUser, LServer) of
-+						error ->
-+							IQ#iq{type = error,
-+						sub_el = [SubEl, ?ERR_INTERNAL_SERVER_ERROR]};
-+						Els ->
-+							IQ#iq{type = result, sub_el = Els}
-+					end;
-+               deny ->
-+                   IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]}
-+           end
-     end.
- 
- get_vcard(LUser, LServer) ->
-diff --git a/src/mod_vcard_ldap.erl b/src/mod_vcard_ldap.erl
-index d3e6077..b17b1a3 100644
---- a/src/mod_vcard_ldap.erl
-+++ b/src/mod_vcard_ldap.erl
-@@ -242,38 +242,47 @@ process_local_iq(_From, _To, #iq{type = Type, lang = Lang, sub_el = SubEl} = IQ)
- 			     ]}]}
-     end.
- 
--process_sm_iq(_From, #jid{lserver=LServer} = To, #iq{sub_el = SubEl} = IQ) ->
--    case catch process_vcard_ldap(To, IQ, LServer) of
-+process_sm_iq(From, #jid{lserver=LServer} = To, #iq{sub_el = SubEl} = IQ) ->
-+    case catch process_vcard_ldap(From, To, IQ, LServer) of
- 	{'EXIT', _} ->
- 	    IQ#iq{type = error, sub_el = [SubEl, ?ERR_INTERNAL_SERVER_ERROR]};
- 	Other ->
- 	    Other
-     end.
- 
--process_vcard_ldap(To, IQ, Server) ->
-+process_vcard_ldap(From, To, IQ, Server) ->
-     {ok, State} = eldap_utils:get_state(Server, ?PROCNAME),
-     #iq{type = Type, sub_el = SubEl} = IQ,
-     case Type of
- 	set ->
- 	    IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]};
- 	get ->
--	    #jid{luser = LUser} = To,
--	    LServer = State#state.serverhost,
--	    case ejabberd_auth:is_user_exists(LUser, LServer) of
--		true ->
--		    VCardMap = State#state.vcard_map,
--		    case find_ldap_user(LUser, State) of
--			#eldap_entry{attributes = Attributes} ->
--			    Vcard = ldap_attributes_to_vcard(Attributes, VCardMap, {LUser, LServer}),
--			    IQ#iq{type = result, sub_el = Vcard};
--			_ ->
--			    IQ#iq{type = result, sub_el = []}
--		    end;
--		_ ->
--		    IQ#iq{type = result, sub_el = []}
--	    end
-+	    process_vcard_ldap_get_maybe(From, To, IQ, State)
- 	end.
- 
-+process_vcard_ldap_get_maybe(From, To, IQ, State) ->
-+    #jid{luser = LUser} = To,
-+    #jid{lserver = FromLServer} = From,
-+    LServer = State#state.serverhost,
-+    Access = gen_mod:get_module_opt(LServer, ?MODULE, access_get, all),
-+    case ejabberd_auth:is_user_exists(LUser, LServer) andalso
-+	(acl:match_rule(FromLServer, Access, From) == allow) of
-+	true ->
-+	    process_vcard_ldap_get(LUser, LServer, IQ, State);
-+	_ ->
-+	    IQ#iq{type = result, sub_el = []}
-+    end.
-+
-+process_vcard_ldap_get(LUser, LServer, IQ, State) ->
-+    VCardMap = State#state.vcard_map,
-+    case find_ldap_user(LUser, State) of
-+	#eldap_entry{attributes = Attributes} ->
-+	    Vcard = ldap_attributes_to_vcard(Attributes, VCardMap, {LUser, LServer}),
-+	    IQ#iq{type = result, sub_el = Vcard};
-+	_ ->
-+	    IQ#iq{type = result, sub_el = []}
-+    end.
-+
- handle_call(get_state, _From, State) ->
-     {reply, {ok, State}, State};
- handle_call(stop, _From, State) ->
--- 
-1.7.10.4
-
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ejabberd.git/commitdiff/ce0e3441fa37c2ca6f8098ba00576b9feaa5640b



More information about the pld-cvs-commit mailing list