DuckCorp Projects: Issueshttps://projects.duckcorp.org/https://projects.duckcorp.org/favicon.ico?16699090422015-10-13T12:54:28ZDuckCorp Projects
Redmine Bip - Bug #481 (In Progress): Fix log level for erroneous messageshttps://projects.duckcorp.org/issues/4812015-10-13T12:54:28ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>Bip should display IRC <a href="https://tools.ietf.org/html/rfc1459#section-6" class="external">errors</a> sent by IRC servers using <code>error</code> log level.</p>
<p>The current behaviour is:<br /><pre>
13-10-2015 14:48:14 DEBUG: ":irc.server.local 432 * Pilou :Nickname too long, max. 9 characters
</pre></p> Bip - Bug #477 (Resolved): error in 'channel_name_list' functionhttps://projects.duckcorp.org/issues/4772015-09-03T03:45:20ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>Trou reported an error:</p>
<pre>
#0 0x00007ffff739d107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff739e4e8 in __GI_abort () at abort.c:89
#2 0x00007ffff73db214 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7ffff74ce000 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#3 0x00007ffff73e09ee in malloc_printerr (action=1, str=0x7ffff74ca13f "malloc(): memory corruption", ptr=<optimized out>) at malloc.c:4996
#4 0x00007ffff73e2669 in _int_malloc (av=av@entry=0x7ffff770b620 <main_arena>, bytes=bytes@entry=257) at malloc.c:3447
#5 0x00007ffff73e4080 in __GI___libc_malloc (bytes=bytes@entry=257) at malloc.c:2891
#6 0x000055555556ff62 in bip_malloc (size=size@entry=257) at src/util.c:50
#7 0x0000555555565d01 in channel_name_list (server=0x555555806010, c=c@entry=0x5555559f3ba0) at src/irc.c:129
#8 0x0000555555565f04 in irc_send_join (chan=0x5555559f3ba0, ic=<optimized out>, ic=<optimized out>) at src/irc.c:548
#9 0x0000555555568386 in irc_cli_make_join (ic=0x555555aafe60) at src/irc.c:664
#10 irc_cli_startup (bip=bip@entry=0x7fffffffb000, ic=ic@entry=0x555555aafe60, line=<optimized out>) at src/irc.c:824
#11 0x0000555555568914 in irc_cli_pass (line=<optimized out>, ic=<optimized out>, bip=<optimized out>) at src/irc.c:884
#12 irc_dispatch_loging_client (line=0x555555abcad0, ic=0x555555aafe60, bip=0x7fffffffb000) at src/irc.c:1251
#13 irc_dispatch (bip=bip@entry=0x7fffffffb000, l=l@entry=0x555555aafe60, line=line@entry=0x555555abcad0) at src/irc.c:1266
#14 0x000055555556a70f in bip_on_event (bip=bip@entry=0x7fffffffb000, conn=0x555555ab45a0) at src/irc.c:2488
#15 0x000055555556a943 in irc_main (bip=0x7fffffffb000) at src/irc.c:2563
#16 0x000055555555b3e0 in main (argc=<optimized out>, argv=<optimized out>) at src/bip.c:1323
</pre>
<p>Reporter uses revision <a class="changeset" title="Allow to configure the delay before a reconnection Initial patch submitted by Romain Gayon, than..." href="https://projects.duckcorp.org/projects/bip/repository/bip/revisions/4eec0844521fd52b6dec8edd67bf5ea3a5082092">4eec0844</a>.</p> Bip - Bug #432 (Resolved): authenticated bip users could stop bip daemonhttps://projects.duckcorp.org/issues/4322015-01-15T03:56:50ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>Fran found that these commands allow an authenticated bip user to stop bip daemon:<br /><pre>
{ echo PASS bipnick:mysecretpassword:freenode; echo NICK Pilou; echo USER Pilou 0 Pilou :blah; sleep 2; } | telnet 127.0.0.1 7778 | read
</pre></p>
<pre>
15-01-2015 04:26:44 DEBUG: Trying to accept new client on 0
15-01-2015 04:26:44 DEBUG: New client on socket 41 !
15-01-2015 04:26:44 DEBUG: fd:41 Connection established !
15-01-2015 04:26:44 DEBUG: "PASS bipnick:mysecretpassword:freenode"
15-01-2015 04:26:44 DEBUG: "NICK Pilou"
15-01-2015 04:26:44 DEBUG: "USER Pilou 0 Pilou :blah"
15-01-2015 04:26:44 DEBUG: Connection close asked. FD:41
15-01-2015 04:26:44 DEBUG: A client connected
15-01-2015 04:26:44 FATAL: select(): Bad file descriptor
</pre> Bip - Bug #431 (New): bip is leaking file descriptorshttps://projects.duckcorp.org/issues/4312015-01-15T02:01:19ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>fran wrote:</p>
<blockquote>
<p>bip is leaking file descriptors on my server, and the fix is pretty easy: on connection.c, on read_socket, whenever read returns <1 and errno is different to EAGAIN and EINTR, the socket MUST be closed <br />because read will not return 0 on the following iterations of select (cause it's not added to the read fd_set after that), plus after read failing with fatal error it keeps returning -1</p>
</blockquote> Bip - Bug #352 (New): bip & Bitlbeehttps://projects.duckcorp.org/issues/3522014-09-22T18:25:43ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>On 22/09/2014, asteroidmaster wrote:</p>
<blockquote>
<p>I'm having trouble connecting bip to bitlbee. Bitlbee is running and I can connect Weechat to it.<br />But when I try to connect bip to bitlbee, I get a ERROR in getpeername() that Transport Endpoint is not connected,<br />and another error on fd 6 followed by bip throwing a read_lines error. I'm running Ubuntu Server 14.04 and have<br />installed bip from the Ubuntu repos and Bitlbee from their daily build repo.</p>
</blockquote> Bip - Bug #342 (New): 'list connections' command doesn't display status of channelshttps://projects.duckcorp.org/issues/3422014-07-24T00:13:06ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>It seems that output of <code>list connections</code> command should use a suffix on channels without backlog: <a class="source" href="https://projects.duckcorp.org/projects/bip/repository/bip/entry/src/bip.c#L1395">source:src/bip.c#L1395</a>, but this is not the case.</p>
<p><code>list connections</code> doesn't display a suffix on any channel:</p>
<pre>
02:04:18 Pilou | list connections
[...]
02:04:18 -bip | * milkypond to milkypond as "pilou" (pilou!pilou) :
02:04:18 -bip | Options:
02:04:18 -bip | Channels (* with key, ` no backlog) #test #milkypond #DuckCorp
02:04:18 -bip | Status: connected !
</pre> Bip - Bug #341 (New): 'bip list connections' command should display querieshttps://projects.duckcorp.org/issues/3412014-07-24T00:01:23ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>The command <code>bip list connections</code> lists channels for all connections.</p>
<p>Queries could be listed too.</p> Bip - Bug #325 (Resolved): Segfault: "/BIP DEL_CONN <connection name>" and "/BIP ADD_CONN <connec...https://projects.duckcorp.org/issues/3252014-04-13T17:36:25ZPierre-Louis Bonicolipierre-louis.bonicoli@ir5.eu
<p>As a bip administrator (<code>bip.conf</code>: <code>admin = true;</code> in <code>user</code> section) when using the following commands:</p>
<pre>
/BIP DEL_CONN <connection name>
/BIP ADD_CONN <connection name> <network>
</pre>
<p>a segfault occurs:</p>
<pre>
[317679.982877] traps: bip[4515] general protection ip:7fb5eb171ec9 sp:7fff7a0b3ad0 error:0 in bip[7fb5eb15f000+26000]
</pre>
<p>Sometimes only the first command <code>/BIP DEL_CONN <connection name></code> is enough to trigger the segfault.</p>
<p>I have listed two different backtraces:</p>
<ol>
<li><code>irc_cli_startup</code><br /><pre>
#0 0x00007f8df68ebeeb in irc_cli_startup (bip=bip@entry=0x7fff016b2180, ic=ic@entry=0x7f8df7cb7d90, line=<optimized out>) at src/irc.c:737
#1 0x00007f8df68ec773 in irc_cli_pass (line=<optimized out>, ic=<optimized out>, bip=<optimized out>) at src/irc.c:873
#2 irc_dispatch_loging_client (line=0x7f8df7c9dbb0, ic=0x7f8df7cb7d90, bip=0x7fff016b2180) at src/irc.c:1240
#3 irc_dispatch (bip=bip@entry=0x7fff016b2180, l=l@entry=0x7f8df7cb7d90, line=line@entry=0x7f8df7c9dbb0) at src/irc.c:1255
#4 0x00007f8df68ee48f in bip_on_event (bip=bip@entry=0x7fff016b2180, conn=0x7f8df7c7ed00) at src/irc.c:2482
#5 0x00007f8df68ee6c3 in irc_main (bip=0x7fff016b2180) at src/irc.c:2557
#6 0x00007f8df68df338 in main (argc=<optimized out>, argv=<optimized out>) at src/bip.c:1318
</pre></li>
<li><code>irc_server_lag_compute</code><br /><pre>
#0 irc_server_lag_compute (l=l@entry=0x7f442613d930) at src/irc.c:2206
#1 0x00007f4425b4a162 in bip_tick (bip=bip@entry=0x7fffc20c4650) at src/irc.c:2398
#2 0x00007f4425b4a718 in irc_main (bip=0x7fffc20c4650) at src/irc.c:2546
#3 0x00007f4425b3b338 in main (argc=<optimized out>, argv=<optimized out>) at src/bip.c:1318
</pre></li>
</ol> 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 - 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 #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 #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 #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>