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