<p>when writing scripts like this</p>
<p>listen=tcp:192.168.1.100:8080</p>
<p>tcp_connection_lifetime=1200<br>
tcp_no_new_conn_bflag=6<br>
...</p>
<p>the variable tcp_no_new_conn_bflag will be not correctly set to number 6. This is because in cfg.y, </p>
<pre><code> | TCP_NO_NEW_CONN_BFLAG EQUAL NUMBER {
#ifdef USE_TCP
fix_flag_name(&tmp, $3);
tcp_no_new_conn_bflag = get_flag_id_by_name(FLAG_TYPE_BRANCH, tmp);
if (!flag_in_range( (flag_t)tcp_no_new_conn_bflag ) )
yyerror("invalid TCP no_new_conn Branch Flag");
flag_idx2mask( &tcp_no_new_conn_bflag );
</code></pre>
<p>the number flag will be converted to string by macro "fix_flag_name". The macro “fix_flag_name” was defined as</p>
<p>#define fix_flag_name(_s, _flag) \<br>
do { \<br>
if (!*_s && _flag > 0) { \<br>
LM_WARN("Integer flags are now deprecated! " \<br>
"Use unique quoted strings!\n"); \<br>
*_s = int2str(_flag, NULL); \<br>
} \<br>
} while (0)</p>
<p>in flags.h. It is executed only when tmp is pointing to a null string. But the global variable tmp is used to store listening IP address in cfg.y</p>
<p>listen_id: ip { tmp=ip_addr2a($1);</p>
<p>So please use a new variable for converting number to string.</p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href='https://github.com/OpenSIPS/opensips/issues/229'>view it on GitHub</a>.<img src='https://github.com/notifications/beacon/5479561__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcxNTI1Mjk5OSwiZGF0YSI6eyJpZCI6MzE4Mzc4Mzh9fQ==--42932291d0f0c59099d1b6f504a9e81df19fbae8.gif' height='1' width='1'></p>