[Devel] exporting pseudo variables
Daniel-Constantin Mierla
daniel at voice-system.ro
Tue May 2 14:41:05 CEST 2006
Hello Klaus,
On 05/02/2006 02:24 PM, Klaus Darilion wrote:
> Hi Daniel!
>
> If a module exports several pseudo variables, it might be nicer to
> export them with the whole module paramters, e.g.
>
> static pseudo_export_t pseudo[] = {
> {"tls_version", tls_version, 0},
> {"tls_peer_subject", tls_parameter, TLS_PEER | TLS_SUBJECT},
> {"tls_my_subject", tls_parameter, TLS_MY | TLS_SUBJECT},
> {0, 0, 0}
> }
>
> What do you think about this?
not a bad idea at all. Now, should we allow full spec format, like the
ones from item.c (see _xl_names_table, at line 1865) or something simpler?
Cheers,
Daniel
>
> regards
> klaus
>
> Daniel-Constantin Mierla wrote:
>> On 05/02/2006 01:24 PM, Klaus Darilion wrote:
>>> Daniel-Constantin Mierla wrote:
>>>> Hello Klaus,
>>>>
>>>> On 05/02/2006 01:03 PM, Klaus Darilion wrote:
>>>>> Hi Daniel!
>>>>>
>>>>> Is it possible to do the parsing of the pseudo variable in the
>>>>> module? E.g. for tls there will be similar paramters, for the peer
>>>>> certificate and the local certificate. Is it possible to register
>>>>> only a prefix, e.g. $tls_ and parse the latter in the module itself?
>>>> no, the parsing is done by core. The modules can add new
>>>> specifiers, but must be the full name, so they are visible in other
>>>> modules as well.. You can add many specifiers with the same
>>>> callback function and different values of the parameter.
>>>
>>> ok, consider a simple scenario: $tls_peer_subject and
>>> $tls_my_subject (reflects the subjects of the local certificate and
>>> the peer's certificate).
>>>
>>> I will register:
>>>
>>> mod_init {
>>> xl_add_extra("tls_peer_subj", get_cert_parameter,
>>> TLS_PEER|TLS_SUBJECT);
>>> xl_add_extra("tls_my_subj", get_cert_parameter, TLS_MY|TLS_SUBJECT);
>>> }
>>>
>>> How exactly will I retrieve the parameter inside get_cert_parameter?
>>> I guess xl_parse_spec must be used. Can you give ma short code
>>> snippet please?
>> sorry, the xl_add_extra() has to be extended to accept the parameter.
>> The core specifiers register and retrieve such parameter, just have a
>> look at xl_get_from_attr() in items.c
>>
>> I will extend xl_add_extra().
>>
>> Cheers,
>> Daniel
>>
>>>
>>> thanks
>>> kaus
>>>
>>>>
>>>> Cheers,
>>>> Daniel
>>>>
>>>>>
>>>>>
>>>>> regards
>>>>> klaus
>>>>>
>>>>>
>>>>> Daniel-Constantin Mierla wrote:
>>>>>> Hello,
>>>>>>
>>>>>> On 04/28/2006 12:05 PM, Klaus Darilion wrote:
>>>>>>
>>>>>>> Hi!
>>>>>>>
>>>>>>> I'm studying how to export pseudo variables.
>>>>>>>
>>>>>>> In tm.c there is this code:
>>>>>>>
>>>>>>> if(xl_add_extra("T_branch_idx", it_get_tm_branch_idx,
>>>>>>> 100 )!=0)
>>>>>>> {
>>>>>>> LOG(L_ERR,"ERROR:tm:mod_init: failed to register
>>>>>>> pvar "
>>>>>>> "[T_branch_idx]\n");
>>>>>>> return -1;
>>>>>>> }
>>>>>>>
>>>>>>> Thus I guess the exported pseudo variable is called
>>>>>>> $T_branch_idx, but the README says:
>>>>>>>
>>>>>>> $T_branch_index - the index (starting with 1 for the first
>>>>>>> branch)...
>>>>>>> ^^^^
>>>>>>>
>>>>>>> Is guess there is a typo.
>>>>>>
>>>>>> indeed.
>>>>>>
>>>>>>>
>>>>>>> Further, do we have a schema how to name the exported pseudo
>>>>>>> variables?
>>>>>>
>>>>>> There is none, but the name should be suggestive as much as
>>>>>> possible. Somehow, we should find one to avoid duplicates.
>>>>>>
>>>>>> Cheers,
>>>>>> Daniel
>>>>>>
>>>>>>>
>>>>>>> regards
>>>>>>> klaus
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Devel mailing list
>>>>>>> Devel at openser.org
>>>>>>> http://openser.org/cgi-bin/mailman/listinfo/devel
>>>>>>>
>>>>>
>>>>>
>>>
>>>
>
>
More information about the Devel
mailing list