From joelh@gnu.org  Tue Aug 18 17:01:37 1998
Received: from mail.camalott.com (mail.camalott.com [208.203.140.2])
          by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id RAA03225
          for <FreeBSD-gnats-submit@freebsd.org>; Tue, 18 Aug 1998 17:01:32 -0700 (PDT)
          (envelope-from joelh@gnu.org)
Received: from detlev.UUCP (tex-128.camalott.com [208.229.74.128])
	by mail.camalott.com (8.8.7/8.8.5) with ESMTP id TAA02416
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 18 Aug 1998 19:02:13 -0500
Received: (from joelh@localhost)
	by detlev.UUCP (8.9.1/8.9.1) id TAA07386;
	Tue, 18 Aug 1998 19:00:20 -0500 (CDT)
	(envelope-from joelh)
Message-Id: <199808190000.TAA07386@detlev.UUCP>
Date: Tue, 18 Aug 1998 19:00:20 -0500 (CDT)
From: Joel Ray Holveck <detlev!joelh@mail.camalott.com>
Reply-To: joelh@gnu.org
To: FreeBSD-gnats-submit@freebsd.org
Subject: libalias does not IRC DCC packets under certain conditions
X-Send-Pr-Version: 3.2

>Number:         7669
>Category:       bin
>Synopsis:       libalias does not IRC DCC packets under certain conditions
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Aug 18 17:10:00 PDT 1998
>Closed-Date:    Sun Apr 20 15:38:00 PDT 2003
>Last-Modified:  Sun Apr 20 15:38:00 PDT 2003
>Originator:     Joel Ray Holveck
>Release:        FreeBSD 3.0-CURRENT i386
>Organization:
Little to none
>Environment:

FreeBSD box running ijjppp in -auto -alias mode through modem to ISP.
Ethernet LAN also includes Win95 box running mIRC v2.

>Description:

Note: This is a dogwash, but I wanted to document the workaround.

mIRC, a popular MS Windows-based IRC client, can determine the address
that it should use for itself in DCC-based activities in one of two
ways.  It can query the OS for its address, or it can query the IRC
server.  In the latter case, if the connection between the box in
question and the IRC server includes a FreeBSD box performing address
translation via ppp -alias (or other libalias-based system), then the
address returned is the address of the FreeBSD box.  This means that
DCC requests from the mIRC client are sent out with the FreeBSD box's
address encoded in the request.

libalias includes a facility to examine outgoing packets for IRC DCC
packets and perform the necessary translation.  However, it only
performs this if the address encoded in the DCC packet is that of a
system being aliased.  In the case where the IRC client gets its
address from the server, then libalias will not perform this
translation.

IWBNI libalias would perform the translation in this case.

>How-To-Repeat:

See description.

>Fix:
	
In mIRC, set the local info query method to "Normal".
>Release-Note:
>Audit-Trail:

From: Brian Somers <brian@Awfulhak.org>
To: joelh@gnu.org, Eivind Eklund <perhaps@yes.no>
Cc: FreeBSD-gnats-submit@FreeBSD.ORG,
	Brian Somers <brian@awfulhak.org>
