DuckCorp Projects: Issueshttps://projects.duckcorp.org/https://projects.duckcorp.org/favicon.ico?16699090422013-11-04T07:48:44ZDuckCorp Projects
Redmine Bip - Bug #313 (Resolved): Bip fails to build without sslhttps://projects.duckcorp.org/issues/3132013-11-04T07:48:44ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>Reported by Whoopie.</p>
<p>Bip fails to build without ssl.</p>
<p>How to reproduce:</p>
<pre>
autoreconf -i -Wall
./configure --enable-maintainer-mode --without-openssl
make
</pre>
<p>Error is:<br /><pre>
depbase=`echo src/bip.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I./src -Wall -Wextra -Werror -g -O2 -fPIE -MT src/bip.o -MD -MP -MF $depbase.Tpo -c -o src/bip.o src/bip.c &&\
mv -f $depbase.Tpo $depbase.Po
src/bip.c: In function 'adm_bip':
src/bip.c:2259:3: error: implicit declaration of function 'adm_trust' [-Werror=implicit-function-declaration]
return adm_trust(ic, line);
^
cc1: all warnings being treated as errors
make[1]: *** [src/bip.o] Error 1
make[1]: Leaving directory `/tmp/bip2'
make: *** [all] Error 2
</pre><br />Whoopie suggested this patch:<br /><a class="external" href="http://freetz.org/browser/trunk/make/bip/patches/111-no_ssl.patch">http://freetz.org/browser/trunk/make/bip/patches/111-no_ssl.patch</a></p> Bip - Enhancement #270 (Resolved): GIT: use signed taghttps://projects.duckcorp.org/issues/2702012-01-10T01:53:49ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>Signed tags must be used.</p> Bip - Bug #269 (Resolved): buffer overflow when number of open file descriptors >= FD_SETSIZEhttps://projects.duckcorp.org/issues/2692012-01-07T10:28:05ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>Reported by Julien Tinnes, thanks to him!</p>
<p>Bip doesn't check if fd is equal or larger than FD_SETSIZE.</p>
<p>From select man page:</p>
<blockquote>
<p>Executing FD_CLR() or FD_SET() with a value of fd that is negative or is equal to or larger than FD_SETSIZE will result in undefined behavior.</p>
</blockquote> Bip - Bug #265 (Resolved): bip segfaults when a client uses a password with a spacehttps://projects.duckcorp.org/issues/2652011-12-20T01:08:58ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>Reported by Tim Hansen</p>
<p>The bip log shows:<br />19-12-2011 16:56:42 ERROR: [*connecting*] Error in protocol, closing...</p>
<p>I can reproduce (impossible to use space in password) but segfault didn't happen.</p> Bip - Bug #262 (In Progress): using ircnet bip crashes if a channel has two nicks different only ...https://projects.duckcorp.org/issues/2622011-11-13T15:30:32ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>nitram reported:<br /><pre>
as soon as i join a channel that has the nicks "~mc" and "mc" on ircnet bip crashes with "11-11-2011 15:55:44 FATAL: Element with key mc already in hash b9495ce0
</pre></p>
<p>I found two problems:</p>
<p><strong>First</strong>, in <code>irc_353</code> function ( <a class="source" href="https://projects.duckcorp.org/projects/bip/repository/bip/revisions/a46b8bd2/entry/src/irc.c#L1362">source:src/irc.c@a46b8bd2#L1362</a> ) we discard '~' character when storing operator/voice mask foreach nickname. For example if the irc server send<br /><code>'ircnet.optilian.net' ':ircnet.optilian.net 353 pilou = #plopplopplop :pilou ~lolll219 lolll219 '</code> (user <code>pilou</code> joining <code>ircnet.optilian.net</code> where tho users <code>~lolll219</code> <code>lolll219</code> are here)<br />we store operator/voice mask of <code>lolll219</code> twice (once for <code>~lolll219</code> and another for <code>lolll219</code>).</p>
<p>This lead to many errors:</p>
<ul>
<li>if either <code>lolll219</code> or <code>~lolll219</code> have a not empty operator/voice mask, then problem reported by nitram appears: the second <code>hash_insert</code> fails.</li>
</ul>
<ul>
<li>when <code>~lolll219</code> or <code>lolll219</code> send irc <code>part</code> command, <code>irc_part</code> function ( <a class="source" href="https://projects.duckcorp.org/projects/bip/repository/bip/revisions/a46b8bd2/entry/src/irc.c#L1498">source:src/irc.c@a46b8bd2#L1498</a> ) encounters problem.<br />If <code>~lolll219</code> quit then his operator/voice mask can not be found (it was not stored) and then <code>irc_part</code> return <code>ERR_PROTOCOL</code>:<br /><pre>
13-11-2011 14:38:22 ERROR: [ircnet] Error in protocol, closing...
13-11-2011 14:38:22 ERROR: [ircnet] reconnecting in 0 seconds
</pre></li>
</ul>
<ul>
<li>If <code>lolll219</code> quit then an assertion fails, indeed the <code>lolll219</code> key is present twice in the operator/voice mask hash:<br /><pre>
13-11-2011 14:37:29 FATAL: 80b3288 appears twice in list
</pre></li>
</ul>
<p><strong>Second</strong> problem: it should not be possible to store two identical key in one hash. <code>list_remove_if_exists</code> function ( <a class="source" href="https://projects.duckcorp.org/projects/bip/repository/bip/revisions/a46b8bd2/entry/src/util.c#L370">source:src/util.c@a46b8bd2#L370</a> ) - called by <code>irc_part</code> - verify this assertion and the assertion fails.</p>
<p>Currently insertion of two identical keys occurs because instead of checking if the hash contains already an identical key, we check if the value corresponding to this key is NULL or not ( <a class="source" href="https://projects.duckcorp.org/projects/bip/repository/bip/revisions/a46b8bd2/entry/src/util.c#L566">source:src/util.c@a46b8bd2#L566</a> ):</p>
<pre>
void hash_insert(hash_t *hash, const char *key, void *ptr)
[...]
if (hash_get(hash, key))
fatal("Element with key %s already in hash %x\n", key, hash);
</pre>
<p>So it's possible to store many identical key associated to 0/NULL value.</p>
<p>And the associated value for the key in operator/voice mask hash can be 0/NULL:<br /><pre>
long int ovmask = 0;
[...]
hash_insert(&channel->ovmasks, nick, (void *)ovmask);
</pre></p> Bip - Bug #260 (New): Bad file descriptorhttps://projects.duckcorp.org/issues/2602011-11-09T07:48:24ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>Bip exit with a FATAL error "Bad file descriptor"</p>
<p>Maybe related to <a class="issue tracker-1 status-1 priority-4 priority-default" title="Bug: Bip uses 100% CPU (New)" href="https://projects.duckcorp.org/issues/238">#238</a></p>
<p>Logs:<br /><pre>
09-11-2011 04:28:24 ERROR: read(fd=6): Connection lost: Success
09-11-2011 04:28:24 ERROR: Error while reading on fd 6
09-11-2011 04:28:24 ERROR: [oftc] read_lines error, closing...
09-11-2011 04:28:24 Broken socket: Connection reset by peer.
09-11-2011 04:28:24 ERROR: [oftc] reconnecting in 0 seconds
09-11-2011 04:28:24 FATAL: select(): Bad file descriptor
</pre></p> Bip - Bug #253 (Resolved): Build with -Werrorhttps://projects.duckcorp.org/issues/2532011-10-03T22:28:36ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>Reported with a patch by Arnaud Fontaine, thanks to him !</p>
<p>Warnings should be removed.</p> Bip - Bug #212 (Resolved): When global option log is disabled, query are not backloggedhttps://projects.duckcorp.org/issues/2122011-04-07T00:55:25ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<a name="How-to-reproduce"></a>
<h3 >How to reproduce<a href="#How-to-reproduce" class="wiki-anchor">¶</a></h3>
<ol>
<li>set 'log' option to 'false' in bip.conf</li>
<li>(re)start bip, don't connect any client to bip</li>
<li>send a message with another user in a channel where bip is here</li>
<li>send a private message to bip user with another user</li>
<li>connect a client to bip</li>
<li>message in channel is backlogged</li>
<li>private message is not backlogged only "End of backlog" is displayed</li>
</ol> Bip - Enhancement #211 (Resolved): allow to disable logs by connectionhttps://projects.duckcorp.org/issues/2112011-04-07T00:31:59ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>When global log option is enabled, bip save logs into files. It should be possible to disable logs for some connections.</p>
<p>Patch written by Yoann Guillot is attached.</p> Bip - Bug #192 (Feedback): using "hide ping pong event" in mIRC doesn't work with biphttps://projects.duckcorp.org/issues/1922011-02-09T18:10:25ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>Reported by DoDzy, thank to him !<br /><pre>
i still get [10:35] * PONG from oftc <
it used to work when i was using psybnc
nvm, after all it is my client misbehaving
"If mIRC sends a PING with a parameter, it expects a PONG response with that parameter. This
is meant to be standard PING/PONG behaviour. If your bouncer is intercepting the message and
is not replying correctly, then mIRC will not work."
</pre></p> Bip - Bug #188 (New): "FATAL: Element with key nohar already in hash 5151a968" when netplit occurshttps://projects.duckcorp.org/issues/1882011-01-19T00:19:39ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>Sometimes when a netsplit occurs, bip exits after logging:</p>
<blockquote>
<p>FATAL: Element with key nohar already in hash 5151a968</p>
</blockquote> Bip - Bug #187 (Resolved): "FATAL: list_remove: item not found" when modifying nicknamehttps://projects.duckcorp.org/issues/1872011-01-19T00:13:15ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<a name="how-to-reproduce"></a>
<h3 >how to reproduce<a href="#how-to-reproduce" class="wiki-anchor">¶</a></h3>
<ol>
<li>query a user which use bip</li>
<li>change the case of the characters of your username using '/nick' irc command</li>
<li>then bip service used by queried user exit with code 200</li>
</ol>
<p>Bug introduced by: <a class="changeset" title="[BUG] Fix fatal on some nick change When a nick changes to one for which we already have a logst..." href="https://projects.duckcorp.org/projects/bip/repository/bip/revisions/d2f7840ced065d644ba626413f5e53900efb39ef">d2f7840c</a><br />Fixed by: <a class="changeset" title="Fix "FATAL: list_remove: item not found" Thanks to Jean-Edouard Babin for reporting it. How to ..." href="https://projects.duckcorp.org/projects/bip/repository/bip/revisions/4d4710acb955530694f2434d95ed887d7b96ada7">4d4710ac</a></p> Bip - Bug #186 (New): Bip crash after using "/QUOTE BIP TRUST OK" on a new connectionhttps://projects.duckcorp.org/issues/1862011-01-18T02:29:38ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<a name="How-to-reproduce"></a>
<h1 >How to reproduce:<a href="#How-to-reproduce" class="wiki-anchor">¶</a></h1>
<ol>
<li>/etc/bip.conf: add a new ssl connection </li>
<li>restart bip (Debian: <em>/etc/init.d/bip restart</em>)</li>
<li>use <em>/QUOTE BIP TRUST OK</em><br /> # all client connections are disconnected</li>
</ol>
<a name="Logs"></a>
<h1 >Logs<a href="#Logs" class="wiki-anchor">¶</a></h1>
<a name="Client-logs"></a>
<h2 >Client logs:<a href="#Client-logs" class="wiki-anchor">¶</a></h2>
<blockquote>
<p>03:12:08 oftc | irc: connecting to server irc-bouncer/7778...<br />03:12:08 oftc | irc: connected to irc-bouncer<br />03:12:08 oftc -- | b.i.p (b.i.p): This server SSL certificate was not accepted because it is not in your store of trusted certificates:<br />03:12:08 oftc -- | b.i.p (b.i.p): Subject: /C=US/ST=Indiana/L=Indianapolis/O=Software in the Public Interest/OU=hostmaster/CN=Certificate Authority/emailAddress=<a class="email" href="mailto:hostmaster@spi-inc.org">hostmaster@spi-inc.org</a><br />03:12:08 oftc -- | b.i.p (b.i.p): Issuer: /C=US/ST=Indiana/L=Indianapolis/O=Software in the Public Interest/OU=hostmaster/CN=Certificate Authority/emailAddress=<a class="email" href="mailto:hostmaster@spi-inc.org">hostmaster@spi-inc.org</a><br />03:12:08 oftc -- | b.i.p (b.i.p): MD5 fingerprint: 2A:47:9F:60:BB:83:74:6F:01:03:D7:0B:0D:F6:0D:78<br />03:12:08 oftc -- | b.i.p (b.i.p): WARNING: if you've already trusted a certificate for this server before, that probably means it has changed.<br />03:12:08 oftc -- | b.i.p (b.i.p): If so, YOU MAY BE SUBJECT OF A MAN-IN-THE-MIDDLE ATTACK! PLEASE DON'T TRUST THIS CERTIFICATE IF YOU'RE NOT SURE THIS IS NOT THE CASE.<br />03:12:08 oftc -- | b.i.p (b.i.p): Type /QUOTE BIP TRUST OK to trust this certificate, /QUOTE BIP TRUST NO to discard it.<br />03:12:20 oftc -- | irc.bip.net (irc.bip.net): ==== Certificate now trusted.<br />03:12:20 oftc -- | irc.bip.net (irc.bip.net): No more certificates waiting awaiting user trust, thanks!<br />03:12:20 oftc -- | irc.bip.net (irc.bip.net): If the certificate is trusted, bip should be able to connect to the server on the next retry. Please wait a while and try connecting your client again.</p>
</blockquote>
<a name="Bip-logs"></a>
<h2 >Bip logs:<a href="#Bip-logs" class="wiki-anchor">¶</a></h2>
<blockquote>
<p>18-01-2011 03:12:12 ERROR: No certificate in SSL write_socket<br />18-01-2011 03:12:12 ERROR: SSL cert check failed at depth=3: certificate rejected (28)<br />18-01-2011 03:12:12 ERROR: Certificate check failed: certificate rejected (28)!<br />18-01-2011 03:12:12 ERROR: Error on fd 31 (state 9)<br />18-01-2011 03:12:12 ERROR: [oftc] read_lines error, closing...<br />18-01-2011 03:12:12 ERROR: [oftc] reconnecting in 240 seconds<br />18-01-2011 03:12:54 ERROR: No certificate in SSL write_socket</p>
</blockquote> Bip - Bug #185 (Resolved): Build error on armelhttps://projects.duckcorp.org/issues/1852011-01-15T17:06:21ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>From debian bug <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597262" class="external">#597262</a> reported by Philipp Kern</p>
<p>There are errors when building on armel:<br /><pre>
gcc -DHAVE_CONFIG_H -I. -I./src -O2 -g -W -Wall -fPIE -c -o src/log.o src/log.c
In file included from src/log.c:18:
src/irc.h:61: error: redefinition of 'struct user'
src/log.c: In function 'log_build_filename':
src/log.c:154: error: 'struct user' has no member named 'name'
src/log.c: In function 'log_add_file':
src/log.c:312: error: 'struct user' has no member named 'backlog'
src/log.c: In function 'log_find_file':
src/log.c:371: error: 'struct user' has no member named 'connections'
src/log.c:419: error: 'struct user' has no member named 'backlog'
src/log.c: In function 'log_client_none_connected':
src/log.c:738: error: 'struct user' has no member named 'always_backlog'
src/log.c: In function 'log_advance_backlogs':
src/log.c:758: error: 'struct user' has no member named 'backlog'
src/log.c:758: error: 'struct user' has no member named 'backlog_lines'
src/log.c:761: error: 'struct user' has no member named 'backlog_lines'
src/log.c: In function 'log_beautify':
src/log.c:861: error: 'struct user' has no member named 'bl_msg_only'
src/log.c:937: error: 'struct user' has no member named 'backlog_no_timestamp'
src/log.c: In function 'log_backread':
src/log.c:1062: error: 'struct user' has no member named 'always_backlog'
src/log.c: In function '_log_write':
src/log.c:1135: error: 'struct user' has no member named 'backlog_lines'
src/log.c:1154: error: 'struct user' has no member named 'always_backlog'
src/log.c: At top level:
src/log.c:1198: error: conflicting types for 'log_new'
src/log.h:65: note: previous declaration of 'log_new' was here
src/log.c: In function 'log_new':
src/log.c:1203: warning: assignment from incompatible pointer type
</pre></p>
<p>Dann Frazier analysed the problem: <cite>sys/user.h on armel has a conflicting definition of 'struct user'</cite>.</p> Bip - Bug #165 (New): doesn't load openssl support for sha-256 digesthttps://projects.duckcorp.org/issues/1652010-10-26T00:21:16ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p><a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=601021" class="external">Debian bug #601021</a></p>
<blockquote>
<p>As the subject says, bip doesn't make openssl load support for the sha-256<br />digest algorhytm. I've fixed a similar bug in fetchmail a while ago, see<br />Debian bug #576430 for a bit more info on the matter.<br />Attached is a simple patch that forces openssl to load support for everything<br />it knows :)<br />Sjoerd Simons</p>
</blockquote>