[sr-dev] git:master: avpops: add a note to the docs that avp_db_query is deprecated and sqlops is better

Ovidiu Sas osas at voipembedded.com
Fri Oct 4 14:29:35 CEST 2013


Maybe we should simply remove it.
It has been quite a while since it was 'deprecated' in mailing list discussions.

-ovidiu

On Fri, Oct 4, 2013 at 8:23 AM, Henning Westerholt <hw at kamailio.org> wrote:
> Module: sip-router
> Branch: master
> Commit: 0978c77d694cecd1b7813775a498f6495ae844dc
> URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=0978c77d694cecd1b7813775a498f6495ae844dc
>
> Author: Henning Westerholt <hw at kamailio.org>
> Committer: Henning Westerholt <hw at kamailio.org>
> Date:   Fri Oct  4 14:22:39 2013 +0200
>
> avpops: add a note to the docs that avp_db_query is deprecated and sqlops is better
>
> ---
>
>  modules/avpops/README               |   53 +++++++++++++++++++----------------
>  modules/avpops/doc/avpops_admin.xml |    7 ++++
>  2 files changed, 36 insertions(+), 24 deletions(-)
>
> diff --git a/modules/avpops/README b/modules/avpops/README
> index 95d529b..5e6d0c9 100644
> --- a/modules/avpops/README
> +++ b/modules/avpops/README
> @@ -10,7 +10,7 @@ Ramona-Elena Modroiu
>
>     <ramona at rosdev.ro>
>
> -   Copyright © 2004, 2005 Voice Sistem SRL
> +   Copyright © 2004, 2005 Voice Sistem SRL
>       __________________________________________________________________
>
>     Table of Contents
> @@ -133,6 +133,9 @@ Chapter 1. Admin Guide
>     AVPs and SIP messages and a function for testing/checking the value of
>     an AVP.
>
> +   If you just need a way to execute SQL statements in a Kamailio
> +   configuration script, please consider use the sqlops module instead.
> +
>     AVPs are persistent per SIP transaction, being available in "route",
>     "branch_route" and "failure_route". A tutorial providing more
>     information (detailed explanations and commented examples) can be found
> @@ -239,7 +242,7 @@ modparam("avpops","use_domain",1)
>
>     Name of column containing the uuid (unique user id).
>
> -   Default value is "uuid".
> +   Default value is “uuid”.
>
>     Example 1.5. Set uuid_column parameter
>  ...
> @@ -250,7 +253,7 @@ modparam("avpops","uuid_column","uuid")
>
>     Name of column containing the username.
>
> -   Default value is "username".
> +   Default value is “username”.
>
>     Example 1.6. Set username_column parameter
>  ...
> @@ -261,7 +264,7 @@ modparam("avpops","username_column","username")
>
>     Name of column containing the domain name.
>
> -   Default value is "domain".
> +   Default value is “domain”.
>
>     Example 1.7. Set domain_column parameter
>  ...
> @@ -272,7 +275,7 @@ modparam("avpops","domain_column","domain")
>
>     Name of column containing the attribute name (AVP name).
>
> -   Default value is "attribute".
> +   Default value is “attribute”.
>
>     Example 1.8. Set attribute_column parameter
>  ...
> @@ -283,7 +286,7 @@ modparam("avpops","attribute_column","attribute")
>
>     Name of column containing the AVP value.
>
> -   Default value is "value".
> +   Default value is “value”.
>
>     Example 1.9. Set value_column parameter
>  ...
> @@ -294,7 +297,7 @@ modparam("avpops","value_column","value")
>
>     Name of integer column containing the AVP type.
>
> -   Default value is "type".
> +   Default value is “type”.
>
>     Possible column values are
>       * 0 - AVP with string name and string value
> @@ -322,7 +325,7 @@ modparam("avpops","type_column","type")
>            + 'value_type='('integer'|'string')
>            + 'table='string
>
> -   Default value is "NULL".
> +   Default value is “NULL”.
>
>     Example 1.11. Set db_scheme parameter
>  ...
> @@ -346,7 +349,7 @@ modparam("avpops","db_scheme",
>     5.12. is_avp_set(name)
>     5.13. avp_print()
>
> -5.1. avp_db_load(source,name)
> +5.1.  avp_db_load(source,name)
>
>     Loads from DB into memory the AVPs corresponding to the given source.
>     If given, it sets the script flags for loaded AVPs. It returns true if
> @@ -384,7 +387,7 @@ avp_db_load("$uuid","$avp(s:404fwd)/fwd_table");
>  avp_db_load("$ru","$avp(i1:123)/$some_scheme");
>  ...
>
> -5.2. avp_db_store(source,name)
> +5.2.  avp_db_store(source,name)
>
>     Stores to DB the AVPs corresponding to the given source.
>
> @@ -400,7 +403,7 @@ avp_db_store("$tu","$avp(i:678)");
>  avp_db_store("$ru/username","$avp(email)");
>  ...
>
> -5.3. avp_db_delete(source,name)
> +5.3.  avp_db_delete(source,name)
>
>     Deletes from DB the AVPs corresponding to the given source.
>
> @@ -417,9 +420,11 @@ avp_db_delete("$ru/username","$avp(email)");
>  avp_db_delete("$uuid","$avp(s:404fwd)/fwd_table");
>  ...
>
> -5.4. avp_db_query(query[,dest])
> +5.4.  avp_db_query(query[,dest])
>
> -   Make a database query and store the result in AVPs.
> +   Make a database query and store the result in AVPs. This command is
> +   deprecated, please use the more flexible and advanced sqlops module
> +   instead.
>
>     The meaning and usage of the parameters:
>       * query - must be a valid SQL query. The parameter can contain
> @@ -431,8 +436,8 @@ avp_db_delete("$uuid","$avp(s:404fwd)/fwd_table");
>         used in the query makes you vulnerable to SQL injection, e.g. make
>         it possible for an outside attacker to alter your database content.
>       * dest - a list with AVP names where to store the result. The format
> -       is "$avp(name1);$avp(name2);...". If this parameter is ommited, the
> -       result is stored in "$avp(i:1);$avp(i:2);...". If the result gives
> +       is “$avp(name1);$avp(name2);...”. If this parameter is ommited, the
> +       result is stored in “$avp(i:1);$avp(i:2);...”. If the result gives
>         many rows, then multiple AVPs with corresponding name will be
>         added. The value type of the AVP (string or integer) will be
>         derived from the type of the columns. Please note that only this
> @@ -455,7 +460,7 @@ avp_db_query("select password, ha1 from subscriber where username='$tu'",
>  avp_db_query("delete from subscriber");
>  ...
>
> -5.5. avp_delete(name)
> +5.5.  avp_delete(name)
>
>     Deletes from memory the AVPs with name or, if empty, all AVPs.
>
> @@ -477,7 +482,7 @@ avp_delete("i");
>  avp_delete("a3");
>  ...
>
> -5.6. avp_pushto(destination,name)
> +5.6.  avp_pushto(destination,name)
>
>     Pushes the value of AVP(s) into the SIP message.
>
> @@ -507,7 +512,7 @@ avp_pushto("$du","$avp(i:679)");
>  avp_pushto("$br","$avp(i:680)");
>  ...
>
> -5.7. avp_check(name,op_value)
> +5.7.  avp_check(name,op_value)
>
>     Checks the value of the AVP(s) against an operator and value.
>
> @@ -562,7 +567,7 @@ $var(id)=2;
>  avp_check("$xavp(op=>foo[*])","fm/$xavp(op=>fm[$var(id)])/g");
>  ...
>
> -5.8. avp_copy(old_name,new_name)
> +5.8.  avp_copy(old_name,new_name)
>
>     Copy / move an avp under a new name.
>
> @@ -583,7 +588,7 @@ avp_copy("$avp(i:678)", "$avp(s:345)/g");
>  avp_copy("$avp(old)","$avp(new)/gd");
>  ...
>
> -5.9. avp_printf(dest, format)
> +5.9.  avp_printf(dest, format)
>
>     NOTE: since Kamailio 1.3.0 the function has been moved to core and it
>     is an alias to pv_printf().
> @@ -607,7 +612,7 @@ avp_copy("$avp(old)","$avp(new)/gd");
>  avp_printf("$avp(i:20)", "This is a $rm request with call-id $hdr(call-id)");
>  ...
>
> -5.10. avp_subst(avps, subst)
> +5.10.  avp_subst(avps, subst)
>
>     Perl/sed-like subst applied to AVPs having string value.
>
> @@ -649,7 +654,7 @@ avp_subst("$avp(i:678)/$avp(i:679)/g", "/(.*)@(.*)/\1@$rd/");
>     after the first src_avp is processed, it will be added in avp list and
>     next processing will use it.
>
> -5.11. avp_op(name,op_value)
> +5.11.  avp_op(name,op_value)
>
>     Different integer operations with avps.
>
> @@ -681,7 +686,7 @@ avp_op("$avp(i:678)", "add/i:345/g");
>  avp_op("$avp(number)","sub/$avp(number2)/d");
>  ...
>
> -5.12. is_avp_set(name)
> +5.12.  is_avp_set(name)
>
>     Check if any AVP with name is set.
>
> @@ -700,7 +705,7 @@ if(is_avp_set("$avp(i:678)"))
>      log("AVP with integer id 678 exists\n");
>  ...
>
> -5.13. avp_print()
> +5.13.  avp_print()
>
>     Prints the list with all the AVPs from memory. This is only a
>     helper/debug function.
> diff --git a/modules/avpops/doc/avpops_admin.xml b/modules/avpops/doc/avpops_admin.xml
> index 84434b7..aa3b85a 100644
> --- a/modules/avpops/doc/avpops_admin.xml
> +++ b/modules/avpops/doc/avpops_admin.xml
> @@ -29,6 +29,11 @@
>                 testing/checking the value of an AVP.
>                 </para>
>                 <para>
> +               If you just need a way to execute SQL statements in a
> +               &kamailio; configuration script, please consider use the
> +               <emphasis>sqlops</emphasis> module instead.
> +               </para>
> +               <para>
>                 AVPs are persistent per SIP transaction, being available in "route",
>                 "branch_route" and "failure_route". A tutorial providing more information (detailed
>                 explanations and commented examples) can be found on the SIP-router web site.
> @@ -500,6 +505,8 @@ avp_db_delete("$uuid","$avp(s:404fwd)/fwd_table");
>                         </title>
>                         <para>
>                         Make a database query and store the result in AVPs.
> +                       This command is deprecated, please use the more
> +                       flexible and advanced <emphasis>sqlops</emphasis> module instead.
>                         </para>
>                         <para>
>                         The meaning and usage of the parameters:
>
>
>
> _______________________________________________
> sr-dev mailing list
> sr-dev at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>



-- 
VoIP Embedded, Inc.
http://www.voipembedded.com



More information about the sr-dev mailing list