Subject: Re: bin/7669: libalias does not IRC DCC packets under certain conditions 
Date: Tue, 09 Mar 1999 09:36:07 +0000

 This is a multipart MIME message.
 
 --==_Exmh_-6848283430
 Content-Type: text/plain; charset=us-ascii
 
 Hi,
 
 Any chance of you two reviewing this change to close 7669 ?  If it 
 doesn't work in all situations I'll add an option - but then again, 
 it may not work at all :-)
 
 TIA.
 -- 
 Brian <brian@Awfulhak.org> <brian@FreeBSD.org> <brian@OpenBSD.org>
 Don't _EVER_ lose your sense of humour !
 
 
 --==_Exmh_-6848283430
 Content-Type: application/x-patch ; name="7669-alias.patch"
 Content-Description: 7669-alias.patch
 Content-Disposition: attachment; filename="7669-alias.patch"
 
 Index: alias_irc.c
 ===================================================================
 RCS file: /home/ncvs/src/lib/libalias/alias_irc.c,v
 retrieving revision 1.4
 diff -u -r1.4 alias_irc.c
 --- alias_irc.c	1998/06/06 21:52:36	1.4
 +++ alias_irc.c	1999/03/09 09:24:09
 @@ -208,7 +208,8 @@
  			 
  
  			 true_port = htons(org_port);
 -			 true_addr.s_addr = htonl(org_addr);
 +			 /* Use our source IP number, *NOT* the ``org_addr'' that we found in the packet */
 +			 true_addr = pip->ip_src;
  			 destaddr.s_addr = 0;
  
  			 /* Steal the FTP_DATA_PORT - it doesn't really matter, and this
 
 --==_Exmh_-6848283430--
 
 
 

From: Eivind Eklund <eivind@FreeBSD.ORG>
To: Brian Somers <brian@Awfulhak.org>
Cc: joelh@gnu.org, FreeBSD-gnats-submit@FreeBSD.ORG
Subject: Re: bin/7669: libalias does not IRC DCC packets under certain conditions
Date: Tue, 9 Mar 1999 13:45:10 +0100

 On Tue, Mar 09, 1999 at 09:36:07AM +0000, Brian Somers wrote:
 > Hi,
 > 
 > Any chance of you two reviewing this change to close 7669 ?  If it 
 > doesn't work in all situations I'll add an option - but then again, 
 > it may not work at all :-)
 
 This change does not work in all situations.  The correct way to
 handle it would be to have libalias trap the protocol mIRC use to
 query the IRC server.
 
 If anybody know where I could get information on what the protocol
 does, I can try to see if there is some easy way to put a handler for
 it into libalias - I suspect it could be slightly problematic, due to
 needing to track the extra information on a per-stream basis.  It
 would probably be a good addition to the libalias infrastructure,
 though.
 
 Eivind.
 

From: Joel Ray Holveck <joelh@gnu.org>
To: Eivind Eklund <eivind@FreeBSD.ORG>
Cc: Brian Somers <brian@Awfulhak.org>,
	FreeBSD-gnats-submit@FreeBSD.ORG
Subject: Re: bin/7669: libalias does not IRC DCC packets under certain conditions
Date: 10 Mar 1999 17:21:27 -0600

 >> Any chance of you two reviewing this change to close 7669 ?  If it 
 >> doesn't work in all situations I'll add an option - but then again, 
 >> it may not work at all :-)
 > This change does not work in all situations.  The correct way to
 > handle it would be to have libalias trap the protocol mIRC use to
 > query the IRC server.
 > If anybody know where I could get information on what the protocol
 > does, I can try to see if there is some easy way to put a handler for
 > it into libalias - I suspect it could be slightly problematic, due to
 > needing to track the extra information on a per-stream basis.  It
 > would probably be a good addition to the libalias infrastructure,
 > though.
 
 I have a test environment availible that can be used to read the TCP
 transaction.  (This is the same environment where I originally found
 the problem) You want it?
 
 Cheers,
 joelh
 
 -- 
 Joel Ray Holveck - joelh@gnu.org
    Fourth law of programming:
    Anything that can go wrong wi
 sendmail: segmentation violation - core dumped
 
State-Changed-From-To: open->suspended 
State-Changed-By: ru 
State-Changed-When: Wed Sep 8 09:59:03 PDT 1999 
State-Changed-Why:  
Awaiting IRC guru. 
State-Changed-From-To: suspended->closed 
State-Changed-By: dougb 
State-Changed-When: Sun Apr 20 15:37:30 PDT 2003 
State-Changed-Why:  

Years of inaction on a trivial PR against 3.0-current 

http://www.freebsd.org/cgi/query-pr.cgi?pr=7669 
>Unformatted:
