<?xml version="1.0"?>
<statsTarget><link>http://cia.vc/stats/project/callweaver</link><counters><counter name="forever" lastEventTime="1294231830" firstEventTime="1177606712">2951</counter></counters><metadata><item name="subtitle"><value type="text/plain">PBX software project</value></item><item name="description"><value type="text/plain">CallWeaver is a community-driven vendor-independent cross-platform open source PBX software project (formerly known as OpenPBX.org). It was originally derived from Asterisk. Now it supports analog and digital PSTN telephony, multi-protocol voice over IP telephony, fax, software-fax, T.38 fax over IP and many telephony applications such as IVR, conferencing and callcenter queue management.</value></item><item name="links-filter"><value type="text/plain">None</value></item><item name="title"><value type="text/plain">Callweaver</value></item><item name="url"><value type="text/plain">http://www.callweaver.org/</value></item><item name="related-filter"><value type="text/plain">None</value></item></metadata><recentMessages><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module><branch>rel</branch></source><body><commit><revision>5717</revision><author>karvan</author><log>Fixed unsecure code.

When dumping the object, use '%s' and pass the string, don't use it as a format element.  </log><diffLines>15</diffLines><url>http://www.callweaver.org/changeset/5717</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/branches/rel/1.2/include/callweaver/cwobj.h">1.2/include/callweaver/cwobj.h</file></files></commit></body><timestamp>1294231830</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5716</revision><author>mjagdis</author><log>Remove an extraneous backslash </log><diffLines>15</diffLines><url>http://www.callweaver.org/changeset/5716</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/callweaver_expr2.l">corelib/callweaver_expr2.l</file></files></commit></body><timestamp>1279209498</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5715</revision><author>mjagdis</author><log>Update acmacros/ax_check_openssl.m4 </log><diffLines>42</diffLines><url>http://www.callweaver.org/changeset/5715</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/acmacros/ax_check_openssl.m4">acmacros/ax_check_openssl.m4</file></files></commit></body><timestamp>1275927375</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5714</revision><author>mjagdis</author><log>pbx_ael should not abuse cw_expr() as a syntax checker

Expression evaluation is a two stage process, substitution then
evaluation. Just calling cw_expr() is simply wrong because it isn't
parsing what it would under true evaluation. Worse, you don't want to
expand or evaluate things with possible side effects when simply loading
a dialplan!

Removing this means that some syntax errors will only be detectable at
run-time rather than (possibly) load-time. But that's the nature of the
beast. Dialplan isn't a language. AEL is a text transformation tool that
transforms text into dialplan. AEL is not a language either. IMHO no one
should use AEL and it shouldn't even exist. At the very least it should
exist as a separate &quot;compiler&quot; and not be embedded. </log><diffLines>195</diffLines><url>http://www.callweaver.org/changeset/5714</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/callweaver_expr2.l">corelib/callweaver_expr2.l</file><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/callweaver_expr2.y">corelib/callweaver_expr2.y</file><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/pbx/pbx_ael.c">pbx/pbx_ael.c</file></files></commit></body><timestamp>1275735470</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5713</revision><author>mjagdis</author><log>When converting an arg to a number remember it may have an exponent </log><diffLines>101</diffLines><url>http://www.callweaver.org/changeset/5713</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/funcs/func_core.c">funcs/func_core.c</file></files></commit></body><timestamp>1275685887</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5712</revision><author>mjagdis</author><log>Initialize the randomlock *after* the mutexattr has been initialized </log><diffLines>28</diffLines><url>http://www.callweaver.org/changeset/5712</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/utils.c">corelib/utils.c</file></files></commit></body><timestamp>1275685879</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5711</revision><author>mjagdis</author><log>Use POSIX waitpid() rather than BSD wait4() </log><diffLines>41</diffLines><url>http://www.callweaver.org/changeset/5711</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/apps/app_visdn_ppp.c">apps/app_visdn_ppp.c</file><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/callweaver.c">corelib/callweaver.c</file></files></commit></body><timestamp>1275685871</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5710</revision><author>mjagdis</author><log>&quot;help&quot; with no args should list everything, not crash callweaver </log><diffLines>21</diffLines><url>http://www.callweaver.org/changeset/5710</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/cli.c">corelib/cli.c</file></files></commit></body><timestamp>1275685863</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5709</revision><author>mjagdis</author><log>Removed check_expr

It hasn't been built for ages and if anyone thinks what it does it
useful they should perhaps read the code and compare it with the reality
of the core substitution, expression evaluation and argument splitting
routines. </log><diffLines>455</diffLines><url>http://www.callweaver.org/changeset/5709</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/utils/Makefile.am">utils/Makefile.am</file><file action="remove" uri="http://www.callweaver.org/browse/callweaver/trunk/utils/check_expr.c">utils/check_expr.c</file></files></commit></body><timestamp>1275685855</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5708</revision><author>mjagdis</author><log>Add support for tracing object lifecycles </log><diffLines>213</diffLines><url>http://www.callweaver.org/changeset/5708</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/include/callweaver/object.h">include/callweaver/object.h</file></files></commit></body><timestamp>1275685847</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5707</revision><author>mjagdis</author><log>Use a rwlock to protect the dialplan data structures rather than a simple mutex </log><diffLines>260</diffLines><url>http://www.callweaver.org/changeset/5707</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/callweaver.c">corelib/callweaver.c</file><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/pbx.c">corelib/pbx.c</file></files></commit></body><timestamp>1275685838</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5706</revision><author>mjagdis</author><log>Remove unused cruft from config handling </log><diffLines>107</diffLines><url>http://www.callweaver.org/changeset/5706</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/config.c">corelib/config.c</file><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/include/callweaver/config.h">include/callweaver/config.h</file></files></commit></body><timestamp>1275685830</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5705</revision><author>mjagdis</author><log>It doesn't matter what the byte is that we write to the alert pipe </log><diffLines>16</diffLines><url>http://www.callweaver.org/changeset/5705</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/channel.c">corelib/channel.c</file></files></commit></body><timestamp>1275685822</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5704</revision><author>mjagdis</author><log>Avoid accessing beyond the end of the iov list in cw_writev_all </log><diffLines>15</diffLines><url>http://www.callweaver.org/changeset/5704</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/utils.c">corelib/utils.c</file></files></commit></body><timestamp>1275685814</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5703</revision><author>mjagdis</author><log>Fix CPU binding/speed setting when doing translation timings </log><diffLines>66</diffLines><url>http://www.callweaver.org/changeset/5703</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/translate.c">corelib/translate.c</file></files></commit></body><timestamp>1275685806</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5702</revision><author>mjagdis</author><log>Start up of the DUNDI network listener was broken

I guess no one uses DUNDI then? </log><diffLines>77</diffLines><url>http://www.callweaver.org/changeset/5702</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/pbx/pbx_dundi.c">pbx/pbx_dundi.c</file></files></commit></body><timestamp>1275685798</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5701</revision><author>mjagdis</author><log>Make sure we initialize the whole of a sockaddr_in6

We don't care about flow and scope but they may be present. </log><diffLines>14</diffLines><url>http://www.callweaver.org/changeset/5701</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/connection.c">corelib/connection.c</file></files></commit></body><timestamp>1275685790</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5700</revision><author>mjagdis</author><log>Remove extra unlock in cw_context_create() </log><diffLines>18</diffLines><url>http://www.callweaver.org/changeset/5700</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/pbx.c">corelib/pbx.c</file></files></commit></body><timestamp>1275685782</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5699</revision><author>mjagdis</author><log>$[ ... ]: Be generous in what we allow in strings

This almost matches what is allowed during substitution and arg
splitting. Only almost though because we have to break when we hit an
operator. For consistent behaviour you HAVE to use quotes. (And they
have to work right :-) ) </log><diffLines>13018</diffLines><url>http://www.callweaver.org/changeset/5699</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/callweaver_expr2.l">corelib/callweaver_expr2.l</file><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/callweaver_expr2f.c">corelib/callweaver_expr2f.c</file></files></commit></body><timestamp>1275685774</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>CallWeaver</project><module>callweaver</module></source><body><commit><revision>5698</revision><author>mjagdis</author><log>$[ ... ]: Make &amp;&amp; and || short-circuit like C

i.e. the second argument is only evaluated if necessary. Essential if
the second argument is a function (bare, no ${...}) with side effects. </log><diffLines>911</diffLines><url>http://www.callweaver.org/changeset/5698</url><files><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/callweaver_expr2.c">corelib/callweaver_expr2.c</file><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/callweaver_expr2.h">corelib/callweaver_expr2.h</file><file action="modify" uri="http://www.callweaver.org/browse/callweaver/trunk/corelib/callweaver_expr2.y">corelib/callweaver_expr2.y</file></files></commit></body><timestamp>1275685758</timestamp></message></recentMessages></statsTarget>
