asterisk lenny 1.4.21.2~dfsg-3 / bristuff/uniqueid-40-manager patch

Wolfgang Pichler wpichler at yosd.at
Wed Nov 4 04:24:28 UTC 2009


Hallo,

das ganze ist sicher kein bug der große Auswirkungen hat..

Was aber passiert ist - das die uniqueid nicht mehr konsistent erzeugt
wird. Es gibt in der channel.c schon in der ast_channel_alloc einen
Teil der eine uniqueid erzeugt - und es gibt eben durch den Patch die
funktion ast_alloc_uniqueid die eine uniqueid erzeugt (die letztere
wird verwendet wenn ein originate über die manager api kommt). Und
diese beiden erzeugen unterschiedliche uniqueids wenn der SYSTEM_NAME
nicht gesetzt ist.

Probleme hat das bei mir in Zusammenhang mit Vicidial Auswertungen
gemacht - ich weiß zwar noch nicht genau warum - aber irgendwas hat da
gar nicht hingehauen.

Es wird wahrscheinlich nicht mal 0,1% der Leute auffallen - aber ich
wollt es halt schnell melden.

Mit der 1.6er ist das Problem sowieso weg - also denke ich spare ich
mir / euch den Eintrag im Bug tracker.

mfG
Wolfgang Pichler

2009/11/3 Philipp Kempgen <philipp.kempgen at amooma.de>:
> Wolfgang Pichler schrieb:
>
>> The uniqueid-40-manager patch which gets applied to asterisk in debian
>> lenny does cause some problems when setting no asterisk system name in
>> the config - because it builds the uniqueid for cahnnels originated by
>> manager by the following way:
>
>> +char *ast_alloc_uniqueid(void) {
>> +   char *uniqueid;
>> +   uniqueid = malloc(64);
>> +   if (!uniqueid) return NULL;
>> +   snprintf(uniqueid, 63, "%s-%d-%li.%d", ast_config_AST_SYSTEM_NAME,
>> ast_mainpid, (long)time(NULL), ast_atomic_fetchadd_int(&uniqueint,
>> 1));
>> +   return uniqueid;
>> +}
>
>> As you can see - if ast_config_AST_SYSTEM_NAME is empty - it will
>> generate a negative uniqueid...
>
> I don't see how a uniqueid starting in "-" could cause problems.
> It's just a string after all rather than a numerical value so it's
> neither positive nor negative.
>
> OTOH skipping the leading "-" if the system name is empty would
> probably not hurt either.
>
>> Could you please change the patch the following way
>>
>>    if (ast_strlen_zero(ast_config_AST_SYSTEM_NAME)) {
>>         snprintf(uniqueid, 63, "%s-%d-%li.%d",
>> ast_config_AST_SYSTEM_NAME, ast_mainpid, (long)time(NULL),
>> ast_atomic_fetchadd_int(&uniqueint, 1));
>>    } else {
>>         snprintf(uniqueid, 63, "%d-%li.%d", ast_mainpid,
>> (long)time(NULL), ast_atomic_fetchadd_int(&uniqueint, 1));
>>    }
>>
>> this would give original behaviour back...
>
> If you still think this is a bug (even if it might be of severity =
> wishlist) it should be reported on the bug tracker I guess.
> http://bugs.debian.org
>
>
>    Philipp Kempgen
> --
> AMOOMA GmbH - Bachstr. 126 - 56566 Neuwied  ->  http://www.amooma.de
> Geschäftsführer: Stefan Wintermeyer, Handelsregister: Neuwied B14998
> Asterisk: http://the-asterisk-book.com - http://das-asterisk-buch.de
> Videos of the AMOOCON VoIP conference 2009 ->  http://www.amoocon.de
> --
>



More information about the Pkg-voip-maintainers mailing list